def serialize_nova_server(server): nc_client = openstack_clients.get_novaclient() if isinstance(server, str): server = nc_client.servers.get(server) LOG.debug("Serializing server %s for project %s", server.id, server.tenant_id) serialized = {k: v for k, v in server.to_dict().items() if k not in BLACKLISTED_FIELDS} # Some enhancements serialized[u'owner'] = server.tenant_id serialized[u'project_id'] = server.tenant_id # Image is empty when the instance is booted from volume if isinstance(serialized[u'image'], dict): serialized[u'image'].pop(u'links', None) else: serialized.pop(u'image') serialized[u'flavor'].pop(u'links', None) sec_groups = serialized.pop(u'security_groups', []) serialized['security_groups'] = [s[u'name'] for s in sec_groups] _format_networks(server, serialized) utils.normalize_date_fields(serialized) serialized['status'] = serialized['status'].lower() # Pop the fault stracktrace if any - it's big fault = serialized.get('fault', None) if fault and isinstance(fault, dict): fault.pop('details', None) return serialized
def serialize_nova_server(server): nc_client = openstack_clients.get_novaclient() if isinstance(server, six.text_type): server = nc_client.servers.get(server) LOG.debug("Serializing server %s for project %s", server.id, server.tenant_id) serialized = {k: v for k, v in server.to_dict().items() if k not in BLACKLISTED_FIELDS} # Some enhancements serialized[u'owner'] = server.tenant_id serialized[u'project_id'] = server.tenant_id # Image is empty when the instance is booted from volume if isinstance(serialized[u'image'], dict): serialized[u'image'].pop(u'links', None) else: serialized.pop(u'image') serialized[u'flavor'].pop(u'links', None) sec_groups = serialized.pop(u'security_groups', []) serialized['security_groups'] = [s[u'name'] for s in sec_groups] _format_networks(server, serialized) utils.normalize_date_fields(serialized) serialized['status'] = serialized['status'].lower() # Pop the fault stracktrace if any - it's big fault = serialized.get('fault', None) if fault and isinstance(fault, dict): fault.pop('details', None) return serialized
def serialize_nova_server(server): nc_client = openstack_clients.get_novaclient() if isinstance(server, six.text_type): server = nc_client.servers.get(server) LOG.debug("Serializing server %s for project %s", server.id, server.tenant_id) serialized = { k: v for k, v in six.iteritems(server.to_dict()) if k not in BLACKLISTED_FIELDS } # Some enhancements serialized[u'owner'] = server.tenant_id # Image is empty when the instance is booted from volume if isinstance(serialized[u'image'], dict): serialized[u'image'].pop(u'links', None) else: serialized.pop(u'image') serialized[u'flavor'].pop(u'links', None) sec_groups = serialized.pop(u'security_groups', []) serialized['security_groups'] = [s[u'name'] for s in sec_groups] _format_networks(server, serialized) utils.normalize_date_fields(serialized) return serialized
def _get_flavor_access(flavor): if flavor.is_public: return None try: n_client = openstack_clients.get_novaclient() return [access.tenant_id for access in n_client.flavor_access.list(flavor=flavor)] or None except novaclient.exceptions.Unauthorized: LOG.warning("Could not return tenant for %s; forbidden" % flavor) return None
def get_objects(self): """Generator that lists all nova servers owned by all tenants.""" has_more = True marker = None while has_more: servers = openstack_clients.get_novaclient().servers.list( limit=LIST_LIMIT, search_opts={'all_tenants': True}, marker=marker) if not servers: # Definitely no more; break straight away break # servers.list always returns a list so we can grab the last id has_more = len(servers) == LIST_LIMIT marker = servers[-1].id for server in servers: yield server
def get_objects(self): """Generator that lists all nova servers owned by all tenants.""" has_more = True marker = None while has_more: servers = openstack_clients.get_novaclient().servers.list( limit=LIST_LIMIT, search_opts={'all_tenants': True}, marker=marker ) if not servers: # Definitely no more; break straight away break # servers.list always returns a list so we can grab the last id has_more = len(servers) == LIST_LIMIT marker = servers[-1].id for server in servers: yield server
def serialize_nova_server(server): nc_client = openstack_clients.get_novaclient() if isinstance(server, six.text_type): server = nc_client.servers.get(server) LOG.debug("Serializing server %s for project %s", server.id, server.tenant_id) serialized = {k: v for k, v in six.iteritems(server.to_dict()) if k not in BLACKLISTED_FIELDS} # Some enhancements serialized[u'owner'] = server.tenant_id serialized[u'image'].pop(u'links', None) serialized[u'flavor'].pop(u'links', None) _format_networks(server, serialized) utils.normalize_date_fields(serialized) return serialized
def get_objects(self): """Generator that lists all nova hypervisors.""" return openstack_clients.get_novaclient().hypervisors.list()
def get_objects(self): """Generator that lists all nova Flavors""" return openstack_clients.get_novaclient().flavors.list(is_public=None)
def get_objects(self): """Generator that lists all nova server groups.""" for group in openstack_clients.get_novaclient( ).server_groups.list(all_projects=True): yield group
def get_objects(self): """Generator that lists all nova server groups.""" for group in openstack_clients.get_novaclient().server_groups.list( all_projects=True): yield group