Add neutron address_scope constraint

This patch adds neutron.address_scope custom constraint.

Change-Id: Iae2abc9368a5346719e8022e3111d526f7c9401a
This commit is contained in:
Rabi Mishra 2015-11-29 12:14:44 +05:30
parent 892d09469b
commit 3d75cc8d0c
3 changed files with 14 additions and 0 deletions

View File

@ -75,3 +75,13 @@ class SubnetPoolConstraint(constraints.BaseCustomConstraint):
neutron_client = client.client('neutron')
neutronV20.find_resourceid_by_name_or_id(
neutron_client, 'subnetpool', value)
class AddressScopeConstraint(constraints.BaseCustomConstraint):
expected_exceptions = (exceptions.NeutronClientException,)
def validate_with_client(self, client, value):
neutron_client = client.client('neutron')
neutronV20.find_resourceid_by_name_or_id(
neutron_client, 'address_scope', value)

View File

@ -170,6 +170,9 @@ class NeutronConstraintsValidate(common.HeatTestCase):
('validate_subnetpool',
dict(constraint_class=nc.SubnetPoolConstraint,
resource_type='subnetpool')),
('validate_address_scope',
dict(constraint_class=nc.AddressScopeConstraint,
resource_type='address_scope')),
('validate_loadbalancer',
dict(constraint_class=lc.LoadbalancerConstraint,
resource_type='loadbalancer')),

View File

@ -77,6 +77,7 @@ heat.constraints =
nova.flavor = heat.engine.clients.os.nova:FlavorConstraint
nova.host = heat.engine.clients.os.nova:HostConstraint
nova.network = heat.engine.clients.os.nova:NetworkConstraint
neutron.address_scope = heat.engine.clients.os.neutron.neutron_constraints:AddressScopeConstraint
neutron.network = heat.engine.clients.os.neutron.neutron_constraints:NetworkConstraint
neutron.port = heat.engine.clients.os.neutron.neutron_constraints:PortConstraint
neutron.router = heat.engine.clients.os.neutron.neutron_constraints:RouterConstraint