Add neutron client definition for public network

Allow to create public network via reclass neutron.client
Fix binding for bind9 service to listen on single_address instead
of 127.0.0.1

Related-Prod: OSCORE-270

Co-Autored-By: mkarpin <mkarpin@mirantis.com>
Change-Id: I66467801f87b17dca180c71fd2c690e0818581f3
diff --git a/designate/server/backend/bind.yml b/designate/server/backend/bind.yml
index 5836f24..4201f60 100644
--- a/designate/server/backend/bind.yml
+++ b/designate/server/backend/bind.yml
@@ -21,7 +21,7 @@
         local:
           enabled: true
           bind:
-            address: 127.0.0.1
+            address: ${_param:single_address}
             port: 953
           allow:
             - 127.0.0.1
@@ -32,7 +32,7 @@
       enabled: true
       option:
         default:
-          server: 127.0.0.1
+          server: ${_param:single_address}
           port: 953
           key: designate
       key:
diff --git a/neutron/client/service/public.yml b/neutron/client/service/public.yml
new file mode 100644
index 0000000..c3e2ca3
--- /dev/null
+++ b/neutron/client/service/public.yml
@@ -0,0 +1,25 @@
+classes:
+- service.neutron.client
+parameters:
+  neutron:
+    client:
+      server:
+        admin_identity:
+          endpoint_type: internalURL
+          network:
+            public:
+              tenant: admin
+              shared: False
+              router_external: True
+              default: True
+              admin_state_up: True
+              provider_network_type: flat
+              provider_physical_network: physnet1
+              subnet:
+                public-subnet:
+                  cidr: ${_param:openstack_public_neutron_subnet_cidr}
+                  allocation_pools:
+                    - start: ${_param:openstack_public_neutron_subnet_allocation_start}
+                      end: ${_param:openstack_public_neutron_subnet_allocation_end}
+                  gateway: ${_param:openstack_public_neutron_subnet_gateway}
+                  enable_dhcp: False