Add k8s-ha-contrail-40 virtual lab
Change-Id: I6f0f3eb35b35a11fd95c4f5a5ca0ba915907b6a3
diff --git a/classes/cluster/k8s-ha-contrail-40/infra/config.yml b/classes/cluster/k8s-ha-contrail-40/infra/config.yml
new file mode 100644
index 0000000..69a8d1b
--- /dev/null
+++ b/classes/cluster/k8s-ha-contrail-40/infra/config.yml
@@ -0,0 +1,135 @@
+classes:
+- system.linux.system.single
+- system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
+- system.openssh.client.lab
+- system.salt.master.pkg
+- system.salt.minion.ca.salt_master
+- system.salt.master.api
+- system.salt.minion.cert.k8s_server
+- system.reclass.storage.salt
+- system.reclass.storage.system.kubernetes_control_cluster
+- cluster.k8s-ha-contrail-40.infra
+
+parameters:
+ _param:
+ salt_master_base_environment: prd
+ reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
+ reclass_data_revision: master
+ reclass_config_master: ${_param:infra_config_deploy_address}
+ single_address: ${_param:infra_config_address}
+ deploy_address: ${_param:infra_config_deploy_address}
+ linux_system_codename: xenial
+ salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
+ salt_master_host: ${_param:infra_config_deploy_address}
+ salt_master_environment_revision: master
+ salt_master_environment_repository: 'https://github.com/salt-formulas'
+ salt:
+ master:
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ pre_up_cmds:
+ - "iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE"
+ post_down_cmds:
+ - "iptables -t nat -F POSTROUTING"
+ system:
+ kernel:
+ sysctl:
+ net.ipv4.conf.ens3.forwarding: 1
+ net.ipv4.conf.ens3.send_redirects: 0
+ 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>>
+ deploy_address:
+ value_template: <<node_deploy_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>>
+ kubernetes_control01:
+ expression: <<node_hostname>>__equals__ctl01
+ cluster_param:
+ kubernetes_control_node01_address:
+ value_template: <<node_control_ip>>
+ kubernetes_control_node01_deploy_address:
+ value_template: <<node_deploy_ip>>
+ kubernetes_control02:
+ expression: <<node_hostname>>__equals__ctl02
+ cluster_param:
+ kubernetes_control_node02_address:
+ value_template: <<node_control_ip>>
+ kubernetes_control_node02_deploy_address:
+ value_template: <<node_deploy_ip>>
+ kubernetes_control03:
+ expression: <<node_hostname>>__equals__ctl03
+ cluster_param:
+ kubernetes_control_node03_address:
+ value_template: <<node_control_ip>>
+ kubernetes_control_node03_deploy_address:
+ value_template: <<node_deploy_ip>>
+ etcd_control01:
+ expression: <<node_hostname>>__equals__ctl01
+ cluster_param:
+ etcd_control_node01_address:
+ value_template: <<node_deploy_ip>>
+ etcd_control02:
+ expression: <<node_hostname>>__equals__ctl02
+ cluster_param:
+ etcd_control_node02_address:
+ value_template: <<node_deploy_ip>>
+ etcd_control03:
+ expression: <<node_hostname>>__equals__ctl03
+ cluster_param:
+ etcd_control_node03_address:
+ value_template: <<node_deploy_ip>>
+ kubernetes_compute:
+ expression: <<node_hostname>>__startswith__cmp
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.kubernetes.compute
+ node:
+ kubernetes_control_node01:
+ params:
+ rabbitmq_cluster_role: master
+ opencontrail_database_id: 1
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.opencontrail.control
+ kubernetes_control_node02:
+ params:
+ rabbitmq_cluster_role: slave
+ opencontrail_database_id: 2
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.opencontrail.control
+ kubernetes_control_node03:
+ params:
+ rabbitmq_cluster_role: slave
+ opencontrail_database_id: 3
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.opencontrail.control
diff --git a/classes/cluster/k8s-ha-contrail-40/infra/init.yml b/classes/cluster/k8s-ha-contrail-40/infra/init.yml
new file mode 100644
index 0000000..6254ab0
--- /dev/null
+++ b/classes/cluster/k8s-ha-contrail-40/infra/init.yml
@@ -0,0 +1,36 @@
+classes:
+- system.linux.system.single
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.ubuntu
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- cluster.k8s-ha-contrail-40.kubernetes
+- cluster.overrides
+
+parameters:
+ _param:
+ # infra service addresses
+ infra_config_hostname: cfg01
+ infra_config_address: 172.16.10.100
+ infra_config_deploy_address: 192.168.10.90
+
+ cluster_domain: k8s-ha-contrail-40.local
+ cluster_name: k8s-ha-contrail-40
+ apt_mk_version: nightly
+ linux:
+ network:
+ host:
+ self:
+ address: ${_param:single_address}
+ names:
+ - ${linux:system:name}
+ - ${linux:system:name}.${linux:system:domain}
+ cfg01:
+ address: ${_param:infra_config_address}
+ names:
+ - ${_param:infra_config_hostname}
+ - ${_param:infra_config_hostname}.${_param:cluster_domain}
+ system:
+ name: ${_param:infra_config_hostname}
+ domain: ${_param:cluster_domain}