- tar = tarfile.open(descriptor_file)
- yamlfile = None
- for member in tar.getmembers():
- if (re.match('.*.yaml', member.name) and
- len(member.name.split('/')) == 2):
- yamlfile = member.name
- break
- if yamlfile is None:
- return None
-
- dict = yaml.load(tar.extractfile(yamlfile))
- result = {}
- for k1, v1 in dict.items():
- if not k1.endswith('-catalog'):
- continue
- for k2, v2 in v1.items():
- if not k2.endswith('nsd') and not k2.endswith('vnfd'):
- continue
-
- if 'nsd' in k2:
- result['type'] = 'nsd'
- else:
- result['type'] = 'vnfd'
-
- for entry in v2:
- for k3, v3 in entry.items():
- # strip off preceeding chars before :
- key_name = k3.split(':').pop()
-
- result[key_name] = v3
- tar.close()
- return result