Add Swarm cluster to mcp11-k8s-calico model

The change also fixes the network configuration of the infra node and
adds scripts to deploy Kubnernetes environments.

Change-Id: Ib8b3f01210be9180d9c8eaf8dfe885a4475fd82b
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/swarm/control.yml b/classes/cluster/virtual-mcp11-k8s-calico/swarm/control.yml
new file mode 100644
index 0000000..5f91f9e
--- /dev/null
+++ b/classes/cluster/virtual-mcp11-k8s-calico/swarm/control.yml
@@ -0,0 +1,7 @@
+classes:
+- system.docker.host
+- cluster.virtual-mcp11-k8s-calico.infra
+parameters:
+  _param:
+    cluster_vip_address: ${_param:docker_swarm_address}
+    cluster_public_host: ${_param:docker_swarm_hostname}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/swarm/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/swarm/init.yml
new file mode 100644
index 0000000..91590b8
--- /dev/null
+++ b/classes/cluster/virtual-mcp11-k8s-calico/swarm/init.yml
@@ -0,0 +1,43 @@
+parameters:
+  _param:
+    docker_swarm_hostname: mon
+    docker_swarm_address: 172.16.10.252
+    docker_swarm_node01_hostname: mon01
+    docker_swarm_node02_hostname: mon02
+    docker_swarm_node03_hostname: mon03
+    docker_swarm_node01_address: 172.16.10.107
+    docker_swarm_node02_address: 172.16.10.108
+    docker_swarm_node03_address: 172.16.10.109
+  linux:
+    network:
+      host:
+        mon:
+          address: ${_param:docker_swarm_address}
+          names:
+          - ${_param:docker_swarm_hostname}
+          - ${_param:docker_swarm_hostname}.${_param:cluster_domain}
+        mon01:
+          address: ${_param:docker_swarm_node01_address}
+          names:
+          - ${_param:docker_swarm_node01_hostname}
+          - ${_param:docker_swarm_node01_hostname}.${_param:cluster_domain}
+        mon02:
+          address: ${_param:docker_swarm_node02_address}
+          names:
+          - ${_param:docker_swarm_node02_hostname}
+          - ${_param:docker_swarm_node02_hostname}.${_param:cluster_domain}
+        mon03:
+          address: ${_param:docker_swarm_node03_address}
+          names:
+          - ${_param:docker_swarm_node03_hostname}
+          - ${_param:docker_swarm_node03_hostname}.${_param:cluster_domain}
+      interface:
+        ens4:
+          enabled: true
+          type: eth
+          proto: static
+          address: ${_param:single_address}
+          netmask: 255.255.255.0
+    system:
+      name: ${_param:infra_config_hostname}
+      domain: ${_param:cluster_domain}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/swarm/master.yml b/classes/cluster/virtual-mcp11-k8s-calico/swarm/master.yml
new file mode 100644
index 0000000..8d53081
--- /dev/null
+++ b/classes/cluster/virtual-mcp11-k8s-calico/swarm/master.yml
@@ -0,0 +1,15 @@
+classes:
+- system.docker.client
+- system.docker.swarm.master
+- cluster.virtual-mcp11-k8s-calico.swarm.control
+parameters:
+  docker:
+    client:
+      enabled: true
+      compose:
+        source:
+          engine: docker
+          image: "docker/compose:1.8.0"
+    swarm:
+      role: master
+      advertise_addr: ${_param:single_address}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/swarm/slave.yml b/classes/cluster/virtual-mcp11-k8s-calico/swarm/slave.yml
new file mode 100644
index 0000000..1b1a8d2
--- /dev/null
+++ b/classes/cluster/virtual-mcp11-k8s-calico/swarm/slave.yml
@@ -0,0 +1,8 @@
+classes:
+- system.docker.swarm.manager
+- cluster.virtual-mcp11-k8s-calico.swarm.control
+parameters:
+  docker:
+    swarm:
+      master:
+        host: ${_param:docker_swarm_node01_address}