Merge "Add 'shared' property for OS::Neutron::MeteringLabel"
This commit is contained in:
@@ -27,15 +27,15 @@ class MeteringLabel(neutron.NeutronResource):
|
|||||||
support_status = support.SupportStatus(version='2014.1')
|
support_status = support.SupportStatus(version='2014.1')
|
||||||
|
|
||||||
PROPERTIES = (
|
PROPERTIES = (
|
||||||
NAME, DESCRIPTION,
|
NAME, DESCRIPTION, SHARED,
|
||||||
) = (
|
) = (
|
||||||
'name', 'description',
|
'name', 'description', 'shared',
|
||||||
)
|
)
|
||||||
|
|
||||||
ATTRIBUTES = (
|
ATTRIBUTES = (
|
||||||
NAME_ATTR, DESCRIPTION_ATTR,
|
NAME_ATTR, DESCRIPTION_ATTR, SHARED_ATTR,
|
||||||
) = (
|
) = (
|
||||||
'name', 'description',
|
'name', 'description', 'shared',
|
||||||
)
|
)
|
||||||
|
|
||||||
properties_schema = {
|
properties_schema = {
|
||||||
@@ -46,7 +46,14 @@ class MeteringLabel(neutron.NeutronResource):
|
|||||||
DESCRIPTION: properties.Schema(
|
DESCRIPTION: properties.Schema(
|
||||||
properties.Schema.STRING,
|
properties.Schema.STRING,
|
||||||
_('Description of the metering label.'),
|
_('Description of the metering label.'),
|
||||||
)
|
),
|
||||||
|
SHARED: properties.Schema(
|
||||||
|
properties.Schema.BOOLEAN,
|
||||||
|
_('Whether the metering label should be shared '
|
||||||
|
'across all tenants.'),
|
||||||
|
default=False,
|
||||||
|
support_status=support.SupportStatus(version='2015.1'),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
attributes_schema = {
|
attributes_schema = {
|
||||||
@@ -56,6 +63,9 @@ class MeteringLabel(neutron.NeutronResource):
|
|||||||
DESCRIPTION_ATTR: attributes.Schema(
|
DESCRIPTION_ATTR: attributes.Schema(
|
||||||
_('Description of the metering label.')
|
_('Description of the metering label.')
|
||||||
),
|
),
|
||||||
|
SHARED_ATTR: attributes.Schema(
|
||||||
|
_('Shared status of the metering label.')
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
def handle_create(self):
|
def handle_create(self):
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ metering_template = '''
|
|||||||
"Type": "OS::Neutron::MeteringLabel",
|
"Type": "OS::Neutron::MeteringLabel",
|
||||||
"Properties": {
|
"Properties": {
|
||||||
"name": "TestLabel",
|
"name": "TestLabel",
|
||||||
"description": "Description of TestLabel"
|
"description": "Description of TestLabel",
|
||||||
|
"shared": True,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rule": {
|
"rule": {
|
||||||
@@ -69,7 +70,8 @@ class MeteringLabelTest(common.HeatTestCase):
|
|||||||
neutronclient.Client.create_metering_label({
|
neutronclient.Client.create_metering_label({
|
||||||
'metering_label': {
|
'metering_label': {
|
||||||
'name': 'TestLabel',
|
'name': 'TestLabel',
|
||||||
'description': 'Description of TestLabel'}
|
'description': 'Description of TestLabel',
|
||||||
|
'shared': True}
|
||||||
}).AndReturn({'metering_label': {'id': '1234'}})
|
}).AndReturn({'metering_label': {'id': '1234'}})
|
||||||
|
|
||||||
snippet = template_format.parse(metering_template)
|
snippet = template_format.parse(metering_template)
|
||||||
@@ -89,7 +91,8 @@ class MeteringLabelTest(common.HeatTestCase):
|
|||||||
neutronclient.Client.create_metering_label({
|
neutronclient.Client.create_metering_label({
|
||||||
'metering_label': {
|
'metering_label': {
|
||||||
'name': 'TestLabel',
|
'name': 'TestLabel',
|
||||||
'description': 'Description of TestLabel'}
|
'description': 'Description of TestLabel',
|
||||||
|
'shared': True}
|
||||||
}).AndRaise(exceptions.NeutronClientException())
|
}).AndRaise(exceptions.NeutronClientException())
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
|
||||||
@@ -150,12 +153,14 @@ class MeteringLabelTest(common.HeatTestCase):
|
|||||||
).AndReturn(
|
).AndReturn(
|
||||||
{'metering_label':
|
{'metering_label':
|
||||||
{'name': 'TestLabel',
|
{'name': 'TestLabel',
|
||||||
'description': 'Description of TestLabel'}})
|
'description': 'Description of TestLabel',
|
||||||
|
'shared': True}})
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
scheduler.TaskRunner(rsrc.create)()
|
scheduler.TaskRunner(rsrc.create)()
|
||||||
self.assertEqual('TestLabel', rsrc.FnGetAtt('name'))
|
self.assertEqual('TestLabel', rsrc.FnGetAtt('name'))
|
||||||
self.assertEqual('Description of TestLabel',
|
self.assertEqual('Description of TestLabel',
|
||||||
rsrc.FnGetAtt('description'))
|
rsrc.FnGetAtt('description'))
|
||||||
|
self.assertEqual(True, rsrc.FnGetAtt('shared'))
|
||||||
self.m.VerifyAll()
|
self.m.VerifyAll()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user