Added missing cluster param override and class_mapping for contrail models

Change-Id: I04efa981ccd27f1c4e4e46d59772c147d0275fb7
diff --git a/classes/cluster/k8s_ha_calico/infra/config.yml b/classes/cluster/k8s_ha_calico/infra/config.yml
index 4965229..b385e2e 100644
--- a/classes/cluster/k8s_ha_calico/infra/config.yml
+++ b/classes/cluster/k8s_ha_calico/infra/config.yml
@@ -43,6 +43,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         kubernetes_control01:
           expression: <<node_hostname>>__equals__ctl01
           cluster_param:
diff --git a/classes/cluster/k8s_ha_contrail/infra/config.yml b/classes/cluster/k8s_ha_contrail/infra/config.yml
index 8c30574..f4b4adc 100644
--- a/classes/cluster/k8s_ha_contrail/infra/config.yml
+++ b/classes/cluster/k8s_ha_contrail/infra/config.yml
@@ -43,6 +43,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         kubernetes_control01:
           expression: <<node_hostname>>__equals__ctl01
           cluster_param:
diff --git a/classes/cluster/os_ha_contrail/infra/config.yml b/classes/cluster/os_ha_contrail/infra/config.yml
index 98e231c..2e3076c 100755
--- a/classes/cluster/os_ha_contrail/infra/config.yml
+++ b/classes/cluster/os_ha_contrail/infra/config.yml
@@ -19,9 +19,6 @@
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.opencontrail_control_cluster
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.openstack_proxy_single
 - cluster.os_ha_contrail.openstack.proxy
 - cluster.os_ha_contrail.openstack.dashboard
 - cluster.os_ha_contrail
@@ -52,8 +49,72 @@
             host: prx
         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_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_ip>>
+            infra_config_deploy_address:
+              value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
+        openstack_control01:
+          expression: <<node_hostname>>__equals__ctl01
+          cluster_param:
+            openstack_control_node01_address:
+              value_template: <<node_ip>>
+        openstack_control02:
+          expression: <<node_hostname>>__equals__ctl02
+          cluster_param:
+            openstack_control_node02_address:
+              value_template: <<node_ip>>
+        openstack_control03:
+          expression: <<node_hostname>>__equals__ctl03
+          cluster_param:
+            openstack_control_node03_address:
+              value_template: <<node_ip>>
+        opencontrail_control01:
+          expression: <<node_hostname>>__equals__ntw01
+          cluster_param:
+            opencontrail_control_node01_address:
+              value_template: <<node_ip>>
+        opencontrail_control02:
+          expression: <<node_hostname>>__equals__ntw02
+          cluster_param:
+            opencontrail_control_node02_address:
+              value_template: <<node_ip>>
+        opencontrail_control03:
+          expression: <<node_hostname>>__equals__ntw03
+          cluster_param:
+            opencontrail_control_node03_address:
+              value_template: <<node_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>>
       node:
         openstack_control_node01:
           classes:
@@ -73,8 +134,3 @@
           params:
             mysql_cluster_role: slave
             linux_system_codename: xenial
-        openstack_proxy_node01:
-          classes:
-          - cluster.os_ha_contrail.openstack.proxy
-          params:
-            linux_system_codename: xenial
diff --git a/classes/cluster/os_ha_ovs/infra/config.yml b/classes/cluster/os_ha_ovs/infra/config.yml
index d888e25..ab1caec 100644
--- a/classes/cluster/os_ha_ovs/infra/config.yml
+++ b/classes/cluster/os_ha_ovs/infra/config.yml
@@ -72,6 +72,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         openstack_control01:
           expression: <<node_hostname>>__equals__ctl01
           cluster_param:
diff --git a/classes/cluster/sl_k8s_calico/infra/config.yml b/classes/cluster/sl_k8s_calico/infra/config.yml
index c957e6c..bd09d54 100644
--- a/classes/cluster/sl_k8s_calico/infra/config.yml
+++ b/classes/cluster/sl_k8s_calico/infra/config.yml
@@ -44,6 +44,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         infra_proxy:
           expression: <<node_hostname>>__startswith__prx
           node_class:
