Skip to content

Commit

Permalink
Add splitted up inventory source plugins (#15584)
Browse files Browse the repository at this point in the history
* Add splitted up inventory source plugins

Fix CI failure introduced by
ansible/awx-plugins@7d83b7d
  • Loading branch information
TheRealHaoLiu authored Oct 15, 2024
1 parent dbe6fcc commit 1acf8cf
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
20 changes: 19 additions & 1 deletion awx/main/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,25 @@
'STANDARD_INVENTORY_UPDATE_ENV',
]

CLOUD_PROVIDERS = ('azure_rm', 'ec2', 'gce', 'vmware', 'openstack', 'rhv', 'satellite6', 'controller', 'insights', 'terraform', 'openshift_virtualization')
CLOUD_PROVIDERS = (
'azure_rm',
'ec2',
'gce',
'vmware',
'openstack',
'rhv',
'satellite6',
'controller',
'insights',
'terraform',
'openshift_virtualization',
'controller_supported',
'rhv_supported',
'openshift_virtualization_supported',
'insights_supported',
'satellite6_supported',
)

PRIVILEGE_ESCALATION_METHODS = [
('sudo', _('Sudo')),
('su', _('Su')),
Expand Down
5 changes: 4 additions & 1 deletion awx/main/models/inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -1062,7 +1062,10 @@ def get_cloud_credential(self):
credential = None
for cred in self.credentials.all():
if self.source in CLOUD_PROVIDERS:
if cred.kind == self.source.replace('ec2', 'aws'):
source = self.source.replace('ec2', 'aws')
if source.endswith('_supported'):
source = source[:-10]
if cred.kind == source:
credential = cred
break
else:
Expand Down
4 changes: 4 additions & 0 deletions awx/main/tests/functional/test_inventory_source_injectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def credential_kind(source):
"""Given the inventory source kind, return expected credential kind"""
if source == 'openshift_virtualization':
return 'kubernetes_bearer_token'

return source.replace('ec2', 'aws')


Expand Down Expand Up @@ -194,6 +195,9 @@ def create_reference_data(source_dir, env, content):
@pytest.mark.django_db
@pytest.mark.parametrize('this_kind', CLOUD_PROVIDERS)
def test_inventory_update_injected_content(this_kind, inventory, fake_credential_factory, mock_me):
if this_kind.endswith('_supported'):
this_kind = this_kind[:-10]

ExecutionEnvironment.objects.create(name='Control Plane EE', managed=True)
ExecutionEnvironment.objects.create(name='Default Job EE', managed=False)

Expand Down

0 comments on commit 1acf8cf

Please sign in to comment.