Merge "Create marconi queue when infra stack is created"
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user