AIO ovs

Change-Id: Iba7458af9fddae62946bd5d1ab9f5b1575f3b670
diff --git a/classes/cluster/os_aio_ovs/infra/config.yml b/classes/cluster/os_aio_ovs/infra/config.yml
index 5c05f4c..2764646 100644
--- a/classes/cluster/os_aio_ovs/infra/config.yml
+++ b/classes/cluster/os_aio_ovs/infra/config.yml
@@ -15,7 +15,7 @@
 - system.keystone.client.service.glare
 - system.keystone.client.service.cinder3
 - system.mysql.client.single
-- system.reclass.storage.system.openstack_control_cluster
+- system.reclass.storage.system.openstack_control_single
 - system.reclass.storage.system.openstack_compute_multi
 - system.reclass.storage.system.openstack_gateway_single
 - system.reclass.storage.system.openstack_dashboard_single
@@ -47,11 +47,63 @@
       site:
         nginx_proxy_openstack_web:
           proxy:
-            host: prx
+            host: ${_param:cluster_node01_address}
         nginx_proxy_openstack_api_heat_cfn:
           enabled: false
+  salt:
+    master:
+      reactor:
+        reclass/minion/classify:
+        - salt://reclass/reactor/node_register.sls
   reclass:
     storage:
+      class_mapping:
+        common_node:
+          expression: all
+          node_param:
+            single_address:
+              value_template: <<node_control_ip>>
+            linux_system_codename:
+              value_template: <<node_os>>
+            salt_master_host:
+              value_template: <<node_master_ip>>
+        infra_config:
+          expression: <<node_hostname>>__startswith__cfg
+          cluster_param:
+            infra_config_address:
+              value_template: <<node_control_ip>>
+            infra_config_deploy_address:
+              value_template: <<node_deploy_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
+        openstack_control01:
+          expression: <<node_hostname>>__equals__ctl01
+          cluster_param:
+            openstack_control_node01_address:
+              value_template: <<node_control_ip>>
+        openstack_compute:
+          expression: <<node_hostname>>__startswith__cmp
+          node_class:
+            value_template:
+              - cluster.<<node_cluster>>.openstack.compute
+          node_param:
+            tenant_address:
+              value_template: <<node_tenant_ip>>
+            external_address:
+              value_template: <<node_external_ip>>
+        openstack_gateway:
+          expression: <<node_hostname>>__startswith__gtw
+          node_class:
+            value_template:
+              - cluster.<<node_cluster>>.openstack.gateway
+          node_param:
+            tenant_address:
+              value_template: <<node_tenant_ip>>
+            external_address:
+              value_template: <<node_external_ip>>
+          cluster_param:
+            openstack_gateway_node01_address:
+              value_template: <<node_control_ip>>
       node:
         openstack_control_node01:
           classes:
@@ -59,34 +111,54 @@
           params:
             mysql_cluster_role: master
             linux_system_codename: xenial
-        openstack_control_node02:
-          classes:
-          - service.galera.slave.cluster
-          params:
-            mysql_cluster_role: slave
-            linux_system_codename: xenial
-        openstack_control_node03:
-          classes:
-          - service.galera.slave.cluster
-          params:
-            mysql_cluster_role: slave
-            linux_system_codename: xenial
-        openstack_compute_node01:
-          params:
-            single_address: 172.16.10.105
-            tenant_address: 10.1.0.105
-            external_address: 10.16.0.105
-        openstack_compute_node02:
-          params:
-            single_address: 172.16.10.106
-            tenant_address: 10.1.0.106
-            external_address: 10.16.0.106
-        openstack_gateway_node01:
-          params:
-            tenant_address: 10.1.0.110
-            external_address: 10.16.0.110
-        openstack_proxy_node01:
-          classes:
-          - cluster.os_aio_ovs.openstack.proxy
-          params:
-            linux_system_codename: xenial
+
+
+  # nginx:
+  #   server:
+  #     site:
+  #       nginx_proxy_openstack_web:
+  #         proxy:
+  #           host: prx
+  #       nginx_proxy_openstack_api_heat_cfn:
+  #         enabled: false
+  # reclass:
+  #   storage:
+  #     node:
+  #       openstack_control_node01:
+  #         classes:
+  #         - service.galera.master.cluster
+  #         params:
+  #           mysql_cluster_role: master
+  #           linux_system_codename: xenial
+  #       openstack_control_node02:
+  #         classes:
+  #         - service.galera.slave.cluster
+  #         params:
+  #           mysql_cluster_role: slave
+  #           linux_system_codename: xenial
+  #       openstack_control_node03:
+  #         classes:
+  #         - service.galera.slave.cluster
+  #         params:
+  #           mysql_cluster_role: slave
+  #           linux_system_codename: xenial
+  #       openstack_compute_node01:
+  #         params:
+  #           single_address: 172.16.10.105
+  #           tenant_address: 10.1.0.105
+  #           external_address: 10.16.0.105
+  #       openstack_compute_node02:
+  #         params:
+  #           single_address: 172.16.10.106
+  #           tenant_address: 10.1.0.106
+  #           external_address: 10.16.0.106
+  #       openstack_gateway_node01:
+  #         params:
+  #           tenant_address: 10.1.0.110
+  #           external_address: 10.16.0.110
+  #       openstack_proxy_node01:
+  #         classes:
+  #         - cluster.os_aio_ovs.openstack.proxy
+  #         params:
+  #           linux_system_codename: xenial
+