Fix a dual inheritance

Change-Id: I09269ee16df4a889c13335e0c5af14015449d4cf
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
index 2ce0ac6..736b251 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
@@ -91,9 +91,10 @@
   # Rundeck
   - system.rundeck.client.runbook
 
-  - cluster.drivetrain-ha-clusters
+  - cluster.drivetrain-ha-clusters.cicd
 parameters:
   _param:
+    cluster_name: cicd-lab-dev
     cluster_node01_name: ci01
     cluster_node01_address: ${_param:control_node01_address}
     cluster_node02_name: ci02
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
index dadabbb..b02ce35 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
@@ -43,4 +43,4 @@
   # ..projects
   - system.rundeck.client.project.cicd
   # At last
-  - cluster.drivetrain-ha-clusters.cicd.control
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
index b5d63e2..415190d 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
@@ -1,3 +1,3 @@
 classes:
-  - cluster.drivetrain-ha-clusters.cicd.control
   - system.docker.swarm.manager
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/init.yml b/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
index 9d81f5d..d5bf397 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
@@ -38,4 +38,3 @@
           names:
           - ${_param:cicd_control_node03_hostname}
           - ${_param:cicd_control_node03_hostname}.${_param:cluster_domain}
-
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml b/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
index 7d856cc..4a5ab79 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
@@ -1,6 +1,5 @@
 classes:
-- system.linux.system.single
-- system.jenkins.slave.docker
-- system.aptly.client.publisher
-- cluster.drivetrain-ha-clusters
-
+  - system.linux.system.single
+  - system.jenkins.slave.docker
+  - system.aptly.client.publisher
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/infra/config.yml b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
index c4ad9a6..a96d9fe 100644
--- a/classes/cluster/drivetrain-ha-clusters/infra/config.yml
+++ b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
@@ -1,10 +1,10 @@
 classes:
-- system.salt.master.pkg
-- system.salt.master.api
-- system.salt.minion.ca.salt_master
-- system.reclass.storage.salt
-- system.sphinx.server.doc.reclass
-- cluster.drivetrain-ha-clusters
+  - system.salt.master.pkg
+  - system.salt.master.api
+  - system.salt.minion.ca.salt_master
+  - system.reclass.storage.salt
+  - system.sphinx.server.doc.reclass
+  - cluster.drivetrain-ha-clusters
 parameters:
   _param:
     reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
@@ -16,6 +16,8 @@
     salt_minion_ca_host: ${linux:network:fqdn}
     salt_master_host: ${_param:infra_config_deploy_address}
     cluster_public_host: ${_param:infra_config_address}
+    salt_api_password: hovno12345!
+    salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
   salt:
     master:
       order_masters: true
@@ -74,7 +76,9 @@
           name: ${_param:cicd_control_node01_hostname}
           domain: ${_param:cluster_domain}
           classes:
+          - cluster.${_param:cluster_name}.infra.config
           - cluster.${_param:cluster_name}.cicd.control.master
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -85,6 +89,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -96,10 +101,10 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
             single_address: ${_param:cicd_control_node03_address}
             keepalived_vip_priority: 101
             docker_swarm_role: worker
-
diff --git a/classes/cluster/drivetrain-ha-clusters/infra/init.yml b/classes/cluster/drivetrain-ha-clusters/infra/init.yml
index c5a0164..d385985 100644
--- a/classes/cluster/drivetrain-ha-clusters/infra/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/infra/init.yml
@@ -1,13 +1,3 @@
-classes:
-- system.linux.system.single
-- system.rsyslog.client.single
-- system.linux.system.haveged
-- system.linux.system.prompt
-- system.linux.system.motd.dynamic
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.oss_team
 parameters:
   _param:
     cluster_domain: drivetrain-ha-clusters.local
@@ -19,8 +9,6 @@
     infra_config_deploy_address: 192.168.10.90
     salt_minion_ca_host: ci01.${_param:cluster_domain}
     salt_minion_ca_authority: salt_master_ca
-    salt_api_password: hovno12345!
-    salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
   linux:
     network:
       host:
