Merge "Replace self.properties.get on self.properties[]"
This commit is contained in:
commit
5b2d0fe1e0
heat/engine/resources/openstack
cinder
heat
cloud_config.pymulti_part.pyrandom_string.pysoftware_component.pysoftware_deployment.pystructured_config.py
neutron
nova
sahara
swift
trove
@ -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)
|
||||
@ -403,7 +403,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 '
|
||||
@ -470,11 +470,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)
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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'
|
||||
|
@ -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:
|
||||
|
@ -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)
|
||||
|
||||
|
@ -130,9 +130,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)
|
||||
|
||||
@ -181,9 +181,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)
|
||||
|
||||
@ -192,8 +192,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)
|
||||
|
||||
@ -222,11 +222,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': {
|
||||
@ -311,15 +311,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
|
||||
@ -337,7 +337,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': {
|
||||
|
@ -610,7 +610,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,
|
||||
|
@ -279,8 +279,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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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(
|
||||
|
@ -140,7 +140,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)
|
||||
|
||||
|
@ -246,9 +246,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.')
|
||||
|
@ -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():
|
||||
|
@ -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()
|
||||
|
@ -502,7 +502,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
|
||||
|
||||
@ -510,7 +510,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', [])
|
||||
@ -596,23 +596,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:
|
||||
@ -624,10 +624,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
|
||||
@ -655,18 +655,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 = {}
|
||||
@ -675,16 +675,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:
|
||||
@ -915,7 +915,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):
|
||||
@ -1005,7 +1005,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':
|
||||
@ -1020,7 +1020,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]
|
||||
@ -1030,7 +1030,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,
|
||||
@ -1043,7 +1043,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)
|
||||
@ -1183,7 +1183,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]
|
||||
@ -1201,7 +1201,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)
|
||||
@ -1240,7 +1240,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
|
||||
@ -1248,7 +1248,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:
|
||||
@ -1287,14 +1287,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]))
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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 '
|
||||
|
@ -276,7 +276,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
|
||||
|
||||
@ -289,14 +289,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
|
||||
@ -306,7 +306,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:
|
||||
@ -433,17 +433,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
|
||||
@ -462,7 +462,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
|
||||
|
Loading…
x
Reference in New Issue
Block a user