Skip to content

Commit

Permalink
rax_scaling_group: fix sanity check (ansible-collections#5563)
Browse files Browse the repository at this point in the history
* rax_scaling_group: fix sanity check

* add changelog fragment

* added missing call to expanduser()
  • Loading branch information
russoz committed Nov 27, 2022
1 parent ea42a50 commit 87b4caa
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 20 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/5563-rax-scaling-group-sanity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
minor_changes:
- rax_scaling_group - refactored out code to the ``rax`` module utils to clear the sanity check (https://github.com/ansible-collections/community.general/pull/5563).
18 changes: 18 additions & 0 deletions plugins/module_utils/rax.py
Original file line number Diff line number Diff line change
Expand Up @@ -314,3 +314,21 @@ def setup_rax_module(module, rax_module, region_required=True):
(region, ','.join(rax_module.regions)))

return rax_module


def rax_scaling_group_personality_file(module, files):
if not files:
return []

results = []
for rpath, lpath in files.items():
lpath = os.path.expanduser(lpath)
try:
with open(lpath, 'r') as f:
results.append({
'path': rpath,
'contents': f.read(),
})
except Exception as e:
module.fail_json(msg='Failed to load %s: %s' % (lpath, str(e)))
return results
21 changes: 6 additions & 15 deletions plugins/modules/rax_scaling_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,11 @@
HAS_PYRAX = False

from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec, rax_find_image, rax_find_network,
rax_required_together, rax_to_dict, setup_rax_module)
from ansible_collections.community.general.plugins.module_utils.rax import (
rax_argument_spec, rax_find_image, rax_find_network,
rax_required_together, rax_to_dict, setup_rax_module,
rax_scaling_group_personality_file,
)
from ansible.module_utils.six import string_types


Expand Down Expand Up @@ -223,19 +226,7 @@ def rax_asg(module, cooldown=300, disk_config=None, files=None, flavor=None,
del nic['net-id']

# Handle the file contents
personality = []
if files:
for rpath in files.keys():
lpath = os.path.expanduser(files[rpath])
try:
f = open(lpath, 'r')
personality.append({
'path': rpath,
'contents': f.read()
})
f.close()
except Exception as e:
module.fail_json(msg='Failed to load %s' % lpath)
personality = rax_scaling_group_personality_file(module, files)

lbs = []
if loadbalancers:
Expand Down
1 change: 0 additions & 1 deletion tests/sanity/ignore-2.11.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ plugins/modules/puppet.py validate-modules:parameter-invalid
plugins/modules/rax_files_objects.py use-argspec-type-path
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
plugins/modules/rax.py use-argspec-type-path # fix needed
plugins/modules/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/scaleway_organization_info.py validate-modules:return-syntax-error
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
Expand Down
1 change: 0 additions & 1 deletion tests/sanity/ignore-2.12.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ plugins/modules/puppet.py validate-modules:parameter-invalid
plugins/modules/rax_files_objects.py use-argspec-type-path
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
plugins/modules/rax.py use-argspec-type-path # fix needed
plugins/modules/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/scaleway_organization_info.py validate-modules:return-syntax-error
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
Expand Down
1 change: 0 additions & 1 deletion tests/sanity/ignore-2.13.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ plugins/modules/puppet.py validate-modules:parameter-invalid
plugins/modules/rax_files_objects.py use-argspec-type-path
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
plugins/modules/rax.py use-argspec-type-path # fix needed
plugins/modules/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/scaleway_organization_info.py validate-modules:return-syntax-error
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
Expand Down
1 change: 0 additions & 1 deletion tests/sanity/ignore-2.14.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ plugins/modules/puppet.py validate-modules:parameter-invalid
plugins/modules/rax_files_objects.py use-argspec-type-path
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
plugins/modules/rax.py use-argspec-type-path # fix needed
plugins/modules/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/scaleway_organization_info.py validate-modules:return-syntax-error
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
Expand Down
1 change: 0 additions & 1 deletion tests/sanity/ignore-2.15.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ plugins/modules/puppet.py validate-modules:parameter-invalid
plugins/modules/rax_files_objects.py use-argspec-type-path
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
plugins/modules/rax.py use-argspec-type-path # fix needed
plugins/modules/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/scaleway_organization_info.py validate-modules:return-syntax-error
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
Expand Down

0 comments on commit 87b4caa

Please sign in to comment.