pep8 metadata fix

Change-Id: I15d67218c0abcc5840c50e60e5e37009cfb5c514
This commit is contained in:
Joe
2016-04-28 17:07:14 -04:00
parent 4bb7679f47
commit c97c20874e

View File

@@ -5,48 +5,49 @@ import sys
import os import os
class Metadata: class Metadata:
def __init__(self): def __init__(self):
pass pass
def load_file(self, filename): def load_file(self, filename):
json_str=None json_str = None
try : try :
with open(filename) as data: with open(filename) as data:
json_str = data.read() s
json_str = data.read()
except IOError: except IOError:
print("Machine facts json is missing") print("Machine facts json is missing")
exit(1) exit(1)
regex = re.compile(r"}\n{") regex = re.compile(r"}\n{")
new_json = re.sub(r"}\n{",r"},\n{",json_str,re.M) new_json = re.sub(r"}\n{",r"},\n{",json_str,re.M)
convert = "{ \"machines\": [" + new_json + "] }" convert = "{ \"machines\": [" + new_json + "] }"
sys_data={} sys_data = {}
sys_data['system_data']=json.loads(convert) sys_data['system_data'] = json.loads(convert)
return sys_data return sys_data
def get_hardware_metadata(self, sys_data): def get_hardware_metadata(self, sys_data):
hard_dict = {} hard_dict = {}
for item in sys_data['system_data']['machines']: for item in sys_data['system_data']['machines']:
if not 'hardware_details' in hard_dict: if 'hardware_details' not in hard_dict:
hard_dict['hardware_details']=[] hard_dict['hardware_details'] = []
hardware_dict = {} hardware_dict = {}
hardware_dict['label'] = item['inventory_hostname'] hardware_dict['label'] = item['inventory_hostname']
hardware_dict['kernel'] = item['ansible_kernel'] hardware_dict['kernel'] = item['ansible_kernel']
hardware_dict['total_mem'] = item['ansible_memory_mb']['real']['total'] hardware_dict['total_mem'] = item['ansible_memory_mb']['real']['total']
hardware_dict['total_logical_cores'] = item['facter_processorcount'] hardware_dict['total_logical_cores'] = item['facter_processorcount']
hardware_dict['os_name'] = item['ansible_distribution']+item['ansible_distribution_version'] hardware_dict['os_name'] = item['ansible_distribution'] + \
hardware_dict['ip'] = item['ansible_default_ipv4']['address'] item['ansible_distribution_version']
hardware_dict['num_interface'] = len(item['ansible_interfaces']) hardware_dict['ip'] = item['ansible_default_ipv4']['address']
hardware_dict['machine_make'] = item['ansible_product_name'] hardware_dict['num_interface'] = len(item['ansible_interfaces'])
hard_dict['hardware_details'].append(hardware_dict) hardware_dict['machine_make'] = item['ansible_product_name']
hard_dict['hardware_details'].append(hardware_dict)
return hard_dict return hard_dict
def get_environment_metadata(self, sys_data): def get_environment_metadata(self, sys_data):
env_dict = {} env_dict = {}
for item in sys_data['system_data']['machines']: for item in sys_data['system_data']['machines']:
if not 'environment_setup' in env_dict: if 'environment_setup' not in env_dict:
env_dict['environment_setup']= {} env_dict['environment_setup'] = {}
for key,value in item.items(): for key,value in item.items():
if 'osp' in key: if 'osp' in key:
env_dict['environment_setup'][key] = value env_dict['environment_setup'][key] = value
@@ -55,28 +56,27 @@ class Metadata:
def get_software_metadata(self, sys_data): def get_software_metadata(self, sys_data):
soft_all_dict = {} soft_all_dict = {}
for item in sys_data['system_data']['machines']: for item in sys_data['system_data']['machines']:
if not 'software_details' in soft_all_dict: if 'software_details' not in soft_all_dict:
soft_all_dict['software_details']={} soft_all_dict['software_details'] = {}
nodes = ['controller', 'undercloud', 'compute'] nodes = ['controller', 'undercloud', 'compute']
if any(node in item['inventory_hostname'] for node in nodes): if any(node in item['inventory_hostname'] for node in nodes):
if not 'openstack' in soft_all_dict['software_details']: if 'openstack' not in soft_all_dict['software_details']:
soft_all_dict['software_details']['openstack']={} soft_all_dict['software_details']['openstack'] = {}
if not 'config' in soft_all_dict['software_details']['openstack']: if 'config' not in soft_all_dict['software_details']['openstack']:
soft_all_dict['software_details']['openstack']['config']=[] soft_all_dict['software_details']['openstack']['config'] = []
software_dict = {} software_dict = {}
software_dict['node_name'] = item['inventory_hostname'] software_dict['node_name'] = item['inventory_hostname']
for soft in item: for soft in item:
if 'openstack' in soft: if 'openstack' in soft:
service = soft.split('_') service = soft.split('_')
service_name = service[1] service_name = service[1]
if not service_name in software_dict: if service_name not in software_dict:
software_dict[service_name]={} software_dict[service_name] = {}
if service_name in soft: if service_name in soft:
software_dict[service_name][soft]= item[soft] software_dict[service_name][soft] = item[soft]
soft_all_dict['software_details']['openstack']['config'].append(software_dict) soft_all_dict['software_details']['openstack']['config'].append(software_dict)
return soft_all_dict return soft_all_dict
def write_metadata_file(self, data, filename): def write_metadata_file(self, data, filename):
with open(filename, 'w') as json_file: with open(filename, 'w') as json_file:
json.dump(data, json_file) json.dump(data, json_file)