Merge "Create marconi queue when infra stack is created"

This commit is contained in:
Jenkins
2014-08-01 00:52:43 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 1 deletions

View File

@@ -47,18 +47,27 @@ class InfrastructureStackHandler(handler.Handler):
db_obj.destroy(self.context)
def create(self, data):
"""Create a new stack."""
"""Create a new stack.
Create a new infrastructure stack by using Heat. Note that a marconi
queue is created and will be consumed by solum-infra-guestagent.
"""
db_obj = objects.registry.InfrastructureStack()
db_obj.update(data)
db_obj.uuid = str(uuid.uuid4())
db_obj.user_id = self.context.user
db_obj.project_id = self.context.tenant
self._create_marconi_queue(db_obj.uuid)
db_obj.heat_stack_id = self._deploy_infra(data.get('image_id'))
db_obj.create(self.context)
return db_obj
def _create_marconi_queue(self, queue_name):
osc = clients.OpenStackClients(self.context)
osc.marconi().queue(queue_name)
def _deploy_infra(self, image_id):
osc = clients.OpenStackClients(self.context)

View File

@@ -73,6 +73,7 @@ class TestInfrastructureStackHandler(base.BaseTestCase):
mock_create.return_value = {"stack": {"id": "fake_id",
"links": [{"href": "http://fake.ref",
"rel": "self"}]}}
mock_queue = mock_clients.return_value.marconi.return_value.queue
handler = infra.InfrastructureStackHandler(self.ctx)
res = handler.create(data)
db_obj.update.assert_called_once_with(data)
@@ -81,6 +82,15 @@ class TestInfrastructureStackHandler(base.BaseTestCase):
mock_create.assert_called_once_with(stack_name='infra',
template=fake_template,
parameters=parameters)
mock_queue.assert_called_once_with(db_obj.uuid)
@mock.patch('solum.common.clients.OpenStackClients')
def test_create_marconi_queue(self, mock_clients, mock_registry):
queue_name = 'test'
mock_queue = mock_clients.return_value.marconi.return_value.queue
handler = infra.InfrastructureStackHandler(self.ctx)
handler._create_marconi_queue(queue_name)
mock_queue.assert_called_once_with(queue_name)
def test_delete(self, mock_registry):
db_obj = fakes.FakeInfrastructureStack()