Use custom intermediate infra.config

To override the values from parameters:_param , it is unuseful
just connect the overrides.yml to the infra.config, because
parameters:_param from infra.config will be applied *after*
any of classes.

- Move original infra.config class to the infra.config_orig
  and remove parameters._param from the original infra.config
- Add infra.config_orig to the infra.config as ordinary class
- Add environment classes after infra.config_orig to override
  the _param.

Change-Id: I84792089fd36e01a36ecc39d67589bcbb35fa3cf
diff --git a/tcp_tests/templates/shared-salt.yaml b/tcp_tests/templates/shared-salt.yaml
index e34e519..e230243 100644
--- a/tcp_tests/templates/shared-salt.yaml
+++ b/tcp_tests/templates/shared-salt.yaml
@@ -389,9 +389,14 @@
     reclass-tools del-key parameters.linux.network.interface /srv/salt/reclass/classes/system/;
     reclass-tools del-key parameters.linux.network.interface /usr/share/salt-formulas/reclass/;
 
-    if ! reclass-tools get-key 'classes' /srv/salt/reclass/nodes/_generated/cfg01.{{ DOMAIN_NAME }}.yml | grep -q "environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}$"; then
-      reclass-tools add-key 'classes' 'environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}.reclass_datasource_local' /srv/salt/reclass/nodes/_generated/cfg01.{{ DOMAIN_NAME }}.yml --merge ;
-      reclass-tools add-key 'classes' 'environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}' /srv/salt/reclass/nodes/_generated/cfg01.{{ DOMAIN_NAME }}.yml --merge ;
+    if ! reclass-tools get-key 'classes' /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml | grep -q "environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}$"; then
+      # Move the config.yml into a separate class 'infra.config_orig' to keep parameters:_param there
+      cp /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config_orig.yml;
+      # Remove parameters:_param from the infra.config to have possibility to override them from the environment classes
+      reclass-tools del-key parameters._param /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml;
+      reclass-tools add-key 'classes' 'cluster.{{ CLUSTER_NAME }}.infra.config_orig' /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml --merge;
+      reclass-tools add-key 'classes' 'environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}.reclass_datasource_local' /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml --merge;
+      reclass-tools add-key 'classes' 'environment.{{ ENVIRONMENT_MODEL_INVENTORY_NAME }}' /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/infra/config.yml --merge;
     fi;
 
   node_name: {{ HOSTNAME_CFG01 }}