Merge "Adding metadata for VMs and change flavor"
diff --git a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp0-gtw0.yaml b/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp0-gtw0.yaml
index 5376ac4..8da45aa 100644
--- a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp0-gtw0.yaml
+++ b/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp0-gtw0.yaml
@@ -103,7 +103,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             # The roles will be assigned based on node labels.
             # roles:
@@ -121,7 +121,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.102
@@ -134,7 +134,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.103
@@ -147,7 +147,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.104
@@ -160,7 +160,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.105
@@ -173,7 +173,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.106
diff --git a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp2-gtw0.yaml b/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp2-gtw0.yaml
index f45829b..3c9ae9d 100644
--- a/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp2-gtw0.yaml
+++ b/de/heat-templates/env/bmt402-mstr1-wrkr3-cmp2-gtw0.yaml
@@ -103,7 +103,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             # The roles will be assigned based on node labels.
             # roles:
@@ -121,7 +121,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.102
@@ -134,7 +134,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.103
@@ -147,7 +147,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.104
@@ -160,7 +160,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.105
@@ -173,7 +173,7 @@
               - name: sdb
                 role: hdd
                 sizeGb: 450
-            ram: 64
+            ramGb: 64
             cores: 12
             ips:
               - 192.168.122.106
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0.yaml
index 51cbb33..c273f84 100644
--- a/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0.yaml
@@ -10,7 +10,7 @@
   image: bionic-server-cloudimg-amd64-20190612
   public_net_id: public
   masters_size: 0
-  worker_size: 3
+  worker_size: 5
   cmp_size: 2
   gtw_size: 0
   lma_size: 0
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml
new file mode 100644
index 0000000..b3ee49c
--- /dev/null
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml
@@ -0,0 +1,25 @@
+resource_registry:
+  "MCP2::NetworkAcc": ../fragments/NetworkAccVM.yaml
+  "MCP2::NetworkAccStorage": ../fragments/NetworkAccVMStorage.yaml
+  "MCP2::NetworkPrvFl": ../fragments/NetworkPrvFl.yaml
+  "MCP2::SrvInstances": ../fragments/SrvInstancesVM.yaml
+  "MCP2::SrvInstancesCeph": ../fragments/SrvInstancesVMCeph.yaml
+  "MCP2::SrvInstancesCephOSD": ../fragments/SrvInstancesVMCephOSD.yaml
+
+parameters:
+  image: bionic-server-cloudimg-amd64-20190612
+  public_net_id: public
+  masters_size: 0
+  worker_size: 5
+  cmp_size: 3
+  gtw_size: 0
+  lma_size: 0
+  osd_size: 0
+  ucp_boot_timeout: 3600
+  cluster_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp0evjOaK8c8SKYK4r2+0BN7g+8YSvQ2n8nFgOURCyvkJqOHi1qPGZmuN0CclYVdVuZiXbWw3VxRbSW3EH736VzgY1U0JmoTiSamzLHaWsXvEIW8VCi7boli539QJP0ikJiBaNAgZILyCrVPN+A6mfqtacs1KXdZ0zlMq1BPtFciR1JTCRcVs5vP2Wwz5QtY2jMIh3aiwkePjMTQPcfmh1TkOlxYu5IbQyZ3G1ahA0mNKI9a0dtF282av/F6pwB/N1R1nEZ/9VtcN2I1mf1NW/tTHEEcTzXYo1R/8K9vlqAN8QvvGLZtZduGviNVNoNWvoxaXxDt8CPv2B2NCdQFZp
+  private_floating_network_cidr: '10.11.12.0/24'
+  private_floating_interface: 'ens4'
+  worker_metadata: {"labels": {"openstack-control-plane":"enabled","openvswitch":"enabled","openstack-gateway":"enabled","role":"ceph-osd-node"}}
+  cmp_metadata: {"labels": {"openstack-compute-node":"enabled","openvswitch":"enabled", "role":"ceph-osd-node"}}
+  gtw_metadata: {"labels": {"openvswitch":"enabled"}}
+  hardware_metadata: ''
diff --git a/de/heat-templates/scripts/instance_boot.sh b/de/heat-templates/scripts/instance_boot.sh
index a021c82..3668543 100644
--- a/de/heat-templates/scripts/instance_boot.sh
+++ b/de/heat-templates/scripts/instance_boot.sh
@@ -104,7 +104,7 @@
 function install_required_packages {
     function install_retry {
         apt update
-        apt install -y apt-transport-https ca-certificates curl software-properties-common jq unzip atop
+        export DEBIAN_FRONTEND=noninteractive; apt install -y apt-transport-https ca-certificates curl software-properties-common jq unzip atop iptables-persistent
     }
     retry 10 "Failed to install required packages" install_retry
 }
