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