@@ -32,4 +20,3 @@
     system:
       name: ${_param:infra_config_hostname}
       domain: ${_param:cluster_domain}
-
diff --git a/classes/cluster/drivetrain-ha-clusters/init.yml b/classes/cluster/drivetrain-ha-clusters/init.yml
index 634ecc6..11369f6 100644
--- a/classes/cluster/drivetrain-ha-clusters/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/init.yml
@@ -1,6 +1,14 @@
 classes:
-- system.linux.network.dynamic_hosts
-- cluster.drivetrain-ha-clusters.infra
-- cluster.drivetrain-ha-clusters.cicd
-- cluster.overrides
-
+  - system.linux.network.dynamic_hosts
+  - system.linux.system.single
+  - system.linux.system.haveged
+  - system.linux.system.prompt
+  - system.linux.system.motd.dynamic
+  - system.openssh.server.team.lab
+  - system.openssh.server.team.tcpcloud
+  - system.openssh.server.team.stacklight
+  - system.openssh.server.team.mcp_qa
+  - system.openssh.server.team.oss_team
+  - cluster.drivetrain-ha.infra
+  - cluster.drivetrain-ha.cicd.control
+  - cluster.overrides
diff --git a/classes/cluster/drivetrain-ha/cicd/control/init.yml b/classes/cluster/drivetrain-ha/cicd/control/init.yml
index 52b6079..2a5ce67 100644
--- a/classes/cluster/drivetrain-ha/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha/cicd/control/init.yml
@@ -92,9 +92,9 @@
   - system.rundeck.client.runbook
 
   - cluster.drivetrain-ha.cicd
- # - cluster.drivetrain-ha
 parameters:
   _param:
+    cluster_name: cicd-lab-dev
     cluster_node01_name: ci01
     cluster_node01_address: ${_param:control_node01_address}
     cluster_node02_name: ci02
@@ -329,14 +329,26 @@
     pushkin_smtp_port: 25
     pushkin_email_sender_password: ''
 
+    # OSS managed openstack
+    oss_target_openstack_ip: 172.17.16.190
+    oss_openstack_auth_url: http://172.17.16.190/identity/v3
+    oss_openstack_username: admin
+    oss_openstack_password: nova
+
+    # Janitor Monkey
+    janitor_monkey_openstack:
+      username: ${_param:oss_openstack_username}
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
+
     # SecurityMonkey
     secmonkey_db_user: secmonkey
     secmonkey_db_user_password: secmonkey
     secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
     security_monkey_openstack:
-      username: admin
-      password: password
-      auth_url: http://172.17.16.129/identity/v3
+      username: ${_param:oss_openstack_username}
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
 
     # Rundeck
     rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
@@ -346,7 +358,10 @@
     rundeck_postgresql_password: ${_param:rundeck_db_user_password}
     rundeck_postgresql_database: rundeck
     rundeck_postgresql_host: ${_param:rundeck_db_host}
-    rundeck_cis_os_auth_url: http://172.17.16.129:5000/v3/auth/tokens
+    rundeck_cis_openstack:
+      username: ${_param:oss_openstack_username}/auth/tokens
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
     rundeck_cis_elasticsearch_url: http://${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_http_bind_port}
     rundeck_runbook_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBPHRctBuN16hVe05HxKeN1AqPqbjvWvqQ1zcr/sbJJXHgVBTACRD6G+DAi7SSJr7dLzyeNo042szJclsH/qf9h0tcytINATzye//x6MtzXZ4YIDkcd1Yhz1LRgCXk1PvIensJAdClYOymx+SRaJxEEzbLxgqhSnYOUY3xVGbUrgfXI9+ZG9hs9zfq5JEMRjQay5p+xuYv/wCoU+pbFPDmsW0hQ99O+XBHcwrpU3crkImetTM2WfnRlBkoJypLv/HicTJtnL91/BWcebvW50oxrEq1QQ82T1Wl3pQsJw24M48fXyl/HbF2QVP6O1Ptqr3O7cIByxJWHih3paZncVEj
     rundeck_runbook_private_key: |
