def process_config_os(self):
log.log(log.LOG_INFO, "Processing Operating Systems")
for operatingsystem in self.get_config_section('os'):
try:
self.validator.os(operatingsystem)
except MultipleInvalid as e:
log.log(log.LOG_WARN, "Cannot create Operating System '{0}': YAML validation Error: {1}".format(operatingsystem['name'], e))
continue
try:
os_id = self.fm.operatingsystems.show(operatingsystem['description'])['id']
log.log(log.LOG_DEBUG, "Operating System '{0}' (id={1}) already present.".format(operatingsystem['name'], os_id))
except:
log.log(log.LOG_INFO, "Create Operating System '{0}'".format(operatingsystem['name']))
os_tpl = {
'name': operatingsystem['name'],
'description': operatingsystem['description'],
'major': operatingsystem['major'],
'minor': operatingsystem['minor'],
'family': operatingsystem['family'],
'release_name': operatingsystem['release-name'],
'password_hash': operatingsystem['password-hash']
}
os_obj = self.fm.operatingsystems.create(operatingsystem=os_tpl)
# host_params
if operatingsystem['parameters'] is not None:
for name,value in operatingsystem['parameters'].iteritems():
p = {
'name': name,
'value': value
}
try:
self.fm.operatingsystems.parameters_create(os_obj['id'], p )
except:
log.log(log.LOG_WARN, "Error adding host parameter '{0}'".format(name))
评论列表
文章目录