From b203fbc5af8e2f7a6e8f4156cdb1bb12473feea5 Mon Sep 17 00:00:00 2001 From: He Jie Xu Date: Mon, 24 Jun 2019 18:44:03 +0800 Subject: [PATCH] Correct the comment of RequestSpec's network_metadata The network_metadata won't be persisted inside RequestSpec obj. https://github.com/openstack/nova/blob/ff0f33cf7e44c5d01f3fb999295eff4508c24a14/nova/objects/request_spec.py#L533 But there is comment said the network_metadata field should be assigned before creating the RequestSpec obj, that is incorrect description. This patch removes that comment, also adds some notes for the fields which isn't persisted in RequestSpec obj. Change-Id: I0ef451a6bac8f5caa837be62a0c2b335b9ed776b Closes-Bug: 1834005 --- nova/compute/api.py | 2 +- nova/objects/request_spec.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nova/compute/api.py b/nova/compute/api.py index dd32e589ed..afbeafc2d2 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1037,7 +1037,7 @@ class API(base.Base): req_spec.num_instances = num_instances # NOTE(stephenfin): The network_metadata field is not persisted - # and is therefore set after 'create' is called. + # inside RequestSpec object. if network_metadata: req_spec.network_metadata = network_metadata diff --git a/nova/objects/request_spec.py b/nova/objects/request_spec.py index 67d7b39b81..cc99a3e378 100644 --- a/nova/objects/request_spec.py +++ b/nova/objects/request_spec.py @@ -67,6 +67,7 @@ class RequestSpec(base.NovaObject): 'availability_zone': fields.StringField(nullable=True), 'flavor': fields.ObjectField('Flavor', nullable=False), 'num_instances': fields.IntegerField(default=1), + # NOTE(alex_xu): This field won't be persisted. 'ignore_hosts': fields.ListOfStringsField(nullable=True), # NOTE(mriedem): In reality, you can only ever have one # host in the force_hosts list. The fact this is a list @@ -76,9 +77,11 @@ class RequestSpec(base.NovaObject): # node in the force_nodes list. The fact this is a list # is a mistake perpetuated over time. 'force_nodes': fields.ListOfStringsField(nullable=True), + # NOTE(alex_xu): This field won't be persisted. 'requested_destination': fields.ObjectField('Destination', nullable=True, default=None), + # NOTE(alex_xu): This field won't be persisted. 'retry': fields.ObjectField('SchedulerRetries', nullable=True), 'limits': fields.ObjectField('SchedulerLimits', nullable=True), 'instance_group': fields.ObjectField('InstanceGroup', nullable=True), @@ -88,6 +91,7 @@ class RequestSpec(base.NovaObject): 'scheduler_hints': fields.DictOfListOfStringsField(nullable=True), 'instance_uuid': fields.UUIDField(), 'security_groups': fields.ObjectField('SecurityGroupList'), + # NOTE(alex_xu): This field won't be persisted. 'network_metadata': fields.ObjectField('NetworkMetadata'), 'is_bfv': fields.BooleanField(), # NOTE(gibi): Eventually we want to store every resource request as @@ -95,6 +99,7 @@ class RequestSpec(base.NovaObject): # resources like vcpu, ram, disk, and flavor.extra_spec based resources # are not handled this way. See the Todo in from_components() where # requested_resources are set. + # NOTE(alex_xu): This field won't be persisted. 'requested_resources': fields.ListOfObjectsField('RequestGroup', nullable=True, default=None)