Merge "Add barbican-api wsgi apache metadata"
diff --git a/apache/server/proxy/openstack/cinder.yml b/apache/server/proxy/openstack/cinder.yml
new file mode 100644
index 0000000..8b3fb4f
--- /dev/null
+++ b/apache/server/proxy/openstack/cinder.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_cinder_host: ${_param:cinder_service_host}
+  apache:
+    server:
+      site:
+        apache_proxy_openstack_api_cinder:
+          enabled: true
+          type: proxy
+          name: openstack_api_cinder
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_cinder_host}
+            port: 8776
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8776
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/designate.yml b/apache/server/proxy/openstack/designate.yml
new file mode 100644
index 0000000..b681cf7
--- /dev/null
+++ b/apache/server/proxy/openstack/designate.yml
@@ -0,0 +1,28 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_designate_host: ${_param:designate_service_host}
+  apache:
+    server:
+      modules:
+       - proxy
+       - proxy_http
+       - headers
+      enabled: true
+      site:
+        apache_proxy_openstack_api_designate:
+          enabled: true
+          type: proxy
+          name: openstack_api_designate
+          proxy:
+            host: ${_param:apache_proxy_openstack_designate_host}
+            port: 9001
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 9001
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/glance.yml b/apache/server/proxy/openstack/glance.yml
new file mode 100644
index 0000000..91bedea
--- /dev/null
+++ b/apache/server/proxy/openstack/glance.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_glance_host: ${_param:glance_service_host}
+  apache:
+    server:
+      enabled: true
+      site:
+        apache_proxy_openstack_api_glance:
+          enabled: true
+          type: proxy
+          name: openstack_api_glance
+          proxy:
+            host: ${_param:apache_proxy_openstack_glance_host}
+            port: 9292
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 9292
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/heat.yml b/apache/server/proxy/openstack/heat.yml
new file mode 100644
index 0000000..b844c45
--- /dev/null
+++ b/apache/server/proxy/openstack/heat.yml
@@ -0,0 +1,52 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_heat_host: ${_param:heat_service_host}
+  apache:
+    server:
+      site:
+        apache_proxy_openstack_api_heat:
+          enabled: true
+          type: proxy
+          name: openstack_api_heat
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_heat_host}
+            port: 8004
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8004
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
+        apache_proxy_openstack_api_heat_cfn:
+          enabled: true
+          type: proxy
+          name: openstack_api_heat_cfn
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_heat_host}
+            port: 8000
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8000
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
+        apache_proxy_openstack_api_heat_cloudwatch:
+          enabled: true
+          type: proxy
+          name: openstack_api_heat_cloudwatch
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_heat_host}
+            port: 8003
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8003
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/neutron.yml b/apache/server/proxy/openstack/neutron.yml
new file mode 100644
index 0000000..dd18c40
--- /dev/null
+++ b/apache/server/proxy/openstack/neutron.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_neutron_host: ${_param:neutron_service_host}
+  apache:
+    server:
+      site:
+        apache_proxy_openstack_api_neutron:
+          enabled: true
+          type: proxy
+          name: openstack_api_neutron
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_neutron_host}
+            port: 9696
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 9696
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/nova.yml b/apache/server/proxy/openstack/nova.yml
new file mode 100644
index 0000000..66a0107
--- /dev/null
+++ b/apache/server/proxy/openstack/nova.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_nova_host: ${_param:nova_service_host}
+  apache:
+    server:
+      site:
+        apache_proxy_openstack_api_nova:
+          enabled: true
+          type: proxy
+          name: openstack_api_nova
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_nova_host}
+            port: 8774
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8774
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/apache/server/proxy/openstack/placement.yml b/apache/server/proxy/openstack/placement.yml
new file mode 100644
index 0000000..9e256b2
--- /dev/null
+++ b/apache/server/proxy/openstack/placement.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    apache_proxy_ssl:
+      enabled: false
+    placement_service_host: ${_param:nova_service_host}
+    apache_proxy_openstack_api_host: ${_param:cluster_public_host}
+    apache_proxy_openstack_api_address: 0.0.0.0
+    apache_proxy_openstack_placement_host: ${_param:placement_service_host}
+  apache:
+    server:
+      site:
+        apache_proxy_openstack_api_placement:
+          enabled: true
+          type: proxy
+          name: openstack_api_placement
+          check: false
+          proxy:
+            host: ${_param:apache_proxy_openstack_placement_host}
+            port: 8778
+            protocol: http
+          host:
+            name: ${_param:apache_proxy_openstack_api_host}
+            port: 8778
+            address: ${_param:apache_proxy_openstack_api_address}
+          ssl: ${_param:apache_proxy_ssl}
diff --git a/heat/server/resource/networking_bgpvpn.yml b/heat/server/resource/networking_bgpvpn.yml
new file mode 100644
index 0000000..4fbd851
--- /dev/null
+++ b/heat/server/resource/networking_bgpvpn.yml
@@ -0,0 +1,11 @@
+parameters:
+  linux:
+    system:
+      package:
+        python-networking-bgpvpn:
+          version: latest
+  heat:
+    server:
+      dir:
+        plugins:
+        - /usr/lib/python2.7/dist-packages/networking_bgpvpn_heat
\ No newline at end of file
diff --git a/neutron/compute/cluster.yml b/neutron/compute/cluster.yml
index 13ee31c..e348a93 100644
--- a/neutron/compute/cluster.yml
+++ b/neutron/compute/cluster.yml
@@ -4,6 +4,8 @@
   _param:
     neutron_enable_qos: False
     neutron_enable_vlan_aware_vms: False
