summaryrefslogtreecommitdiffstats
path: root/qtip
diff options
context:
space:
mode:
authorzhihui wu <wu.zhihui1@zte.com.cn>2017-04-20 09:57:06 +0800
committerzhihui wu <wu.zhihui1@zte.com.cn>2017-04-20 11:10:16 +0800
commite37805bda96bd54a6c0108e6fb2e67298bbda280 (patch)
tree027418884e44bc3e5766ae34ffb8498a97694a7c /qtip
parent973f0287b44b3bcac193bc069bd474fc252232db (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))