def status_group(resources, groupname, filter, filteredresources, vs_manager, client): group = resources['serverinstances'][groupname] # if manually provisioned group if 'vms' in group: groupvms = group['vms'] to_fill = [] if filter == 'all': to_fill = groupvms.keys() elif filter in groupvms: # if our vm is here, add it to_fill = [filter] # if any vms to lookup, lookup for hostname in to_fill: try: host = groupvms[hostname] vs = vs_manager.get_instance(host['id']) del vs['billingItem'] host.update(vs) except Exception, e: host['error'] = str(e) set_value(filteredresources, ['serverinstances', groupname, 'vms', hostname], host)
host = groupvms[hostname] vs = vs_manager.get_instance(host['id']) del vs['billingItem'] host.update(vs) except Exception, e: host['error'] = str(e) set_value(filteredresources, ['serverinstances', groupname, 'vms', hostname], host) elif 'autoscale' in group: # autoscale if filter == all: # we have nothing to filter inside..all/none autoscalegrp = group['autoscale'] msk = "virtualGuestMembers.virtualGuest.primaryIpAddress" set_value( filteredresources, ['serverinstances', group, 'autoscale'], client['Scale_Group'].getObject(id=autoscalegrp['id'], mask=msk)) def status_serverinstances(resources, filter, filteredresources, vs_manager, client): if 'serverinstances' not in resources: return serverinstances = resources['serverinstances'] # does it match groupname, then return all in that group if filter in serverinstances: status_group(resources, filter, 'all', filteredresources, vs_manager, client)
vs = vs_manager.get_instance(host['id']) del vs['billingItem'] host.update(vs) except Exception, e: host['error'] = str(e) set_value(filteredresources, ['serverinstances', groupname, 'vms', hostname], host) elif 'autoscale' in group: # autoscale if filter == all: # we have nothing to filter inside..all/none autoscalegrp = group['autoscale'] msk = "virtualGuestMembers.virtualGuest.primaryIpAddress" set_value(filteredresources, ['serverinstances', group, 'autoscale'], client['Scale_Group'].getObject(id=autoscalegrp['id'], mask=msk)) def status_serverinstances(resources, filter, filteredresources, vs_manager, client): if 'serverinstances' not in resources: return serverinstances = resources['serverinstances'] # does it match groupname, then return all in that group if filter in serverinstances: status_group(resources, filter, 'all', filteredresources, vs_manager, client)