diff --git a/classes/cluster/drivetrain-ha/cicd/control/slave.yml b/classes/cluster/drivetrain-ha/cicd/control/slave.yml
index f46c1e4..52f21eb 100644
--- a/classes/cluster/drivetrain-ha/cicd/control/slave.yml
+++ b/classes/cluster/drivetrain-ha/cicd/control/slave.yml
@@ -1,3 +1,3 @@
 classes:
-- system.docker.swarm.manager
-- cluster.drivetrain-ha
+  - system.docker.swarm.manager
+  - cluster.drivetrain-ha
diff --git a/classes/cluster/drivetrain-ha/cicd/worker.yml b/classes/cluster/drivetrain-ha/cicd/worker.yml
index 9dc8d0c..ad824f8 100644
--- a/classes/cluster/drivetrain-ha/cicd/worker.yml
+++ b/classes/cluster/drivetrain-ha/cicd/worker.yml
@@ -1,6 +1,5 @@
 classes:
-- system.linux.system.single
-- system.jenkins.slave.docker
-- system.aptly.client.publisher
-- cluster.drivetrain-ha
-
+  - system.linux.system.single
+  - system.jenkins.slave.docker
+  - system.aptly.client.publisher
+  - cluster.drivetrain-ha
diff --git a/classes/cluster/drivetrain-ha/infra/config.yml b/classes/cluster/drivetrain-ha/infra/config.yml
index 4e413b5..ed421d2 100644
--- a/classes/cluster/drivetrain-ha/infra/config.yml
+++ b/classes/cluster/drivetrain-ha/infra/config.yml
@@ -1,10 +1,10 @@
 classes:
-- system.salt.master.pkg
-- system.salt.master.api
-- system.salt.minion.ca.salt_master
-- system.reclass.storage.salt
-- system.sphinx.server.doc.reclass
-- cluster.drivetrain-ha
+  - system.salt.master.pkg
+  - system.salt.master.api
+  - system.salt.minion.ca.salt_master
+  - system.reclass.storage.salt
+  - system.sphinx.server.doc.reclass
+  - cluster.drivetrain-ha
 parameters:
   _param:
     reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
@@ -77,6 +77,7 @@
           classes:
           - cluster.${_param:cluster_name}.infra.config
           - cluster.${_param:cluster_name}.cicd.control.master
+          - cluster.overrides
           params:
             salt_master_host: 127.0.0.1
             linux_system_codename: xenial
@@ -87,6 +88,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -98,6 +100,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
diff --git a/classes/cluster/drivetrain-ha/infra/init.yml b/classes/cluster/drivetrain-ha/infra/init.yml
index f3fe176..aa0d9a5 100644
--- a/classes/cluster/drivetrain-ha/infra/init.yml
+++ b/classes/cluster/drivetrain-ha/infra/init.yml
@@ -1,13 +1,3 @@
-classes:
-- system.linux.system.single
-- system.rsyslog.client.single
-- system.linux.system.haveged
-- system.linux.system.prompt
-- system.linux.system.motd.dynamic
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.oss_team
 parameters:
   _param:
     cluster_domain: drivetrain-ha.local
diff --git a/classes/cluster/drivetrain-ha/init.yml b/classes/cluster/drivetrain-ha/init.yml
index fa0c93c..11369f6 100644
--- a/classes/cluster/drivetrain-ha/init.yml
+++ b/classes/cluster/drivetrain-ha/init.yml
@@ -1,7 +1,14 @@
 classes:
-- system.linux.network.dynamic_hosts
-- cluster.drivetrain-ha.cicd.control
-- cluster.drivetrain-ha.infra
-#- cluster.drivetrain-ha.cicd
-- cluster.overrides
-
+  - system.linux.network.dynamic_hosts
+  - system.linux.system.single
+  - system.linux.system.haveged
+  - system.linux.system.prompt
+  - system.linux.system.motd.dynamic
+  - system.openssh.server.team.lab
+  - system.openssh.server.team.tcpcloud
+  - system.openssh.server.team.stacklight
+  - system.openssh.server.team.mcp_qa
+  - system.openssh.server.team.oss_team
+  - cluster.drivetrain-ha.infra
+  - cluster.drivetrain-ha.cicd.control
+  - cluster.overrides