diff --git a/classes/cluster/sl_k8s_contrail/infra/config.yml b/classes/cluster/sl_k8s_contrail/infra/config.yml
index 21a5cac..3def1ca 100644
--- a/classes/cluster/sl_k8s_contrail/infra/config.yml
+++ b/classes/cluster/sl_k8s_contrail/infra/config.yml
@@ -43,6 +43,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         kubernetes_control01:
           expression: <<node_hostname>>__equals__ctl01
           cluster_param:
diff --git a/classes/cluster/sl_os_contrail/infra/config.yml b/classes/cluster/sl_os_contrail/infra/config.yml
index 391ecbd..3bda588 100755
--- a/classes/cluster/sl_os_contrail/infra/config.yml
+++ b/classes/cluster/sl_os_contrail/infra/config.yml
@@ -19,9 +19,6 @@
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.opencontrail_control_cluster
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.openstack_proxy_single
 - system.reclass.storage.system.stacklightv2_server_cluster
 - cluster.sl_os_contrail.openstack.proxy
 - cluster.sl_os_contrail.stacklight.proxy
@@ -54,8 +51,87 @@
             host: prx
         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_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_ip>>
+            infra_config_deploy_address:
+              value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
+        openstack_control01:
+          expression: <<node_hostname>>__equals__ctl01
+          cluster_param:
+            openstack_control_node01_address:
+              value_template: <<node_ip>>
+        openstack_control02:
+          expression: <<node_hostname>>__equals__ctl02
+          cluster_param:
+            openstack_control_node02_address:
+              value_template: <<node_ip>>
+        openstack_control03:
+          expression: <<node_hostname>>__equals__ctl03
+          cluster_param:
+            openstack_control_node03_address:
+              value_template: <<node_ip>>
+        opencontrail_control01:
+          expression: <<node_hostname>>__equals__ntw01
+          cluster_param:
+            opencontrail_control_node01_address:
+              value_template: <<node_ip>>
+        opencontrail_control02:
+          expression: <<node_hostname>>__equals__ntw02
+          cluster_param:
+            opencontrail_control_node02_address:
+              value_template: <<node_ip>>
+        opencontrail_control03:
+          expression: <<node_hostname>>__equals__ntw03
+          cluster_param:
+            opencontrail_control_node03_address:
+              value_template: <<node_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>>
+        stacklight_monitor01:
+          expression: <<node_hostname>>__equals__mon01
+          cluster_param:
+            stacklight_node01_address:
+              value_template: <<node_ip>>
+        stacklight_monitor02:
+          expression: <<node_hostname>>__equals__mon02
+          cluster_param:
+            stacklight_node02_address:
+              value_template: <<node_ip>>
+        stacklight_monitor03:
+          expression: <<node_hostname>>__equals__mon03
+          cluster_param:
+            stacklight_node03_address:
+              value_template: <<node_ip>>
       node:
         openstack_control_node01:
           classes:
@@ -75,8 +151,3 @@
           params:
             mysql_cluster_role: slave
             linux_system_codename: xenial
-        openstack_proxy_node01:
-          classes:
-          - cluster.sl_os_contrail.openstack.proxy
-          params:
-            linux_system_codename: xenial
diff --git a/classes/cluster/sl_os_ovs/infra/config.yml b/classes/cluster/sl_os_ovs/infra/config.yml
index 3632de7..f5a2e7e 100644
--- a/classes/cluster/sl_os_ovs/infra/config.yml
+++ b/classes/cluster/sl_os_ovs/infra/config.yml
@@ -74,6 +74,8 @@
               value_template: <<node_ip>>
             infra_config_deploy_address:
               value_template: <<node_ip>>
+            cluster_domain:
+              value_template: <<node_domain>>
         openstack_control01:
           expression: <<node_hostname>>__equals__ctl01
           cluster_param: