summaryrefslogtreecommitdiff
path: root/heat/engine
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-04-26 11:55:54 +0000
committerGerrit Code Review <review@openstack.org>2020-04-26 11:55:54 +0000
commit4e4d5bcf5054127938c77ff479cad922c00968c5 (patch)
treef50df416d10fc34080c570a1894e61e09bb94e4b /heat/engine
parente0b7b6116aba1a2204b5e3967c76644cfb8415ac (diff)
parent0de03fcdd307b1d30e9bfcc9c21e309c6aa2daf0 (diff)
downloadheat-4e4d5bcf5054127938c77ff479cad922c00968c5.tar.gz
Merge "Remove six and python 2.7 full support"
Diffstat (limited to 'heat/engine')
-rw-r--r--heat/engine/properties_group.py4
-rw-r--r--heat/engine/resource.py76
-rw-r--r--heat/engine/resources/alarm_base.py4
-rw-r--r--heat/engine/resources/aws/autoscaling/autoscaling_group.py3
-rw-r--r--heat/engine/resources/aws/autoscaling/launch_config.py5
-rw-r--r--heat/engine/resources/aws/autoscaling/scaling_policy.py6
-rw-r--r--heat/engine/resources/aws/cfn/stack.py3
-rw-r--r--heat/engine/resources/aws/cfn/wait_condition_handle.py6
-rw-r--r--heat/engine/resources/aws/ec2/eip.py7
-rw-r--r--heat/engine/resources/aws/ec2/instance.py7
10 files changed, 53 insertions, 68 deletions
diff --git a/heat/engine/properties_group.py b/heat/engine/properties_group.py
index 928b49959..bc73aef45 100644
--- a/heat/engine/properties_group.py
+++ b/heat/engine/properties_group.py
@@ -11,8 +11,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six
-
from heat.common import exception
from heat.common.i18n import _
@@ -78,7 +76,7 @@ class PropertiesGroup(object):
self.validate_schema(item)
elif isinstance(item, list):
for name in item:
- if not isinstance(name, six.string_types):
+ if not isinstance(name, str):
raise exception.InvalidSchemaError(message=next_msg)
else:
raise exception.InvalidSchemaError(message=next_msg)
diff --git a/heat/engine/resource.py b/heat/engine/resource.py
index a55584e19..31e9ca03a 100644
--- a/heat/engine/resource.py
+++ b/heat/engine/resource.py
@@ -23,7 +23,6 @@ from oslo_config import cfg
from oslo_log import log as logging
from oslo_utils import excutils
from oslo_utils import reflection
-import six
from heat.common import exception
from heat.common.i18n import _
@@ -80,7 +79,7 @@ class NoActionRequired(Exception):
msg = (_("The resource %(res)s could not perform "
"scaling action: %(reason)s") %
{'res': res_name, 'reason': reason})
- super(Exception, self).__init__(six.text_type(msg))
+ super(Exception, self).__init__(str(msg))
class PollDelay(Exception):
@@ -97,7 +96,6 @@ class PollDelay(Exception):
self.period = period
-@six.python_2_unicode_compatible
class Resource(status.ResourceStatus):
BASE_ATTRIBUTES = (SHOW, ) = (attributes.SHOW_ATTR, )
@@ -190,7 +188,7 @@ class Resource(status.ResourceStatus):
ex = exception.ResourceTypeUnavailable(
resource_type=resource_type,
service_name=cls.default_client_name,
- reason=six.text_type(exc))
+ reason=str(exc))
raise ex
else:
if not svc_available:
@@ -198,7 +196,7 @@ class Resource(status.ResourceStatus):
resource_type=resource_type,
service_name=cls.default_client_name,
reason=reason)
- LOG.info(six.text_type(ex))
+ LOG.info(str(ex))
raise ex
def __init__(self, name, definition, stack):
@@ -453,7 +451,7 @@ class Resource(status.ResourceStatus):
def calc_update_allowed(self, props):
update_allowed_set = set(self.update_allowed_properties)
- for (psk, psv) in six.iteritems(props.props):
+ for (psk, psv) in props.props.items():
if psv.update_allowed():
update_allowed_set.add(psk)
return update_allowed_set
@@ -517,7 +515,7 @@ class Resource(status.ResourceStatus):
"not setting metadata",
{'name': self.name, 'id': self.id, 'st': db_res.status})
raise exception.ResourceNotAvailable(resource_name=self.name)
- LOG.debug('Setting metadata for %s', six.text_type(self))
+ LOG.debug('Setting metadata for %s', str(self))
if refresh:
metadata = merge_metadata(metadata, db_res.rsrc_metadata)
if db_res.update_metadata(metadata):
@@ -657,7 +655,7 @@ class Resource(status.ResourceStatus):
"""
update_allowed_set = self.calc_update_allowed(after_props)
immutable_set = set()
- for (psk, psv) in six.iteritems(after_props.props):
+ for (psk, psv) in after_props.props.items():
if psv.immutable():
immutable_set.add(psk)
@@ -672,7 +670,7 @@ class Resource(status.ResourceStatus):
# already been validated.
LOG.warning('Ignoring error in old property value '
'%(prop_name)s: %(msg)s',
- {'prop_name': key, 'msg': six.text_type(exc)})
+ {'prop_name': key, 'msg': str(exc)})
return True
return before != after_props.get(key)
@@ -707,13 +705,13 @@ class Resource(status.ResourceStatus):
if self.resource_id is not None:
text = '%s "%s" [%s] %s' % (class_name, self.name,
self.resource_id,
- six.text_type(self.stack))
+ str(self.stack))
else:
text = '%s "%s" %s' % (class_name, self.name,
- six.text_type(self.stack))
+ str(self.stack))
else:
text = '%s "%s"' % (class_name, self.name)
- return six.text_type(text)
+ return str(text)
def add_explicit_dependencies(self, deps):
"""Add all dependencies explicitly specified in the template.
@@ -923,22 +921,22 @@ class Resource(status.ResourceStatus):
LOG.info('Update in progress for %s', self.name)
except expected_exceptions as ex:
with excutils.save_and_reraise_exception():
- self.state_set(action, self.COMPLETE, six.text_type(ex),
+ self.state_set(action, self.COMPLETE, str(ex),
lock=lock_release)
- LOG.debug('%s', six.text_type(ex))
+ LOG.debug('%s', str(ex))
except Exception as ex:
LOG.info('%(action)s: %(info)s',
{"action": action,
- "info": six.text_type(self)},
+ "info": str(self)},
exc_info=True)
failure = exception.ResourceFailure(ex, self, action)
- self.state_set(action, self.FAILED, six.text_type(failure),
+ self.state_set(action, self.FAILED, str(failure),
lock=lock_release)
raise failure
except BaseException as exc:
with excutils.save_and_reraise_exception():
try:
- reason = six.text_type(exc)
+ reason = str(exc)
msg = '%s aborted' % action
if reason:
msg += ' (%s)' % reason
@@ -1107,7 +1105,7 @@ class Resource(status.ResourceStatus):
"""
def get_attrs(attrs, cacheable_only=False):
for attr in attrs:
- path = (attr,) if isinstance(attr, six.string_types) else attr
+ path = (attr,) if isinstance(attr, str) else attr
if (cacheable_only and
(self.attributes.get_cache_mode(path[0]) ==
attributes.Schema.CACHE_NONE)):
@@ -1201,7 +1199,7 @@ class Resource(status.ResourceStatus):
action = self.CREATE
if (self.action, self.status) != (self.INIT, self.COMPLETE):
exc = exception.Error(_('State %s invalid for create')
- % six.text_type(self.state))
+ % str(self.state))
raise exception.ResourceFailure(exc, self, action)
if self.external_id is not None:
@@ -1329,7 +1327,7 @@ class Resource(status.ResourceStatus):
# save the resource data
if data and isinstance(data, dict):
- for key, value in six.iteritems(data):
+ for key, value in data.items():
self.data_set(key, value)
# save the resource metadata
@@ -1417,7 +1415,7 @@ class Resource(status.ResourceStatus):
if 'replace' in restricted_actions:
ex = exception.ResourceActionRestricted(action='replace')
failure = exception.ResourceFailure(ex, self, self.UPDATE)
- self._add_event(self.UPDATE, self.FAILED, six.text_type(ex))
+ self._add_event(self.UPDATE, self.FAILED, str(ex))
raise failure
else:
raise UpdateReplace(self.name)
@@ -1452,7 +1450,7 @@ class Resource(status.ResourceStatus):
except Exception as e:
failure = exception.ResourceFailure(e, self, self.action)
self.state_set(self.UPDATE, self.FAILED,
- six.text_type(failure))
+ str(failure))
raise failure
self.replaced_by = None
@@ -1582,7 +1580,7 @@ class Resource(status.ResourceStatus):
# if any exception happen, we should set the resource to
# FAILED, then raise ResourceFailure
failure = exception.ResourceFailure(e, self, action)
- self.state_set(action, self.FAILED, six.text_type(failure))
+ self.state_set(action, self.FAILED, str(failure))
raise failure
@classmethod
@@ -1659,7 +1657,7 @@ class Resource(status.ResourceStatus):
self._prepare_update_replace(action)
except exception.ResourceActionRestricted as ae:
failure = exception.ResourceFailure(ae, self, action)
- self._add_event(action, self.FAILED, six.text_type(ae))
+ self._add_event(action, self.FAILED, str(ae))
raise failure
if not needs_update:
@@ -1793,7 +1791,7 @@ class Resource(status.ResourceStatus):
(self.action != self.SUSPEND and
self.status != self.COMPLETE)):
exc = exception.Error(_('State %s invalid for suspend')
- % six.text_type(self.state))
+ % str(self.state))
raise exception.ResourceFailure(exc, self, action)
LOG.info('suspending %s', self)
@@ -1814,7 +1812,7 @@ class Resource(status.ResourceStatus):
(self.RESUME, self.FAILED),
(self.RESUME, self.COMPLETE)):
exc = exception.Error(_('State %s invalid for resume')
- % six.text_type(self.state))
+ % str(self.state))
raise exception.ResourceFailure(exc, self, action)
LOG.info('resuming %s', self)
@@ -2038,7 +2036,7 @@ class Resource(status.ResourceStatus):
while True:
count += 1
LOG.info('delete %(name)s attempt %(attempt)d' %
- {'name': six.text_type(self), 'attempt': count+1})
+ {'name': str(self), 'attempt': count+1})
if count:
delay = timeutils.retry_backoff_delay(count,
jitter_max=2.0)
@@ -2091,7 +2089,7 @@ class Resource(status.ResourceStatus):
rs = {'action': self.action,
'status': self.status,
- 'status_reason': six.text_type(self.status_reason),
+ 'status_reason': str(self.status_reason),
'stack_id': self.stack.id,
'physical_resource_id': self.resource_id,
'name': self.name,
@@ -2119,7 +2117,7 @@ class Resource(status.ResourceStatus):
self.context, self.id, rs)
if lock != self.LOCK_NONE:
LOG.error('No calling_engine_id in store() %s',
- six.text_type(rs))
+ str(rs))
else:
self._store_with_lock(rs, lock)
else:
@@ -2145,7 +2143,7 @@ class Resource(status.ResourceStatus):
self._incr_atomic_key(self._atomic_key)
else:
LOG.info('Resource %s is locked or does not exist',
- six.text_type(self))
+ str(self))
LOG.debug('Resource id:%(resource_id)s locked or does not exist. '
'Expected atomic_key:%(atomic_key)s, '
'accessing from engine_id:%(engine_id)s',
@@ -2370,9 +2368,9 @@ class Resource(status.ResourceStatus):
logic specific to the resource implementation.
"""
if self.resource_id is not None:
- return six.text_type(self.resource_id)
+ return str(self.resource_id)
else:
- return six.text_type(self.name)
+ return str(self.name)
def FnGetRefId(self):
"""For the intrinsic function Ref.
@@ -2384,7 +2382,7 @@ class Resource(status.ResourceStatus):
def physical_resource_name_or_FnGetRefId(self):
res_name = self.physical_resource_name()
if res_name is not None:
- return six.text_type(res_name)
+ return str(res_name)
else:
return Resource.get_reference_id(self)
@@ -2438,13 +2436,13 @@ class Resource(status.ResourceStatus):
hook = details['unset_hook']
if not environment.valid_hook_type(hook):
msg = (_('Invalid hook type "%(hook)s" for %(resource)s') %
- {'hook': hook, 'resource': six.text_type(self)})
+ {'hook': hook, 'resource': str(self)})
raise exception.InvalidBreakPointHook(message=msg)
if not self.has_hook(hook):
msg = (_('The "%(hook)s" hook is not defined '
'on %(resource)s') %
- {'hook': hook, 'resource': six.text_type(self)})
+ {'hook': hook, 'resource': str(self)})
raise exception.InvalidBreakPointHook(message=msg)
def _unset_hook(self, details):
@@ -2453,7 +2451,7 @@ class Resource(status.ResourceStatus):
hook = details['unset_hook']
self.clear_hook(hook)
LOG.info('Clearing %(hook)s hook on %(resource)s',
- {'hook': hook, 'resource': six.text_type(self)})
+ {'hook': hook, 'resource': str(self)})
self._add_event(self.action, self.status,
"Hook %s is cleared" % hook)
@@ -2464,7 +2462,7 @@ class Resource(status.ResourceStatus):
def get_string_details():
if details is None:
return 'No signal details provided'
- if isinstance(details, six.string_types):
+ if isinstance(details, str):
return details
if isinstance(details, dict):
if all(k in details for k in ('previous', 'current',
@@ -2490,8 +2488,8 @@ class Resource(status.ResourceStatus):
# No spam required
return
LOG.info('signal %(name)s : %(msg)s',
- {'name': six.text_type(self),
- 'msg': six.text_type(ex)},
+ {'name': str(self),
+ 'msg': str(ex)},
exc_info=True)
failure = exception.ResourceFailure(ex, self)
raise failure
diff --git a/heat/engine/resources/alarm_base.py b/heat/engine/resources/alarm_base.py
index ab32f4f5f..81700f5a0 100644
--- a/heat/engine/resources/alarm_base.py
+++ b/heat/engine/resources/alarm_base.py
@@ -17,7 +17,7 @@ from heat.engine import properties
from heat.engine import resource
from heat.engine import support
-from six.moves.urllib import parse as urlparse
+from urllib import parse
COMMON_PROPERTIES = (
@@ -231,7 +231,7 @@ class BaseAlarm(resource.Resource):
for queue in kwargs.pop(queue_type, []):
query = {'queue_name': queue}
- yield 'trust+zaqar://?%s' % urlparse.urlencode(query)
+ yield 'trust+zaqar://?%s' % parse.urlencode(query)
action_props = {arg_types[0]: list(get_urls(*arg_types))
for arg_types in ((ALARM_ACTIONS, ALARM_QUEUES),
diff --git a/heat/engine/resources/aws/autoscaling/autoscaling_group.py b/heat/engine/resources/aws/autoscaling/autoscaling_group.py
index 481cca7cd..af3891e13 100644
--- a/heat/engine/resources/aws/autoscaling/autoscaling_group.py
+++ b/heat/engine/resources/aws/autoscaling/autoscaling_group.py
@@ -13,7 +13,6 @@
from oslo_log import log as logging
from oslo_utils import excutils
-import six
from heat.common import exception
from heat.common import grouputils
@@ -327,7 +326,7 @@ class AutoScalingGroup(cooldown.CooldownMixin, instgrp.InstanceGroup):
with excutils.save_and_reraise_exception():
try:
notif.update({'suffix': 'error',
- 'message': six.text_type(resize_ex),
+ 'message': str(resize_ex),
'capacity': grouputils.get_size(self),
})
notification.send(**notif)
diff --git a/heat/engine/resources/aws/autoscaling/launch_config.py b/heat/engine/resources/aws/autoscaling/launch_config.py
index c28d9f859..8dd6a2b2d 100644
--- a/heat/engine/resources/aws/autoscaling/launch_config.py
+++ b/heat/engine/resources/aws/autoscaling/launch_config.py
@@ -11,9 +11,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-
-import six
-
from heat.common import exception
from heat.common.i18n import _
from heat.engine import constraints
@@ -200,7 +197,7 @@ class LaunchConfiguration(resource.Resource):
for sg in server.security_groups]
}
lc_props = function.resolve(self.properties.data)
- for key, value in six.iteritems(instance_props):
+ for key, value in instance_props.items():
# the properties which are specified in launch configuration,
# will override the attributes from the instance
lc_props.setdefault(key, value)
diff --git a/heat/engine/resources/aws/autoscaling/scaling_policy.py b/heat/engine/resources/aws/autoscaling/scaling_policy.py
index b00d4b15b..b87890dfd 100644
--- a/heat/engine/resources/aws/autoscaling/scaling_policy.py
+++ b/heat/engine/resources/aws/autoscaling/scaling_policy.py
@@ -11,8 +11,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six
-
from heat.common import exception
from heat.common.i18n import _
from heat.engine import attributes
@@ -101,9 +99,9 @@ class AWSScalingPolicy(heat_sp.AutoScalingPolicy):
def get_reference_id(self):
if self.resource_id is not None:
- return six.text_type(self._get_ec2_signed_url())
+ return str(self._get_ec2_signed_url())
else:
- return six.text_type(self.name)
+ return str(self.name)
def resource_mapping():
diff --git a/heat/engine/resources/aws/cfn/stack.py b/heat/engine/resources/aws/cfn/stack.py
index dd8aa3511..1dd77b3a3 100644
--- a/heat/engine/resources/aws/cfn/stack.py
+++ b/heat/engine/resources/aws/cfn/stack.py
@@ -12,7 +12,6 @@
# under the License.
from requests import exceptions
-import six
from heat.common import exception
from heat.common.i18n import _
@@ -95,7 +94,7 @@ class NestedStack(stack_resource.StackResource):
def get_reference_id(self):
identifier = self.nested_identifier()
if identifier is None:
- return six.text_type(self.name)
+ return str(self.name)
return identifier.arn()
diff --git a/heat/engine/resources/aws/cfn/wait_condition_handle.py b/heat/engine/resources/aws/cfn/wait_condition_handle.py
index 92ff0addb..6d665dad2 100644
--- a/heat/engine/resources/aws/cfn/wait_condition_handle.py
+++ b/heat/engine/resources/aws/cfn/wait_condition_handle.py
@@ -11,8 +11,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import six
-
from heat.engine.resources import signal_responder
from heat.engine.resources import wait_condition as wc_base
from heat.engine import support
@@ -39,9 +37,9 @@ class WaitConditionHandle(wc_base.BaseWaitConditionHandle):
def get_reference_id(self):
if self.resource_id:
wc = signal_responder.WAITCONDITION
- return six.text_type(self._get_ec2_signed_url(signal_type=wc))
+ return str(self._get_ec2_signed_url(signal_type=wc))
else:
- return six.text_type(self.name)
+ return str(self.name)
def metadata_update(self, new_metadata=None):
"""DEPRECATED. Should use handle_signal instead."""
diff --git a/heat/engine/resources/aws/ec2/eip.py b/heat/engine/resources/aws/ec2/eip.py
index f343c6e61..a6b0340af 100644
--- a/heat/engine/resources/aws/ec2/eip.py
+++ b/heat/engine/resources/aws/ec2/eip.py
@@ -12,7 +12,6 @@
# under the License.
from oslo_log import log as logging
-import six
from heat.common import exception
from heat.common.i18n import _
@@ -138,13 +137,13 @@ class ElasticIp(resource.Resource):
def get_reference_id(self):
eip = self._ipaddress()
if eip:
- return six.text_type(eip)
+ return str(eip)
else:
- return six.text_type(self.name)
+ return str(self.name)
def _resolve_attribute(self, name):
if name == self.ALLOCATION_ID:
- return six.text_type(self.resource_id)
+ return str(self.resource_id)
class ElasticIpAssociation(resource.Resource):
diff --git a/heat/engine/resources/aws/ec2/instance.py b/heat/engine/resources/aws/ec2/instance.py
index 93986a7e2..a829dec05 100644
--- a/heat/engine/resources/aws/ec2/instance.py
+++ b/heat/engine/resources/aws/ec2/instance.py
@@ -15,7 +15,6 @@ import copy
from oslo_config import cfg
from oslo_log import log as logging
-import six
from heat.common import exception
from heat.common.i18n import _
@@ -397,7 +396,7 @@ class Instance(resource.Resource, sh.SchedulerHintsMixin):
LOG.info('%(name)s._resolve_attribute(%(attname)s) == %(res)s',
{'name': self.name, 'attname': name, 'res': res})
- return six.text_type(res) if res else None
+ return str(res) if res else None
def _port_data_delete(self):
# delete the port data which implicit-created
@@ -416,7 +415,7 @@ class Instance(resource.Resource, sh.SchedulerHintsMixin):
unsorted_nics = []
for entry in network_interfaces:
nic = (entry
- if not isinstance(entry, six.string_types)
+ if not isinstance(entry, str)
else {'NetworkInterfaceId': entry,
'DeviceIndex': len(unsorted_nics)})
unsorted_nics.append(nic)
@@ -521,7 +520,7 @@ class Instance(resource.Resource, sh.SchedulerHintsMixin):
hint = tm[self.NOVA_SCHEDULER_HINT_KEY]
hint_value = tm[self.NOVA_SCHEDULER_HINT_VALUE]
if hint in scheduler_hints:
- if isinstance(scheduler_hints[hint], six.string_types):
+ if isinstance(scheduler_hints[hint], str):
scheduler_hints[hint] = [scheduler_hints[hint]]
scheduler_hints[hint].append(hint_value)
else: