diff --git a/heat/engine/clients/os/neutron/neutron_constraints.py b/heat/engine/clients/os/neutron/neutron_constraints.py index 951db69607..c530675c38 100644 --- a/heat/engine/clients/os/neutron/neutron_constraints.py +++ b/heat/engine/clients/os/neutron/neutron_constraints.py @@ -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) diff --git a/heat/tests/clients/test_neutron_client.py b/heat/tests/clients/test_neutron_client.py index 4f4dc91b05..e143b17ab1 100644 --- a/heat/tests/clients/test_neutron_client.py +++ b/heat/tests/clients/test_neutron_client.py @@ -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')), diff --git a/setup.cfg b/setup.cfg index 4c99056cb3..3267d8deb1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -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