Edit backslashes for lines continuation
It is preferred to wrap long lines in parentheses and not a backslash for line continuation due to OpenStack Style Guidelines http://docs.openstack.org/developer/hacking/#general, paragraph 2 Change-Id: Ibfc1022f8e4704fe2040e63bb87322404cea35a4
This commit is contained in:
parent
bf20657824
commit
1f6ccf85e3
@ -1447,8 +1447,8 @@ class LoadBalancerTest(common.HeatTestCase):
|
|||||||
'intermediateCertificate': '', 'secureTrafficOnly': False}
|
'intermediateCertificate': '', 'secureTrafficOnly': False}
|
||||||
ssl_termination_api = copy.deepcopy(ssl_termination_template)
|
ssl_termination_api = copy.deepcopy(ssl_termination_template)
|
||||||
lb_name = list(six.iterkeys(template['Resources']))[0]
|
lb_name = list(six.iterkeys(template['Resources']))[0]
|
||||||
template['Resources'][lb_name]['Properties']['sslTermination'] = \
|
template['Resources'][lb_name]['Properties']['sslTermination'] = (
|
||||||
ssl_termination_template
|
ssl_termination_template)
|
||||||
# The SSL termination config is done post-creation, so no need
|
# The SSL termination config is done post-creation, so no need
|
||||||
# to modify self.expected_body
|
# to modify self.expected_body
|
||||||
rsrc, fake_lb = self._mock_loadbalancer(template,
|
rsrc, fake_lb = self._mock_loadbalancer(template,
|
||||||
|
@ -857,8 +857,8 @@ class Resource(object):
|
|||||||
if self.status == self.FAILED:
|
if self.status == self.FAILED:
|
||||||
raise exception.UpdateReplace(self)
|
raise exception.UpdateReplace(self)
|
||||||
|
|
||||||
if check_init_complete and \
|
if check_init_complete and (self.action == self.INIT
|
||||||
(self.action == self.INIT and self.status == self.COMPLETE):
|
and self.status == self.COMPLETE):
|
||||||
raise exception.UpdateReplace(self)
|
raise exception.UpdateReplace(self)
|
||||||
|
|
||||||
if prev_resource is not None:
|
if prev_resource is not None:
|
||||||
@ -897,9 +897,9 @@ class Resource(object):
|
|||||||
with self.lock(engine_id):
|
with self.lock(engine_id):
|
||||||
new_temp = template.Template.load(self.context, template_id)
|
new_temp = template.Template.load(self.context, template_id)
|
||||||
new_res_def = new_temp.resource_definitions(new_stack)[self.name]
|
new_res_def = new_temp.resource_definitions(new_stack)[self.name]
|
||||||
if self.stack.action == self.stack.ROLLBACK and \
|
action_rollback = self.stack.action == self.stack.ROLLBACK
|
||||||
self.stack.status == self.stack.IN_PROGRESS \
|
status_in_progress = self.stack.status == self.stack.IN_PROGRESS
|
||||||
and self.replaced_by:
|
if action_rollback and status_in_progress and self.replaced_by:
|
||||||
self.restore_prev_rsrc(convergence=True)
|
self.restore_prev_rsrc(convergence=True)
|
||||||
runner = scheduler.TaskRunner(self.update, new_res_def)
|
runner = scheduler.TaskRunner(self.update, new_res_def)
|
||||||
try:
|
try:
|
||||||
@ -1314,9 +1314,9 @@ class Resource(object):
|
|||||||
def _store(self, metadata=None):
|
def _store(self, metadata=None):
|
||||||
"""Create the resource in the database."""
|
"""Create the resource in the database."""
|
||||||
|
|
||||||
properties_data_encrypted, properties_data = \
|
properties_data_encrypted, properties_data = (
|
||||||
resource_objects.Resource.encrypt_properties_data(
|
resource_objects.Resource.encrypt_properties_data(
|
||||||
self._stored_properties_data)
|
self._stored_properties_data))
|
||||||
if not self.root_stack_id:
|
if not self.root_stack_id:
|
||||||
self.root_stack_id = self.stack.root_stack_id()
|
self.root_stack_id = self.stack.root_stack_id()
|
||||||
try:
|
try:
|
||||||
@ -1360,9 +1360,9 @@ class Resource(object):
|
|||||||
self.status = status
|
self.status = status
|
||||||
self.status_reason = reason
|
self.status_reason = reason
|
||||||
|
|
||||||
properties_data_encrypted, properties_data = \
|
properties_data_encrypted, properties_data = (
|
||||||
resource_objects.Resource.encrypt_properties_data(
|
resource_objects.Resource.encrypt_properties_data(
|
||||||
self._stored_properties_data)
|
self._stored_properties_data))
|
||||||
data = {
|
data = {
|
||||||
'action': self.action,
|
'action': self.action,
|
||||||
'status': self.status,
|
'status': self.status,
|
||||||
|
@ -120,8 +120,8 @@ class ResourceChain(stack_resource.StackResource):
|
|||||||
# nested_stack.strict_validate = False
|
# nested_stack.strict_validate = False
|
||||||
nested_stack.validate()
|
nested_stack.validate()
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
msg = _('Failed to validate nested template: %s') % \
|
msg = (_('Failed to validate nested template: %s')
|
||||||
six.text_type(ex)
|
% six.text_type(ex))
|
||||||
raise exception.StackValidationFailed(message=msg)
|
raise exception.StackValidationFailed(message=msg)
|
||||||
|
|
||||||
def handle_create(self):
|
def handle_create(self):
|
||||||
|
@ -495,8 +495,8 @@ class Port(neutron.NeutronResource):
|
|||||||
def restore_prev_rsrc(self, convergence=False):
|
def restore_prev_rsrc(self, convergence=False):
|
||||||
# In case of convergence, during rollback, the previous rsrc is
|
# In case of convergence, during rollback, the previous rsrc is
|
||||||
# already selected and is being acted upon.
|
# already selected and is being acted upon.
|
||||||
prev_port = self if convergence else \
|
bakup_resources = self.stack._backup_stack().resources
|
||||||
self.stack._backup_stack().resources.get(self.name)
|
prev_port = self if convergence else bakup_resources.get(self.name)
|
||||||
fixed_ips = prev_port.data().get('port_fip', [])
|
fixed_ips = prev_port.data().get('port_fip', [])
|
||||||
|
|
||||||
props = {'fixed_ips': []}
|
props = {'fixed_ips': []}
|
||||||
|
@ -136,8 +136,8 @@ class ServerNetworkMixin(object):
|
|||||||
is None):
|
is None):
|
||||||
del pair[
|
del pair[
|
||||||
neutron_port.Port.ALLOWED_ADDRESS_PAIR_MAC_ADDRESS]
|
neutron_port.Port.ALLOWED_ADDRESS_PAIR_MAC_ADDRESS]
|
||||||
kwargs[neutron_port.Port.ALLOWED_ADDRESS_PAIRS] = \
|
port_address_pairs = neutron_port.Port.ALLOWED_ADDRESS_PAIRS
|
||||||
allowed_address_pairs
|
kwargs[port_address_pairs] = allowed_address_pairs
|
||||||
|
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
@ -393,8 +393,8 @@ class ServerNetworkMixin(object):
|
|||||||
|
|
||||||
# In case of convergence, during rollback, the previous rsrc is
|
# In case of convergence, during rollback, the previous rsrc is
|
||||||
# already selected and is being acted upon.
|
# already selected and is being acted upon.
|
||||||
prev_server = self if convergence else \
|
backup_res = self.stack._backup_stack().resources.get(self.name)
|
||||||
self.stack._backup_stack().resources.get(self.name)
|
prev_server = self if convergence else backup_res
|
||||||
|
|
||||||
if convergence:
|
if convergence:
|
||||||
rsrc, rsrc_owning_stack, stack = resource.Resource.load(
|
rsrc, rsrc_owning_stack, stack = resource.Resource.load(
|
||||||
|
@ -31,12 +31,11 @@ class SchedulerHintsMixin(object):
|
|||||||
if cfg.CONF.stack_scheduler_hints:
|
if cfg.CONF.stack_scheduler_hints:
|
||||||
if scheduler_hints is None:
|
if scheduler_hints is None:
|
||||||
scheduler_hints = {}
|
scheduler_hints = {}
|
||||||
scheduler_hints[self.HEAT_ROOT_STACK_ID] = \
|
stack = self.stack
|
||||||
self.stack.root_stack_id()
|
scheduler_hints[self.HEAT_ROOT_STACK_ID] = stack.root_stack_id()
|
||||||
scheduler_hints[self.HEAT_STACK_ID] = self.stack.id
|
scheduler_hints[self.HEAT_STACK_ID] = stack.id
|
||||||
scheduler_hints[self.HEAT_STACK_NAME] = self.stack.name
|
scheduler_hints[self.HEAT_STACK_NAME] = stack.name
|
||||||
scheduler_hints[self.HEAT_PATH_IN_STACK] = \
|
scheduler_hints[self.HEAT_PATH_IN_STACK] = stack.path_in_stack()
|
||||||
self.stack.path_in_stack()
|
|
||||||
scheduler_hints[self.HEAT_RESOURCE_NAME] = self.name
|
scheduler_hints[self.HEAT_RESOURCE_NAME] = self.name
|
||||||
scheduler_hints[self.HEAT_RESOURCE_UUID] = self.uuid
|
scheduler_hints[self.HEAT_RESOURCE_UUID] = self.uuid
|
||||||
return scheduler_hints
|
return scheduler_hints
|
||||||
|
@ -19,8 +19,8 @@ import mox
|
|||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
from heat.engine.clients.os import ceilometer
|
from heat.engine.clients.os import ceilometer
|
||||||
from heat.engine.resources.openstack.ceilometer.gnocchi import \
|
from heat.engine.resources.openstack.ceilometer.gnocchi import (
|
||||||
alarm as gnocchi
|
alarm as gnocchi)
|
||||||
from heat.engine import scheduler
|
from heat.engine import scheduler
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
@ -52,8 +52,8 @@ class CinderEncryptedVolumeTypeTest(common.HeatTestCase):
|
|||||||
self.cinderclient = mock.MagicMock()
|
self.cinderclient = mock.MagicMock()
|
||||||
self.my_encrypted_vol_type.client = cinder
|
self.my_encrypted_vol_type.client = cinder
|
||||||
cinder.return_value = self.cinderclient
|
cinder.return_value = self.cinderclient
|
||||||
self.volume_encryption_types = \
|
self.volume_encryption_types = (
|
||||||
self.cinderclient.volume_encryption_types
|
self.cinderclient.volume_encryption_types)
|
||||||
|
|
||||||
def test_resource_mapping(self):
|
def test_resource_mapping(self):
|
||||||
mapping = encrypted_volume_type.resource_mapping()
|
mapping = encrypted_volume_type.resource_mapping()
|
||||||
|
@ -132,8 +132,8 @@ class ResourceChainTests(common.HeatTestCase):
|
|||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
tmpl_def = copy.deepcopy(TEMPLATE)
|
tmpl_def = copy.deepcopy(TEMPLATE)
|
||||||
res_list = \
|
tmpl_res_prop = tmpl_def['resources']['test-chain']['properties']
|
||||||
tmpl_def['resources']['test-chain']['properties']['resources']
|
res_list = tmpl_res_prop['resources']
|
||||||
res_list.append('OS::Heat::RandomString')
|
res_list.append('OS::Heat::RandomString')
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
@ -148,8 +148,8 @@ class ResourceChainTests(common.HeatTestCase):
|
|||||||
def test_validate_fake_resource_type(self):
|
def test_validate_fake_resource_type(self):
|
||||||
# Setup
|
# Setup
|
||||||
tmpl_def = copy.deepcopy(TEMPLATE)
|
tmpl_def = copy.deepcopy(TEMPLATE)
|
||||||
res_list = \
|
tmpl_res_prop = tmpl_def['resources']['test-chain']['properties']
|
||||||
tmpl_def['resources']['test-chain']['properties']['resources']
|
res_list = tmpl_res_prop['resources']
|
||||||
res_list.append('foo')
|
res_list.append('foo')
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
|
@ -347,8 +347,8 @@ class ResourceGroupTest(common.HeatTestCase):
|
|||||||
}
|
}
|
||||||
nested = resg._assemble_nested(['0', '1', '2']).t
|
nested = resg._assemble_nested(['0', '1', '2']).t
|
||||||
for res in nested['resources']:
|
for res in nested['resources']:
|
||||||
nested['resources'][res]['properties']['listprop'] = \
|
res_prop = nested['resources'][res]['properties']
|
||||||
list(nested['resources'][res]['properties']['listprop'])
|
res_prop['listprop'] = list(res_prop['listprop'])
|
||||||
self.assertEqual(expect, nested)
|
self.assertEqual(expect, nested)
|
||||||
|
|
||||||
def test_custom_index_var(self):
|
def test_custom_index_var(self):
|
||||||
@ -372,8 +372,8 @@ class ResourceGroupTest(common.HeatTestCase):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
nested = resg._assemble_nested(['0']).t
|
nested = resg._assemble_nested(['0']).t
|
||||||
nested['resources']['0']['properties']['listprop'] = \
|
res_prop = nested['resources']['0']['properties']
|
||||||
list(nested['resources']['0']['properties']['listprop'])
|
res_prop['listprop'] = list(res_prop['listprop'])
|
||||||
self.assertEqual(expect, nested)
|
self.assertEqual(expect, nested)
|
||||||
|
|
||||||
res_def = snip['Properties']['resource_def']
|
res_def = snip['Properties']['resource_def']
|
||||||
@ -397,8 +397,8 @@ class ResourceGroupTest(common.HeatTestCase):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
nested = resg._assemble_nested(['0']).t
|
nested = resg._assemble_nested(['0']).t
|
||||||
nested['resources']['0']['properties']['listprop'] = \
|
res_prop = nested['resources']['0']['properties']
|
||||||
list(nested['resources']['0']['properties']['listprop'])
|
res_prop['listprop'] = list(res_prop['listprop'])
|
||||||
self.assertEqual(expect, nested)
|
self.assertEqual(expect, nested)
|
||||||
|
|
||||||
def test_assemble_no_properties(self):
|
def test_assemble_no_properties(self):
|
||||||
|
@ -411,8 +411,8 @@ class TestMistralWorkflow(common.HeatTestCase):
|
|||||||
|
|
||||||
def test_attributes(self):
|
def test_attributes(self):
|
||||||
wf = self._create_resource('workflow', self.rsrc_defn, self.stack)
|
wf = self._create_resource('workflow', self.rsrc_defn, self.stack)
|
||||||
self.mistral.workflows.get.return_value = \
|
self.mistral.workflows.get.return_value = (
|
||||||
FakeWorkflow('test_stack-workflow-b5fiekfci3yc')
|
FakeWorkflow('test_stack-workflow-b5fiekfci3yc'))
|
||||||
self.assertEqual({'name': 'test_stack-workflow-b5fiekfci3yc',
|
self.assertEqual({'name': 'test_stack-workflow-b5fiekfci3yc',
|
||||||
'input': None}, wf.FnGetAtt('data'))
|
'input': None}, wf.FnGetAtt('data'))
|
||||||
self.assertEqual([], wf.FnGetAtt('executions'))
|
self.assertEqual([], wf.FnGetAtt('executions'))
|
||||||
@ -620,8 +620,9 @@ class TestMistralWorkflow(common.HeatTestCase):
|
|||||||
scheduler.TaskRunner(wf.signal, details)()
|
scheduler.TaskRunner(wf.signal, details)()
|
||||||
call_args = self.mistral.executions.create.call_args
|
call_args = self.mistral.executions.create.call_args
|
||||||
args, _ = call_args
|
args, _ = call_args
|
||||||
expected_args = '{"image": "31d8eeaf-686e-4e95-bb27-765014b9f20b", ' \
|
expected_args = (
|
||||||
'"name": "create_test_server", "flavor": "3"}'
|
'{"image": "31d8eeaf-686e-4e95-bb27-765014b9f20b", '
|
||||||
|
'"name": "create_test_server", "flavor": "3"}')
|
||||||
self.validate_json_inputs(args[1], expected_args)
|
self.validate_json_inputs(args[1], expected_args)
|
||||||
self.assertEqual({'executions': '12345'}, wf.data())
|
self.assertEqual({'executions': '12345'}, wf.data())
|
||||||
# Updating the workflow changing "use_request_body_as_input" to
|
# Updating the workflow changing "use_request_body_as_input" to
|
||||||
@ -644,8 +645,9 @@ class TestMistralWorkflow(common.HeatTestCase):
|
|||||||
scheduler.TaskRunner(wf.signal, details)()
|
scheduler.TaskRunner(wf.signal, details)()
|
||||||
call_args = self.mistral.executions.create.call_args
|
call_args = self.mistral.executions.create.call_args
|
||||||
args, _ = call_args
|
args, _ = call_args
|
||||||
expected_args = '{"image": "31d8eeaf-686e-4e95-bb27-765014b9f20b", ' \
|
expected_args = (
|
||||||
'"name": "create_test_server", "flavor": "4"}'
|
'{"image": "31d8eeaf-686e-4e95-bb27-765014b9f20b", '
|
||||||
|
'"name": "create_test_server", "flavor": "4"}')
|
||||||
self.validate_json_inputs(args[1], expected_args)
|
self.validate_json_inputs(args[1], expected_args)
|
||||||
self.assertEqual({'executions': '54321,12345', 'name':
|
self.assertEqual({'executions': '54321,12345', 'name':
|
||||||
'test_stack-workflow-b5fiekdsa355'}, wf.data())
|
'test_stack-workflow-b5fiekdsa355'}, wf.data())
|
||||||
|
@ -928,8 +928,8 @@ class ServersTest(common.HeatTestCase):
|
|||||||
return metadata_url, server
|
return metadata_url, server
|
||||||
|
|
||||||
def test_server_create_software_config_poll_temp_url(self):
|
def test_server_create_software_config_poll_temp_url(self):
|
||||||
metadata_url, server = \
|
metadata_url, server = (
|
||||||
self._server_create_software_config_poll_temp_url()
|
self._server_create_software_config_poll_temp_url())
|
||||||
|
|
||||||
self.assertEqual({
|
self.assertEqual({
|
||||||
'os-collect-config': {
|
'os-collect-config': {
|
||||||
@ -942,8 +942,8 @@ class ServersTest(common.HeatTestCase):
|
|||||||
|
|
||||||
def test_server_create_software_config_poll_temp_url_metadata(self):
|
def test_server_create_software_config_poll_temp_url_metadata(self):
|
||||||
md = {'os-collect-config': {'polling_interval': 10}}
|
md = {'os-collect-config': {'polling_interval': 10}}
|
||||||
metadata_url, server = \
|
metadata_url, server = (
|
||||||
self._server_create_software_config_poll_temp_url(md=md)
|
self._server_create_software_config_poll_temp_url(md=md))
|
||||||
|
|
||||||
self.assertEqual({
|
self.assertEqual({
|
||||||
'os-collect-config': {
|
'os-collect-config': {
|
||||||
|
@ -85,8 +85,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
@mock.patch('swiftclient.client.Connection.put_container')
|
@mock.patch('swiftclient.client.Connection.put_container')
|
||||||
def test_create_container_name(self, mock_put):
|
def test_create_container_name(self, mock_put):
|
||||||
# Setup
|
# Setup
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['name'] = \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
'the_name'
|
res_prop['name'] = 'the_name'
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
@ -310,8 +310,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
mock_delete_container):
|
mock_delete_container):
|
||||||
# Setup
|
# Setup
|
||||||
container_name = utils.PhysName('test_stack', 'test_resource')
|
container_name = utils.PhysName('test_stack', 'test_resource')
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['PurgeOnDelete'] \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
= True
|
res_prop['PurgeOnDelete'] = True
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
get_return_values = [
|
get_return_values = [
|
||||||
@ -344,8 +344,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
mock_delete_container):
|
mock_delete_container):
|
||||||
# Setup
|
# Setup
|
||||||
container_name = utils.PhysName('test_stack', 'test_resource')
|
container_name = utils.PhysName('test_stack', 'test_resource')
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['PurgeOnDelete'] \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
= True
|
res_prop['PurgeOnDelete'] = True
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
mock_get.return_value = ({'name': container_name},
|
mock_get.return_value = ({'name': container_name},
|
||||||
@ -376,8 +376,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
mock_delete_object):
|
mock_delete_object):
|
||||||
# Setup
|
# Setup
|
||||||
container_name = utils.PhysName('test_stack', 'test_resource')
|
container_name = utils.PhysName('test_stack', 'test_resource')
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['PurgeOnDelete'] \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
= True
|
res_prop['PurgeOnDelete'] = True
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
mock_get.return_value = ({'name': container_name},
|
mock_get.return_value = ({'name': container_name},
|
||||||
@ -419,8 +419,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
@mock.patch('swiftclient.client.Connection.put_container')
|
@mock.patch('swiftclient.client.Connection.put_container')
|
||||||
def test_check(self, mock_put, mock_get):
|
def test_check(self, mock_put, mock_get):
|
||||||
# Setup
|
# Setup
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['PurgeOnDelete'] \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
= True
|
res_prop['PurgeOnDelete'] = True
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
@ -434,8 +434,8 @@ class SwiftTest(common.HeatTestCase):
|
|||||||
@mock.patch('swiftclient.client.Connection.put_container')
|
@mock.patch('swiftclient.client.Connection.put_container')
|
||||||
def test_check_fail(self, mock_put, mock_get):
|
def test_check_fail(self, mock_put, mock_get):
|
||||||
# Setup
|
# Setup
|
||||||
self.t['Resources']['SwiftContainer']['Properties']['PurgeOnDelete'] \
|
res_prop = self.t['Resources']['SwiftContainer']['Properties']
|
||||||
= True
|
res_prop['PurgeOnDelete'] = True
|
||||||
stack = utils.parse_stack(self.t)
|
stack = utils.parse_stack(self.t)
|
||||||
|
|
||||||
mock_get.side_effect = Exception('boom')
|
mock_get.side_effect = Exception('boom')
|
||||||
|
@ -16,8 +16,8 @@ from oslo_serialization import jsonutils
|
|||||||
from heat.common import identifier
|
from heat.common import identifier
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
from heat.engine import environment
|
from heat.engine import environment
|
||||||
from heat.engine.resources.aws.cfn.wait_condition_handle \
|
from heat.engine.resources.aws.cfn.wait_condition_handle import (
|
||||||
import WaitConditionHandle
|
WaitConditionHandle)
|
||||||
from heat.engine.resources.aws.ec2 import instance
|
from heat.engine.resources.aws.ec2 import instance
|
||||||
from heat.engine.resources.openstack.nova.server import Server
|
from heat.engine.resources.openstack.nova.server import Server
|
||||||
from heat.engine.scheduler import TaskRunner
|
from heat.engine.scheduler import TaskRunner
|
||||||
|
@ -37,7 +37,8 @@ file {'output_result':
|
|||||||
mode => 0644,
|
mode => 0644,
|
||||||
content => "The file /tmp/$::bar contains $::foo for server \
|
content => "The file /tmp/$::bar contains $::foo for server \
|
||||||
$::deploy_server_id during $::deploy_action",
|
$::deploy_server_id during $::deploy_action",
|
||||||
}'''
|
}
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
class SoftwareConfigIntegrationTest(scenario_base.ScenarioTestsBase):
|
class SoftwareConfigIntegrationTest(scenario_base.ScenarioTestsBase):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user