+    neutron_enable_bgp_vpn: False
+    neutron_bgp_vpn_driver: bagpipe
   linux:
     system:
       package:
@@ -15,6 +17,9 @@
       dvr: ${_param:neutron_compute_dvr}
       qos: ${_param:neutron_enable_qos}
       vlan_aware_vms: ${_param:neutron_enable_vlan_aware_vms}
+      bgp_vpn:
+        enabled: ${_param:neutron_enable_bgp_vpn}
+        driver: ${_param:neutron_bgp_vpn_driver}
       agent_mode: ${_param:neutron_compute_agent_mode}
       external_access: ${_param:neutron_compute_external_access}
       backend:
diff --git a/neutron/control/opendaylight/cluster.yml b/neutron/control/opendaylight/cluster.yml
new file mode 100644
index 0000000..7a62e8b
--- /dev/null
+++ b/neutron/control/opendaylight/cluster.yml
@@ -0,0 +1,23 @@
+classes:
+- service.keepalived.cluster.single
+- service.haproxy.proxy.single
+- service.neutron.control.cluster
+- system.neutron.control.openvswitch.cluster
+parameters:
+  _param:
+    opendaylight_router: odl-router_v2
+    opendaylight_driver: opendaylight_v2
+  neutron:
+    server:
+      backend:
+        opendaylight: true
+        host: ${_param:opendaylight_service_host}
+        rest_api_port: 8282
+        user: admin
+        password: admin
+        ovsdb_connection: tcp:127.0.0.1:6639
+        router: ${_param:opendaylight_router}
+        enable_websocket: true
+        mechanism:
+          ovs:
+            driver: ${_param:opendaylight_driver}
diff --git a/neutron/control/opendaylight/single.yml b/neutron/control/opendaylight/single.yml
new file mode 100644
index 0000000..e0c3ea9
--- /dev/null
+++ b/neutron/control/opendaylight/single.yml
@@ -0,0 +1,21 @@
+classes:
+- service.neutron.control.single
+- system.neutron.control.openvswitch.single
+parameters:
+  _param:
+    opendaylight_router: odl-router_v2
+    opendaylight_driver: opendaylight_v2
+  neutron:
+    server:
+      backend:
+        opendaylight: true
+        host: ${_param:opendaylight_service_host}
+        rest_api_port: 8282
+        user: admin
+        password: admin
+        ovsdb_connection: tcp:127.0.0.1:6639
+        router: ${_param:opendaylight_router}
+        enable_websocket: true
+        mechanism:
+          ovs:
+            driver: ${_param:opendaylight_driver}
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index 80489c8..ca2e066 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -12,6 +12,8 @@
     neutron_tenant_network_types: "flat,vxlan"
     neutron_enable_qos: False
     neutron_enable_vlan_aware_vms: False
+    neutron_enable_bgp_vpn: False
+    neutron_bgp_vpn_driver: bagpipe
   neutron:
     server:
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
@@ -19,6 +21,9 @@
       dvr: ${_param:neutron_control_dvr}
       qos: ${_param:neutron_enable_qos}
       vlan_aware_vms: ${_param:neutron_enable_vlan_aware_vms}
+      bgp_vpn:
+        enabled: ${_param:neutron_enable_bgp_vpn}
+        driver: ${_param:neutron_bgp_vpn_driver}
       backend:
         engine: ml2
         tenant_network_types: "${_param:neutron_tenant_network_types}"
diff --git a/neutron/control/openvswitch/single.yml b/neutron/control/openvswitch/single.yml
index 009c116..17cb57e 100644
--- a/neutron/control/openvswitch/single.yml
+++ b/neutron/control/openvswitch/single.yml
@@ -10,6 +10,8 @@
     neutron_tenant_network_types: "flat,vxlan"
     neutron_enable_qos: False
     neutron_enable_vlan_aware_vms: False
+    neutron_enable_bgp_vpn: False
+    neutron_bgp_vpn_driver: bagpipe
   neutron:
     server:
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
@@ -17,6 +19,9 @@
       dvr: ${_param:neutron_control_dvr}
       qos: ${_param:neutron_enable_qos}
       vlan_aware_vms: ${_param:neutron_enable_vlan_aware_vms}
+      bgp_vpn:
+        enabled: ${_param:neutron_enable_bgp_vpn}
+        driver: ${_param:neutron_bgp_vpn_driver}
       backend:
         engine: ml2
         tenant_network_types: "${_param:neutron_tenant_network_types}"
diff --git a/reclass/storage/system/opendaylight_control_single.yml b/reclass/storage/system/opendaylight_control_single.yml
new file mode 100644
index 0000000..ad809f5
--- /dev/null
+++ b/reclass/storage/system/opendaylight_control_single.yml
@@ -0,0 +1,13 @@
+parameters:
+  _param:
+    opendaylight_control_hostname: odl01
+  reclass:
+    storage:
+      node:
+        opendaylight_control_node01:
+          name: ${_param:opendaylight_control_hostname}
+          domain: ${_param:cluster_domain}
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:linux_system_codename}
+            single_address: ${_param:opendaylight_service_host}