From 3ac6741125382fa2c836a099915acc4ad862dcc1 Mon Sep 17 00:00:00 2001 From: zhihui wu Date: Mon, 17 Apr 2017 16:16:45 +0800 Subject: apex integration Change-Id: Ief21554dfa7cd79e7ed0cb1615f6dbf079cb6077 Signed-off-by: zhihui wu --- tests/data/external/apex/baremetal_info.json | 57 +++++++++++++++++++++++++ tests/data/external/apex/server_info.json | 37 ++++++++++++++++ tests/unit/ansible_library/modules/apex_test.py | 30 +++++++++++++ 3 files changed, 124 insertions(+) create mode 100755 tests/data/external/apex/baremetal_info.json create mode 100755 tests/data/external/apex/server_info.json create mode 100644 tests/unit/ansible_library/modules/apex_test.py (limited to 'tests') diff --git a/tests/data/external/apex/baremetal_info.json b/tests/data/external/apex/baremetal_info.json new file mode 100755 index 00000000..8efe4e71 --- /dev/null +++ b/tests/data/external/apex/baremetal_info.json @@ -0,0 +1,57 @@ +[ + { + "Properties": { + "memory_mb": "8192", + "cpu_arch": "x86_64", + "local_gb": "41", + "cpus": "4", + "capabilities": "boot_option:local,profile:compute" + }, + "Provisioning State": "active", + "Instance UUID": "367827af-966c-4c91-bad4-d8dc12750eac" + }, + { + "Properties": { + "memory_mb": "8192", + "cpu_arch": "x86_64", + "local_gb": "41", + "cpus": "4", + "capabilities": "boot_option:local,profile:compute" + }, + "Provisioning State": "active", + "Instance UUID": "f214f844-ec4d-4f33-9d16-9aa21ade3cb4" + }, + { + "Properties": { + "memory_mb": "8192", + "cpu_arch": "x86_64", + "local_gb": "41", + "cpus": "4", + "capabilities": "boot_option:local,profile:control" + }, + "Provisioning State": "active", + "Instance UUID": "06234a4d-45fb-4930-bf8a-9b1627b1621f" + }, + { + "Properties": { + "memory_mb": "8192", + "cpu_arch": "x86_64", + "local_gb": "41", + "cpus": "4", + "capabilities": "boot_option:local,profile:control" + }, + "Provisioning State": "active", + "Instance UUID": "6dfd4c85-8a05-49ea-bd73-15dbaf84fa9b" + }, + { + "Properties": { + "memory_mb": "8192", + "cpu_arch": "x86_64", + "local_gb": "41", + "cpus": "4", + "capabilities": "boot_option:local,profile:control" + }, + "Provisioning State": "active", + "Instance UUID": "25b73b47-7c22-4f58-8ff3-ba5d714baa7c" + } +] diff --git a/tests/data/external/apex/server_info.json b/tests/data/external/apex/server_info.json new file mode 100755 index 00000000..71bc40c5 --- /dev/null +++ b/tests/data/external/apex/server_info.json @@ -0,0 +1,37 @@ +[ + { + "Status": "ACTIVE", + "Networks": "ctlplane=192.0.2.9", + "ID": "06234a4d-45fb-4930-bf8a-9b1627b1621f", + "Image Name": "overcloud-full", + "Name": "overcloud-controller-2" + }, + { + "Status": "ACTIVE", + "Networks": "ctlplane=192.0.2.7", + "ID": "6dfd4c85-8a05-49ea-bd73-15dbaf84fa9b", + "Image Name": "overcloud-full", + "Name": "overcloud-controller-0" + }, + { + "Status": "ACTIVE", + "Networks": "ctlplane=192.0.2.8", + "ID": "25b73b47-7c22-4f58-8ff3-ba5d714baa7c", + "Image Name": "overcloud-full", + "Name": "overcloud-controller-1" + }, + { + "Status": "ACTIVE", + "Networks": "ctlplane=192.0.2.6", + "ID": "f214f844-ec4d-4f33-9d16-9aa21ade3cb4", + "Image Name": "overcloud-full", + "Name": "overcloud-novacompute-0" + }, + { + "Status": "ACTIVE", + "Networks": "ctlplane=192.0.2.5", + "ID": "367827af-966c-4c91-bad4-d8dc12750eac", + "Image Name": "overcloud-full", + "Name": "overcloud-novacompute-1" + } +] \ No newline at end of file diff --git a/tests/unit/ansible_library/modules/apex_test.py b/tests/unit/ansible_library/modules/apex_test.py new file mode 100644 index 00000000..8a1d0673 --- /dev/null +++ b/tests/unit/ansible_library/modules/apex_test.py @@ -0,0 +1,30 @@ +############################################################### +# Copyright (c) 2017 ZTE Corporation +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import json +import os + +from qtip.ansible_library.modules import apex + + +def test_generate_inventory(data_root): + baremetal_info = json.load(open(os.path.join(data_root, 'external', + 'apex', 'baremetal_info.json'))) + server_info = json.load(open(os.path.join(data_root, 'external', + 'apex', 'server_info.json'))) + inventory = apex.generate_inventory(baremetal_info, server_info) + assert dict(inventory['hosts']) == { + u'compute': [u'192.0.2.5', u'192.0.2.6'], + u'control': [u'192.0.2.7', u'192.0.2.8', u'192.0.2.9']} + assert dict(inventory['hosts_meta']) == { + u'192.0.2.5': {'ansible_ssh_host': u'192.0.2.5'}, + u'192.0.2.6': {'ansible_ssh_host': u'192.0.2.6'}, + u'192.0.2.7': {'ansible_ssh_host': u'192.0.2.7'}, + u'192.0.2.8': {'ansible_ssh_host': u'192.0.2.8'}, + u'192.0.2.9': {'ansible_ssh_host': u'192.0.2.9'}} -- cgit 1.2.3-korg