Remove six and python 2.7 full support
Six is in use to help us to keep support for python 2.7. Since the ussuri cycle we decide to remove the python 2.7 support so we can go ahead and also remove six usage from the python code. Review process and help ----------------------- Removing six introduce a lot of changes and an huge amount of modified files To simplify reviews we decided to split changes into several patches to avoid painful reviews and avoid mistakes. To review this patch you can use the six documentation [1] to obtain help and understand choices. Additional informations ----------------------- Changes related to 'six.b(data)' [2] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ six.b [2] encode the given datas in latin-1 in python3 so I did the same things in this patch. Latin-1 is equal to iso-8859-1 [3]. This encoding is the default encoding [4] of certain descriptive HTTP headers. I suggest to keep latin-1 for the moment and to move to another encoding in a follow-up patch if needed to move to most powerful encoding (utf8). HTML4 support utf8 charset and utf8 is the default charset for HTML5 [5]. Note that this commit message is autogenerated and not necesserly contains changes related to 'six.b' [1] https://six.readthedocs.io/ [2] https://six.readthedocs.io/#six.b [3] https://docs.python.org/3/library/codecs.html#standard-encodings [4] https://www.w3schools.com/charsets/ref_html_8859.asp [5] https://www.w3schools.com/html/html_charset.asp Patch 7 of a serie of 28 patches Change-Id: I7c50cb96b2991dcf843ac99199b31fb3c8a899fa
This commit is contained in:
parent
8c0d58075b
commit
0de03fcdd3
@ -11,8 +11,6 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
|
|
||||||
@ -78,7 +76,7 @@ class PropertiesGroup(object):
|
|||||||
self.validate_schema(item)
|
self.validate_schema(item)
|
||||||
elif isinstance(item, list):
|
elif isinstance(item, list):
|
||||||
for name in item:
|
for name in item:
|
||||||
if not isinstance(name, six.string_types):
|
if not isinstance(name, str):
|
||||||
raise exception.InvalidSchemaError(message=next_msg)
|
raise exception.InvalidSchemaError(message=next_msg)
|
||||||
else:
|
else:
|
||||||
raise exception.InvalidSchemaError(message=next_msg)
|
raise exception.InvalidSchemaError(message=next_msg)
|
||||||
|
@ -23,7 +23,6 @@ from oslo_config import cfg
|
|||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_utils import excutils
|
from oslo_utils import excutils
|
||||||
from oslo_utils import reflection
|
from oslo_utils import reflection
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
@ -80,7 +79,7 @@ class NoActionRequired(Exception):
|
|||||||
msg = (_("The resource %(res)s could not perform "
|
msg = (_("The resource %(res)s could not perform "
|
||||||
"scaling action: %(reason)s") %
|
"scaling action: %(reason)s") %
|
||||||
{'res': res_name, 'reason': reason})
|
{'res': res_name, 'reason': reason})
|
||||||
super(Exception, self).__init__(six.text_type(msg))
|
super(Exception, self).__init__(str(msg))
|
||||||
|
|
||||||
|
|
||||||
class PollDelay(Exception):
|
class PollDelay(Exception):
|
||||||
@ -97,7 +96,6 @@ class PollDelay(Exception):
|
|||||||
self.period = period
|
self.period = period
|
||||||
|
|
||||||
|
|
||||||
@six.python_2_unicode_compatible
|
|
||||||
class Resource(status.ResourceStatus):
|
class Resource(status.ResourceStatus):
|
||||||
BASE_ATTRIBUTES = (SHOW, ) = (attributes.SHOW_ATTR, )
|
BASE_ATTRIBUTES = (SHOW, ) = (attributes.SHOW_ATTR, )
|
||||||
|
|
||||||
@ -190,7 +188,7 @@ class Resource(status.ResourceStatus):
|
|||||||
ex = exception.ResourceTypeUnavailable(
|
ex = exception.ResourceTypeUnavailable(
|
||||||
resource_type=resource_type,
|
resource_type=resource_type,
|
||||||
service_name=cls.default_client_name,
|
service_name=cls.default_client_name,
|
||||||
reason=six.text_type(exc))
|
reason=str(exc))
|
||||||
raise ex
|
raise ex
|
||||||
else:
|
else:
|
||||||
if not svc_available:
|
if not svc_available:
|
||||||
@ -198,7 +196,7 @@ class Resource(status.ResourceStatus):
|
|||||||
resource_type=resource_type,
|
resource_type=resource_type,
|
||||||
service_name=cls.default_client_name,
|
service_name=cls.default_client_name,
|
||||||
reason=reason)
|
reason=reason)
|
||||||
LOG.info(six.text_type(ex))
|
LOG.info(str(ex))
|
||||||
raise ex
|
raise ex
|
||||||
|
|
||||||
def __init__(self, name, definition, stack):
|
def __init__(self, name, definition, stack):
|
||||||
@ -453,7 +451,7 @@ class Resource(status.ResourceStatus):
|
|||||||
|
|
||||||
def calc_update_allowed(self, props):
|
def calc_update_allowed(self, props):
|
||||||
update_allowed_set = set(self.update_allowed_properties)
|
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():
|
if psv.update_allowed():
|
||||||
update_allowed_set.add(psk)
|
update_allowed_set.add(psk)
|
||||||
return update_allowed_set
|
return update_allowed_set
|
||||||
@ -517,7 +515,7 @@ class Resource(status.ResourceStatus):
|
|||||||
"not setting metadata",
|
"not setting metadata",
|
||||||
{'name': self.name, 'id': self.id, 'st': db_res.status})
|
{'name': self.name, 'id': self.id, 'st': db_res.status})
|
||||||
raise exception.ResourceNotAvailable(resource_name=self.name)
|
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:
|
if refresh:
|
||||||
metadata = merge_metadata(metadata, db_res.rsrc_metadata)
|
metadata = merge_metadata(metadata, db_res.rsrc_metadata)
|
||||||
if db_res.update_metadata(metadata):
|
if db_res.update_metadata(metadata):
|
||||||
@ -657,7 +655,7 @@ class Resource(status.ResourceStatus):
|
|||||||
"""
|
"""
|
||||||
update_allowed_set = self.calc_update_allowed(after_props)
|
update_allowed_set = self.calc_update_allowed(after_props)
|
||||||
immutable_set = set()
|
immutable_set = set()
|
||||||
for (psk, psv) in six.iteritems(after_props.props):
|
for (psk, psv) in after_props.props.items():
|
||||||
if psv.immutable():
|
if psv.immutable():
|
||||||
immutable_set.add(psk)
|
immutable_set.add(psk)
|
||||||
|
|
||||||
@ -672,7 +670,7 @@ class Resource(status.ResourceStatus):
|
|||||||
# already been validated.
|
# already been validated.
|
||||||
LOG.warning('Ignoring error in old property value '
|
LOG.warning('Ignoring error in old property value '
|
||||||
'%(prop_name)s: %(msg)s',
|
'%(prop_name)s: %(msg)s',
|
||||||
{'prop_name': key, 'msg': six.text_type(exc)})
|
{'prop_name': key, 'msg': str(exc)})
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return before != after_props.get(key)
|
return before != after_props.get(key)
|
||||||
@ -707,13 +705,13 @@ class Resource(status.ResourceStatus):
|
|||||||
if self.resource_id is not None:
|
if self.resource_id is not None:
|
||||||
text = '%s "%s" [%s] %s' % (class_name, self.name,
|
text = '%s "%s" [%s] %s' % (class_name, self.name,
|
||||||
self.resource_id,
|
self.resource_id,
|
||||||
six.text_type(self.stack))
|
str(self.stack))
|
||||||
else:
|
else:
|
||||||
text = '%s "%s" %s' % (class_name, self.name,
|
text = '%s "%s" %s' % (class_name, self.name,
|
||||||
six.text_type(self.stack))
|
str(self.stack))
|
||||||
else:
|
else:
|
||||||
text = '%s "%s"' % (class_name, self.name)
|
text = '%s "%s"' % (class_name, self.name)
|
||||||
return six.text_type(text)
|
return str(text)
|
||||||
|
|
||||||
def add_explicit_dependencies(self, deps):
|
def add_explicit_dependencies(self, deps):
|
||||||
"""Add all dependencies explicitly specified in the template.
|
"""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)
|
LOG.info('Update in progress for %s', self.name)
|
||||||
except expected_exceptions as ex:
|
except expected_exceptions as ex:
|
||||||
with excutils.save_and_reraise_exception():
|
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)
|
lock=lock_release)
|
||||||
LOG.debug('%s', six.text_type(ex))
|
LOG.debug('%s', str(ex))
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
LOG.info('%(action)s: %(info)s',
|
LOG.info('%(action)s: %(info)s',
|
||||||
{"action": action,
|
{"action": action,
|
||||||
"info": six.text_type(self)},
|
"info": str(self)},
|
||||||
exc_info=True)
|
exc_info=True)
|
||||||
failure = exception.ResourceFailure(ex, self, action)
|
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)
|
lock=lock_release)
|
||||||
raise failure
|
raise failure
|
||||||
except BaseException as exc:
|
except BaseException as exc:
|
||||||
with excutils.save_and_reraise_exception():
|
with excutils.save_and_reraise_exception():
|
||||||
try:
|
try:
|
||||||
reason = six.text_type(exc)
|
reason = str(exc)
|
||||||
msg = '%s aborted' % action
|
msg = '%s aborted' % action
|
||||||
if reason:
|
if reason:
|
||||||
msg += ' (%s)' % reason
|
msg += ' (%s)' % reason
|
||||||
@ -1107,7 +1105,7 @@ class Resource(status.ResourceStatus):
|
|||||||
"""
|
"""
|
||||||
def get_attrs(attrs, cacheable_only=False):
|
def get_attrs(attrs, cacheable_only=False):
|
||||||
for attr in attrs:
|
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
|
if (cacheable_only and
|
||||||
(self.attributes.get_cache_mode(path[0]) ==
|
(self.attributes.get_cache_mode(path[0]) ==
|
||||||
attributes.Schema.CACHE_NONE)):
|
attributes.Schema.CACHE_NONE)):
|
||||||
@ -1201,7 +1199,7 @@ class Resource(status.ResourceStatus):
|
|||||||
action = self.CREATE
|
action = self.CREATE
|
||||||
if (self.action, self.status) != (self.INIT, self.COMPLETE):
|
if (self.action, self.status) != (self.INIT, self.COMPLETE):
|
||||||
exc = exception.Error(_('State %s invalid for create')
|
exc = exception.Error(_('State %s invalid for create')
|
||||||
% six.text_type(self.state))
|
% str(self.state))
|
||||||
raise exception.ResourceFailure(exc, self, action)
|
raise exception.ResourceFailure(exc, self, action)
|
||||||
|
|
||||||
if self.external_id is not None:
|
if self.external_id is not None:
|
||||||
@ -1329,7 +1327,7 @@ class Resource(status.ResourceStatus):
|
|||||||
|
|
||||||
# save the resource data
|
# save the resource data
|
||||||
if data and isinstance(data, dict):
|
if data and isinstance(data, dict):
|
||||||
for key, value in six.iteritems(data):
|
for key, value in data.items():
|
||||||
self.data_set(key, value)
|
self.data_set(key, value)
|
||||||
|
|
||||||
# save the resource metadata
|
# save the resource metadata
|
||||||
@ -1417,7 +1415,7 @@ class Resource(status.ResourceStatus):
|
|||||||
if 'replace' in restricted_actions:
|
if 'replace' in restricted_actions:
|
||||||
ex = exception.ResourceActionRestricted(action='replace')
|
ex = exception.ResourceActionRestricted(action='replace')
|
||||||
failure = exception.ResourceFailure(ex, self, self.UPDATE)
|
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
|
raise failure
|
||||||
else:
|
else:
|
||||||
raise UpdateReplace(self.name)
|
raise UpdateReplace(self.name)
|
||||||
@ -1452,7 +1450,7 @@ class Resource(status.ResourceStatus):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
failure = exception.ResourceFailure(e, self, self.action)
|
failure = exception.ResourceFailure(e, self, self.action)
|
||||||
self.state_set(self.UPDATE, self.FAILED,
|
self.state_set(self.UPDATE, self.FAILED,
|
||||||
six.text_type(failure))
|
str(failure))
|
||||||
raise failure
|
raise failure
|
||||||
self.replaced_by = None
|
self.replaced_by = None
|
||||||
|
|
||||||
@ -1582,7 +1580,7 @@ class Resource(status.ResourceStatus):
|
|||||||
# if any exception happen, we should set the resource to
|
# if any exception happen, we should set the resource to
|
||||||
# FAILED, then raise ResourceFailure
|
# FAILED, then raise ResourceFailure
|
||||||
failure = exception.ResourceFailure(e, self, action)
|
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
|
raise failure
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -1659,7 +1657,7 @@ class Resource(status.ResourceStatus):
|
|||||||
self._prepare_update_replace(action)
|
self._prepare_update_replace(action)
|
||||||
except exception.ResourceActionRestricted as ae:
|
except exception.ResourceActionRestricted as ae:
|
||||||
failure = exception.ResourceFailure(ae, self, action)
|
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
|
raise failure
|
||||||
|
|
||||||
if not needs_update:
|
if not needs_update:
|
||||||
@ -1793,7 +1791,7 @@ class Resource(status.ResourceStatus):
|
|||||||
(self.action != self.SUSPEND and
|
(self.action != self.SUSPEND and
|
||||||
self.status != self.COMPLETE)):
|
self.status != self.COMPLETE)):
|
||||||
exc = exception.Error(_('State %s invalid for suspend')
|
exc = exception.Error(_('State %s invalid for suspend')
|
||||||
% six.text_type(self.state))
|
% str(self.state))
|
||||||
raise exception.ResourceFailure(exc, self, action)
|
raise exception.ResourceFailure(exc, self, action)
|
||||||
|
|
||||||
LOG.info('suspending %s', self)
|
LOG.info('suspending %s', self)
|
||||||
@ -1814,7 +1812,7 @@ class Resource(status.ResourceStatus):
|
|||||||
(self.RESUME, self.FAILED),
|
(self.RESUME, self.FAILED),
|
||||||
(self.RESUME, self.COMPLETE)):
|
(self.RESUME, self.COMPLETE)):
|
||||||
exc = exception.Error(_('State %s invalid for resume')
|
exc = exception.Error(_('State %s invalid for resume')
|
||||||
% six.text_type(self.state))
|
% str(self.state))
|
||||||
raise exception.ResourceFailure(exc, self, action)
|
raise exception.ResourceFailure(exc, self, action)
|
||||||
|
|
||||||
LOG.info('resuming %s', self)
|
LOG.info('resuming %s', self)
|
||||||
@ -2038,7 +2036,7 @@ class Resource(status.ResourceStatus):
|
|||||||
while True:
|
while True:
|
||||||
count += 1
|
count += 1
|
||||||
LOG.info('delete %(name)s attempt %(attempt)d' %
|
LOG.info('delete %(name)s attempt %(attempt)d' %
|
||||||
{'name': six.text_type(self), 'attempt': count+1})
|
{'name': str(self), 'attempt': count+1})
|
||||||
if count:
|
if count:
|
||||||
delay = timeutils.retry_backoff_delay(count,
|
delay = timeutils.retry_backoff_delay(count,
|
||||||
jitter_max=2.0)
|
jitter_max=2.0)
|
||||||
@ -2091,7 +2089,7 @@ class Resource(status.ResourceStatus):
|
|||||||
|
|
||||||
rs = {'action': self.action,
|
rs = {'action': self.action,
|
||||||
'status': self.status,
|
'status': self.status,
|
||||||
'status_reason': six.text_type(self.status_reason),
|
'status_reason': str(self.status_reason),
|
||||||
'stack_id': self.stack.id,
|
'stack_id': self.stack.id,
|
||||||
'physical_resource_id': self.resource_id,
|
'physical_resource_id': self.resource_id,
|
||||||
'name': self.name,
|
'name': self.name,
|
||||||
@ -2119,7 +2117,7 @@ class Resource(status.ResourceStatus):
|
|||||||
self.context, self.id, rs)
|
self.context, self.id, rs)
|
||||||
if lock != self.LOCK_NONE:
|
if lock != self.LOCK_NONE:
|
||||||
LOG.error('No calling_engine_id in store() %s',
|
LOG.error('No calling_engine_id in store() %s',
|
||||||
six.text_type(rs))
|
str(rs))
|
||||||
else:
|
else:
|
||||||
self._store_with_lock(rs, lock)
|
self._store_with_lock(rs, lock)
|
||||||
else:
|
else:
|
||||||
@ -2145,7 +2143,7 @@ class Resource(status.ResourceStatus):
|
|||||||
self._incr_atomic_key(self._atomic_key)
|
self._incr_atomic_key(self._atomic_key)
|
||||||
else:
|
else:
|
||||||
LOG.info('Resource %s is locked or does not exist',
|
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. '
|
LOG.debug('Resource id:%(resource_id)s locked or does not exist. '
|
||||||
'Expected atomic_key:%(atomic_key)s, '
|
'Expected atomic_key:%(atomic_key)s, '
|
||||||
'accessing from engine_id:%(engine_id)s',
|
'accessing from engine_id:%(engine_id)s',
|
||||||
@ -2370,9 +2368,9 @@ class Resource(status.ResourceStatus):
|
|||||||
logic specific to the resource implementation.
|
logic specific to the resource implementation.
|
||||||
"""
|
"""
|
||||||
if self.resource_id is not None:
|
if self.resource_id is not None:
|
||||||
return six.text_type(self.resource_id)
|
return str(self.resource_id)
|
||||||
else:
|
else:
|
||||||
return six.text_type(self.name)
|
return str(self.name)
|
||||||
|
|
||||||
def FnGetRefId(self):
|
def FnGetRefId(self):
|
||||||
"""For the intrinsic function Ref.
|
"""For the intrinsic function Ref.
|
||||||
@ -2384,7 +2382,7 @@ class Resource(status.ResourceStatus):
|
|||||||
def physical_resource_name_or_FnGetRefId(self):
|
def physical_resource_name_or_FnGetRefId(self):
|
||||||
res_name = self.physical_resource_name()
|
res_name = self.physical_resource_name()
|
||||||
if res_name is not None:
|
if res_name is not None:
|
||||||
return six.text_type(res_name)
|
return str(res_name)
|
||||||
else:
|
else:
|
||||||
return Resource.get_reference_id(self)
|
return Resource.get_reference_id(self)
|
||||||
|
|
||||||
@ -2438,13 +2436,13 @@ class Resource(status.ResourceStatus):
|
|||||||
hook = details['unset_hook']
|
hook = details['unset_hook']
|
||||||
if not environment.valid_hook_type(hook):
|
if not environment.valid_hook_type(hook):
|
||||||
msg = (_('Invalid hook type "%(hook)s" for %(resource)s') %
|
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)
|
raise exception.InvalidBreakPointHook(message=msg)
|
||||||
|
|
||||||
if not self.has_hook(hook):
|
if not self.has_hook(hook):
|
||||||
msg = (_('The "%(hook)s" hook is not defined '
|
msg = (_('The "%(hook)s" hook is not defined '
|
||||||
'on %(resource)s') %
|
'on %(resource)s') %
|
||||||
{'hook': hook, 'resource': six.text_type(self)})
|
{'hook': hook, 'resource': str(self)})
|
||||||
raise exception.InvalidBreakPointHook(message=msg)
|
raise exception.InvalidBreakPointHook(message=msg)
|
||||||
|
|
||||||
def _unset_hook(self, details):
|
def _unset_hook(self, details):
|
||||||
@ -2453,7 +2451,7 @@ class Resource(status.ResourceStatus):
|
|||||||
hook = details['unset_hook']
|
hook = details['unset_hook']
|
||||||
self.clear_hook(hook)
|
self.clear_hook(hook)
|
||||||
LOG.info('Clearing %(hook)s hook on %(resource)s',
|
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,
|
self._add_event(self.action, self.status,
|
||||||
"Hook %s is cleared" % hook)
|
"Hook %s is cleared" % hook)
|
||||||
|
|
||||||
@ -2464,7 +2462,7 @@ class Resource(status.ResourceStatus):
|
|||||||
def get_string_details():
|
def get_string_details():
|
||||||
if details is None:
|
if details is None:
|
||||||
return 'No signal details provided'
|
return 'No signal details provided'
|
||||||
if isinstance(details, six.string_types):
|
if isinstance(details, str):
|
||||||
return details
|
return details
|
||||||
if isinstance(details, dict):
|
if isinstance(details, dict):
|
||||||
if all(k in details for k in ('previous', 'current',
|
if all(k in details for k in ('previous', 'current',
|
||||||
@ -2490,8 +2488,8 @@ class Resource(status.ResourceStatus):
|
|||||||
# No spam required
|
# No spam required
|
||||||
return
|
return
|
||||||
LOG.info('signal %(name)s : %(msg)s',
|
LOG.info('signal %(name)s : %(msg)s',
|
||||||
{'name': six.text_type(self),
|
{'name': str(self),
|
||||||
'msg': six.text_type(ex)},
|
'msg': str(ex)},
|
||||||
exc_info=True)
|
exc_info=True)
|
||||||
failure = exception.ResourceFailure(ex, self)
|
failure = exception.ResourceFailure(ex, self)
|
||||||
raise failure
|
raise failure
|
||||||
|
@ -17,7 +17,7 @@ from heat.engine import properties
|
|||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine import support
|
from heat.engine import support
|
||||||
|
|
||||||
from six.moves.urllib import parse as urlparse
|
from urllib import parse
|
||||||
|
|
||||||
|
|
||||||
COMMON_PROPERTIES = (
|
COMMON_PROPERTIES = (
|
||||||
@ -231,7 +231,7 @@ class BaseAlarm(resource.Resource):
|
|||||||
|
|
||||||
for queue in kwargs.pop(queue_type, []):
|
for queue in kwargs.pop(queue_type, []):
|
||||||
query = {'queue_name': queue}
|
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))
|
action_props = {arg_types[0]: list(get_urls(*arg_types))
|
||||||
for arg_types in ((ALARM_ACTIONS, ALARM_QUEUES),
|
for arg_types in ((ALARM_ACTIONS, ALARM_QUEUES),
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_utils import excutils
|
from oslo_utils import excutils
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common import grouputils
|
from heat.common import grouputils
|
||||||
@ -327,7 +326,7 @@ class AutoScalingGroup(cooldown.CooldownMixin, instgrp.InstanceGroup):
|
|||||||
with excutils.save_and_reraise_exception():
|
with excutils.save_and_reraise_exception():
|
||||||
try:
|
try:
|
||||||
notif.update({'suffix': 'error',
|
notif.update({'suffix': 'error',
|
||||||
'message': six.text_type(resize_ex),
|
'message': str(resize_ex),
|
||||||
'capacity': grouputils.get_size(self),
|
'capacity': grouputils.get_size(self),
|
||||||
})
|
})
|
||||||
notification.send(**notif)
|
notification.send(**notif)
|
||||||
|
@ -11,9 +11,6 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
from heat.engine import constraints
|
from heat.engine import constraints
|
||||||
@ -200,7 +197,7 @@ class LaunchConfiguration(resource.Resource):
|
|||||||
for sg in server.security_groups]
|
for sg in server.security_groups]
|
||||||
}
|
}
|
||||||
lc_props = function.resolve(self.properties.data)
|
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,
|
# the properties which are specified in launch configuration,
|
||||||
# will override the attributes from the instance
|
# will override the attributes from the instance
|
||||||
lc_props.setdefault(key, value)
|
lc_props.setdefault(key, value)
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
from heat.engine import attributes
|
from heat.engine import attributes
|
||||||
@ -101,9 +99,9 @@ class AWSScalingPolicy(heat_sp.AutoScalingPolicy):
|
|||||||
|
|
||||||
def get_reference_id(self):
|
def get_reference_id(self):
|
||||||
if self.resource_id is not None:
|
if self.resource_id is not None:
|
||||||
return six.text_type(self._get_ec2_signed_url())
|
return str(self._get_ec2_signed_url())
|
||||||
else:
|
else:
|
||||||
return six.text_type(self.name)
|
return str(self.name)
|
||||||
|
|
||||||
|
|
||||||
def resource_mapping():
|
def resource_mapping():
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from requests import exceptions
|
from requests import exceptions
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
@ -95,7 +94,7 @@ class NestedStack(stack_resource.StackResource):
|
|||||||
def get_reference_id(self):
|
def get_reference_id(self):
|
||||||
identifier = self.nested_identifier()
|
identifier = self.nested_identifier()
|
||||||
if identifier is None:
|
if identifier is None:
|
||||||
return six.text_type(self.name)
|
return str(self.name)
|
||||||
|
|
||||||
return identifier.arn()
|
return identifier.arn()
|
||||||
|
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.engine.resources import signal_responder
|
from heat.engine.resources import signal_responder
|
||||||
from heat.engine.resources import wait_condition as wc_base
|
from heat.engine.resources import wait_condition as wc_base
|
||||||
from heat.engine import support
|
from heat.engine import support
|
||||||
@ -39,9 +37,9 @@ class WaitConditionHandle(wc_base.BaseWaitConditionHandle):
|
|||||||
def get_reference_id(self):
|
def get_reference_id(self):
|
||||||
if self.resource_id:
|
if self.resource_id:
|
||||||
wc = signal_responder.WAITCONDITION
|
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:
|
else:
|
||||||
return six.text_type(self.name)
|
return str(self.name)
|
||||||
|
|
||||||
def metadata_update(self, new_metadata=None):
|
def metadata_update(self, new_metadata=None):
|
||||||
"""DEPRECATED. Should use handle_signal instead."""
|
"""DEPRECATED. Should use handle_signal instead."""
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
from heat.common.i18n import _
|
||||||
@ -138,13 +137,13 @@ class ElasticIp(resource.Resource):
|
|||||||
def get_reference_id(self):
|
def get_reference_id(self):
|
||||||
eip = self._ipaddress()
|
eip = self._ipaddress()
|
||||||
if eip:
|
if eip:
|
||||||
return six.text_type(eip)
|
return str(eip)
|
||||||
else:
|
else:
|
||||||
return six.text_type(self.name)
|
return str(self.name)
|
||||||
|
|
||||||
def _resolve_attribute(self, name):
|
def _resolve_attribute(self, name):
|
||||||
if name == self.ALLOCATION_ID:
|
if name == self.ALLOCATION_ID:
|
||||||
return six.text_type(self.resource_id)
|
return str(self.resource_id)
|
||||||
|
|
||||||
|
|
||||||
class ElasticIpAssociation(resource.Resource):
|
class ElasticIpAssociation(resource.Resource):
|
||||||
|
@ -15,7 +15,6 @@ import copy
|
|||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
import six
|
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common.i18n import _
|
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',
|
LOG.info('%(name)s._resolve_attribute(%(attname)s) == %(res)s',
|
||||||
{'name': self.name, 'attname': name, 'res': res})
|
{'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):
|
def _port_data_delete(self):
|
||||||
# delete the port data which implicit-created
|
# delete the port data which implicit-created
|
||||||
@ -416,7 +415,7 @@ class Instance(resource.Resource, sh.SchedulerHintsMixin):
|
|||||||
unsorted_nics = []
|
unsorted_nics = []
|
||||||
for entry in network_interfaces:
|
for entry in network_interfaces:
|
||||||
nic = (entry
|
nic = (entry
|
||||||
if not isinstance(entry, six.string_types)
|
if not isinstance(entry, str)
|
||||||
else {'NetworkInterfaceId': entry,
|
else {'NetworkInterfaceId': entry,
|
||||||
'DeviceIndex': len(unsorted_nics)})
|
'DeviceIndex': len(unsorted_nics)})
|
||||||
unsorted_nics.append(nic)
|
unsorted_nics.append(nic)
|
||||||
@ -521,7 +520,7 @@ class Instance(resource.Resource, sh.SchedulerHintsMixin):
|
|||||||
hint = tm[self.NOVA_SCHEDULER_HINT_KEY]
|
hint = tm[self.NOVA_SCHEDULER_HINT_KEY]
|
||||||
hint_value = tm[self.NOVA_SCHEDULER_HINT_VALUE]
|
hint_value = tm[self.NOVA_SCHEDULER_HINT_VALUE]
|
||||||
if hint in scheduler_hints:
|
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] = [scheduler_hints[hint]]
|
||||||
scheduler_hints[hint].append(hint_value)
|
scheduler_hints[hint].append(hint_value)
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user