Add show_resource function to Manila resources (5)
AWS resources will not be changed as they do not support additional attributes. So 'show' attribute will be presented in their schemas, but will return always None. This patch adds show_resource method for heat (manila) resources: - share - share type - share network - security service Change-Id: I2e38c38476060b367ef5ad15a38e9dd8ac92b471
This commit is contained in:
parent
02275f8901
commit
cb89b2081d
|
@ -84,6 +84,8 @@ class SecurityService(resource.Resource):
|
|||
|
||||
default_client_name = 'manila'
|
||||
|
||||
entity = 'security_services'
|
||||
|
||||
def handle_create(self):
|
||||
args = dict((k, v) for k, v in self.properties.items()
|
||||
if v is not None)
|
||||
|
|
|
@ -187,6 +187,8 @@ class ManilaShare(resource.Resource):
|
|||
|
||||
default_client_name = 'manila'
|
||||
|
||||
entity = 'shares'
|
||||
|
||||
def _request_share(self):
|
||||
return self.client().shares.get(self.resource_id)
|
||||
|
||||
|
|
|
@ -105,6 +105,8 @@ class ManilaShareNetwork(resource.Resource):
|
|||
|
||||
default_client_name = 'manila'
|
||||
|
||||
entity = 'share_networks'
|
||||
|
||||
def _request_network(self):
|
||||
return self.client().share_networks.get(self.resource_id)
|
||||
|
||||
|
|
|
@ -65,6 +65,8 @@ class ManilaShareType(resource.Resource):
|
|||
|
||||
default_client_name = 'manila'
|
||||
|
||||
entity = 'share_types'
|
||||
|
||||
def handle_create(self):
|
||||
share_type = self.client().share_types.create(
|
||||
name=self.properties.get(self.NAME),
|
||||
|
|
|
@ -170,3 +170,10 @@ class ManilaSecurityServiceTest(common.HeatTestCase):
|
|||
scheduler.TaskRunner(ss.update, new_ss))
|
||||
msg = 'The Resource security_service requires replacement.'
|
||||
self.assertEqual(msg, six.text_type(err))
|
||||
|
||||
def test_show_resource(self):
|
||||
sservice = self._create_resource('service', self.rsrc_defn, self.stack)
|
||||
service = mock.Mock()
|
||||
service.to_dict.return_value = {'attr': 'val'}
|
||||
self.client.security_services.get.return_value = service
|
||||
self.assertEqual({'attr': 'val'}, sservice.FnGetAtt('show'))
|
||||
|
|
|
@ -54,6 +54,7 @@ class DummyShare(object):
|
|||
self.created_at = 'ca'
|
||||
self.status = 's'
|
||||
self.project_id = 'p_id'
|
||||
self.to_dict = lambda: {'attr': 'val'}
|
||||
|
||||
|
||||
class ManilaShareTest(common.HeatTestCase):
|
||||
|
@ -241,3 +242,4 @@ class ManilaShareTest(common.HeatTestCase):
|
|||
self.assertEqual('ca', share.FnGetAtt('created_at'))
|
||||
self.assertEqual('s', share.FnGetAtt('status'))
|
||||
self.assertEqual('p_id', share.FnGetAtt('project_id'))
|
||||
self.assertEqual({'attr': 'val'}, share.FnGetAtt('show'))
|
||||
|
|
|
@ -37,6 +37,11 @@ resources:
|
|||
"""
|
||||
|
||||
|
||||
class DummyShare(object):
|
||||
def __init__(self):
|
||||
self.to_dict = lambda: {'attr': 'val'}
|
||||
|
||||
|
||||
class ManilaShareTypeTest(common.HeatTestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -112,3 +117,11 @@ class ManilaShareTypeTest(common.HeatTestCase):
|
|||
fake_share_type.unset_keys.assert_called_once_with({"test": "test"})
|
||||
fake_share_type.set_keys.assert_called_with(
|
||||
updated_props[mshare_type.ManilaShareType.EXTRA_SPECS])
|
||||
|
||||
def test_show_resource(self):
|
||||
share_type = self._init_share("stack_share_type_create")
|
||||
share_type.client().share_types.create.return_value = mock.Mock(
|
||||
id='type_id')
|
||||
share_type.client().share_types.get.return_value = DummyShare()
|
||||
scheduler.TaskRunner(share_type.create)()
|
||||
self.assertEqual({'attr': 'val'}, share_type.FnGetAtt('show'))
|
||||
|
|
|
@ -45,6 +45,7 @@ class DummyShareNetwork(object):
|
|||
self.cidr = '3'
|
||||
self.ip_version = '5'
|
||||
self.network_type = '6'
|
||||
self.to_dict = lambda: {'attr': 'val'}
|
||||
|
||||
|
||||
class ManilaShareNetworkTest(common.HeatTestCase):
|
||||
|
@ -208,6 +209,7 @@ class ManilaShareNetworkTest(common.HeatTestCase):
|
|||
self.assertEqual('3', net.FnGetAtt('cidr'))
|
||||
self.assertEqual('5', net.FnGetAtt('ip_version'))
|
||||
self.assertEqual('6', net.FnGetAtt('network_type'))
|
||||
self.assertEqual({'attr': 'val'}, net.FnGetAtt('show'))
|
||||
|
||||
def test_resource_mapping(self):
|
||||
mapping = share_network.resource_mapping()
|
||||
|
|
Loading…
Reference in New Issue