RequestSpec object split instance_properties

To prepare for later uses of the RequestSpec object, and so that it can
be more explicit about what is available for use during scheduling, the
instance that has been shoved into instance_properties has been split
into the component pieces that are used by current scheduler filters.

vm_state and task_state are used as well, but only for the host state
consume_from_instance method and they are never different between
requests so we can leave them out of there.

image_ref is used for one filter but should be available in
requestspec.image.

Change-Id: I5744367ce395dac1d300a740f67c0a17668dd952
This commit is contained in:
Andrew Laski 2015-04-23 16:13:52 -04:00
parent 9bd92c3735
commit 4d886bb746

View File

@ -163,9 +163,15 @@ from the nested dict's keys to object attribute notation:
fields = {
'image': fields.ObjectField('ImageMeta', nullable=False),
# instance_properties could eventually be deconstructed into component
# parts
'instance_properties': fields.ObjectField('Instance'),
'root_gb': fields.IntegerField(nullable=False),
'ephemeral_gb': fields.IntegerField(nullable=False),
'memory_mb: fields.IntegerField(nullable=False),
'vcpus': fields.IntegerField(nullable=False),
'numa_topology': fields.ObjectField('InstanceNUMATopology',
nullable=True),
'project_id': fields.StringField(nullable=True),
'os_type': fields.StringField(nullable=True),
'availability_zone': fields.StringField(nullable=True),
'instance_type': fields.ObjectField('Flavor', nullable=False),
'num_instances': fields.IntegerField(default=1),
'force_hosts': fields.StringField(nullable=True),