From 4b5f296accc4823d4a6f24c1c919b32ec943fd39 Mon Sep 17 00:00:00 2001 From: Peter Razumovsky Date: Thu, 30 Apr 2015 14:23:45 +0300 Subject: [PATCH] Replace self.properties.get on self.properties[] Remove unnecessary using self.properties.get for more clear code. Using properties.get(prop, default) causes next issues: 1. properties.get(prop) if prop not in properties_schema will return None instead of expected KeyError. 2. properties.get(prop, default) returns "default" value if current properties is not presented in properties_schema. So using self.properties.get() makes sense only when we plan to use this property with default option in another resource, which has not it in property schema. This patch replaces this methods in resources/openstack folder. Change-Id: I523eb3feacb0cb7a16a928a92896ce56188e376f --- .../resources/openstack/cinder/volume.py | 14 ++-- .../resources/openstack/heat/cloud_config.py | 5 +- .../resources/openstack/heat/multi_part.py | 2 +- .../resources/openstack/heat/random_string.py | 16 ++-- .../openstack/heat/software_component.py | 2 +- .../openstack/heat/software_deployment.py | 22 +++--- .../openstack/heat/structured_config.py | 4 +- .../resources/openstack/neutron/floatingip.py | 28 +++---- .../openstack/neutron/loadbalancer.py | 2 +- .../resources/openstack/neutron/port.py | 4 +- .../openstack/neutron/provider_net.py | 4 +- .../resources/openstack/neutron/router.py | 18 ++--- .../openstack/neutron/security_group.py | 2 +- .../resources/openstack/neutron/subnet.py | 6 +- .../openstack/nova/nova_floatingip.py | 2 +- .../openstack/nova/nova_servergroup.py | 2 +- .../engine/resources/openstack/nova/server.py | 74 +++++++++---------- .../openstack/sahara/sahara_cluster.py | 8 +- .../openstack/sahara/sahara_templates.py | 28 +++---- .../engine/resources/openstack/swift/swift.py | 4 +- .../resources/openstack/trove/os_database.py | 26 +++---- 21 files changed, 137 insertions(+), 136 deletions(-) diff --git a/heat/engine/resources/openstack/cinder/volume.py b/heat/engine/resources/openstack/cinder/volume.py index a332f1a9f9..64fc7d976b 100644 --- a/heat/engine/resources/openstack/cinder/volume.py +++ b/heat/engine/resources/openstack/cinder/volume.py @@ -200,10 +200,10 @@ class CinderVolume(vb.BaseVolume): 'size': self.properties[self.SIZE], 'availability_zone': self.properties[self.AVAILABILITY_ZONE] } - if self.properties.get(self.IMAGE): + if self.properties[self.IMAGE]: arguments['imageRef'] = self.client_plugin('glance').get_image_id( self.properties[self.IMAGE]) - elif self.properties.get(self.IMAGE_REF): + elif self.properties[self.IMAGE_REF]: arguments['imageRef'] = self.properties[self.IMAGE_REF] optionals = (self.SNAPSHOT_ID, self.VOLUME_TYPE, self.SOURCE_VOLID, @@ -244,9 +244,9 @@ class CinderVolume(vb.BaseVolume): if self.NAME in prop_diff or self.DESCRIPTION in prop_diff: vol = cinder.volumes.get(self.resource_id) update_name = (prop_diff.get(self.NAME) or - self.properties.get(self.NAME)) + self.properties[self.NAME]) update_description = (prop_diff.get(self.DESCRIPTION) or - self.properties.get(self.DESCRIPTION)) + self.properties[self.DESCRIPTION]) kwargs = self._fetch_name_and_description( cinder.volume_api_version, update_name, update_description) cinder.volumes.update(vol, **kwargs) @@ -360,7 +360,7 @@ class CinderVolume(vb.BaseVolume): return res # Scheduler hints are only supported from Cinder API v2 - if (self.properties.get(self.CINDER_SCHEDULER_HINTS) + if (self.properties[self.CINDER_SCHEDULER_HINTS] and self.client().volume_api_version == 1): raise exception.StackValidationFailed( message=_('Scheduler hints are not supported by the current ' @@ -418,11 +418,11 @@ class CinderVolumeAttachment(vb.BaseVolumeAttachment): # could be updated in UpdateReplace manner, # we still first detach the old resource so that # self.resource_id is not replaced prematurely - volume_id = self.properties.get(self.VOLUME_ID) + volume_id = self.properties[self.VOLUME_ID] if self.VOLUME_ID in prop_diff: volume_id = prop_diff.get(self.VOLUME_ID) - device = self.properties.get(self.DEVICE) + device = self.properties[self.DEVICE] if self.DEVICE in prop_diff: device = prop_diff.get(self.DEVICE) diff --git a/heat/engine/resources/openstack/heat/cloud_config.py b/heat/engine/resources/openstack/heat/cloud_config.py index 1f323ad830..3e0f11a997 100644 --- a/heat/engine/resources/openstack/heat/cloud_config.py +++ b/heat/engine/resources/openstack/heat/cloud_config.py @@ -50,8 +50,9 @@ class CloudConfig(software_config.SoftwareConfig): } def handle_create(self): - cloud_config = template_format.yaml.dump(self.properties.get( - self.CLOUD_CONFIG), Dumper=template_format.yaml_dumper) + cloud_config = template_format.yaml.dump( + self.properties[self.CLOUD_CONFIG], + Dumper=template_format.yaml_dumper) props = { self.NAME: self.physical_resource_name(), self.CONFIG: '#cloud-config\n%s' % cloud_config, diff --git a/heat/engine/resources/openstack/heat/multi_part.py b/heat/engine/resources/openstack/heat/multi_part.py index 4f26452d5f..5107d61172 100644 --- a/heat/engine/resources/openstack/heat/multi_part.py +++ b/heat/engine/resources/openstack/heat/multi_part.py @@ -107,7 +107,7 @@ class MultipartMime(software_config.SoftwareConfig): return self.message subparts = [] - for item in self.properties.get(self.PARTS): + for item in self.properties[self.PARTS]: config = item.get(self.CONFIG) part_type = item.get(self.TYPE, self.TEXT) part = config diff --git a/heat/engine/resources/openstack/heat/random_string.py b/heat/engine/resources/openstack/heat/random_string.py index b2747d9739..d2b1fea270 100644 --- a/heat/engine/resources/openstack/heat/random_string.py +++ b/heat/engine/resources/openstack/heat/random_string.py @@ -228,9 +228,9 @@ class RandomString(resource.Resource): def validate(self): super(RandomString, self).validate() - sequence = self.properties.get(self.SEQUENCE) - char_sequences = self.properties.get(self.CHARACTER_SEQUENCES) - char_classes = self.properties.get(self.CHARACTER_CLASSES) + sequence = self.properties[self.SEQUENCE] + char_sequences = self.properties[self.CHARACTER_SEQUENCES] + char_classes = self.properties[self.CHARACTER_CLASSES] if sequence and (char_sequences or char_classes): msg = (_("Cannot use deprecated '%(seq)s' property along with " @@ -245,7 +245,7 @@ class RandomString(resource.Resource): return sum(char_dict[min_prop] for char_dict in char_dicts) return 0 - length = self.properties.get(self.LENGTH) + length = self.properties[self.LENGTH] min_length = (char_min(char_sequences, self.CHARACTER_SEQUENCES_MIN) + char_min(char_classes, self.CHARACTER_CLASSES_MIN)) if min_length > length: @@ -254,16 +254,16 @@ class RandomString(resource.Resource): raise exception.StackValidationFailed(message=msg) def handle_create(self): - char_sequences = self.properties.get(self.CHARACTER_SEQUENCES) - char_classes = self.properties.get(self.CHARACTER_CLASSES) - length = self.properties.get(self.LENGTH) + char_sequences = self.properties[self.CHARACTER_SEQUENCES] + char_classes = self.properties[self.CHARACTER_CLASSES] + length = self.properties[self.LENGTH] if char_sequences or char_classes: random_string = self._generate_random_string(char_sequences, char_classes, length) else: - sequence = self.properties.get(self.SEQUENCE) + sequence = self.properties[self.SEQUENCE] if not sequence: # Deprecated property not provided, use a default sequence = "lettersdigits" diff --git a/heat/engine/resources/openstack/heat/software_component.py b/heat/engine/resources/openstack/heat/software_component.py index a118870c19..7c0cc20b66 100644 --- a/heat/engine/resources/openstack/heat/software_component.py +++ b/heat/engine/resources/openstack/heat/software_component.py @@ -111,7 +111,7 @@ class SoftwareComponent(sc.SoftwareConfig): props = dict(self.properties) props[self.NAME] = self.physical_resource_name() # use config property of SoftwareConfig to store configs list - configs = self.properties.get(self.CONFIGS) + configs = self.properties[self.CONFIGS] props[self.CONFIG] = {self.CONFIGS: configs} # set 'group' to enable component processing by in-instance hook props[self.GROUP] = 'component' diff --git a/heat/engine/resources/openstack/heat/software_deployment.py b/heat/engine/resources/openstack/heat/software_deployment.py index 468caa3e62..0b62dd925d 100644 --- a/heat/engine/resources/openstack/heat/software_deployment.py +++ b/heat/engine/resources/openstack/heat/software_deployment.py @@ -179,20 +179,20 @@ class SoftwareDeployment(signal_responder.SignalResponder): default_client_name = 'heat' def _signal_transport_cfn(self): - return self.properties.get( - self.SIGNAL_TRANSPORT) == self.CFN_SIGNAL + return self.properties[ + self.SIGNAL_TRANSPORT] == self.CFN_SIGNAL def _signal_transport_heat(self): - return self.properties.get( - self.SIGNAL_TRANSPORT) == self.HEAT_SIGNAL + return self.properties[ + self.SIGNAL_TRANSPORT] == self.HEAT_SIGNAL def _signal_transport_none(self): - return self.properties.get( - self.SIGNAL_TRANSPORT) == self.NO_SIGNAL + return self.properties[ + self.SIGNAL_TRANSPORT] == self.NO_SIGNAL def _signal_transport_temp_url(self): - return self.properties.get( - self.SIGNAL_TRANSPORT) == self.TEMP_URL_SIGNAL + return self.properties[ + self.SIGNAL_TRANSPORT] == self.TEMP_URL_SIGNAL def _build_properties(self, properties, config_id, action): props = { @@ -360,7 +360,7 @@ class SoftwareDeployment(signal_responder.SignalResponder): scl.NAME: self.DEPLOY_SERVER_ID, scl.DESCRIPTION: _('ID of the server being deployed to'), scl.TYPE: 'String', - 'value': self.properties.get(self.SERVER) + 'value': self.properties[self.SERVER] }, { scl.NAME: self.DEPLOY_ACTION, scl.DESCRIPTION: _('Name of the current action being deployed'), @@ -382,7 +382,7 @@ class SoftwareDeployment(signal_responder.SignalResponder): scl.DESCRIPTION: _('How the server should signal to heat with ' 'the deployment output values.'), scl.TYPE: 'String', - 'value': self.properties.get(self.SIGNAL_TRANSPORT) + 'value': self.properties[self.SIGNAL_TRANSPORT] }]) if self._signal_transport_cfn(): inputs.append({ @@ -565,7 +565,7 @@ class SoftwareDeployment(signal_responder.SignalResponder): :raises StackValidationFailed: if any property failed validation. ''' super(SoftwareDeployment, self).validate() - server = self.properties.get(self.SERVER) + server = self.properties[self.SERVER] if server: res = self.stack.resource_by_refid(server) if res: diff --git a/heat/engine/resources/openstack/heat/structured_config.py b/heat/engine/resources/openstack/heat/structured_config.py index 9e5c940219..d5057637de 100644 --- a/heat/engine/resources/openstack/heat/structured_config.py +++ b/heat/engine/resources/openstack/heat/structured_config.py @@ -135,8 +135,8 @@ class StructuredDeployment(sd.SoftwareDeployment): def _build_derived_config(self, action, source, derived_inputs, derived_options): cfg = source.get(sc.SoftwareConfig.CONFIG) - input_key = self.properties.get(self.INPUT_KEY) - check_input_val = self.properties.get(self.INPUT_VALUES_VALIDATE) + input_key = self.properties[self.INPUT_KEY] + check_input_val = self.properties[self.INPUT_VALUES_VALIDATE] inputs = dict((i['name'], i['value']) for i in derived_inputs) diff --git a/heat/engine/resources/openstack/neutron/floatingip.py b/heat/engine/resources/openstack/neutron/floatingip.py index 5f3dc4fe32..bf2f9f85aa 100644 --- a/heat/engine/resources/openstack/neutron/floatingip.py +++ b/heat/engine/resources/openstack/neutron/floatingip.py @@ -124,9 +124,9 @@ class FloatingIP(neutron.NeutronResource): gateway_network = resource.properties.get( router.RouterGateway.NETWORK) or resource.properties.get( router.RouterGateway.NETWORK_ID) - floating_network = self.properties.get( - self.FLOATING_NETWORK) or self.properties.get( - self.FLOATING_NETWORK_ID) + floating_network = self.properties[ + self.FLOATING_NETWORK] or self.properties[ + self.FLOATING_NETWORK_ID] if gateway_network == floating_network: deps += (self, resource) @@ -175,9 +175,9 @@ class FloatingIP(neutron.NeutronResource): if gateway: gateway_network = gateway.get( router.Router.EXTERNAL_GATEWAY_NETWORK) - floating_network = self.properties.get( - self.FLOATING_NETWORK) or self.properties.get( - self.FLOATING_NETWORK_ID) + floating_network = self.properties[ + self.FLOATING_NETWORK] or self.properties[ + self.FLOATING_NETWORK_ID] if gateway_network == floating_network: deps += (self, resource) @@ -186,8 +186,8 @@ class FloatingIP(neutron.NeutronResource): self._validate_depr_property_required( self.properties, self.FLOATING_NETWORK, self.FLOATING_NETWORK_ID) # fixed_ip_address cannot be specified without a port_id - if self.properties.get(self.PORT_ID) is None and self.properties.get( - self.FIXED_IP_ADDRESS) is not None: + if self.properties[self.PORT_ID] is None and self.properties[ + self.FIXED_IP_ADDRESS] is not None: raise exception.ResourcePropertyDependency( prop1=self.FIXED_IP_ADDRESS, prop2=self.PORT_ID) @@ -216,11 +216,11 @@ class FloatingIP(neutron.NeutronResource): neutron_client = self.neutron() port_id = prop_diff.get(self.PORT_ID, - self.properties.get(self.PORT_ID)) + self.properties[self.PORT_ID]) fixed_ip_address = prop_diff.get( self.FIXED_IP_ADDRESS, - self.properties.get(self.FIXED_IP_ADDRESS)) + self.properties[self.FIXED_IP_ADDRESS]) request_body = { 'floatingip': { @@ -302,15 +302,15 @@ class FloatingIPAssociation(neutron.NeutronResource): client = self.neutron() try: client.update_floatingip( - self.properties.get(self.FLOATINGIP_ID), + self.properties[self.FLOATINGIP_ID], {'floatingip': {'port_id': None}}) except Exception as ex: self.client_plugin().ignore_not_found(ex) def handle_update(self, json_snippet, tmpl_diff, prop_diff): if prop_diff: - floatingip_id = self.properties.get(self.FLOATINGIP_ID) - port_id = self.properties.get(self.PORT_ID) + floatingip_id = self.properties[self.FLOATINGIP_ID] + port_id = self.properties[self.PORT_ID] neutron_client = self.neutron() # if the floatingip_id is changed, disassociate the port which # associated with the old floatingip_id @@ -328,7 +328,7 @@ class FloatingIPAssociation(neutron.NeutronResource): port_id = prop_diff.get(self.PORT_ID) or port_id fixed_ip_address = (prop_diff.get(self.FIXED_IP_ADDRESS) or - self.properties.get(self.FIXED_IP_ADDRESS)) + self.properties[self.FIXED_IP_ADDRESS]) request_body = { 'floatingip': { diff --git a/heat/engine/resources/openstack/neutron/loadbalancer.py b/heat/engine/resources/openstack/neutron/loadbalancer.py index 25d84a717d..3a9e78904f 100644 --- a/heat/engine/resources/openstack/neutron/loadbalancer.py +++ b/heat/engine/resources/openstack/neutron/loadbalancer.py @@ -604,7 +604,7 @@ class PoolMember(neutron.NeutronResource): protocol_port = self.properties[self.PROTOCOL_PORT] address = self.properties[self.ADDRESS] admin_state_up = self.properties[self.ADMIN_STATE_UP] - weight = self.properties.get(self.WEIGHT) + weight = self.properties[self.WEIGHT] params = { 'pool_id': pool, diff --git a/heat/engine/resources/openstack/neutron/port.py b/heat/engine/resources/openstack/neutron/port.py index 486351d332..14bec7c389 100644 --- a/heat/engine/resources/openstack/neutron/port.py +++ b/heat/engine/resources/openstack/neutron/port.py @@ -267,8 +267,8 @@ class Port(neutron.NeutronResource): dep_network = res.properties.get( subnet.Subnet.NETWORK) or res.properties.get( subnet.Subnet.NETWORK_ID) - network = self.properties.get( - self.NETWORK) or self.properties.get(self.NETWORK_ID) + network = self.properties[ + self.NETWORK] or self.properties[self.NETWORK_ID] if dep_network == network: deps += (self, res) diff --git a/heat/engine/resources/openstack/neutron/provider_net.py b/heat/engine/resources/openstack/neutron/provider_net.py index 85b7530f39..343ab1523f 100644 --- a/heat/engine/resources/openstack/neutron/provider_net.py +++ b/heat/engine/resources/openstack/neutron/provider_net.py @@ -93,8 +93,8 @@ class ProviderNet(net.Net): ''' super(ProviderNet, self).validate() - if (self.properties.get(self.PROVIDER_SEGMENTATION_ID) and - self.properties.get(self.PROVIDER_NETWORK_TYPE) != 'vlan'): + if (self.properties[self.PROVIDER_SEGMENTATION_ID] and + self.properties[self.PROVIDER_NETWORK_TYPE] != 'vlan'): msg = _('segmentation_id not allowed for flat network type.') raise exception.StackValidationFailed(message=msg) diff --git a/heat/engine/resources/openstack/neutron/router.py b/heat/engine/resources/openstack/neutron/router.py index 60a9703374..bfb0209e9b 100644 --- a/heat/engine/resources/openstack/neutron/router.py +++ b/heat/engine/resources/openstack/neutron/router.py @@ -149,10 +149,10 @@ class Router(neutron.NeutronResource): def validate(self): super(Router, self).validate() - is_distributed = self.properties.get(self.DISTRIBUTED) - l3_agent_id = self.properties.get(self.L3_AGENT_ID) - l3_agent_ids = self.properties.get(self.L3_AGENT_IDS) - is_ha = self.properties.get(self.HA) + is_distributed = self.properties[self.DISTRIBUTED] + l3_agent_id = self.properties[self.L3_AGENT_ID] + l3_agent_ids = self.properties[self.L3_AGENT_IDS] + is_ha = self.properties[self.HA] if l3_agent_id and l3_agent_ids: raise exception.ResourcePropertyConflict(self.L3_AGENT_ID, self.L3_AGENT_IDS) @@ -170,7 +170,7 @@ class Router(neutron.NeutronResource): def add_dependencies(self, deps): super(Router, self).add_dependencies(deps) - external_gw = self.properties.get(self.EXTERNAL_GATEWAY) + external_gw = self.properties[self.EXTERNAL_GATEWAY] if external_gw: external_gw_net = external_gw.get(self.EXTERNAL_GATEWAY_NETWORK) for res in six.itervalues(self.stack): @@ -442,7 +442,7 @@ class RouterGateway(neutron.NeutronResource): if resource.has_interface('OS::Neutron::RouterInterface'): dep_router_id = resource.properties.get( RouterInterface.ROUTER_ID) - router_id = self.properties.get(self.ROUTER_ID) + router_id = self.properties[self.ROUTER_ID] if dep_router_id == router_id: deps += (self, resource) # depend on any subnet in this template with the same network_id @@ -452,13 +452,13 @@ class RouterGateway(neutron.NeutronResource): dep_network = resource.properties.get( subnet.Subnet.NETWORK) or resource.properties.get( subnet.Subnet.NETWORK_ID) - network = self.properties.get( - self.NETWORK) or self.properties.get(self.NETWORK_ID) + network = self.properties[ + self.NETWORK] or self.properties[self.NETWORK_ID] if dep_network == network: deps += (self, resource) def handle_create(self): - router_id = self.properties.get(self.ROUTER_ID) + router_id = self.properties[self.ROUTER_ID] network_id = self.client_plugin().resolve_network( dict(self.properties), self.NETWORK, 'network_id') self.neutron().add_gateway_router( diff --git a/heat/engine/resources/openstack/neutron/security_group.py b/heat/engine/resources/openstack/neutron/security_group.py index 99db1d860d..e56df0aeff 100644 --- a/heat/engine/resources/openstack/neutron/security_group.py +++ b/heat/engine/resources/openstack/neutron/security_group.py @@ -134,7 +134,7 @@ class SecurityGroup(neutron.NeutronResource): def validate(self): super(SecurityGroup, self).validate() - if self.properties.get(self.NAME) == 'default': + if self.properties[self.NAME] == 'default': msg = _('Security groups cannot be assigned the name "default".') raise exception.StackValidationFailed(message=msg) diff --git a/heat/engine/resources/openstack/neutron/subnet.py b/heat/engine/resources/openstack/neutron/subnet.py index 37da107265..048dbef62b 100644 --- a/heat/engine/resources/openstack/neutron/subnet.py +++ b/heat/engine/resources/openstack/neutron/subnet.py @@ -235,9 +235,9 @@ class Subnet(neutron.NeutronResource): super(Subnet, self).validate() self._validate_depr_property_required(self.properties, self.NETWORK, self.NETWORK_ID) - ra_mode = self.properties.get(self.IPV6_RA_MODE) - address_mode = self.properties.get(self.IPV6_ADDRESS_MODE) - if (self.properties.get(self.IP_VERSION) == 4) and ( + ra_mode = self.properties[self.IPV6_RA_MODE] + address_mode = self.properties[self.IPV6_ADDRESS_MODE] + if (self.properties[self.IP_VERSION] == 4) and ( ra_mode or address_mode): msg = _('ipv6_ra_mode and ipv6_address_mode are not supported ' 'for ipv4.') diff --git a/heat/engine/resources/openstack/nova/nova_floatingip.py b/heat/engine/resources/openstack/nova/nova_floatingip.py index 290dc8a1dc..3d9bcb97e7 100644 --- a/heat/engine/resources/openstack/nova/nova_floatingip.py +++ b/heat/engine/resources/openstack/nova/nova_floatingip.py @@ -68,7 +68,7 @@ class NovaFloatingIp(resource.Resource): def handle_create(self): try: - pool = self.properties.get(self.POOL) + pool = self.properties[self.POOL] floating_ip = self.nova().floating_ips.create(pool=pool) except Exception as e: with excutils.save_and_reraise_exception(): diff --git a/heat/engine/resources/openstack/nova/nova_servergroup.py b/heat/engine/resources/openstack/nova/nova_servergroup.py index d85eb5a6a4..3c0215fce5 100644 --- a/heat/engine/resources/openstack/nova/nova_servergroup.py +++ b/heat/engine/resources/openstack/nova/nova_servergroup.py @@ -64,7 +64,7 @@ class ServerGroup(resource.Resource): self.client_plugin('nova').ignore_not_found(e) def physical_resource_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name return super(ServerGroup, self).physical_resource_name() diff --git a/heat/engine/resources/openstack/nova/server.py b/heat/engine/resources/openstack/nova/server.py index bf6a5deaee..08a8fb40b3 100644 --- a/heat/engine/resources/openstack/nova/server.py +++ b/heat/engine/resources/openstack/nova/server.py @@ -499,7 +499,7 @@ class Server(stack_user.StackUser): self._register_access_key() def _server_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name @@ -507,7 +507,7 @@ class Server(stack_user.StackUser): def _config_drive(self): # This method is overridden by the derived CloudServer resource - return self.properties.get(self.CONFIG_DRIVE) + return self.properties[self.CONFIG_DRIVE] def _populate_deployments_metadata(self, meta): meta['deployments'] = meta.get('deployments', []) @@ -593,23 +593,23 @@ class Server(stack_user.StackUser): self.data_set('password', password, True) def user_data_raw(self): - return self.properties.get(self.USER_DATA_FORMAT) == self.RAW + return self.properties[self.USER_DATA_FORMAT] == self.RAW def user_data_software_config(self): - return self.properties.get( - self.USER_DATA_FORMAT) == self.SOFTWARE_CONFIG + return self.properties[ + self.USER_DATA_FORMAT] == self.SOFTWARE_CONFIG def transport_poll_server_cfn(self): - return self.properties.get( - self.SOFTWARE_CONFIG_TRANSPORT) == self.POLL_SERVER_CFN + return self.properties[ + self.SOFTWARE_CONFIG_TRANSPORT] == self.POLL_SERVER_CFN def transport_poll_server_heat(self): - return self.properties.get( - self.SOFTWARE_CONFIG_TRANSPORT) == self.POLL_SERVER_HEAT + return self.properties[ + self.SOFTWARE_CONFIG_TRANSPORT] == self.POLL_SERVER_HEAT def transport_poll_temp_url(self): - return self.properties.get( - self.SOFTWARE_CONFIG_TRANSPORT) == self.POLL_TEMP_URL + return self.properties[ + self.SOFTWARE_CONFIG_TRANSPORT] == self.POLL_TEMP_URL def get_software_config(self, ud_content): try: @@ -621,10 +621,10 @@ class Server(stack_user.StackUser): return ud_content def handle_create(self): - security_groups = self.properties.get(self.SECURITY_GROUPS) + security_groups = self.properties[self.SECURITY_GROUPS] - user_data_format = self.properties.get(self.USER_DATA_FORMAT) - ud_content = self.properties.get(self.USER_DATA) + user_data_format = self.properties[self.USER_DATA_FORMAT] + ud_content = self.properties[self.USER_DATA] if self.user_data_software_config() or self.user_data_raw(): if uuidutils.is_uuid_like(ud_content): # attempt to load the userdata from software config @@ -652,18 +652,18 @@ class Server(stack_user.StackUser): flavor = self.properties[self.FLAVOR] availability_zone = self.properties[self.AVAILABILITY_ZONE] - image = self.properties.get(self.IMAGE) + image = self.properties[self.IMAGE] if image: image = self.client_plugin('glance').get_image_id(image) flavor_id = self.client_plugin().get_flavor_id(flavor) - instance_meta = self.properties.get(self.METADATA) + instance_meta = self.properties[self.METADATA] if instance_meta is not None: instance_meta = self.client_plugin().meta_serialize( instance_meta) - scheduler_hints = self.properties.get(self.SCHEDULER_HINTS) + scheduler_hints = self.properties[self.SCHEDULER_HINTS] if cfg.CONF.stack_scheduler_hints: if scheduler_hints is None: scheduler_hints = {} @@ -672,16 +672,16 @@ class Server(stack_user.StackUser): scheduler_hints['heat_stack_name'] = self.stack.name scheduler_hints['heat_path_in_stack'] = self.stack.path_in_stack() scheduler_hints['heat_resource_name'] = self.name - nics = self._build_nics(self.properties.get(self.NETWORKS)) + nics = self._build_nics(self.properties[self.NETWORKS]) block_device_mapping = self._build_block_device_mapping( - self.properties.get(self.BLOCK_DEVICE_MAPPING)) + self.properties[self.BLOCK_DEVICE_MAPPING]) block_device_mapping_v2 = self._build_block_device_mapping_v2( - self.properties.get(self.BLOCK_DEVICE_MAPPING_V2)) - reservation_id = self.properties.get(self.RESERVATION_ID) - disk_config = self.properties.get(self.DISK_CONFIG) - admin_pass = self.properties.get(self.ADMIN_PASS) or None - personality_files = self.properties.get(self.PERSONALITY) - key_name = self.properties.get(self.KEY_NAME) + self.properties[self.BLOCK_DEVICE_MAPPING_V2]) + reservation_id = self.properties[self.RESERVATION_ID] + disk_config = self.properties[self.DISK_CONFIG] + admin_pass = self.properties[self.ADMIN_PASS] or None + personality_files = self.properties[self.PERSONALITY] + key_name = self.properties[self.KEY_NAME] server = None try: @@ -912,7 +912,7 @@ class Server(stack_user.StackUser): # It is not known which subnet a server might be assigned # to so all subnets in a network should be created before # the servers in that network. - nets = self.properties.get(self.NETWORKS) + nets = self.properties[self.NETWORKS] if not nets: return for res in six.itervalues(self.stack): @@ -1002,7 +1002,7 @@ class Server(stack_user.StackUser): def _update_flavor(self, server, prop_diff): flavor_update_policy = ( prop_diff.get(self.FLAVOR_UPDATE_POLICY) or - self.properties.get(self.FLAVOR_UPDATE_POLICY)) + self.properties[self.FLAVOR_UPDATE_POLICY]) flavor = prop_diff[self.FLAVOR] if flavor_update_policy == 'REPLACE': @@ -1017,7 +1017,7 @@ class Server(stack_user.StackUser): def _update_image(self, server, prop_diff): image_update_policy = ( prop_diff.get(self.IMAGE_UPDATE_POLICY) or - self.properties.get(self.IMAGE_UPDATE_POLICY)) + self.properties[self.IMAGE_UPDATE_POLICY]) if image_update_policy == 'REPLACE': raise resource.UpdateReplace(self.name) image = prop_diff[self.IMAGE] @@ -1027,7 +1027,7 @@ class Server(stack_user.StackUser): preserve_ephemeral = ( image_update_policy == 'REBUILD_PRESERVE_EPHEMERAL') password = (prop_diff.get(self.ADMIN_PASS) or - self.properties.get(self.ADMIN_PASS)) + self.properties[self.ADMIN_PASS]) return scheduler.TaskRunner( self.client_plugin().rebuild, server, image_id, password=password, @@ -1040,7 +1040,7 @@ class Server(stack_user.StackUser): if not new_networks: new_networks = [] attach_first_free_port = True - old_networks = self.properties.get(self.NETWORKS) + old_networks = self.properties[self.NETWORKS] if not server: server = self.nova().servers.get(self.resource_id) @@ -1180,7 +1180,7 @@ class Server(stack_user.StackUser): # either volume_id or snapshot_id needs to be specified, but not both # for block device mapping. - bdm = self.properties.get(self.BLOCK_DEVICE_MAPPING) or [] + bdm = self.properties[self.BLOCK_DEVICE_MAPPING] or [] bootable_vol = False for mapping in bdm: device_name = mapping[self.BLOCK_DEVICE_MAPPING_DEVICE_NAME] @@ -1198,7 +1198,7 @@ class Server(stack_user.StackUser): ' device mapping %s') % device_name raise exception.StackValidationFailed(message=msg) - bdm_v2 = self.properties.get(self.BLOCK_DEVICE_MAPPING_V2) or [] + bdm_v2 = self.properties[self.BLOCK_DEVICE_MAPPING_V2] or [] if bdm and bdm_v2: raise exception.ResourcePropertyConflict( self.BLOCK_DEVICE_MAPPING, self.BLOCK_DEVICE_MAPPING_V2) @@ -1237,7 +1237,7 @@ class Server(stack_user.StackUser): bootable_vol = self._validate_block_device_mapping() # make sure the image exists if specified. - image = self.properties.get(self.IMAGE) + image = self.properties[self.IMAGE] if not image and not bootable_vol: msg = _('Neither image nor bootable volume is specified for' ' instance %s') % self.name @@ -1245,7 +1245,7 @@ class Server(stack_user.StackUser): # network properties 'uuid' and 'network' shouldn't be used # both at once for all networks - networks = self.properties.get(self.NETWORKS) or [] + networks = self.properties[self.NETWORKS] or [] # record if any networks include explicit ports networks_with_port = False for network in networks: @@ -1284,14 +1284,14 @@ class Server(stack_user.StackUser): server=self.name)) # retrieve provider's absolute limits if it will be needed - metadata = self.properties.get(self.METADATA) - personality = self.properties.get(self.PERSONALITY) + metadata = self.properties[self.METADATA] + personality = self.properties[self.PERSONALITY] if metadata is not None or personality: limits = self.client_plugin().absolute_limits() # if 'security_groups' present for the server and explict 'port' # in one or more entries in 'networks', raise validation error - if networks_with_port and self.properties.get(self.SECURITY_GROUPS): + if networks_with_port and self.properties[self.SECURITY_GROUPS]: raise exception.ResourcePropertyConflict( self.SECURITY_GROUPS, "/".join([self.NETWORKS, self.NETWORK_PORT])) diff --git a/heat/engine/resources/openstack/sahara/sahara_cluster.py b/heat/engine/resources/openstack/sahara/sahara_cluster.py index 5bb7b24012..5d28433412 100644 --- a/heat/engine/resources/openstack/sahara/sahara_cluster.py +++ b/heat/engine/resources/openstack/sahara/sahara_cluster.py @@ -122,7 +122,7 @@ class SaharaCluster(resource.Resource): raise exception.ResourcePropertyConflict(value, depr_value) def _cluster_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name return self.physical_resource_name() @@ -146,8 +146,8 @@ class SaharaCluster(resource.Resource): 'img': self.IMAGE, 'tmpl': cluster_template_id} raise exception.StackValidationFailed(message=msg) - key_name = self.properties.get(self.KEY_NAME) - net_id = self.properties.get(self.MANAGEMENT_NETWORK) + key_name = self.properties[self.KEY_NAME] + net_id = self.properties[self.MANAGEMENT_NETWORK] if net_id: if self.is_using_neutron(): net_id = self.client_plugin('neutron').find_neutron_resource( @@ -220,7 +220,7 @@ class SaharaCluster(resource.Resource): self._validate_depr_keys(self.properties, self.IMAGE_ID, self.IMAGE) # check if running on neutron and MANAGEMENT_NETWORK missing if (self.is_using_neutron() and - not self.properties.get(self.MANAGEMENT_NETWORK)): + not self.properties[self.MANAGEMENT_NETWORK]): msg = _("%s must be provided" ) % self.MANAGEMENT_NETWORK raise exception.StackValidationFailed(message=msg) diff --git a/heat/engine/resources/openstack/sahara/sahara_templates.py b/heat/engine/resources/openstack/sahara/sahara_templates.py index 1b01555452..acf7865400 100644 --- a/heat/engine/resources/openstack/sahara/sahara_templates.py +++ b/heat/engine/resources/openstack/sahara/sahara_templates.py @@ -160,7 +160,7 @@ class SaharaNodeGroupTemplate(resource.Resource): physical_resource_name_limit = 50 def _ngt_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name return self.physical_resource_name() @@ -172,10 +172,10 @@ class SaharaNodeGroupTemplate(resource.Resource): description = self.properties[self.DESCRIPTION] flavor_id = self.client_plugin("nova").get_flavor_id( self.properties[self.FLAVOR]) - volumes_per_node = self.properties.get(self.VOLUMES_PER_NODE) - volumes_size = self.properties.get(self.VOLUMES_SIZE) - volume_type = self.properties.get(self.VOLUME_TYPE) - floating_ip_pool = self.properties.get(self.FLOATING_IP_POOL) + volumes_per_node = self.properties[self.VOLUMES_PER_NODE] + volumes_size = self.properties[self.VOLUMES_SIZE] + volume_type = self.properties[self.VOLUME_TYPE] + floating_ip_pool = self.properties[self.FLOATING_IP_POOL] security_groups = self.properties[self.SECURITY_GROUPS] auto_security_group = self.properties[self.AUTO_SECURITY_GROUP] availability_zone = self.properties[self.AVAILABILITY_ZONE] @@ -185,7 +185,7 @@ class SaharaNodeGroupTemplate(resource.Resource): floating_ip_pool = self.client_plugin( 'neutron').find_neutron_resource( self.properties, self.FLOATING_IP_POOL, 'network') - node_configs = self.properties.get(self.NODE_CONFIGS) + node_configs = self.properties[self.NODE_CONFIGS] node_group_template = self.client().node_group_templates.create( self._ngt_name(), @@ -349,7 +349,7 @@ class SaharaClusterTemplate(resource.Resource): physical_resource_name_limit = 50 def _cluster_template_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name return self.physical_resource_name() @@ -357,9 +357,9 @@ class SaharaClusterTemplate(resource.Resource): def handle_create(self): plugin_name = self.properties[self.PLUGIN_NAME] hadoop_version = self.properties[self.HADOOP_VERSION] - description = self.properties.get(self.DESCRIPTION) - image_id = self.properties.get(self.IMAGE_ID) - net_id = self.properties.get(self.MANAGEMENT_NETWORK) + description = self.properties[self.DESCRIPTION] + image_id = self.properties[self.IMAGE_ID] + net_id = self.properties[self.MANAGEMENT_NETWORK] if net_id: if self.is_using_neutron(): net_id = self.client_plugin('neutron').find_neutron_resource( @@ -367,9 +367,9 @@ class SaharaClusterTemplate(resource.Resource): else: net_id = self.client_plugin('nova').get_nova_network_id( net_id) - anti_affinity = self.properties.get(self.ANTI_AFFINITY) - cluster_configs = self.properties.get(self.CLUSTER_CONFIGS) - node_groups = self.properties.get(self.NODE_GROUPS) + anti_affinity = self.properties[self.ANTI_AFFINITY] + cluster_configs = self.properties[self.CLUSTER_CONFIGS] + node_groups = self.properties[self.NODE_GROUPS] cluster_template = self.client().cluster_templates.create( self._cluster_template_name(), plugin_name, hadoop_version, @@ -402,7 +402,7 @@ class SaharaClusterTemplate(resource.Resource): return res # check if running on neutron and MANAGEMENT_NETWORK missing if (self.is_using_neutron() and - not self.properties.get(self.MANAGEMENT_NETWORK)): + not self.properties[self.MANAGEMENT_NETWORK]): msg = _("%s must be provided" ) % self.MANAGEMENT_NETWORK raise exception.StackValidationFailed(message=msg) diff --git a/heat/engine/resources/openstack/swift/swift.py b/heat/engine/resources/openstack/swift/swift.py index 0773385662..49156ac538 100644 --- a/heat/engine/resources/openstack/swift/swift.py +++ b/heat/engine/resources/openstack/swift/swift.py @@ -109,7 +109,7 @@ class SwiftContainer(resource.Resource): default_client_name = 'swift' def physical_resource_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name @@ -138,7 +138,7 @@ class SwiftContainer(resource.Resource): "account", self.properties[self.X_ACCOUNT_META]) for key in (self.X_CONTAINER_READ, self.X_CONTAINER_WRITE): - if self.properties.get(key) is not None: + if self.properties[key] is not None: container_headers[key] = self.properties[key] LOG.debug('SwiftContainer create container %(container)s with ' diff --git a/heat/engine/resources/openstack/trove/os_database.py b/heat/engine/resources/openstack/trove/os_database.py index 00063258d7..2c4ad2768e 100644 --- a/heat/engine/resources/openstack/trove/os_database.py +++ b/heat/engine/resources/openstack/trove/os_database.py @@ -273,7 +273,7 @@ class OSDBInstance(resource.Resource): return self._dbinstance def _dbinstance_name(self): - name = self.properties.get(self.NAME) + name = self.properties[self.NAME] if name: return name @@ -286,14 +286,14 @@ class OSDBInstance(resource.Resource): self.flavor = self.client_plugin().get_flavor_id( self.properties[self.FLAVOR]) self.volume = {'size': self.properties[self.SIZE]} - self.databases = self.properties.get(self.DATABASES) - self.users = self.properties.get(self.USERS) - restore_point = self.properties.get(self.RESTORE_POINT) + self.databases = self.properties[self.DATABASES] + self.users = self.properties[self.USERS] + restore_point = self.properties[self.RESTORE_POINT] if restore_point: restore_point = {"backupRef": restore_point} - zone = self.properties.get(self.AVAILABILITY_ZONE) - self.datastore_type = self.properties.get(self.DATASTORE_TYPE) - self.datastore_version = self.properties.get(self.DATASTORE_VERSION) + zone = self.properties[self.AVAILABILITY_ZONE] + self.datastore_type = self.properties[self.DATASTORE_TYPE] + self.datastore_version = self.properties[self.DATASTORE_VERSION] # convert user databases to format required for troveclient. # that is, list of database dictionaries @@ -303,7 +303,7 @@ class OSDBInstance(resource.Resource): # convert networks to format required by troveclient nics = [] - for nic in self.properties.get(self.NICS): + for nic in self.properties[self.NICS]: nic_dict = {} net = nic.get(self.NET) if net: @@ -430,17 +430,17 @@ class OSDBInstance(resource.Resource): if res: return res - datastore_type = self.properties.get(self.DATASTORE_TYPE) - datastore_version = self.properties.get(self.DATASTORE_VERSION) + datastore_type = self.properties[self.DATASTORE_TYPE] + datastore_version = self.properties[self.DATASTORE_VERSION] self.client_plugin().validate_datastore( datastore_type, datastore_version, self.DATASTORE_TYPE, self.DATASTORE_VERSION) # check validity of user and databases - users = self.properties.get(self.USERS) + users = self.properties[self.USERS] if users: - databases = self.properties.get(self.DATABASES) + databases = self.properties[self.DATABASES] if not databases: msg = _('Databases property is required if users property ' 'is provided for resource %s.') % self.name @@ -459,7 +459,7 @@ class OSDBInstance(resource.Resource): # check validity of NICS is_neutron = self.is_using_neutron() - nics = self.properties.get(self.NICS) + nics = self.properties[self.NICS] for nic in nics: if not is_neutron and nic.get(self.PORT): msg = _("Can not use %s property on Nova-network.") % self.PORT