コード例 #1
0
ファイル: scheduler.py プロジェクト: DrZaarlon/nova
    def _create_instances_here(self, ctxt, instance_uuids, instance_properties,
            instance_type, image, security_groups, block_device_mapping):
        instance_values = copy.copy(instance_properties)
        # The parent may pass these metadata values as lists, and the
        # create call expects it to be a dict.
        instance_values['metadata'] = utils.instance_meta(instance_values)
        sys_metadata = utils.instance_sys_meta(instance_values)
        # Make sure the flavor info is set.  It may not have been passed
        # down.
        sys_metadata = flavors.save_flavor_info(sys_metadata, instance_type)
        instance_values['system_metadata'] = sys_metadata
        instance_values.pop('name')
        if 'security_groups' in instance_values:
            instance_values = security_group.make_secgroup_list(
                instance_values['security_groups'])

        num_instances = len(instance_uuids)
        for i, instance_uuid in enumerate(instance_uuids):
            instance = instance_obj.Instance()
            instance.update(instance_values)
            instance.uuid = instance_uuid
            instance = self.compute_api.create_db_entry_for_new_instance(
                    ctxt,
                    instance_type,
                    image,
                    instance,
                    security_groups,
                    block_device_mapping,
                    num_instances, i)

            self.msg_runner.instance_update_at_top(ctxt, instance)
コード例 #2
0
    def _create_instances_here(self, ctxt, instance_uuids, instance_properties,
                               instance_type, image, security_groups,
                               block_device_mapping):
        instance_values = copy.copy(instance_properties)
        # The parent may pass these metadata values as lists, and the
        # create call expects it to be a dict.
        instance_values['metadata'] = utils.instance_meta(instance_values)
        sys_metadata = utils.instance_sys_meta(instance_values)
        # Make sure the flavor info is set.  It may not have been passed
        # down.
        sys_metadata = flavors.save_flavor_info(sys_metadata, instance_type)
        instance_values['system_metadata'] = sys_metadata
        instance_values.pop('name')
        if 'security_groups' in instance_values:
            instance_values = security_group.make_secgroup_list(
                instance_values['security_groups'])

        num_instances = len(instance_uuids)
        for i, instance_uuid in enumerate(instance_uuids):
            instance = instance_obj.Instance()
            instance.update(instance_values)
            instance.uuid = instance_uuid
            instance = self.compute_api.create_db_entry_for_new_instance(
                ctxt, instance_type, image, instance, security_groups,
                block_device_mapping, num_instances, i)

            self.msg_runner.instance_update_at_top(ctxt, instance)
コード例 #3
0
ファイル: security_group_api.py プロジェクト: todd911/nova
def populate_security_groups(security_groups):
    """Build and return a SecurityGroupList.

    :param security_groups: list of requested security group names or uuids
    :type security_groups: list
    :returns: nova.objects.security_group.SecurityGroupList
    """
    if not security_groups:
        # Make sure it's an empty SecurityGroupList and not None
        return security_group_obj.SecurityGroupList()
    return security_group_obj.make_secgroup_list(security_groups)
コード例 #4
0
ファイル: security_group_base.py プロジェクト: hanlind/nova
    def populate_security_groups(self, security_groups):
        """Build and return a SecurityGroupList.

        :param security_groups: list of requested security group names or uuids
        :type security_groups: list
        :returns: nova.objects.security_group.SecurityGroupList
        """
        if not security_groups:
            # Make sure it's an empty SecurityGroupList and not None
            return security_group_obj.SecurityGroupList()
        return security_group_obj.make_secgroup_list(security_groups)