Merge branch 'credential_becomes_refactor' into upstream_master

* credential_becomes_refactor:
  Move 'become_enabled' to JobOptions to allow a toplevel field to exist on the Job model also.  Update tasks and migrations to reflect this
  Last of the ad-hoc priv escalation unit test fixes
  Fixing up some unit tests for "become" refactor
  Changing up ad-hoc based unit tests to follow the new "become" refactor
  Migrate ad-hoc feature to use the new ansible become method if provided
  Refactor pbexpect string matches to submit become password
  Updates and fixes for unit tests on supporting ansible "become"
  Refactor credential to use ansible become if using a new enough ansible version.  Add become flag to job template

Conflicts:
	awx/main/tests/ad_hoc.py
This commit is contained in:
Matthew Jones
2015-04-06 13:37:36 -04:00
15 changed files with 2345 additions and 220 deletions

View File

@@ -1255,16 +1255,15 @@ class CredentialSerializer(BaseSerializer):
password = serializers.WritableField(required=False, default='')
ssh_key_data = serializers.WritableField(required=False, default='')
ssh_key_unlock = serializers.WritableField(required=False, default='')
sudo_password = serializers.WritableField(required=False, default='')
su_password = serializers.WritableField(required=False, default='')
become_password = serializers.WritableField(required=False, default='')
vault_password = serializers.WritableField(required=False, default='')
class Meta:
model = Credential
fields = ('*', 'user', 'team', 'kind', 'cloud', 'host', 'username',
'password', 'project', 'ssh_key_data', 'ssh_key_unlock',
'sudo_username', 'sudo_password', 'su_username',
'su_password', 'vault_password')
'become_method', 'become_username', 'become_password',
'vault_password')
def to_native(self, obj):
ret = super(CredentialSerializer, self).to_native(obj)
@@ -1357,7 +1356,7 @@ class JobTemplateSerializer(UnifiedJobTemplateSerializer, JobOptionsSerializer):
class Meta:
model = JobTemplate
fields = ('*', 'host_config_key', 'ask_variables_on_launch', 'survey_enabled')
fields = ('*', 'host_config_key', 'ask_variables_on_launch', 'survey_enabled', 'become_enabled')
def get_related(self, obj):
res = super(JobTemplateSerializer, self).get_related(obj)
@@ -1501,7 +1500,7 @@ class AdHocCommandSerializer(UnifiedJobSerializer):
model = AdHocCommand
fields = ('*', 'job_type', 'inventory', 'limit', 'credential',
'module_name', 'module_args', 'forks', 'verbosity',
'privilege_escalation')
'become_enabled')
exclude = ('unified_job_template', 'description')
def get_related(self, obj):