diff options
author | zhihui wu <wu.zhihui1@zte.com.cn> | 2017-04-20 09:57:06 +0800 |
---|---|---|
committer | zhihui wu <wu.zhihui1@zte.com.cn> | 2017-04-20 11:10:16 +0800 |
commit | e37805bda96bd54a6c0108e6fb2e67298bbda280 (patch) | |
tree | 027418884e44bc3e5766ae34ffb8498a97694a7c /qtip | |
parent | 973f0287b44b3bcac193bc069bd474fc252232db (diff) |
fix apex integration
I didnot find a right way to source Openstack rc file via ansible
module python api. Without openstack rc fiel, openstack cli command
can not be executed. So I move this part to ansible playbook.
Change-Id: I44439560f8ffa1b41890c4e94c9657ab2cc43241
Signed-off-by: zhihui wu <wu.zhihui1@zte.com.cn>
Diffstat (limited to 'qtip')
-rw-r--r-- | qtip/ansible_library/modules/apex_generate_inventory.py (renamed from qtip/ansible_library/modules/apex.py) | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/qtip/ansible_library/modules/apex.py b/qtip/ansible_library/modules/apex_generate_inventory.py index 218440b2..9621ba6e 100644 --- a/qtip/ansible_library/modules/apex.py +++ b/qtip/ansible_library/modules/apex_generate_inventory.py @@ -10,7 +10,6 @@ ############################################################################## from collections import defaultdict -import json import re from ansible.module_utils.basic import AnsibleModule @@ -70,10 +69,7 @@ EXAMPLES = ''' def generate_inventory(baremetal_info, server_info): - """Generate ansible inventory from node list in json format - - Modified from https://github.com/martineg/ansible-apex-inventory/blob/master/apex.py - """ + """Generate ansible inventory in json format""" hosts = defaultdict(list) hosts_meta = {} @@ -95,37 +91,17 @@ def generate_inventory(baremetal_info, server_info): def main(): - module = AnsibleModule(argument_spec=dict()) - - (rc, out, err) = module.run_command(['source ~/stackrc']) - - if rc is not None and rc != 0: - return module.fail_json(msg=err) - - cmd = [module.get_bin_path('openstack', True), - 'baremetal', - 'list', - '--fields instance_uuid properties provision_state', - '--format json'] - (rc, out, err) = module.run_command(cmd) - - if rc is not None and rc != 0: - return module.fail_json(msg=err) - - baremetal_info = json.loads(out) - - cmd = [module.get_bin_path('openstack', True), - 'server', - 'list', - '--format json'] - (rc, out, err) = module.run_command(cmd) - - if rc is not None and rc != 0: - return module.fail_json(msg=err) + module = AnsibleModule( + argument_spec=dict( + baremetal_info=dict(type='list'), + server_info=dict(type='list') + ) + ) - server_info = json.loads(out) + baremetal_info = module.params['baremetal_info'] + server_info = module.params['server_info'] - module.exit_json(changed=False, + module.exit_json(changed=True, ansible_facts=generate_inventory(baremetal_info, server_info)) |