def _from_db_object(context, fixedip, db_fixedip, expected_attrs=None): if expected_attrs is None: expected_attrs = [] for field in fixedip.fields: if field == 'default_route': # NOTE(danms): This field is only set when doing a # FixedIPList.get_by_network() because it's a relatively # special-case thing, so skip it here continue if field not in FIXED_IP_OPTIONAL_ATTRS: fixedip[field] = db_fixedip[field] # NOTE(danms): Instance could be deleted, and thus None if 'instance' in expected_attrs: fixedip.instance = objects.Instance._from_db_object( context, objects.Instance(context), db_fixedip['instance']) if db_fixedip['instance'] else None if 'network' in expected_attrs: fixedip.network = objects.Network._from_db_object( context, objects.Network(context), db_fixedip['network']) if db_fixedip['network'] else None if 'virtual_interface' in expected_attrs: db_vif = db_fixedip['virtual_interface'] vif = objects.VirtualInterface._from_db_object( context, objects.VirtualInterface(context), db_fixedip['virtual_interface']) if db_vif else None fixedip.virtual_interface = vif if 'floating_ips' in expected_attrs: fixedip.floating_ips = obj_base.obj_make_list( context, objects.FloatingIPList(context), objects.FloatingIP, db_fixedip['floating_ips']) fixedip._context = context fixedip.obj_reset_changes() return fixedip
def get_all(cls, context, disabled=None, set_zones=False): db_services = db.service_get_all(context, disabled=disabled) if set_zones: db_services = availability_zones.set_availability_zones( context, db_services) return base.obj_make_list(context, cls(context), objects.Service, db_services)
def get_in_progress_by_instance(cls, context, instance_uuid, migration_type=None): db_migrations = db.migration_get_in_progress_by_instance( context, instance_uuid, migration_type) return base.obj_make_list(context, cls(context), objects.Migration, db_migrations)
def get_by_virtual_interface_id(cls, context, vif_id): expected_attrs = ['network', 'floating_ips'] db_fixedips = db.fixed_ips_by_virtual_interface(context, vif_id) return obj_base.obj_make_list(context, cls(context), objects.FixedIP, db_fixedips, expected_attrs=expected_attrs)
def get_by_instance_uuid(cls, context, instance_uuid): db_rules = db.security_group_rule_get_by_instance( context, instance_uuid) return base.obj_make_list(context, cls(context), objects.SecurityGroupRule, db_rules, expected_attrs=['grantee_group'])
def get_by_security_group_id(cls, context, secgroup_id): db_rules = db.security_group_rule_get_by_security_group( context, secgroup_id, columns_to_join=['grantee_group']) return base.obj_make_list(context, cls(context), objects.SecurityGroupRule, db_rules, expected_attrs=['grantee_group'])
def get_unconfirmed_by_dest_compute(cls, context, confirm_window, dest_compute, use_slave=False): db_migrations = cls._db_migration_get_unconfirmed_by_dest_compute( context, confirm_window, dest_compute, use_slave=use_slave) return base.obj_make_list(context, cls(context), objects.Migration, db_migrations)
def _get_by_service(cls, context, service_id, use_slave=False): try: db_computes = db.compute_nodes_get_by_service_id( context, service_id) except exception.ServiceNotFound: # NOTE(sbauza): Previous behaviour was returning an empty list # if the service was created with no computes, we need to keep it. db_computes = [] return base.obj_make_list(context, cls(context), objects.ComputeNode, db_computes)
def _return_servers_objs(context, search_opts=None, limit=None, marker=None, want_objects=False, expected_attrs=None, sort_keys=None, sort_dirs=None): db_insts = fake_instance_get_all_by_filters()(None, limit=limit, marker=marker) expected = ['metadata', 'system_metadata', 'flavor', 'info_cache', 'security_groups'] return base.obj_make_list(context, compute.InstanceList(), compute.Instance, db_insts, expected_attrs=expected)
def get_all(cls, context, task_name, period_beginning, period_ending, host=None, state=None): db_task_logs = db.task_log_get_all(context, task_name, period_beginning, period_ending, host=host, state=state) return base.obj_make_list(context, cls(context), TaskLog, db_task_logs)
def get_all(cls, context, inactive=False, filters=None, sort_key='flavorid', sort_dir='asc', limit=None, marker=None): db_flavors = db.flavor_get_all(context, inactive=inactive, filters=filters, sort_key=sort_key, sort_dir=sort_dir, limit=limit, marker=marker) return base.obj_make_list(context, cls(context), objects.Flavor, db_flavors, expected_attrs=['extra_specs'])
def service_get_all(self, context, filters=None, set_zones=False): if filters is None: filters = {} if 'availability_zone' in filters: zone_filter = filters.pop('availability_zone') set_zones = True else: zone_filter = None services = self.cells_rpcapi.service_get_all(context, filters=filters) if set_zones: # TODO(sbauza): set_availability_zones returns flat dicts, # we should rather modify the RPC API to amend service_get_all by # adding a set_zones argument services = availability_zones.set_availability_zones( context, services) if zone_filter is not None: services = [ s for s in services if s['availability_zone'] == zone_filter ] # NOTE(sbauza): As services is a list of flat dicts, we need to # rehydrate the corresponding ServiceProxy objects cell_paths = [] for service in services: cell_path, id = cells_utils.split_cell_and_item(service['id']) cell_path, host = cells_utils.split_cell_and_item( service['host']) service['id'] = id service['host'] = host cell_paths.append(cell_path) services = obj_base.obj_make_list(context, objects.ServiceList(), objects.Service, services) services = [ cells_utils.ServiceProxy(s, c) for s, c in zip(services, cell_paths) ] return services
def get_all(cls, context): db_domains = db.dnsdomain_get_all(context) return base.obj_make_list(context, cls(context), objects.DNSDomain, db_domains)
def get_by_fixed_address(cls, context, fixed_address): db_floatingips = db.floating_ip_get_by_fixed_address( context, str(fixed_address)) return obj_base.obj_make_list(context, cls(context), objects.FloatingIP, db_floatingips)
'memory_total': 456789, 'memory_processed': 56789, 'memory_remaining': 45000, 'disk_total': 96789, 'disk_processed': 6789, 'disk_remaining': 96000, 'created_at': datetime.datetime(2013, 10, 22, 13, 42, 2), 'updated_at': datetime.datetime(2013, 10, 22, 13, 42, 2), 'deleted_at': None, 'deleted': False } ] migrations_obj = base.obj_make_list( 'fake-context', compute.MigrationList(), compute.Migration, fake_migrations) class FakeRequest(object): environ = {"compute.context": context.RequestContext('fake_user', 'fake', is_admin=True)} GET = {} class MigrationsTestCaseV21(test.NoDBTestCase): migrations = migrations_v21 def _migrations_output(self): return self.controller._output(self.req, migrations_obj)
def get_in_progress_by_host_and_node(cls, context, host, node): db_migrations = db.migration_get_in_progress_by_host_and_node( context, host, node) return base.obj_make_list(context, cls(context), objects.Migration, db_migrations)
def get_by_resource_id(cls, context, resource_id): db_tags = db.instance_tag_get_by_instance_uuid(context, resource_id) return base.obj_make_list(context, cls(), objects.Tag, db_tags)
def get_by_filters(cls, context, filters): db_migrations = db.migration_get_all_by_filters(context, filters) return base.obj_make_list(context, cls(context), objects.Migration, db_migrations)
def get_by_parent_address(cls, context, node_id, parent_addr): db_dev_list = db.pci_device_get_all_by_parent_addr(context, node_id, parent_addr) return base.obj_make_list(context, cls(context), objects.PciDevice, db_dev_list)
def get_by_instance_uuids(cls, context, instance_uuids): db_faultdict = db.instance_fault_get_by_instance_uuids( context, instance_uuids) db_faultlist = itertools.chain(*db_faultdict.values()) return base.obj_make_list(context, cls(context), objects.InstanceFault, db_faultlist)
def get_by_instance_uuid(cls, context, uuid): db_dev_list = db.pci_device_get_all_by_instance_uuid(context, uuid) return base.obj_make_list(context, cls(context), objects.PciDevice, db_dev_list)
def get_by_compute_node(cls, context, node_id): db_dev_list = db.pci_device_get_all_by_node(context, node_id) return base.obj_make_list(context, cls(context), objects.PciDevice, db_dev_list)
def block_device_make_list(context, db_list, **extra_args): return base.obj_make_list(context, objects.BlockDeviceMappingList(context), objects.BlockDeviceMapping, db_list, **extra_args)
def get_by_instance_uuid(cls, context, instance_uuid, use_slave=False): db_vifs = cls._db_virtual_interface_get_by_instance( context, instance_uuid, use_slave=use_slave) return base.obj_make_list(context, cls(context), objects.VirtualInterface, db_vifs)
def create(cls, context, resource_id, tags): db_tags = db.instance_tag_set(context, resource_id, tags) return base.obj_make_list(context, cls(), objects.Tag, db_tags)
def get_by_instance_uuid(cls, context, instance_uuid, use_slave=False): db_bdms = cls._db_block_device_mapping_get_all_by_instance( context, instance_uuid, use_slave=use_slave) return base.obj_make_list( context, cls(), objects.BlockDeviceMapping, db_bdms or [])
def get_all(cls, context, hypervisor=None): db_agents = db.agent_build_get_all(context, hypervisor=hypervisor) return base.obj_make_list(context, cls(), objects.Agent, db_agents)
def get_by_fixed_ip_id(cls, context, fixed_ip_id): db_floatingips = db.floating_ip_get_by_fixed_ip_id(context, fixed_ip_id) return obj_base.obj_make_list(context, cls(), FloatingIP, db_floatingips)
def get_all(cls, context): db_computes = db.compute_node_get_all(context) return base.obj_make_list(context, cls(context), objects.ComputeNode, db_computes)
def get_by_instance_uuid(cls, context, instance_uuid): db_rules = db.security_group_rule_get_by_instance(context, instance_uuid) return base.obj_make_list(context, cls(context), objects.SecurityGroupRule, db_rules, expected_attrs=['grantee_group'])
def get_by_hypervisor(cls, context, hypervisor_match): db_computes = db.compute_node_search_by_hypervisor(context, hypervisor_match) return base.obj_make_list(context, cls(context), objects.ComputeNode, db_computes)
def get_by_project_id(cls, context, project_id): db_mappings = cls._get_by_project_id_from_db(context, project_id) return base.obj_make_list(context, cls(), objects.InstanceMapping, db_mappings)
def get_by_instance(cls, context, instance): groups = db.security_group_get_by_instance(context, instance.uuid) return base.obj_make_list(context, cls(context), objects.SecurityGroup, groups)
def get_by_project(cls, context, project_id): groups = db.security_group_get_by_project(context, project_id) return base.obj_make_list(context, cls(context), objects.SecurityGroup, groups)
def get_by_host(cls, context, host): db_fixedips = db.fixed_ip_get_by_host(context, host) return obj_base.obj_make_list(context, cls(context), objects.FixedIP, db_fixedips)
def get_by_binary(cls, context, binary, include_disabled=False): db_services = db.service_get_all_by_binary( context, binary, include_disabled=include_disabled) return base.obj_make_list(context, cls(context), objects.Service, db_services)
def get_by_project(cls, context, project_id): db_floatingips = db.floating_ip_get_all_by_project(context, project_id) return obj_base.obj_make_list(context, cls(context), objects.FloatingIP, db_floatingips)
def get_all(cls, context): groups = db.instance_group_get_all(context) return base.obj_make_list(context, cls(context), objects.InstanceGroup, groups)
def get_all(cls, context): db_vifs = db.virtual_interface_get_all(context) return base.obj_make_list(context, cls(context), objects.VirtualInterface, db_vifs)
def create(cls, context, ip_info, want_result=False): db_floatingips = db.floating_ip_bulk_create(context, ip_info, want_result=want_result) if want_result: return obj_base.obj_make_list(context, cls(), FloatingIP, db_floatingips)
def get_by_host(cls, context, host): db_services = db.service_get_all_by_host(context, host) return base.obj_make_list(context, cls(context), objects.Service, db_services)
def get_by_project_id(cls, context, project_id): groups = db.instance_group_get_all_by_project_id(context, project_id) return base.obj_make_list(context, cls(context), objects.InstanceGroup, groups)
def get_by_user(cls, context, user_id): db_keypairs = db.key_pair_get_all_by_user(context, user_id) return base.obj_make_list(context, cls(context), objects.KeyPair, db_keypairs)
def get_all_by_resource_provider_uuid(cls, context, rp_uuid): db_inventory_list = cls._get_all_by_resource_provider(context, rp_uuid) return base.obj_make_list(context, cls(context), objects.Inventory, db_inventory_list)
def get_all(cls, context): groups = db.security_group_get_all(context) return base.obj_make_list(context, cls(context), objects.SecurityGroup, groups)
def get_all_by_host(cls, context, host, use_slave=False): db_computes = cls._db_compute_node_get_all_by_host(context, host, use_slave=use_slave) return base.obj_make_list(context, cls(context), objects.ComputeNode, db_computes)