Example #1
0
    def test_merges_stack_action_and_status(self):
        stack = {'stack_action': 'CREATE',
                 'stack_status': 'COMPLETE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('stack_status', result)
        self.assertEqual('CREATE_COMPLETE', result['stack_status'])
Example #2
0
    def test_adds_project_if_include_project(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, include_project=True)
        self.assertIn('project', result)
        self.assertEqual('bar', result['project'])
    def test_merges_stack_action_and_status(self):
        stack = {'stack_action': 'CREATE',
                 'stack_status': 'COMPLETE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('stack_status', result)
        self.assertEqual('CREATE_COMPLETE', result['stack_status'])
Example #4
0
File: stacks.py Project: dfsis/heat
    def detail(self, req):
        """
        Lists detailed information for all stacks
        """
        stacks = self.rpc_client.list_stacks(req.context)

        return {'stacks': [stacks_view.format_stack(req, s) for s in stacks]}
    def test_filter_out_all_but_given_keys(self):
        stack = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}

        result = stacks_view.format_stack(self.request, stack, ["foo2"])
        self.assertIn("foo2", result)
        self.assertNotIn("foo1", result)
        self.assertNotIn("foo3", result)
Example #6
0
    def test_adds_project_if_not_tenant_safe(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, tenant_safe=False)
        self.assertIn('project', result)
        self.assertEqual('bar', result['project'])
    def test_adds_project_if_not_tenant_safe(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, tenant_safe=False)
        self.assertIn('project', result)
        self.assertEqual('bar', result['project'])
Example #8
0
    def detail(self, req):
        """
        Lists detailed information for all stacks
        """
        stacks = self.rpc_client.list_stacks(req.context)

        return {'stacks': [stacks_view.format_stack(req, s) for s in stacks]}
Example #9
0
    def test_adds_project_if_include_project(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, include_project=True)
        self.assertIn('project', result)
        self.assertEqual('bar', result['project'])
Example #10
0
    def test_doesnt_add_project_if_tenant_safe(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request,
                                          stack,
                                          None,
                                          tenant_safe=True)
        self.assertNotIn('project', result)
Example #11
0
    def test_doesnt_add_project_if_not_include_project(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request,
                                          stack,
                                          None,
                                          include_project=False)
        self.assertNotIn('project', result)
Example #12
0
    def show(self, req, identity):
        """Gets detailed information for a stack."""

        stack_list = self.rpc_client.show_stack(req.context, identity)

        if not stack_list:
            raise exc.HTTPInternalServerError()

        stack = stack_list[0]

        return {'stack': stacks_view.format_stack(req, stack)}
Example #13
0
    def show(self, req, identity):
        """Gets detailed information for a stack."""

        stack_list = self.rpc_client.show_stack(req.context, identity)

        if not stack_list:
            raise exc.HTTPInternalServerError()

        stack = stack_list[0]

        return {"stack": stacks_view.format_stack(req, stack)}
    def test_replace_stack_identity_with_id_and_links(self, mock_util):
        mock_util.make_link.return_value = 'blah'
        stack = {'stack_identity': {'stack_id': 'foo'}}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('id', result)
        self.assertNotIn('stack_identity', result)
        self.assertEqual('foo', result['id'])

        self.assertIn('links', result)
        self.assertEqual(['blah'], result['links'])
Example #15
0
    def preview(self, req, body):
        """Preview the outcome of a template and its params."""

        data = InstantiationData(body)
        args = self.prepare_args(data)
        result = self.rpc_client.preview_stack(
            req.context, data.stack_name(), data.template(), data.environment(), data.files(), args
        )

        formatted_stack = stacks_view.format_stack(req, result)
        return {"stack": formatted_stack}
    def test_replace_stack_identity_with_id_and_links(self, mock_util):
        mock_util.make_link.return_value = 'blah'
        stack = {'stack_identity': {'stack_id': 'foo'}}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('id', result)
        self.assertNotIn('stack_identity', result)
        self.assertEqual('foo', result['id'])

        self.assertIn('links', result)
        self.assertEqual(['blah'], result['links'])
    def test_filter_out_all_but_given_keys(self):
        stack = {
            'foo1': 'bar1',
            'foo2': 'bar2',
            'foo3': 'bar3',
        }

        result = stacks_view.format_stack(self.request, stack, ['foo2'])
        self.assertIn('foo2', result)
        self.assertNotIn('foo1', result)
        self.assertNotIn('foo3', result)
Example #18
0
    def create(self, req, body):
        """Create a new stack."""
        data = InstantiationData(body)

        args = self.prepare_args(data)
        result = self.rpc_client.create_stack(
            req.context, data.stack_name(), data.template(), data.environment(), data.files(), args
        )

        formatted_stack = stacks_view.format_stack(req, {rpc_api.STACK_ID: result})
        return {"stack": formatted_stack}
    def test_filter_out_all_but_given_keys(self):
        stack = {
            'foo1': 'bar1',
            'foo2': 'bar2',
            'foo3': 'bar3',
        }

        result = stacks_view.format_stack(self.request, stack, ['foo2'])
        self.assertIn('foo2', result)
        self.assertNotIn('foo1', result)
        self.assertNotIn('foo3', result)
    def test_replace_stack_identity_with_id_and_links(self, mock_util):
        mock_util.make_link.return_value = "blah"
        stack = {"stack_identity": {"stack_id": "foo"}}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn("id", result)
        self.assertNotIn("stack_identity", result)
        self.assertEquals("foo", result["id"])

        self.assertIn("links", result)
        self.assertEquals(["blah"], result["links"])
Example #21
0
    def preview(self, req, body):
        """Preview the outcome of a template and its params."""

        data = InstantiationData(body)
        args = self.prepare_args(data)
        result = self.rpc_client.preview_stack(req.context, data.stack_name(),
                                               data.template(),
                                               data.environment(),
                                               data.files(), args)

        formatted_stack = stacks_view.format_stack(req, result)
        return {'stack': formatted_stack}
Example #22
0
    def create(self, req, body):
        """Create a new stack."""
        data = InstantiationData(body)

        args = self.prepare_args(data)
        result = self.rpc_client.create_stack(req.context, data.stack_name(),
                                              data.template(),
                                              data.environment(), data.files(),
                                              args)

        formatted_stack = stacks_view.format_stack(req,
                                                   {rpc_api.STACK_ID: result})
        return {'stack': formatted_stack}
Example #23
0
    def create(self, req, body):
        """
        Create a new stack
        """
        data = InstantiationData(body)

        result = self.engine.create_stack(req.context, data.stack_name(),
                                          data.template(), data.environment(),
                                          data.files(), data.args())

        formatted_stack = stacks_view.format_stack(
            req, {engine_api.STACK_ID: result})
        return {'stack': formatted_stack}
Example #24
0
    def show(self, req, identity):
        """
        Gets detailed information for a stack
        """
        #brk(host="10.10.12.21", port=49163)
        stack_list = self.rpc_client.show_stack(req.context,
                                                identity)

        if not stack_list:
            raise exc.HTTPInternalServerError()

        stack = stack_list[0]
        response = {'stack': stacks_view.format_stack(req, stack)}
        return response
Example #25
0
    def preview(self, req, body):
        """
        Preview the outcome of a template and its params
        """

        data = InstantiationData(body)

        result = self.engine.preview_stack(req.context,
                                           data.stack_name(),
                                           data.template(),
                                           data.environment(),
                                           data.files(),
                                           data.args())

        formatted_stack = stacks_view.format_stack(req, result)
        return {'stack': formatted_stack}
Example #26
0
    def create(self, req, body):
        """
        Create a new stack
        """
        data = InstantiationData(body)

        result = self.rpc_client.create_stack(req.context,
                                              data.stack_name(),
                                              data.template(),
                                              data.environment(),
                                              data.files(),
                                              data.args())

        formatted_stack = stacks_view.format_stack(
            req,
            {engine_api.STACK_ID: result}
        )
        return {'stack': formatted_stack}
Example #27
0
    def show(self, req, identity):
        """Gets detailed information for a stack."""
        params = req.params

        p_name = rpc_api.RESOLVE_OUTPUTS
        if rpc_api.RESOLVE_OUTPUTS in params:
            resolve_outputs = self._extract_bool_param(p_name, params[p_name])
        else:
            resolve_outputs = True
        stack_list = self.rpc_client.show_stack(req.context, identity,
                                                resolve_outputs)

        if not stack_list:
            raise exc.HTTPInternalServerError()

        stack = stack_list[0]

        return {'stack': stacks_view.format_stack(req, stack)}
Example #28
0
    def create(self, req, body):
        """
        Create a new stack
        """
        data = InstantiationData(body)

        args = data.args()
        key = rpc_api.PARAM_TIMEOUT
        if key in args:
            args[key] = param_utils.extract_int(key, args[key])

        result = self.rpc_client.create_stack(req.context, data.stack_name(),
                                              data.template(),
                                              data.environment(), data.files(),
                                              args)

        formatted_stack = stacks_view.format_stack(req,
                                                   {rpc_api.STACK_ID: result})
        return {'stack': formatted_stack}
Example #29
0
    def show(self, req, identity):
        """Gets detailed information for a stack."""
        params = req.params

        p_name = rpc_api.RESOLVE_OUTPUTS
        if rpc_api.RESOLVE_OUTPUTS in params:
            resolve_outputs = self._extract_bool_param(
                p_name, params[p_name])
        else:
            resolve_outputs = True
        stack_list = self.rpc_client.show_stack(req.context,
                                                identity, resolve_outputs)

        if not stack_list:
            raise exc.HTTPInternalServerError()

        stack = stack_list[0]

        return {'stack': stacks_view.format_stack(req, stack)}
Example #30
0
    def create(self, req, body):
        """
        Create a new stack
        """
        data = InstantiationData(body)
        #task_id = req.params.get("task_id", None)
        task_id = req.headers.get("G-Task-Id", None)
        result = self.rpc_client.create_stack(req.context,
                                              data.stack_name(),
                                              data.template(),
                                              data.environment(),
                                              data.files(),
                                              data.args(),
                                              task_id)

        formatted_stack = stacks_view.format_stack(
            req,
            {engine_api.STACK_ID: result}
        )
        return {'stack': formatted_stack}
Example #31
0
    def create(self, req, body):
        """
        Create a new stack
        """
        data = InstantiationData(body)

        args = data.args()
        key = rpc_api.PARAM_TIMEOUT
        if key in args:
            args[key] = param_utils.extract_int(key, args[key])

        result = self.rpc_client.create_stack(req.context,
                                              data.stack_name(),
                                              data.template(),
                                              data.environment(),
                                              data.files(),
                                              args)

        formatted_stack = stacks_view.format_stack(
            req,
            {rpc_api.STACK_ID: result}
        )
        return {'stack': formatted_stack}
Example #32
0
    def test_doesnt_add_project_if_not_include_project(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, include_project=False)
        self.assertNotIn('project', result)
    def test_doesnt_include_stack_action(self):
        stack = {'stack_action': 'CREATE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertEqual({}, result)
    def test_includes_all_other_keys(self):
        stack = {'foo': 'bar'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('foo', result)
        self.assertEqual('bar', result['foo'])
    def test_doesnt_add_project_if_tenant_safe(self):
        stack = {'stack_identity': {'stack_id': 'foo', 'tenant': 'bar'}}

        result = stacks_view.format_stack(self.request, stack,
                                          None, tenant_safe=True)
        self.assertNotIn('project', result)
    def test_include_stack_status_with_no_action(self):
        stack = {'stack_status': 'COMPLETE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('stack_status', result)
        self.assertEqual('COMPLETE', result['stack_status'])
    def test_include_stack_status_with_no_action(self):
        stack = {'stack_status': 'COMPLETE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('stack_status', result)
        self.assertEqual('COMPLETE', result['stack_status'])
    def test_includes_all_other_keys(self):
        stack = {'foo': 'bar'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn('foo', result)
        self.assertEqual('bar', result['foo'])
    def test_doesnt_include_stack_action(self):
        stack = {'stack_action': 'CREATE'}

        result = stacks_view.format_stack(self.request, stack)
        self.assertEqual({}, result)
    def test_includes_all_other_keys(self):
        stack = {"foo": "bar"}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn("foo", result)
        self.assertEqual("bar", result["foo"])
    def test_include_stack_status_with_no_action(self):
        stack = {"stack_status": "COMPLETE"}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn("stack_status", result)
        self.assertEquals("COMPLETE", result["stack_status"])
    def test_merges_stack_action_and_status(self):
        stack = {"stack_action": "CREATE", "stack_status": "COMPLETE"}

        result = stacks_view.format_stack(self.request, stack)
        self.assertIn("stack_status", result)
        self.assertEquals("CREATE_COMPLETE", result["stack_status"])