@@ -112,8 +112,8 @@
 
 function install_docker {
     function install_retry {
-        curl --retry 6 --retry-delay 5 -fsSL "${DOCKER_URL}/ubuntu/gpg" | sudo apt-key add -
-        add-apt-repository "deb [arch=amd64] ${DOCKER_URL}/ubuntu ${OS_CODENAME} ${DOCKER_RELEASE}"
+        curl --retry 6 --retry-delay 5 -fsSL "${DOCKER_URL}/gpg" | sudo apt-key add -
+        add-apt-repository "deb [arch=amd64] ${DOCKER_URL}/ ${OS_CODENAME} ${DOCKER_RELEASE}"
         apt update
         apt install -y ${DOCKER_PACKAGES}
     }
@@ -263,10 +263,22 @@
 }
 
 function workaround_default_forward_policy {
+    cat << EOF > /etc/iptables/rules.v4
+*filter
+:DOCKER-USER - [0:0]
+EOF
     for net in $FLOATING_NETWORK_PREFIXES; do
-        iptables -I DOCKER-USER  -d ${net} -j ACCEPT
-        iptables -I DOCKER-USER  -s ${net} -j ACCEPT
+cat << EOF >> /etc/iptables/rules.v4
+-A DOCKER-USER -d ${net} -j ACCEPT
+-A DOCKER-USER -s ${net} -j ACCEPT
+EOF
     done
+
+cat << EOF >> /etc/iptables/rules.v4
+-A DOCKER-USER -j RETURN
+COMMIT
+EOF
+    sudo netfilter-persistent reload
 }
 
 function network_config {
@@ -333,21 +345,13 @@
     fi
 }
 
-function load_modules {
-    cat << EOF >> /etc/modprobe.d/qemu-system-x86.conf
-options kvm nested=1
-EOF
-
-modprobe kvm nested=1
-
-}
-
 
 case "$NODE_TYPE" in
     ucp)
         prepare_network
         update_docker_network
         install_required_packages
+        workaround_default_forward_policy
         install_docker
         network_config
         swarm_init
@@ -356,7 +360,6 @@
         download_bundles
         rm_ucp_config
         install_kubectl
-        workaround_default_forward_policy
         wait_for_node
         set_node_labels
         prepare_metadata_files
@@ -365,12 +368,12 @@
         prepare_network
         update_docker_network
         install_required_packages
+        workaround_default_forward_policy
         install_docker
         network_config
         download_bundles
         join_node manager
         install_kubectl
-        workaround_default_forward_policy
         wait_for_node
         set_node_labels
         prepare_metadata_files
@@ -379,13 +382,12 @@
         prepare_network
         update_docker_network
         install_required_packages
+        workaround_default_forward_policy
         install_docker
         network_config
-        load_modules
         download_bundles
         join_node worker
         install_kubectl
-        workaround_default_forward_policy
         wait_for_node
         set_node_labels
         prepare_metadata_files
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index d2c4048..6705980 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -140,7 +140,8 @@
     default: ''
   docker_ee_url:
     type: string
-    default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux'
+    default: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
+#    default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/ubuntu'
   docker_ee_release:
     type: string
     default: 'stable-19.03'