Skip to content

Instantly share code, notes, and snippets.

@cloudnull
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cloudnull/adef604ce948fce32211 to your computer and use it in GitHub Desktop.
Save cloudnull/adef604ce948fce32211 to your computer and use it in GitHub Desktop.
function fix for checking on metal
import os
import yaml
with open('/etc/rpc_deploy.OLD/rpc_environment.yml', 'r') as f:
environment = yaml.safe_load(f.read())
onmetal = list()
for k, v in environment['container_skel'].items():
if v.get('is_metal') == True:
onmetal.append(k)
for root, _, files in os.walk('/etc/openstack_deploy/env.d'):
for item in files:
env_file = os.path.join(root, item)
with open(env_file, 'r') as f:
os_environment = yaml.safe_load(f.read())
if 'container_skel' not in os_environment:
continue
changed = False
for i in onmetal:
if i in os_environment['container_skel']:
changed = True
os_item = os_environment['container_skel'][i]
if 'properties' in os_item:
os_item['properties']['is_metal'] = True
else:
properties = os_item['properties'] = dict()
properties['is_metal'] = True
if changed:
with open(env_file, 'w') as fsw:
fsw.write(
yaml.safe_dump(
os_environment,
default_flow_style=False,
width=1000
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment