try:
# Note show_stack returns details for all stacks when called with
# no stack_name, we only use a subset of the result here though
- stack_list = self.engine_rpcapi.show_stack(con,
- stack_identity=None,
- params=parms)
+ stack_list = self.engine_rpcapi.show_stack(con, None)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
else:
identity = None
- stack_list = self.engine_rpcapi.show_stack(con,
- stack_identity=identity,
- params=parms)
+ stack_list = self.engine_rpcapi.show_stack(con, identity)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
logger.info('get_template')
try:
identity = self._get_identity(con, req.params['StackName'])
- templ = self.engine_rpcapi.get_template(con,
- stack_identity=identity,
- params=parms)
+ templ = self.engine_rpcapi.get_template(con, identity)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
return exception.HeatMissingParameterError(detail=msg)
try:
- stack = json.loads(templ)
+ template = json.loads(templ)
except ValueError:
msg = _("The Template must be a JSON document.")
return exception.HeatInvalidParameterValueError(detail=msg)
logger.info('validate_template')
try:
- return self.engine_rpcapi.validate_template(con,
- template=stack,
- params=parms)
+ return self.engine_rpcapi.validate_template(con, template)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
try:
identity = self._get_identity(con, req.params['StackName'])
- res = self.engine_rpcapi.delete_stack(con,
- stack_identity=identity,
- params=parms,
- cast=False)
+ res = self.engine_rpcapi.delete_stack(con, identity, cast=False)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
stack_name = req.params.get('StackName', None)
try:
identity = stack_name and self._get_identity(con, stack_name)
- event_res = self.engine_rpcapi.list_events(con,
- stack_identity=identity,
- params=parms)
+ event_res = self.engine_rpcapi.list_events(con, identity)
except rpc_common.RemoteError as ex:
return exception.map_remote_error(ex)
return s
- def show_stack(self, context, stack_identity, params):
+ def show_stack(self, context, stack_identity):
"""
The show_stack method returns the attributes of one stack.
arg1 -> RPC context.
arg2 -> Name of the stack you want to see, or None to see all
- arg3 -> Dict of http request parameters passed in from API side.
"""
if stack_identity is not None:
stacks = [self._get_stack(context, stack_identity)]
arg1 -> RPC context.
arg3 -> Template of stack you want to create.
- arg4 -> Params passed from API.
+ arg4 -> Stack Input Params
"""
logger.info('validate_template')
if template is None:
}
return {'ValidateTemplateResult': result}
- def get_template(self, context, stack_identity, params):
+ def get_template(self, context, stack_identity):
"""
Get the template.
arg1 -> RPC context.
arg2 -> Name of the stack you want to see.
- arg3 -> Dict of http request parameters passed in from API side.
"""
s = self._get_stack(context, stack_identity)
if s:
return s.raw_template.template
return None
- def delete_stack(self, context, stack_identity, params):
+ def delete_stack(self, context, stack_identity):
"""
The delete_stack method deletes a given stack.
arg1 -> RPC context.
arg2 -> Name of the stack you want to delete.
- arg3 -> Params passed from API.
"""
st = self._get_stack(context, stack_identity)
greenpool.spawn_n(stack.delete)
return None
- def list_events(self, context, stack_identity, params):
+ def list_events(self, context, stack_identity):
"""
The list_events method lists all events associated with a given stack.
arg1 -> RPC context.
arg2 -> Name of the stack you want to get events for.
- arg3 -> Params passed from API.
"""
if stack_identity is not None:
st = self._get_stack(context, stack_identity)
stack_name=stack_name),
topic=_engine_topic(self.topic, ctxt, None))
- def show_stack(self, ctxt, stack_identity, params):
+ def show_stack(self, ctxt, stack_identity):
"""
The show_stack method returns the attributes of one stack.
:param params: Dict of http request parameters passed in from API side.
"""
return self.call(ctxt, self.make_msg('show_stack',
- stack_identity=stack_identity, params=params),
+ stack_identity=stack_identity),
topic=_engine_topic(self.topic, ctxt, None))
def create_stack(self, ctxt, stack_name, template, params, args):
"""
return self.call(ctxt,
self.make_msg('create_stack', stack_name=stack_name,
- template=template, params=params, args=args),
+ template=template,
+ params=params, args=args),
topic=_engine_topic(self.topic, ctxt, None))
def update_stack(self, ctxt, stack_identity, template, params, args):
:param args: Request parameters/args passed from API
"""
return self.call(ctxt, self.make_msg('update_stack',
- stack_identity=stack_identity,
- template=template, params=params, args=args),
+ stack_identity=stack_identity,
+ template=template,
+ params=params, args=args),
topic=_engine_topic(self.topic, ctxt, None))
def validate_template(self, ctxt, template, params):
:param params: Params passed from API.
"""
return self.call(ctxt, self.make_msg('validate_template',
- template=template, params=params),
+ template=template, params=params),
topic=_engine_topic(self.topic, ctxt, None))
- def get_template(self, ctxt, stack_identity, params):
+ def get_template(self, ctxt, stack_identity):
"""
Get the template.
:param params: Dict of http request parameters passed in from API side.
"""
return self.call(ctxt, self.make_msg('get_template',
- stack_identity=stack_identity, params=params),
+ stack_identity=stack_identity),
topic=_engine_topic(self.topic, ctxt, None))
- def delete_stack(self, ctxt, stack_identity, params, cast=True):
+ def delete_stack(self, ctxt, stack_identity, cast=True):
"""
The delete_stack method deletes a given stack.
"""
rpc_method = self.cast if cast else self.call
return rpc_method(ctxt, self.make_msg('delete_stack',
- stack_identity=stack_identity, params=params),
+ stack_identity=stack_identity),
topic=_engine_topic(self.topic, ctxt, None))
- def list_events(self, ctxt, stack_identity, params):
+ def list_events(self, ctxt, stack_identity):
"""
The list_events method lists all events associated with a given stack.
:param params: Params passed from API.
"""
return self.call(ctxt, self.make_msg('list_events',
- stack_identity=stack_identity, params=params),
+ stack_identity=stack_identity),
topic=_engine_topic(self.topic, ctxt, None))
def describe_stack_resource(self, ctxt, stack_identity, resource_name):
return self.call(ctxt, self.make_msg('describe_stack_resource',
- stack_identity=stack_identity,
- resource_name=resource_name),
+ stack_identity=stack_identity,
+ resource_name=resource_name),
topic=_engine_topic(self.topic, ctxt, None))
def describe_stack_resources(self, ctxt, stack_identity,
def list_stack_resources(self, ctxt, stack_identity):
return self.call(ctxt, self.make_msg('list_stack_resources',
- stack_identity=stack_identity),
+ stack_identity=stack_identity),
topic=_engine_topic(self.topic, ctxt, None))
def metadata_list_stacks(self, ctxt):
u'stack_status': u'CREATE_COMPLETE'}]}
self.m.StubOutWithMock(rpc, 'call')
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': None,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': None},
'version': self.api_version}, None
).AndReturn(engine_resp)
# heat exception type
self.m.StubOutWithMock(rpc, 'call')
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': None,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': None},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("AttributeError"))
# heat exception type
self.m.StubOutWithMock(rpc, 'call')
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': None,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': None},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("Exception"))
'args': {'stack_name': stack_name},
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(engine_resp)
self.m.ReplayAll()
self.m.StubOutWithMock(rpc, 'call')
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(engine_resp)
self.m.ReplayAll()
'args': {'stack_name': stack_name},
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'show_stack',
- 'args': {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': identity},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("AttributeError"))
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'get_template',
'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(engine_resp)
self.m.ReplayAll()
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'get_template',
'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ {'stack_identity': identity},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("AttributeError"))
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'get_template',
'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(engine_resp)
self.m.ReplayAll()
'version': self.api_version}, None).AndReturn(identity)
# Engine returns None when delete successful
rpc.call(dummy_req.context, self.topic, {'method': 'delete_stack',
- 'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(None)
self.m.ReplayAll()
# Insert an engine RPC error and ensure we map correctly to the
# heat exception type
rpc.call(dummy_req.context, self.topic, {'method': 'delete_stack',
- 'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ 'args': {'stack_identity': identity},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("AttributeError"))
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'list_events',
'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ {'stack_identity': identity},
'version': self.api_version}, None).AndReturn(engine_resp)
self.m.ReplayAll()
'version': self.api_version}, None).AndReturn(identity)
rpc.call(dummy_req.context, self.topic, {'method': 'list_events',
'args':
- {'stack_identity': identity,
- 'params': dict(dummy_req.params)},
+ {'stack_identity': identity},
'version': self.api_version}, None
).AndRaise(rpc_common.RemoteError("Exception"))
self.m.ReplayAll()
- self.assertEqual(self.man.delete_stack(self.ctx,
- stack.identifier(), {}),
+ self.assertEqual(self.man.delete_stack(self.ctx, stack.identifier()),
None)
self.m.VerifyAll()
self.assertRaises(AttributeError,
self.man.delete_stack,
- self.ctx, stack.identifier(), {})
+ self.ctx, stack.identifier())
self.m.VerifyAll()
def test_stack_update(self):
self.ctx, self.stack_name, self.stack.t, {}, {})
def test_stack_event_list(self):
- el = self.man.list_events(self.ctx, self.stack_identity, {})
+ el = self.man.list_events(self.ctx, self.stack_identity)
self.assertTrue('events' in el)
events = el['events']
self.assertTrue('event_time' in ev)
def test_stack_describe_all(self):
- sl = self.man.show_stack(self.ctx, None, {})
+ sl = self.man.show_stack(self.ctx, None)
self.assertEqual(len(sl['stacks']), 1)
for s in sl['stacks']:
self.tenant = 'stack_describe_all_empty_tenant'
self.setUp()
- sl = self.man.show_stack(self.ctx, None, {})
+ sl = self.man.show_stack(self.ctx, None)
self.assertEqual(len(sl['stacks']), 0)
nonexist['stack_name'] = 'wibble'
self.assertRaises(AttributeError,
self.man.show_stack,
- self.ctx, nonexist, {})
+ self.ctx, nonexist)
def test_stack_describe(self):
- sl = self.man.show_stack(self.ctx, self.stack_identity, {})
+ sl = self.man.show_stack(self.ctx, self.stack_identity)
self.assertEqual(len(sl['stacks']), 1)
self.assertEqual(arg, expected_arg)
def test_show_stack(self):
- self._test_engine_api('show_stack', 'call', stack_identity='wordpress',
- params={'Action': 'ListStacks'})
+ self._test_engine_api('show_stack', 'call', stack_identity='wordpress')
def test_create_stack(self):
self._test_engine_api('create_stack', 'call', stack_name='wordpress',
def test_get_template(self):
self._test_engine_api('get_template', 'call',
- stack_identity='wordpress', params={})
+ stack_identity='wordpress')
def test_delete_stack_cast(self):
self._test_engine_api('delete_stack', 'cast',
- stack_identity='wordpress', params={})
+ stack_identity='wordpress')
def test_delete_stack_call(self):
self._test_engine_api('delete_stack', 'call',
- stack_identity='wordpress', params={})
+ stack_identity='wordpress')
def test_list_events(self):
self._test_engine_api('list_events', 'call',
- stack_identity='wordpress', params={})
+ stack_identity='wordpress')
def test_describe_stack_resource(self):
self._test_engine_api('describe_stack_resource', 'call',