Add HugePages support for creating environments
- Add environment variable DRIVER_USE_HUGEPAGES=false (default)
to libvirt-based templates
- Remove outdated templates (mk22/aio)
Change-Id: Id8726917cf43dd45bf5cf73a2e76b74dfb0409ea
Reviewed-on: https://review.gerrithub.io/369602
Reviewed-by: Tatyanka Leontovich <tleontovich@mirantis.com>
Tested-by: Tatyanka Leontovich <tleontovich@mirantis.com>
diff --git a/README.md b/README.md
index 7990cfb..7d163ce 100644
--- a/README.md
+++ b/README.md
@@ -90,6 +90,51 @@
Labs with names mk22-lab-basic and mk22-lab-avdanced are deprecated and not recommended to use.
+Use HugePages for environments based on qemu-kvm VMs
+----------------------------------------------------
+
+To create VMs using HugePages, configure the server (see below) and then use the following variable:
+
+```
+export DRIVER_USE_HUGEPAGES=true
+```
+
+Configure HugePages without reboot
+==================================
+This is a runtime-based steps. To make it persistent, you need to edit some configs.
+
+1. Remove apparmor
+```
+service apparmor stop
+service apparmor teardown
+update-rc.d -f apparmor remove
+apt-get remove apparmor
+```
+
+2. Allocate memory for Hugepages
+
+2Mb * 30000 = ~60Gb RAM will be used for HugePages.
+Suitable for CI servers with 64Gb RAM and no other heavy services except libvirt.
+
+WARNING! Too high value will hang your server, be carefull and try lower values first.
+```
+echo 30000 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+apt-get install -y hugepages
+hugeadm --set-recommended-shmmax
+cat /proc/meminfo | grep HugePages
+```
+
+3. Mount hugetlbfs to use it with qemu-kvm
+```
+mkdir -p /mnt/hugepages2M
+mount -t hugetlbfs hugetlbfs /mnt/hugepages2M
+```
+
+4. Enable HugePages for libvirt
+```
+echo "hugetlbfs_mount = '/mnt/hugepages2M'" > /etc/libvirt/qemu.conf
+service libvirt-bin restart
+```
Create and start the env for manual tests
-----------------------------------------
diff --git a/tcp_tests/templates/ironic_standalone/underlay.yaml b/tcp_tests/templates/ironic_standalone/underlay.yaml
index 39a998e..9885cab 100644
--- a/tcp_tests/templates/ironic_standalone/underlay.yaml
+++ b/tcp_tests/templates/ironic_standalone/underlay.yaml
@@ -49,6 +49,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/mcp-fuel-aio/common-services.yaml b/tcp_tests/templates/mcp-fuel-aio/common-services.yaml
deleted file mode 100644
index 7c57f0b..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/common-services.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-{% from 'mcp-fuel-aio/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install support services
-- description: Create and distribute SSL certificates for services using salt state
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls salt
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 10}
- skip_fail: true
-
-- description: Install keepalived
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' state.sls keepalived -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 10}
- skip_fail: true
-
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-
-- description: Install haproxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' state.sls haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Install haproxy.service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.status haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Install docker
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@docker:host' state.sls docker.host
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Check docker
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@docker:host' cmd.run 'docker ps'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Install etcd
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@etcd:server' state.sls etcd.server.service
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Check the etcd health
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@etcd:server' cmd.run '. /var/lib/etcd/configenv && etcdctl cluster-health'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Install Kubernetes and Calico
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons;
- salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@kubernetes:pool' state.sls kubernetes.pool;
- salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@kubernetes:pool' cmd.run 'calicoctl node status';
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Setup NAT for Calico
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@etcd:server' --subset 1 state.sls etcd.server.setup
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Run whole master to check consistency
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: true
-
-
-- description: Register addons
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@kubernetes:master' --subset 1 state.sls kubernetes.master.setup
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mcp-fuel-aio/map.jinja b/tcp_tests/templates/mcp-fuel-aio/map.jinja
deleted file mode 100644
index 856c45b..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/map.jinja
+++ /dev/null
@@ -1,2 +0,0 @@
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mcp-fuel-aio') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
diff --git a/tcp_tests/templates/mcp-fuel-aio/openstack.yaml b/tcp_tests/templates/mcp-fuel-aio/openstack.yaml
deleted file mode 100644
index fb37f08..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/openstack.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-{% from 'mcp-fuel-aio/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install OpenStack control services
-
-- description: Run tests
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run "docker run --rm --net=host -e API_SERVER='http://127.0.0.1:8080' docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.6.1-1_1491395924598 >> e2e.output"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
\ No newline at end of file
diff --git a/tcp_tests/templates/mcp-fuel-aio/salt.yaml b/tcp_tests/templates/mcp-fuel-aio/salt.yaml
deleted file mode 100644
index 194dd8f..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/salt.yaml
+++ /dev/null
@@ -1,273 +0,0 @@
-{% from 'mcp-fuel-aio/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install salt to the config node
-
-
-- description: Configure repository on the cfg01 node
- cmd:
- echo "172.18.248.114 jenkins.mcp.mirantis.net gerrit.mcp.mirantis.net" >> /etc/hosts;
- echo "185.135.196.10 apt-mk.mirantis.com" >> /etc/hosts;
- echo "nameserver 172.18.208.44" >> /etc/resolv.conf;
- echo "nameserver 8.8.8.8" >> /etc/resolv.conf;
- which wget >/dev/null || (apt-get update; apt-get install -y wget);
- echo "deb [arch=amd64] http://apt-mk.mirantis.com/xenial nightly salt extra" > /etc/apt/sources.list.d/mcp_salt.list;
- wget -O - http://apt-mk.mirantis.com/public.gpg | apt-key add -;
- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list;
- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Installing salt master on cfg01
- cmd: apt-get install -y reclass git; apt-get install -y salt-master
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-
-- description: Clone reclass models with submodules
- cmd: |
- ssh-keyscan -H github.com >> ~/.ssh/known_hosts;
- git clone --recursive https://github.com/TatyankaLeontovich/k8s-salt-model /srv/salt/reclass -b docker_13;
- mkdir -p /srv/salt/reclass/classes/service;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- FORMULA_PATH=${FORMULA_PATH:-/usr/share/salt-formulas};
- FORMULA_REPOSITORY=${FORMULA_REPOSITORY:-deb [arch=amd64] http://apt-mk.mirantis.com/xenial stable salt};
- FORMULA_GPG=${FORMULA_GPG:-http://apt-mk.mirantis.com/public.gpg};
- which wget > /dev/null || (apt-get update; apt-get install -y wget);
- echo "${FORMULA_REPOSITORY}" > /etc/apt/sources.list.d/mcp_salt.list;
- wget -O - "${FORMULA_GPG}" | apt-key add -;
- apt-get clean; apt-get update;
- [ ! -d /srv/salt/reclass/classes/service ] && mkdir -p /srv/salt/reclass/classes/service;
- declare -a formula_services=("linux" "reclass" "salt" "openssh" "ntp" "git" "nginx" "collectd" "sensu" "heka" "sphinx" "keystone" "mysql" "grafana" "haproxy" "rsyslog" "horizon");
- echo -e "\nInstalling all required salt formulas\n";
- apt-get install -y "${formula_services[@]/#/salt-formula-}";
- for formula_service in "${formula_services[@]}"; do
- echo -e "\nLink service metadata for formula ${formula_service} ...\n";
- [ ! -L "/srv/salt/reclass/classes/service/${formula_service}" ] && ln -s ${FORMULA_PATH}/reclass/service/${formula_service} /srv/salt/reclass/classes/service/${formula_service};
- done;
- [ ! -d /srv/salt/env ] && mkdir -p /srv/salt/env;
- [ ! -L /srv/salt/env/prd ] && ln -s ${FORMULA_PATH}/env /srv/salt/env/prd;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
-
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: {{ HOSTNAME_CFG01 }}
- master: 127.0.0.1
- EOF
- apt-get install -y salt-minion;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt adoptors on cfg01
- cmd: |
- ln -s /usr/lib/python2.7/dist-packages/reclass/adapters/salt.py /usr/local/sbin/reclass-salt;
- chmod +x /usr/lib/python2.7/dist-packages/reclass/adapters/salt.py
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restart services
- cmd: |
- systemctl restart salt-master;
- systemctl restart salt-minion;
- echo "Showing system info and metadata ...";
- salt-call --no-color grains.items;
- salt-call --no-color pillar.data;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls linux;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls openssh;
- salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- '*' cmd.run "echo ' StrictHostKeyChecking no' >> /root/.ssh/config"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'reclass' formula on cfg01
- cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' reclass;
- salt-call --no-color state.sls salt.master;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: true
-
-
-- description: Run 'salt' formula on cfg01
- cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt.master.service;
- salt-call --no-color state.sls salt.master,salt.api,salt.minion.ca;
- systemctl restart salt-minion;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls reclass
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Sync all salt resources
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Show reclass-salt --top
- cmd: reclass-salt --top; salt-call --no-color state.sls salt.minion.cert -l info;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-
-# Bootstrap all nodes
-
-- description: Configure linux on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Configure linux on cmp
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.sls
- linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 20}
- skip_fail: false
-
-- description: Configure openssh on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Configure salt.minion on ctl
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls salt.minion
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure salt.minion on cmp
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.sls salt.minion
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' test.version
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Check salt top states on nodes
- cmd: salt '*' state.show_top
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Configure ntp and rsyslog on nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls ntp,rsyslog
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 10}
- skip_fail: false
diff --git a/tcp_tests/templates/mcp-fuel-aio/underlay--meta-data.yaml b/tcp_tests/templates/mcp-fuel-aio/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mcp-fuel-aio/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mcp-fuel-aio/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mcp-fuel-aio/underlay--user-data1604.yaml b/tcp_tests/templates/mcp-fuel-aio/underlay--user-data1604.yaml
deleted file mode 100644
index ad2c39b..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- - export TERM=linux
- - export LANG=C
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 192.168.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
diff --git a/tcp_tests/templates/mcp-fuel-aio/underlay.yaml b/tcp_tests/templates/mcp-fuel-aio/underlay.yaml
deleted file mode 100644
index b1e029b..0000000
--- a/tcp_tests/templates/mcp-fuel-aio/underlay.yaml
+++ /dev/null
@@ -1,287 +0,0 @@
----
-aliases:
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mcp-fuel-aio') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
-
-template:
- devops_settings:
- env_name: {{ os_env('ENV_NAME', 'mcp-fuel-aio') }}
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +107
- default_{{ HOSTNAME_CTL02 }}: +108
- default_{{ HOSTNAME_CTL03 }}: +109
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- ip_ranges:
- dhcp: [+90, -10]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +107
- default_{{ HOSTNAME_CTL02 }}: +108
- default_{{ HOSTNAME_CTL03 }}: +109
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- ip_ranges:
- dhcp: [+90, -10]
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
-
- l2_network_devices:
- private:
- address_pool: private-pool01
- dhcp: true
-
- admin:
- address_pool: admin-pool01
- dhcp: true
- forward:
- mode: nat
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- nodes:
- - name: {{ HOSTNAME_CFG01 }}
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: admin
- interface_model: *interface_model
- - label: ens4
- l2_network_device: private
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - admin
- ens4:
- networks:
- - private
-
- - name: {{ HOSTNAME_CTL01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1604.yaml
-
- interfaces: &interfaces
- - label: ens3
- l2_network_device: admin
- interface_model: *interface_model
- - label: ens4
- l2_network_device: private
- interface_model: *interface_model
- network_config: &network_config
- ens3:
- networks:
- - admin
- ens4:
- networks:
- - private
-
- - name: {{ HOSTNAME_CTL02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1604.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CTL03 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1604.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CMP01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1604.yaml
-
-
- interfaces: &all_interfaces
- - label: ens3
- l2_network_device: admin
- interface_model: *interface_model
- - label: ens4
- l2_network_device: private
- interface_model: *interface_model
- network_config: &all_network_config
- ens3:
- networks:
- - admin
- ens4:
- networks:
- - private
-
- - name: {{ HOSTNAME_CMP02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1604.yaml
-
- interfaces: *all_interfaces
- network_config: *all_network_config
diff --git a/tcp_tests/templates/mk22-lab-advanced/common-services.yaml b/tcp_tests/templates/mk22-lab-advanced/common-services.yaml
deleted file mode 100644
index 249bfaa..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/common-services.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# Install support services
-- description: Install keepalived on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- keepalived
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install keepalived on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keepalived -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run
- 'ip a | grep 172.16.10.254' | grep -B1 172.16.10.254
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glusterfs on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.server.service
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- glusterfs.server.setup
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Setup glusterfs on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.server.setup -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- 'gluster peer status; gluster volume status'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install RabbitMQ on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- rabbitmq
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run
- 'rabbitmqctl cluster_status'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: '*Workaround* Update salt-formula-galera on config node to the latest
- version'
- cmd: apt-get -y --force-yes install salt-formula-galera
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install Galera on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- galera
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install Galera on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- galera
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' mysql.status | grep -A1 wsrep_incoming_addresses
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-- description: Install haproxy on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- haproxy
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' service.status
- haproxy
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- memcached
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-advanced/opencontrail.yaml b/tcp_tests/templates/mk22-lab-advanced/opencontrail.yaml
deleted file mode 100644
index a9b0b59..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/opencontrail.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Prepare Juniper contrail-test
-
-- description: Allow password authentication for SSH on compute nodes
- cmd: salt 'cmp*' cmd.run "sed -i -e 's/^PasswordAuthentication./PasswordAuthentication yes/' /etc/ssh/sshd_config ; service ssh restart"
- node_name: cfg01.mk22-lab-basic.local
-
-- description: Install contrail-test on ctl01
- cmd: wget https://raw.githubusercontent.com/Juniper/contrail-test-ci/master/install.sh;
- chmod +x ./install.sh;
- ./install.sh install contrail-test --ci-ref R3.0.2.x --fab-ref R3.0.2.x --test-ref R3.0.2.x;
- node_name: ctl01.mk22-lab-basic.local
-
-- description: Install OpenJDK-7 for contrail tests
- cmd: apt-get -y install openjdk-7-jdk
- node_name: ctl01.mk22-lab-basic.local
diff --git a/tcp_tests/templates/mk22-lab-advanced/openstack.yaml b/tcp_tests/templates/mk22-lab-advanced/openstack.yaml
deleted file mode 100644
index 55b151c..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/openstack.yaml
+++ /dev/null
@@ -1,220 +0,0 @@
-# Install OpenStack control services
-- description: Install keystone on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- keystone
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install keystone on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keystone -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Populate keystone services/tenants/admins
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- keystone.client
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check keystone service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; keystone service-list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glance on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- glance
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glance on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glance -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Configure glusterfs.client on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.client
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Configure(re-install) keystone on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keystone -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check glance image-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; glance image-list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install cinder on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- cinder -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check cinder list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; cinder list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install nova on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- nova
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install nova on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- nova
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check nova service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; nova service-list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install neutron on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- neutron
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install neutron on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- neutron
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check neutron agent-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; neutron agent-list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Deploy dashboard on prx*
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'prx*' state.apply
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-- description: Deploy nginx proxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cfg*' state.sls
- nginx
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-# Install contrail on controllers
-
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail.database
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install contrail database on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- opencontrail.database -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check cassandra status on ctl01
- cmd: salt 'ctl01*' cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install opencontrail on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- opencontrail -b 1
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check contrail status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; contrail-status; neutron net-list; nova net-list'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl01 --host_ip 172.16.10.101 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl02
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl02*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl02 --host_ip 172.16.10.102 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl03
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl03*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl03 --host_ip 172.16.10.103 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Install compute node
-
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164for opencontrail on compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Apply formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164for opencontrail on compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Re-apply(as in doc) formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add vrouter for cmp01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '/usr/share/contrail-utils/provision_vrouter.py --oper add --host_name cmp01 --host_ip
- 172.16.10.105 --api_server_ip 172.16.10.254 --api_server_port 8082 --admin_user
- admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Reboot compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' system.reboot
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check IP on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'ip a'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check contrail status on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'contrail-status'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-advanced/salt.yaml b/tcp_tests/templates/mk22-lab-advanced/salt.yaml
deleted file mode 100644
index fca87fc..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/salt.yaml
+++ /dev/null
@@ -1,231 +0,0 @@
-# Install salt to the config node
-- description: Configure tcpcloud repository on the cfg01 node
- cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt' > /etc/apt/sources.list;
- echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt' >> /etc/apt/sources.list;
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-#- description: Configure tcpcloud and saltstack repositories on the rest of nodes
-# cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list;
-# wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add - ;
-# echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list;
-# wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-# node_name: ***
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update && apt-get -y upgrade
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install salt formulas, master and minion on cfg01
- cmd: apt-get install -y salt-formula-* salt-master salt-minion reclass
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Clone reclass models and perform a workaround for https://mirantis.jira.com/browse/PROD-8078
- cmd: |
- git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass -b dash;
- cat << 'EOF' >> /srv/salt/reclass/nodes/control/cfg01.mk22-lab-advanced.local.yml
- # local storage
- reclass:
- storage:
- data_source:
- engine: local
- EOF
- sed -i '/nagios/d' /srv/salt/reclass/classes/system/salt/master/formula/pkg/stacklight.yml
- cd /srv/salt/reclass; git add -A;git commit -m"use dash repo";
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- mkdir -p /srv/salt/reclass/classes/service;
- for i in /usr/share/salt-formulas/reclass/service/*; do
- ln -s $i /srv/salt/reclass/classes/service/;
- done;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: cfg01.mk22-lab-advanced.local
- master: localhost
- EOF
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restarting salt services with workarounds
- cmd: service salt-master restart;
- sleep 60;
- rm -f /etc/salt/pki/minion/minion_master.pub;
- service salt-minion restart;
- reclass -n cfg01.mk22-lab-advanced.local;
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- linux
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- openssh;sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
- && service ssh restart
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: echo ' StrictHostKeyChecking no' >> /root/.ssh/config
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'salt' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- salt
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- reclass.storage
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-# Bootstrap all nodes
-- description: Configure linux on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- linux
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 5, delay: 5}
- skip_fail: false
-
-- description: Configure openssh on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8025'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- update && apt-get -y upgrade'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install linux-image-extra-$(uname -r)'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8025'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install python-requests'
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-#- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-8063'
-# cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'dhclient
-# -r;dhclient'
-# node_name: cfg01.mk22-lab-advanced.local
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- salt.minion
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- ntp
- node_name: cfg01.mk22-lab-advanced.local
- retry: {count: 5, delay: 10}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-advanced/underlay--meta-data.yaml b/tcp_tests/templates/mk22-lab-advanced/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mk22-lab-advanced/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1404.yaml b/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1404.yaml
deleted file mode 100644
index 5a16378..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1404.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i'.orig' -e's/without-password/yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup eth0
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup eth1
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- # Workaround for bug https://mirantis.jira.com/browse/PROD-8214
- - apt-get -y install --install-recommends linux-generic-lts-xenial
- - reboot
-
- ########################################################
- # Node is ready, allow SSH access
- ## - echo "Allow SSH access ..."
- ## - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1604.yaml b/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1604.yaml
deleted file mode 100644
index a023203..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,93 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i'.orig' -e's/without-password/yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-advanced/underlay.yaml b/tcp_tests/templates/mk22-lab-advanced/underlay.yaml
deleted file mode 100644
index 19ce8c2..0000000
--- a/tcp_tests/templates/mk22-lab-advanced/underlay.yaml
+++ /dev/null
@@ -1,271 +0,0 @@
----
-aliases:
- dynamic_addresses_pool:
- - &pool_default !os_env POOL_DEFAULT, 172.16.10.0/24:24
-
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-template:
- devops_settings:
- env_name: !os_env ENV_NAME, tcpcloud-mk22
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-lab-advanced.local: +100
- default_ctl01.mk22-lab-advanced.local: +101
- default_ctl02.mk22-lab-advanced.local: +102
- default_ctl03.mk22-lab-advanced.local: +103
- default_prx01.mk22-lab-advanced.local: +121
- default_cmp01.mk22-lab-advanced.local: +105
- ip_ranges:
- dhcp: [+100, -2]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-lab-advanced.local: +100
- default_ctl01.mk22-lab-advanced.local: +101
- default_ctl02.mk22-lab-advanced.local: +102
- default_ctl03.mk22-lab-advanced.local: +103
- default_prx01.mk22-lab-advanced.local: +121
- default_cmp01.mk22-lab-advanced.local: +105
- ip_ranges:
- dhcp: [+100, -2]
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
-
- l2_network_devices:
- admin:
- address_pool: admin-pool01
- dhcp: true
-# forward:
-# mode: nat
-
- private:
- address_pool: private-pool01
- dhcp: true
- forward:
- mode: nat
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- nodes:
- - name: cfg01.mk22-lab-advanced.local
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: private
- interface_model: *interface_model
- - label: ens4
- l2_network_device: admin
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - private
- ens4:
- networks:
- - admin
-
- - name: ctl01.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- network_config: &network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
-
- - name: ctl02.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: ctl03.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: prx01.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: cmp01.mk22-lab-advanced.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
diff --git a/tcp_tests/templates/mk22-lab-basic/common-services.yaml b/tcp_tests/templates/mk22-lab-basic/common-services.yaml
deleted file mode 100644
index db1d0a5..0000000
--- a/tcp_tests/templates/mk22-lab-basic/common-services.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# Install support services
-- description: Install keepalived on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- keepalived
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-- description: Install keepalived on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keepalived -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 10, delay: 10}
- skip_fail: true
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run
- 'ip a | grep 172.16.10.254' | grep -B1 172.16.10.254
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glusterfs on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.server.service
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- glusterfs.server.setup
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Setup glusterfs on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.server.setup -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- 'gluster peer status; gluster volume status'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install RabbitMQ on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- rabbitmq
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' cmd.run
- 'rabbitmqctl cluster_status'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: '*Workaround* Update salt-formula-galera on config node to the latest
- version'
- cmd: apt-get -y --force-yes install salt-formula-galera
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install Galera on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- galera
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install Galera on other controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- galera
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' mysql.status | grep -A1 wsrep_incoming_addresses
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-- description: Install haproxy on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- haproxy
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' service.status
- haproxy
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- memcached
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-basic/opencontrail.yaml b/tcp_tests/templates/mk22-lab-basic/opencontrail.yaml
deleted file mode 100644
index 7838d18..0000000
--- a/tcp_tests/templates/mk22-lab-basic/opencontrail.yaml
+++ /dev/null
@@ -1,110 +0,0 @@
-# Prepare Juniper contrail-test
-
-- description: Allow password authentication for SSH on compute nodes
- cmd: salt 'cmp*' cmd.run "sed -i -e 's/^PasswordAuthentication./PasswordAuthentication yes/' /etc/ssh/sshd_config ; service ssh restart"
- node_name: cfg01.mk22-lab-basic.local
-
-- description: Install contrail-test on ctl01
- cmd: wget https://raw.githubusercontent.com/Juniper/contrail-test-ci/master/install.sh;
- chmod +x ./install.sh;
- ./install.sh install contrail-test --ci-ref R3.0.2.x --fab-ref R3.0.2.x --test-ref R3.0.2.x;
- node_name: ctl01.mk22-lab-basic.local
-
-- description: Install OpenJDK-7 for contrail tests
- cmd: apt-get -y install openjdk-7-jdk
- node_name: ctl01.mk22-lab-basic.local
-
-- description: Create testbed.py with lab parameters
- cmd: |
- cat << EOF >> /opt/contrail/utils/fabfile/testbeds/testbed.py
- from fabric.api import env
-
- #Management ip addresses of hosts in the cluster
- os_ctrl_1 = 'root@172.16.10.101'
- os_ctrl_2 = 'root@172.16.10.102'
- os_ctrl_3 = 'root@172.16.10.103'
- c_ctrl_1 = 'root@172.16.10.101'
- c_ctrl_2 = 'root@172.16.10.102'
- c_ctrl_3 = 'root@172.16.10.103'
- c_compute_1 = 'root@172.16.10.105'
- #c_compute_2 = 'root@10.84.30.51'
- vip_ctrl = 'root@172.16.10.254'
-
- ext_routers = [
- ('gateway1','192.168.10.1'),
- #('gateway2','10.110.1.1'),
- ]
-
- #Autonomous system number
- router_asn = 64512
-
- #Host from which the fab commands are triggered to install and provision
- deploy_node = 'root@172.16.10.101'
-
- #Role definition of the hosts.
- env.roledefs = {
- 'all': [os_ctrl_1,c_ctrl_1,c_ctrl_2,c_ctrl_3,os_ctrl_2,os_ctrl_3,c_compute_1],
- 'cfgm': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'openstack': [os_ctrl_1,os_ctrl_2,os_ctrl_3],
- 'control': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'compute': [c_compute_1],
- 'collector': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- #'webui': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'webui': [vip_ctrl],
- 'database': [c_compute_1],
- 'build': [deploy_node],
- }
- #Openstack admin password
- env.openstack_admin_password = 'admin'
- env.password = 'r00tme'
- #Passwords of each host
- env.passwords = {
- os_ctrl_1: 'r00tme',
- c_ctrl_1: 'r00tme',
- c_ctrl_2: 'r00tme',
- c_ctrl_3: 'r00tme',
- os_ctrl_2: 'r00tme',
- os_ctrl_3: 'r00tme',
- c_compute_1: 'r00tme',
- deploy_node: 'r00tme',
- }
-
- env.ha = {
- 'internal_vip' : '172.16.10.254',
- #'external_vip' : '10.84.30.65',
- 'contrail_internal_vip' : '172.16.10.254',
- #'contrail_external_vip' : '192.168.200.254',
- }
-
- multi_tenancy = True
- env.keystone = {
- 'admin_user' : 'admin',
- 'admin_password' : 'workshop',
- 'service_tenant': 'admin',
- 'admin_tenant' : 'admin',
- 'keystone_ip' : '172.16.10.254',
- }
-
- os_username = 'admin'
- os_password = 'workshop'
- os_tenant_name = 'admin'
-
-
- control_data = {
- os_ctrl_1 : { 'ip': '172.16.10.101/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- os_ctrl_2 : { 'ip': '172.16.10.102/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- os_ctrl_3 : { 'ip': '172.16.10.103/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_1 : { 'ip': '172.16.10.101/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_2 : { 'ip': '172.16.10.102/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_3 : { 'ip': '172.16.10.103/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_compute_1 : { 'ip': '172.16.10.105/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- }
-
- env.test = {
- 'mail_to': 'user@test.mlx',
- 'mail_server': '10.204.x.x',
- 'mail_sender': 'mailer@juniper.net'
- }
- EOF
-
- node_name: ctl01.mk22-lab-basic.local
diff --git a/tcp_tests/templates/mk22-lab-basic/openstack.yaml b/tcp_tests/templates/mk22-lab-basic/openstack.yaml
deleted file mode 100644
index 154f73b..0000000
--- a/tcp_tests/templates/mk22-lab-basic/openstack.yaml
+++ /dev/null
@@ -1,219 +0,0 @@
-# Install OpenStack control services
-- description: Install keystone on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- keystone
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install keystone on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keystone -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Populate keystone services/tenants/admins
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- keystone.client
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check keystone service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; keystone service-list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glance on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- glance
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install glance on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glance -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Configure glusterfs.client on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- glusterfs.client
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Configure(re-install) keystone on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- keystone -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check glance image-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; glance image-list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install cinder on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- cinder -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check cinder list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; cinder list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install nova on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- nova
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install nova on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- nova
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check nova service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; nova service-list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install neutron on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' state.sls
- neutron
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install neutron on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- neutron
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check neutron agent-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; neutron agent-list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Deploy dashboard on prx*
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'prx*' state.apply
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-- description: Deploy nginx proxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cfg*' state.sls
- nginx
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-# Install contrail on controllers
-
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail.database
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install contrail database on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- opencontrail.database -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check cassandra status on ctl01
- cmd: salt 'ctl01*' cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Install opencontrail on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl*' state.sls
- opencontrail -b 1
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check contrail status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '. /root/keystonerc; contrail-status; neutron net-list; nova net-list'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl01 --host_ip 172.16.10.101 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl02
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl02*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl02 --host_ip 172.16.10.102 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add contrail bgp router on ctl03
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl03*' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl03 --host_ip 172.16.10.103 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Install compute node
-
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail on compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Apply formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Workaround of the bug https://mirantis.jira.com/browse/PROD-8164 for opencontrail on compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' grains.set noservices True
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Re-apply(as in doc) formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Add vrouter for cmp01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
- '/usr/share/contrail-utils/provision_vrouter.py --oper add --host_name cmp01 --host_ip
- 172.16.10.105 --api_server_ip 172.16.10.254 --api_server_port 8082 --admin_user
- admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Reboot compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' system.reboot
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-- description: Check IP on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'ip a'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 10, delay: 30}
- skip_fail: false
-- description: Check contrail status on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'contrail-status'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-basic/salt.yaml b/tcp_tests/templates/mk22-lab-basic/salt.yaml
deleted file mode 100644
index a9b1434..0000000
--- a/tcp_tests/templates/mk22-lab-basic/salt.yaml
+++ /dev/null
@@ -1,233 +0,0 @@
-# Install salt to the config node
-- description: Configure tcpcloud repository on the cfg01 node
- cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security tcp tcp-salt' > /etc/apt/sources.list;
- echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt' >> /etc/apt/sources.list;
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -;
- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list;
- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -;
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-#- description: Configure tcpcloud and saltstack repositories on the rest of nodes
-# cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list;
-# wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add - ;
-# echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list;
-# wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-# node_name: ***
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update && apt-get -y upgrade
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install salt formulas, master and minion on cfg01
- cmd: apt-get install -y salt-formula-* salt-master salt-minion reclass
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Clone reclass models and perform a workaround for https://mirantis.jira.com/browse/PROD-8078
- cmd: |
- git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass -b dash;
- cat << 'EOF' >> /srv/salt/reclass/nodes/control/cfg01.mk22-lab-basic.local.yml
- # local storage
- reclass:
- storage:
- data_source:
- engine: local
- EOF
- sed -i '/nagios/d' /srv/salt/reclass/classes/system/salt/master/formula/pkg/stacklight.yml
- cd /srv/salt/reclass; git add -A;git commit -m"use dash repo";
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- mkdir -p /srv/salt/reclass/classes/service;
- for i in /usr/share/salt-formulas/reclass/service/*; do
- ln -s $i /srv/salt/reclass/classes/service/;
- done;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: cfg01.mk22-lab-basic.local
- master: localhost
- EOF
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restarting salt services with workarounds
- cmd: service salt-master restart;
- sleep 60;
- rm -f /etc/salt/pki/minion/minion_master.pub;
- service salt-minion restart;
- reclass -n cfg01.mk22-lab-basic.local;
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- linux
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- openssh;sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
- && service ssh restart
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: echo ' StrictHostKeyChecking no' >> /root/.ssh/config
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'salt' formula on cfg01
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- salt
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt-call --hard-crash --state-output=mixed --state-verbose=False state.sls
- reclass.storage
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-# Bootstrap all nodes
-- description: Configure linux on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- linux
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 5, delay: 5}
- skip_fail: false
-
-- description: Configure openssh on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8025'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- update && apt-get -y upgrade'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install linux-image-extra-$(uname -r)'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8025'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install python-requests'
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-#- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-8063'
-# cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'dhclient
-# -r;dhclient'
-# node_name: cfg01.mk22-lab-basic.local
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- salt.minion
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- ntp
- node_name: cfg01.mk22-lab-basic.local
- retry: {count: 5, delay: 10}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-basic/underlay--meta-data.yaml b/tcp_tests/templates/mk22-lab-basic/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mk22-lab-basic/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mk22-lab-basic/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mk22-lab-basic/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mk22-lab-basic/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mk22-lab-basic/underlay--user-data1404.yaml b/tcp_tests/templates/mk22-lab-basic/underlay--user-data1404.yaml
deleted file mode 100644
index 60c33c8..0000000
--- a/tcp_tests/templates/mk22-lab-basic/underlay--user-data1404.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup eth0
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup eth1
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- # Workaround for bug https://mirantis.jira.com/browse/PROD-8214
- - apt-get -y install --install-recommends linux-generic-lts-xenial
- - reboot
-
- ########################################################
- # Node is ready, allow SSH access
- ##- echo "Allow SSH access ..."
- ##- sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-basic/underlay--user-data1604.yaml b/tcp_tests/templates/mk22-lab-basic/underlay--user-data1604.yaml
deleted file mode 100644
index b1c2dc0..0000000
--- a/tcp_tests/templates/mk22-lab-basic/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- - echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-basic/underlay.yaml b/tcp_tests/templates/mk22-lab-basic/underlay.yaml
deleted file mode 100644
index cf9124d..0000000
--- a/tcp_tests/templates/mk22-lab-basic/underlay.yaml
+++ /dev/null
@@ -1,245 +0,0 @@
----
-aliases:
- dynamic_addresses_pool:
- - &pool_default !os_env POOL_DEFAULT, 172.16.10.0/24:24
-
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-template:
- devops_settings:
- env_name: !os_env ENV_NAME, tcpcloud-mk22
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-lab-basic.local: +100
- default_ctl01.mk22-lab-basic.local: +101
- default_ctl02.mk22-lab-basic.local: +102
- default_ctl03.mk22-lab-basic.local: +103
- default_prx01.mk22-lab-basic.local: +121
- default_cmp01.mk22-lab-basic.local: +105
- ip_ranges:
- dhcp: [+100, -2]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-lab-basic.local: +100
- default_ctl01.mk22-lab-basic.local: +101
- default_ctl02.mk22-lab-basic.local: +102
- default_ctl03.mk22-lab-basic.local: +103
- default_prx01.mk22-lab-basic.local: +121
- default_cmp01.mk22-lab-basic.local: +105
- ip_ranges:
- dhcp: [+100, -2]
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
-
- l2_network_devices:
- admin:
- address_pool: admin-pool01
- dhcp: true
-# forward:
-# mode: nat
-
- private:
- address_pool: private-pool01
- dhcp: true
- forward:
- mode: nat
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- nodes:
- - name: cfg01.mk22-lab-basic.local
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: private
- interface_model: *interface_model
- - label: ens4
- l2_network_device: admin
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - private
- ens4:
- networks:
- - admin
-
- - name: ctl01.mk22-lab-basic.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- network_config: &network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
-
- - name: ctl02.mk22-lab-basic.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: ctl03.mk22-lab-basic.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: cmp01.mk22-lab-basic.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
diff --git a/tcp_tests/templates/mk22-lab-dvr/common-services.yaml b/tcp_tests/templates/mk22-lab-dvr/common-services.yaml
deleted file mode 100644
index 67b52ec..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/common-services.yaml
+++ /dev/null
@@ -1,106 +0,0 @@
-{% from 'mk22-lab-dvr/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-dvr/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install support services
-
-- description: Install keepalived
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' state.sls keepalived -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 10, delay: 10}
- skip_fail: true
-
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glusterfs
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.service
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.setup -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' cmd.run 'gluster peer status; gluster volume status' -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install RabbitMQ
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' state.sls rabbitmq
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' cmd.run 'rabbitmqctl cluster_status'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install Galera on first server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:master' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install Galera on other servers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:slave' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:*' mysql.status | grep -A1 -e "wsrep_incoming_addresses\|wsrep_cluster_size"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-- description: Install haproxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' state.sls haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.status haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Restart rsyslog
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.restart rsyslog
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@memcached:server' state.sls memcached
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-dvr/map.jinja b/tcp_tests/templates/mk22-lab-dvr/map.jinja
deleted file mode 100644
index 64368e4..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/map.jinja
+++ /dev/null
@@ -1,2 +0,0 @@
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mk22-lab-dvr') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
diff --git a/tcp_tests/templates/mk22-lab-dvr/openstack.yaml b/tcp_tests/templates/mk22-lab-dvr/openstack.yaml
deleted file mode 100644
index 29a02b5..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/openstack.yaml
+++ /dev/null
@@ -1,151 +0,0 @@
-{% from 'mk22-lab-dvr/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-dvr/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install OpenStack control services
-
-- description: Install keystone service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Populate keystone services/tenants/admins
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:client' state.sls keystone.client
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check keystone service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; keystone service-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glance on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glance -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure glusterfs.client on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glusterfs.client
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Update fernet tokens for keystone server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check glance image-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install nova on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nova:controller' state.sls nova -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check nova service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install cinder
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@cinder:controller' state.sls cinder -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check cinder list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install neutron service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@neutron:server' state.sls neutron -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check neutron agent-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@heat:server' state.sls heat -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; heat resource-type-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Deploy horizon dashboard
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@horizon:server' state.sls horizon
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Deploy nginx proxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nginx:server' state.sls nginx
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-# Install compute node
-
-- description: Apply formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Re-apply(as in doc) formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Check IP on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'ip a'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 10, delay: 30}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-dvr/salt.yaml b/tcp_tests/templates/mk22-lab-dvr/salt.yaml
deleted file mode 100644
index 1938517..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/salt.yaml
+++ /dev/null
@@ -1,290 +0,0 @@
-{% from 'mk22-lab-dvr/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-dvr/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install salt to the config node
-
-- description: Configure tcpcloud repository on the cfg01 node
- cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt' > /etc/apt/sources.list;
- echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt' >> /etc/apt/sources.list;
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -;
- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list;
- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -;
- #echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list;
- #wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-#- description: Configure tcpcloud and saltstack repositories on the rest of nodes
-# cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list;
-# wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add - ;
-# echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list;
-# wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-# node_name: ***
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update && apt-get -y upgrade
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install salt formulas, master and minion on cfg01
- # cmd: apt-get install -y salt-formula-* salt-master salt-minion reclass
- cmd: apt-get install -y
- salt-master
- salt-minion
- reclass
- salt-formula-linux
- salt-formula-reclass
- salt-formula-salt
- salt-formula-openssh
- salt-formula-ntp
- salt-formula-git
- salt-formula-nginx
- salt-formula-collectd
- salt-formula-sensu
- salt-formula-heka
- salt-formula-sphinx
- salt-formula-keystone
- salt-formula-mysql
- salt-formula-grafana
- salt-formula-haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Clone reclass models and perform a workaround for https://mirantis.jira.com/browse/PROD-8078
- cmd: |
- git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass;
- cd /srv/salt/reclass;
- git checkout master;
- cat << 'EOF' >> /srv/salt/reclass/nodes/control/{{ HOSTNAME_CFG01 }}.yml
- # local storage
- reclass:
- storage:
- data_source:
- engine: local
- EOF
- sed -i '/nagios/d' /srv/salt/reclass/classes/system/salt/master/formula/pkg/stacklight.yml
- cd /srv/salt/reclass; git add -A;git commit -m"use dash repo";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- mkdir -p /srv/salt/reclass/classes/service;
- for i in /usr/share/salt-formulas/reclass/service/*; do
- ln -s $i /srv/salt/reclass/classes/service/;
- done;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: {{ HOSTNAME_CFG01 }}
- master: localhost
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Workaround set low max_heap_size for Cassandra
- cmd: |
- cat << 'EOF' >> /srv/salt/reclass/classes/system/opencontrail/control/cluster.yml
- # opencontrail lowmem
- opencontrail:
- database:
- max_heap_size: "1G"
- heap_newsize: "200M"
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restarting salt serviceswith workarounds
- cmd: service salt-master restart;
- sleep 30;
- service salt-master restart;
- sleep 30;
- rm -f /etc/salt/pki/minion/minion_master.pub;
- service salt-minion restart;
- reclass -n {{ HOSTNAME_CFG01 }};
- sleep 10;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls openssh;
- salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- '*' cmd.run "echo ' StrictHostKeyChecking no' >> /root/.ssh/config"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'salt' formula on cfg01
- cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt.master
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls reclass
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Sync all salt resources
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Bootstrap all nodes
-
-- description: Workaround for missing kernel modules
- cmd: salt '*' cmd.run "for module in nf_conntrack_ipv4 ip_tables
- x_tables nf_defrag_ipv4 nf_nat_ipv4 nf_nat
- iptable_filter iptable_mangle iptable_nat;
- do
- modprobe \$module;
- echo \$module >> /etc/modules;
- done"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-
-- description: Configure linux on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 5}
- skip_fail: false
-
-- description: Configure openssh on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install linux-image-extra-$(uname -r)'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls salt.minion
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' test.version
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' state.show_top
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls ntp
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 10}
- skip_fail: false
-
diff --git a/tcp_tests/templates/mk22-lab-dvr/underlay--meta-data.yaml b/tcp_tests/templates/mk22-lab-dvr/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mk22-lab-dvr/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1404.yaml b/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1404.yaml
deleted file mode 100644
index e3a67d8..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1404.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup eth0
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup eth1
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3 trusty main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- # Workaround for bug https://mirantis.jira.com/browse/PROD-8214
- - apt-get -y install --install-recommends linux-generic-lts-xenial
- - reboot
-
- ########################################################
- # Node is ready, allow SSH access
- ##- echo "Allow SSH access ..."
- ##- sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1604.yaml b/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1604.yaml
deleted file mode 100644
index 09dc3df..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-dvr/underlay.yaml b/tcp_tests/templates/mk22-lab-dvr/underlay.yaml
deleted file mode 100644
index 74ef528..0000000
--- a/tcp_tests/templates/mk22-lab-dvr/underlay.yaml
+++ /dev/null
@@ -1,373 +0,0 @@
----
-aliases:
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mk22-lab-dvr') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
-{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
-
-template:
- devops_settings:
- env_name: {{ os_env('ENV_NAME', 'tcpcloud-mk22-dvr') }}
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+90, -10]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+90, -10]
-
- tenant-pool01:
- net: 10.1.0.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+10, -10]
-
- external-pool01:
- net: 10.16.0.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+10, -10]
-
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
- tenant: tenant-pool01
- external: external-pool01
-
- l2_network_devices:
- private:
- address_pool: private-pool01
- dhcp: true
- forward:
- mode: nat
-
- admin:
- address_pool: admin-pool01
- dhcp: true
-
- tenant:
- address_pool: tenant-pool01
- dhcp: true
-
- external:
- address_pool: external-pool01
- dhcp: true
- forward:
- mode: nat
-
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- nodes:
- - name: {{ HOSTNAME_CFG01 }}
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: private
- interface_model: *interface_model
- - label: ens4
- l2_network_device: admin
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - private
- ens4:
- networks:
- - admin
-
- - name: {{ HOSTNAME_CTL01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- network_config: &network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
-
- - name: {{ HOSTNAME_CTL02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CTL03 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CMP01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &all_interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- - label: eth2
- l2_network_device: tenant
- interface_model: *interface_model
- - label: eth3
- l2_network_device: external
- interface_model: *interface_model
- network_config: &all_network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
- eth2:
- networks:
- - tenant
- eth3:
- networks:
- - external
-
- - name: {{ HOSTNAME_CMP02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *all_interfaces
- network_config: *all_network_config
-
- - name: {{ HOSTNAME_GTW01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *all_interfaces
- network_config: *all_network_config
diff --git a/tcp_tests/templates/mk22-lab-ovs/common-services.yaml b/tcp_tests/templates/mk22-lab-ovs/common-services.yaml
deleted file mode 100644
index f4654ad..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/common-services.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
-{% from 'mk22-lab-ovs/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-ovs/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install support services
-
-- description: Install keepalived
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' state.sls keepalived -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 10, delay: 10}
- skip_fail: true
-
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glusterfs
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.service
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.setup -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' cmd.run 'gluster peer status; gluster volume status' -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install RabbitMQ
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' state.sls rabbitmq
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' cmd.run 'rabbitmqctl cluster_status'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install Galera on first server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:master' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install Galera on other servers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:slave' state.sls galera
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:*' mysql.status | grep -A1 -e "wsrep_incoming_addresses\|wsrep_cluster_size"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-- description: Install haproxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' state.sls haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.status haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Restart rsyslog
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.restart rsyslog
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@memcached:server' state.sls memcached
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-ovs/map.jinja b/tcp_tests/templates/mk22-lab-ovs/map.jinja
deleted file mode 100644
index 8d5952f..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/map.jinja
+++ /dev/null
@@ -1,2 +0,0 @@
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mk22-lab-ovs') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
diff --git a/tcp_tests/templates/mk22-lab-ovs/openstack.yaml b/tcp_tests/templates/mk22-lab-ovs/openstack.yaml
deleted file mode 100644
index 095814a..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/openstack.yaml
+++ /dev/null
@@ -1,151 +0,0 @@
-{% from 'mk22-lab-ovs/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-ovs/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install OpenStack control services
-
-- description: Install keystone service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Populate keystone services/tenants/admins
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:client' state.sls keystone.client
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check keystone service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; keystone service-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glance on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glance -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure glusterfs.client on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glusterfs.client
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Update fernet tokens for keystone server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check glance image-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install nova on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nova:controller' state.sls nova -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check nova service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install cinder
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@cinder:controller' state.sls cinder -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check cinder list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install neutron service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@neutron:server' state.sls neutron -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check neutron agent-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@heat:server' state.sls heat -b 1
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; heat resource-type-list'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Deploy horizon dashboard
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@horizon:server' state.sls horizon
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Deploy nginx proxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nginx:server' state.sls nginx
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-# Install compute node
-
-- description: Apply formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Re-apply(as in doc) formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Check IP on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'ip a'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 10, delay: 30}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-lab-ovs/salt.yaml b/tcp_tests/templates/mk22-lab-ovs/salt.yaml
deleted file mode 100644
index 2d271de..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/salt.yaml
+++ /dev/null
@@ -1,290 +0,0 @@
-{% from 'mk22-lab-ovs/map.jinja' import DOMAIN_NAME with context %}
-{% from 'mk22-lab-ovs/map.jinja' import HOSTNAME_CFG01 with context %}
-
-# Install salt to the config node
-
-- description: Configure tcpcloud repository on the cfg01 node
- cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt' > /etc/apt/sources.list;
- echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt' >> /etc/apt/sources.list;
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -;
- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list;
- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -;
- #echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list;
- #wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-#- description: Configure tcpcloud and saltstack repositories on the rest of nodes
-# cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list;
-# wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add - ;
-# echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list;
-# wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-# node_name: ***
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update && apt-get -y upgrade
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install salt formulas, master and minion on cfg01
- # cmd: apt-get install -y salt-formula-* salt-master salt-minion reclass
- cmd: apt-get install -y
- salt-master
- salt-minion
- reclass
- salt-formula-linux
- salt-formula-reclass
- salt-formula-salt
- salt-formula-openssh
- salt-formula-ntp
- salt-formula-git
- salt-formula-nginx
- salt-formula-collectd
- salt-formula-sensu
- salt-formula-heka
- salt-formula-sphinx
- salt-formula-keystone
- salt-formula-mysql
- salt-formula-grafana
- salt-formula-haproxy
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Clone reclass models and perform a workaround for https://mirantis.jira.com/browse/PROD-8078
- cmd: |
- git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass;
- cd /srv/salt/reclass;
- git checkout master;
- cat << 'EOF' >> /srv/salt/reclass/nodes/control/{{ HOSTNAME_CFG01 }}.yml
- # local storage
- reclass:
- storage:
- data_source:
- engine: local
- EOF
- sed -i '/nagios/d' /srv/salt/reclass/classes/system/salt/master/formula/pkg/stacklight.yml
- cd /srv/salt/reclass; git add -A;git commit -m"use dash repo";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- mkdir -p /srv/salt/reclass/classes/service;
- for i in /usr/share/salt-formulas/reclass/service/*; do
- ln -s $i /srv/salt/reclass/classes/service/;
- done;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: {{ HOSTNAME_CFG01 }}
- master: localhost
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Workaround set low max_heap_size for Cassandra
- cmd: |
- cat << 'EOF' >> /srv/salt/reclass/classes/system/opencontrail/control/cluster.yml
- # opencontrail lowmem
- opencontrail:
- database:
- max_heap_size: "1G"
- heap_newsize: "200M"
- EOF
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restarting salt serviceswith workarounds
- cmd: service salt-master restart;
- sleep 30;
- service salt-master restart;
- sleep 30;
- rm -f /etc/salt/pki/minion/minion_master.pub;
- service salt-minion restart;
- reclass -n {{ HOSTNAME_CFG01 }};
- sleep 10;
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls openssh;
- salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart";
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- '*' cmd.run "echo ' StrictHostKeyChecking no' >> /root/.ssh/config"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'salt' formula on cfg01
- cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt.master
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls reclass
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Sync all salt resources
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Bootstrap all nodes
-
-- description: Workaround for missing kernel modules
- cmd: salt '*' cmd.run "for module in nf_conntrack_ipv4 ip_tables
- x_tables nf_defrag_ipv4 nf_nat_ipv4 nf_nat
- iptable_filter iptable_mangle iptable_nat;
- do
- modprobe \$module;
- echo \$module >> /etc/modules;
- done"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-
-- description: Configure linux on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- linux
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 5}
- skip_fail: false
-
-- description: Configure openssh on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install linux-image-extra-$(uname -r)'
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls salt.minion
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' test.version
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' state.show_top
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls ntp
- node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 5, delay: 10}
- skip_fail: false
-
diff --git a/tcp_tests/templates/mk22-lab-ovs/underlay--meta-data.yaml b/tcp_tests/templates/mk22-lab-ovs/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mk22-lab-ovs/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1404.yaml b/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1404.yaml
deleted file mode 100644
index e3a67d8..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1404.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup eth0
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup eth1
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3 trusty main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- # Workaround for bug https://mirantis.jira.com/browse/PROD-8214
- - apt-get -y install --install-recommends linux-generic-lts-xenial
- - reboot
-
- ########################################################
- # Node is ready, allow SSH access
- ##- echo "Allow SSH access ..."
- ##- sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1604.yaml b/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1604.yaml
deleted file mode 100644
index 09dc3df..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
diff --git a/tcp_tests/templates/mk22-lab-ovs/underlay.yaml b/tcp_tests/templates/mk22-lab-ovs/underlay.yaml
deleted file mode 100644
index 0b76742..0000000
--- a/tcp_tests/templates/mk22-lab-ovs/underlay.yaml
+++ /dev/null
@@ -1,373 +0,0 @@
----
-aliases:
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'mk22-lab-ovs') + '.local' %}
-{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
-{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
-{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
-
-template:
- devops_settings:
- env_name: {{ os_env('ENV_NAME', 'tcpcloud-mk22-ovs') }}
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+90, -10]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+90, -10]
-
- tenant-pool01:
- net: 10.1.0.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+10, -10]
-
- external-pool01:
- net: 10.16.0.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_{{ HOSTNAME_CFG01 }}: +100
- default_{{ HOSTNAME_CTL01 }}: +101
- default_{{ HOSTNAME_CTL02 }}: +102
- default_{{ HOSTNAME_CTL03 }}: +103
- default_{{ HOSTNAME_CMP01 }}: +105
- default_{{ HOSTNAME_CMP02 }}: +106
- default_{{ HOSTNAME_GTW01 }}: +110
- ip_ranges:
- dhcp: [+10, -10]
-
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
- tenant: tenant-pool01
- external: external-pool01
-
- l2_network_devices:
- private:
- address_pool: private-pool01
- dhcp: true
- forward:
- mode: nat
-
- admin:
- address_pool: admin-pool01
- dhcp: true
-
- tenant:
- address_pool: tenant-pool01
- dhcp: true
-
- external:
- address_pool: external-pool01
- dhcp: true
- forward:
- mode: nat
-
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- nodes:
- - name: {{ HOSTNAME_CFG01 }}
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: private
- interface_model: *interface_model
- - label: ens4
- l2_network_device: admin
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - private
- ens4:
- networks:
- - admin
-
- - name: {{ HOSTNAME_CTL01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- network_config: &network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
-
- - name: {{ HOSTNAME_CTL02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CTL03 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 8192
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: cinder
- capacity: 50
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: {{ HOSTNAME_CMP01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &all_interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- - label: eth2
- l2_network_device: tenant
- interface_model: *interface_model
- - label: eth3
- l2_network_device: external
- interface_model: *interface_model
- network_config: &all_network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
- eth2:
- networks:
- - tenant
- eth3:
- networks:
- - external
-
- - name: {{ HOSTNAME_CMP02 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 4096
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *all_interfaces
- network_config: *all_network_config
-
- - name: {{ HOSTNAME_GTW01 }}
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *all_interfaces
- network_config: *all_network_config
diff --git a/tcp_tests/templates/mk22-qa-lab01/common-services.yaml b/tcp_tests/templates/mk22-qa-lab01/common-services.yaml
deleted file mode 100644
index 430c6f2..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/common-services.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-# Install support services
-
-- description: Install keepalived
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' state.sls keepalived -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 10, delay: 10}
- skip_fail: true
-
-- description: Check the VIP
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keepalived:cluster' cmd.run 'ip a | grep 172.16.10.2' | grep -B1 172.16.10.2
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glusterfs
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.service
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Setup glusterfs on primary controller
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' state.sls glusterfs.server.setup -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the gluster status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glusterfs:server' cmd.run 'gluster peer status; gluster volume status' -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install RabbitMQ
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' state.sls rabbitmq
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check the rabbitmq status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@rabbitmq:server' cmd.run 'rabbitmqctl cluster_status'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install Galera on first server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:master' state.sls galera
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install Galera on other servers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:slave' state.sls galera
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check mysql status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@galera:*' mysql.status | grep -A1 -e "wsrep_incoming_addresses\|wsrep_cluster_size"
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-- description: Install haproxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' state.sls haproxy
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check haproxy status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.status haproxy
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Restart rsyslog
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@haproxy:proxy' service.restart rsyslog
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install memcached on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@memcached:server' state.sls memcached
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-qa-lab01/opencontrail.yaml b/tcp_tests/templates/mk22-qa-lab01/opencontrail.yaml
deleted file mode 100644
index 6ea540b..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/opencontrail.yaml
+++ /dev/null
@@ -1,110 +0,0 @@
-# Prepare Juniper contrail-test
-
-- description: Allow password authentication for SSH on compute nodes
- cmd: salt 'cmp*' cmd.run "sed -i -e 's/^PasswordAuthentication./PasswordAuthentication yes/' /etc/ssh/sshd_config ; service ssh restart"
- node_name: cfg01.mk22-qa-lab01.local
-
-- description: Install contrail-test on ctl01
- cmd: wget https://raw.githubusercontent.com/Juniper/contrail-test-ci/master/install.sh;
- chmod +x ./install.sh;
- ./install.sh install contrail-test --ci-ref R3.0.2.x --fab-ref R3.0.2.x --test-ref R3.0.2.x;
- node_name: ctl01.mk22-qa-lab01.local
-
-- description: Install OpenJDK-7 for contrail tests
- cmd: apt-get -y install openjdk-7-jdk
- node_name: ctl01.mk22-qa-lab01.local
-
-- description: Create testbed.py with lab parameters
- cmd: |
- cat << EOF >> /opt/contrail/utils/fabfile/testbeds/testbed.py
- from fabric.api import env
-
- #Management ip addresses of hosts in the cluster
- os_ctrl_1 = 'root@172.16.10.101'
- os_ctrl_2 = 'root@172.16.10.102'
- os_ctrl_3 = 'root@172.16.10.103'
- c_ctrl_1 = 'root@172.16.10.101'
- c_ctrl_2 = 'root@172.16.10.102'
- c_ctrl_3 = 'root@172.16.10.103'
- c_compute_1 = 'root@172.16.10.105'
- #c_compute_2 = 'root@10.84.30.51'
- vip_ctrl = 'root@172.16.10.254'
-
- ext_routers = [
- ('gateway1','192.168.10.1'),
- #('gateway2','10.110.1.1'),
- ]
-
- #Autonomous system number
- router_asn = 64512
-
- #Host from which the fab commands are triggered to install and provision
- deploy_node = 'root@172.16.10.101'
-
- #Role definition of the hosts.
- env.roledefs = {
- 'all': [os_ctrl_1,c_ctrl_1,c_ctrl_2,c_ctrl_3,os_ctrl_2,os_ctrl_3,c_compute_1],
- 'cfgm': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'openstack': [os_ctrl_1,os_ctrl_2,os_ctrl_3],
- 'control': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'compute': [c_compute_1],
- 'collector': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- #'webui': [c_ctrl_1,c_ctrl_2,c_ctrl_3],
- 'webui': [vip_ctrl],
- 'database': [c_compute_1],
- 'build': [deploy_node],
- }
- #Openstack admin password
- env.openstack_admin_password = 'admin'
- env.password = 'r00tme'
- #Passwords of each host
- env.passwords = {
- os_ctrl_1: 'r00tme',
- c_ctrl_1: 'r00tme',
- c_ctrl_2: 'r00tme',
- c_ctrl_3: 'r00tme',
- os_ctrl_2: 'r00tme',
- os_ctrl_3: 'r00tme',
- c_compute_1: 'r00tme',
- deploy_node: 'r00tme',
- }
-
- env.ha = {
- 'internal_vip' : '172.16.10.254',
- #'external_vip' : '10.84.30.65',
- 'contrail_internal_vip' : '172.16.10.254',
- #'contrail_external_vip' : '192.168.200.254',
- }
-
- multi_tenancy = True
- env.keystone = {
- 'admin_user' : 'admin',
- 'admin_password' : 'workshop',
- 'service_tenant': 'admin',
- 'admin_tenant' : 'admin',
- 'keystone_ip' : '172.16.10.254',
- }
-
- os_username = 'admin'
- os_password = 'workshop'
- os_tenant_name = 'admin'
-
-
- control_data = {
- os_ctrl_1 : { 'ip': '172.16.10.101/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- os_ctrl_2 : { 'ip': '172.16.10.102/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- os_ctrl_3 : { 'ip': '172.16.10.103/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_1 : { 'ip': '172.16.10.101/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_2 : { 'ip': '172.16.10.102/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_ctrl_3 : { 'ip': '172.16.10.103/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- c_compute_1 : { 'ip': '172.16.10.105/24', 'gw' : '172.16.10.1', 'device':'eth1' },
- }
-
- env.test = {
- 'mail_to': 'user@test.mlx',
- 'mail_server': '10.204.x.x',
- 'mail_sender': 'mailer@juniper.net'
- }
- EOF
-
- node_name: ctl01.mk22-qa-lab01.local
diff --git a/tcp_tests/templates/mk22-qa-lab01/openstack.yaml b/tcp_tests/templates/mk22-qa-lab01/openstack.yaml
deleted file mode 100644
index d2ac096..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/openstack.yaml
+++ /dev/null
@@ -1,245 +0,0 @@
-# Install OpenStack control services
-
-- description: Install keystone service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Populate keystone services/tenants/admins
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:client' state.sls keystone.client
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check keystone service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; keystone service-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install glance on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glance -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure glusterfs.client on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@glance:server' state.sls glusterfs.client
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Update fernet tokens for keystone server
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' state.sls keystone.server -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check glance image-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; glance image-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install nova on all controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nova:controller' state.sls nova -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check nova service-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; nova service-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install cinder
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@cinder:controller' state.sls cinder -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check cinder list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; cinder list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install neutron service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@neutron:server' state.sls neutron -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check neutron agent-list
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron agent-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Install heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@heat:server' state.sls heat -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check heat service
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; heat resource-type-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Deploy horizon dashboard
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@horizon:server' state.sls horizon
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Deploy nginx proxy
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@nginx:server' state.sls nginx
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-
-# Install contrail on controllers
-
-- description: Install contrail database on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:database' state.sls opencontrail.database -b 1
- #cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- # 'ctl*' state.sls opencontrail.database -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check cassandra status on ctl01
- cmd: salt -C 'I@opencontrail:database'
- cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;' -b 1
- #cmd: salt 'ctl*'
- # cmd.run 'nodetool status;nodetool compactionstats;nodetool describecluster;' -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Install opencontrail control services
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control' state.sls opencontrail -b 1
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-- description: Add contrail bgp router on ctl01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control:id:1' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl01 --host_ip 172.16.10.101 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Add contrail bgp router on ctl02
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control:id:1' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl02 --host_ip 172.16.10.102 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Add contrail bgp router on ctl03
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control:id:1' cmd.run
- '/usr/share/contrail-utils/provision_control.py --oper add --api_server_ip 172.16.10.254
- --api_server_port 8082 --host_name ctl03 --host_ip 172.16.10.103 --router_asn
- 64512 --admin_user admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check contrail status
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control' cmd.run 'contrail-status'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Test neutron and nova with contrail
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@keystone:server' cmd.run '. /root/keystonerc; neutron net-list; nova net-list'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Install compute node
-
-- description: Apply formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Re-apply(as in doc) formulas for compute node
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' state.apply
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Add vrouter for cmp01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@opencontrail:control:id:1' cmd.run
- '/usr/share/contrail-utils/provision_vrouter.py --oper add --host_name cmp01 --host_ip
- 172.16.10.105 --api_server_ip 172.16.10.254 --api_server_port 8082 --admin_user
- admin --admin_password workshop --admin_tenant_name admin'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Reboot compute nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' system.reboot;
- sleep 30
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check IP on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'ip a'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 10, delay: 30}
- skip_fail: false
-
-- description: Check contrail status on computes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'cmp*' cmd.run
- 'contrail-status'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
diff --git a/tcp_tests/templates/mk22-qa-lab01/salt.yaml b/tcp_tests/templates/mk22-qa-lab01/salt.yaml
deleted file mode 100644
index b22a71d..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/salt.yaml
+++ /dev/null
@@ -1,270 +0,0 @@
-# Install salt to the config node
-
-- description: Configure tcpcloud repository on the cfg01 node
- cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt' > /etc/apt/sources.list;
- echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty tcp-salt' >> /etc/apt/sources.list;
- wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -;
- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list;
- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -;
- #echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list;
- #wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -;
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-#- description: Configure tcpcloud and saltstack repositories on the rest of nodes
-# cmd: echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list;
-# wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add - ;
-# echo 'deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main' > /etc/apt/sources.list.d/saltstack.list;
-# wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
-# node_name: ***
-# retry: {count: 1, delay: 1}
-# skip_fail: false
-
-- description: Update packages on cfg01
- cmd: apt-get clean; apt-get update && apt-get -y upgrade
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install common packages on cfg01
- cmd: apt-get install -y python-pip wget curl tmux byobu iputils-ping traceroute htop tree
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Install salt formulas, master and minion on cfg01
- # cmd: apt-get install -y salt-formula-* salt-master salt-minion reclass
- cmd: apt-get install -y
- salt-master
- salt-minion
- reclass
- salt-formula-linux
- salt-formula-reclass
- salt-formula-salt
- salt-formula-openssh
- salt-formula-ntp
- salt-formula-git
- salt-formula-nginx
- salt-formula-collectd
- salt-formula-sensu
- salt-formula-heka
- salt-formula-sphinx
- salt-formula-keystone
- salt-formula-mysql
- salt-formula-grafana
- salt-formula-haproxy
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-- description: Configure salt-master on cfg01
- cmd: |
- cat << 'EOF' >> /etc/salt/master.d/master.conf
- file_roots:
- base:
- - /usr/share/salt-formulas/env
- pillar_opts: False
- open_mode: True
- reclass: &reclass
- storage_type: yaml_fs
- inventory_base_uri: /srv/salt/reclass
- ext_pillar:
- - reclass: *reclass
- master_tops:
- reclass: *reclass
- EOF
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure GIT settings and certificates
- cmd: touch /root/.git_trusted_certs.pem;
- for server in git.tcpcloud.eu github.com; do
- openssl s_client -showcerts -connect $server:443 </dev/null
- | openssl x509 -outform PEM
- >> /root/.git_trusted_certs.pem;
- done;
- HOME=/root git config --global http.sslCAInfo /root/.git_trusted_certs.pem;
- HOME=/root git config --global user.email "tcp-qa@example.com";
- HOME=/root git config --global user.name "TCP QA";
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Clone reclass models and perform a workaround for https://mirantis.jira.com/browse/PROD-8078
- cmd: |
- git clone https://github.com/Mirantis/mk-lab-salt-model.git /srv/salt/reclass;
- cd /srv/salt/reclass;
- git checkout master;
- cat << 'EOF' >> /srv/salt/reclass/nodes/control/cfg01.mk22-qa-lab01.local.yml
- # local storage
- reclass:
- storage:
- data_source:
- engine: local
- EOF
- sed -i '/nagios/d' /srv/salt/reclass/classes/system/salt/master/formula/pkg/stacklight.yml
- cd /srv/salt/reclass; git add -A;git commit -m"use dash repo";
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure reclass
- cmd: |
- mkdir -p /srv/salt/reclass/classes/service;
- for i in /usr/share/salt-formulas/reclass/service/*; do
- ln -s $i /srv/salt/reclass/classes/service/;
- done;
- [ ! -d /etc/reclass ] && mkdir /etc/reclass;
- cat << 'EOF' >> /etc/reclass/reclass-config.yml
- storage_type: yaml_fs
- pretty_print: True
- output: yaml
- inventory_base_uri: /srv/salt/reclass
- EOF
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Configure salt-minion on cfg01
- cmd: |
- [ ! -d /etc/salt/minion.d ] && mkdir -p /etc/salt/minion.d;
- cat << "EOF" >> /etc/salt/minion.d/minion.conf
- id: cfg01.mk22-qa-lab01.local
- master: localhost
- EOF
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Workaround set low max_heap_size for Cassandra
- cmd: |
- cat << 'EOF' >> /srv/salt/reclass/classes/system/opencontrail/control/cluster.yml
- # opencontrail lowmem
- opencontrail:
- database:
- max_heap_size: "1G"
- heap_newsize: "200M"
- EOF
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Restarting salt serviceswith workarounds
- cmd: service salt-master restart;
- sleep 30;
- service salt-master restart;
- sleep 30;
- rm -f /etc/salt/pki/minion/minion_master.pub;
- service salt-minion restart;
- reclass -n cfg01.mk22-qa-lab01.local;
- sleep 10;
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 10}
- skip_fail: false
-
-
-# Prepare salt services and nodes settings
-- description: Run 'linux' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls linux
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Run 'openssh' formula on cfg01
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls openssh;
- salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart";
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* of the bug https://mirantis.jira.com/browse/PROD-7962'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- '*' cmd.run "echo ' StrictHostKeyChecking no' >> /root/.ssh/config"
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 1}
- skip_fail: false
-
-- description: Run 'salt' formula on cfg01
- cmd: timeout 120 salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls salt.master
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: true
-
-- description: Accept salt keys from all the nodes
- cmd: salt-key -A -y
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 1, delay: 5}
- skip_fail: false
-
-- description: Generate inventory for all the nodes to the /srv/salt/reclass/nodes/_generated
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False
- -C 'I@salt:master' state.sls reclass
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Refresh pillars on all minions
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Sync all salt resources
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.sync_all
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-
-# Bootstrap all nodes
-
-- description: Configure linux on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- linux
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 5, delay: 5}
- skip_fail: false
-
-- description: Configure openssh on all nodes
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '* and not
- cfg*' state.sls openssh;salt --hard-crash --state-output=mixed --state-verbose=False
- -C '* and not cfg*' cmd.run "sed -i 's/PasswordAuthentication no/PasswordAuthentication
- yes/' /etc/ssh/sshd_config && service ssh restart"
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: '*Workaround* for the bug https://mirantis.jira.com/browse/PROD-8021'
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' cmd.run 'apt-get
- -y install linux-image-extra-$(uname -r)'
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure salt.minion on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- salt.minion
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Check salt minion versions on slaves
- cmd: salt '*' test.version
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 3, delay: 5}
- skip_fail: false
-
-- description: Configure ntp on controllers
- cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' state.sls
- ntp
- node_name: cfg01.mk22-qa-lab01.local
- retry: {count: 5, delay: 10}
- skip_fail: false
-
diff --git a/tcp_tests/templates/mk22-qa-lab01/underlay--meta-data.yaml b/tcp_tests/templates/mk22-qa-lab01/underlay--meta-data.yaml
deleted file mode 100644
index 3699401..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/underlay--meta-data.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-| # All the data below will be stored as a string object
- instance-id: iid-local1
- hostname: {hostname}
- local-hostname: {hostname}
diff --git a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data-cfg01.yaml b/tcp_tests/templates/mk22-qa-lab01/underlay--user-data-cfg01.yaml
deleted file mode 100644
index 6634617..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data-cfg01.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
-
- - path: /root/.ssh/config
- owner: root:root
- permissions: '0600'
- content: |
- Host *
- ServerAliveInterval 300
- ServerAliveCountMax 10
- StrictHostKeyChecking no
- UserKnownHostsFile /dev/null
diff --git a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1404.yaml b/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1404.yaml
deleted file mode 100644
index e3a67d8..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1404.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup eth0
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup eth1
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3 trusty main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- # Workaround for bug https://mirantis.jira.com/browse/PROD-8214
- - apt-get -y install --install-recommends linux-generic-lts-xenial
- - reboot
-
- ########################################################
- # Node is ready, allow SSH access
- ##- echo "Allow SSH access ..."
- ##- sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
diff --git a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1604.yaml b/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1604.yaml
deleted file mode 100644
index 09dc3df..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/underlay--user-data1604.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-| # All the data below will be stored as a string object
- #cloud-config, see http://cloudinit.readthedocs.io/en/latest/topics/examples.html
-
- ssh_pwauth: True
- users:
- - name: root
- sudo: ALL=(ALL) NOPASSWD:ALL
- shell: /bin/bash
- ssh_authorized_keys:
- {% for key in config.underlay.ssh_keys %}
- - ssh-rsa {{ key['public'] }}
- {% endfor %}
-
- disable_root: false
- chpasswd:
- list: |
- root:r00tme
- expire: False
-
- bootcmd:
- # Block access to SSH while node is preparing
- - cloud-init-per once sudo iptables -A INPUT -p tcp --dport 22 -j DROP
- # Enable root access
- - sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin yes/' /etc/ssh/sshd_config
- - service sshd restart
- output:
- all: '| tee -a /var/log/cloud-init-output.log /dev/tty0'
-
- runcmd:
- # Configure dhclient
- - sudo echo "nameserver {gateway}" >> /etc/resolvconf/resolv.conf.d/base
- - sudo resolvconf -u
-
- # Prepare network connection
- - sudo ifup ens3
- #- sudo route add default gw {gateway} {interface_name}
- - sudo ifup ens4
-
- # Create swap
- - fallocate -l 4G /swapfile
- - chmod 600 /swapfile
- - mkswap /swapfile
- - swapon /swapfile
- - echo "/swapfile none swap defaults 0 0" >> /etc/fstab
-
- ############## TCP Cloud cfg01 node ##################
- #- sleep 120
- - echo "Preparing base OS"
- - which wget >/dev/null || (apt-get update; apt-get install -y wget)
-
- - echo "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ xenial main security extra tcp tcp-salt" > /etc/apt/sources.list
- - wget -O - http://apt.tcpcloud.eu/public.gpg | apt-key add -
- # saltstack repo is for minions that have the same version in the xenial and trusty (2016.3.3)
- #- echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main" > /etc/apt/sources.list.d/saltstack.list
- #- wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
- - echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main" > /etc/apt/sources.list.d/saltstack.list
- - wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub | apt-key add -
-
- - apt-get clean
- - apt-get update
- - apt-get -y upgrade
-
- # Install common packages
- - apt-get install -y python-pip git
- - apt-get install -y curl tmux byobu iputils-ping traceroute htop tree
-
- - apt-get install -y salt-minion
-
- # To be configured from inventory/fuel-devops by operator or autotests
- - 'echo "id: {hostname}" >> /etc/salt/minion'
- - 'echo "master: 172.16.10.100" >> /etc/salt/minion'
-
- - echo "Restarting minion service with workarounds..."
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
- - sleep 5
- - rm -f /etc/salt/pki/minion/minion_master.pub
- - service salt-minion restart
-
- #- echo "Showing node metadata..."
- #- salt-call pillar.data
-
- #- echo "Running complete state ..."
- #- salt-call state.sls linux,openssh,salt
-
- ########################################################
- # Node is ready, allow SSH access
- - echo "Allow SSH access ..."
- - sudo iptables -D INPUT -p tcp --dport 22 -j DROP
- ########################################################
-
- write_files:
- - path: /etc/network/interfaces
- content: |
- auto ens3
- iface ens3 inet dhcp
- auto ens4
- iface ens4 inet dhcp
diff --git a/tcp_tests/templates/mk22-qa-lab01/underlay.yaml b/tcp_tests/templates/mk22-qa-lab01/underlay.yaml
deleted file mode 100644
index 5977653..0000000
--- a/tcp_tests/templates/mk22-qa-lab01/underlay.yaml
+++ /dev/null
@@ -1,451 +0,0 @@
----
-aliases:
- dynamic_addresses_pool:
- - &pool_default !os_env POOL_DEFAULT, 172.16.10.0/24:24
-
- default_interface_model:
- - &interface_model !os_env INTERFACE_MODEL, virtio
-
-template:
- devops_settings:
- env_name: !os_env ENV_NAME, tcpcloud-mk22
-
- address_pools:
- admin-pool01:
- net: 172.16.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-qa-lab01.local: +100
- default_ctl01.mk22-qa-lab01.local: +101
- default_ctl02.mk22-qa-lab01.local: +102
- default_ctl03.mk22-qa-lab01.local: +103
- default_prx01.mk22-qa-lab01.local: +121
- default_cmp01.mk22-qa-lab01.local: +105
- default_cmp02.mk22-qa-lab01.local: +106
- default_mon01.mk22-qa-lab01.local: +107
- default_gtw01.mk22-qa-lab01.local: +131
- default_dbs01.mk22-qa-lab01.local: +181
- default_dbs02.mk22-qa-lab01.local: +182
- default_dbs03.mk22-qa-lab01.local: +183
- default_vsrx01.mk22-qa-lab01.local: +250
- ip_ranges:
- dhcp: [+100, -2]
-
- private-pool01:
- net: 192.168.10.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_cfg01.mk22-qa-lab01.local: +100
- default_ctl01.mk22-qa-lab01.local: +101
- default_ctl02.mk22-qa-lab01.local: +102
- default_ctl03.mk22-qa-lab01.local: +103
- default_prx01.mk22-qa-lab01.local: +121
- default_cmp01.mk22-qa-lab01.local: +105
- default_cmp02.mk22-qa-lab01.local: +106
- default_gtw01.mk22-qa-lab01.local: +131
- default_dbs01.mk22-qa-lab01.local: +181
- default_dbs02.mk22-qa-lab01.local: +182
- default_dbs03.mk22-qa-lab01.local: +183
- default_vsrx01.mk22-qa-lab01.local: +250
- ip_ranges:
- dhcp: [+100, -2]
-
- public-pool01:
- net: 10.100.1.0/24:24
- params:
- ip_reserved:
- gateway: +1
- l2_network_device: +1
- default_vsrx01.mk22-qa-lab01.local: +250
-
- groups:
- - name: default
- driver:
- name: devops.driver.libvirt
- params:
- connection_string: !os_env CONNECTION_STRING, qemu:///system
- storage_pool_name: !os_env STORAGE_POOL_NAME, default
- stp: False
- hpet: False
- enable_acpi: true
- use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
-
- network_pools:
- admin: admin-pool01
- private: private-pool01
-
- l2_network_devices:
- admin:
- address_pool: admin-pool01
- dhcp: true
-# forward:
-# mode: nat
-
- private:
- address_pool: private-pool01
- dhcp: true
- forward:
- mode: nat
-
- public:
- address_pool: public-pool01
- forward:
- mode: nat
-
- group_volumes:
- - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
- format: qcow2
- - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
- # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
- format: qcow2
-
- - name: vsrx_image # This name is used for 'backing_store' option for node volumes.
- source_image: !os_env VSRX_PATH
- format: qcow2
-
- nodes:
- - name: cfg01.mk22-qa-lab01.local
- role: salt_master
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: ens3
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1604
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data-cfg01.yaml
-
- interfaces:
- - label: ens3
- l2_network_device: private
- interface_model: *interface_model
- - label: ens4
- l2_network_device: admin
- interface_model: *interface_model
- network_config:
- ens3:
- networks:
- - private
- ens4:
- networks:
- - admin
-
- - name: ctl01.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 12286
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: &interfaces
- - label: eth0
- l2_network_device: private
- interface_model: *interface_model
- - label: eth1
- l2_network_device: admin
- interface_model: *interface_model
- network_config: &network_config
- eth0:
- networks:
- - private
- eth1:
- networks:
- - admin
-
- - name: ctl02.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 12286
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: ctl03.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 12286
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: cmp01.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: cmp02.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 4
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: prx01.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 1
- memory: !os_env SLAVE_NODE_MEMORY, 1024
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: dbs01.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 2
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: dbs02.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 2
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
- - name: dbs03.mk22-qa-lab01.local
- role: salt_minion
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 2
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- cloud_init_volume_name: iso
- cloud_init_iface_up: eth0
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: cloudimage1404
- format: qcow2
- - name: iso # Volume with name 'iso' will be used
- # for store image with cloud-init metadata.
- capacity: 1
- format: raw
- device: cdrom
- bus: ide
- cloudinit_meta_data: !include underlay--meta-data.yaml
- cloudinit_user_data: !include underlay--user-data1404.yaml
-
- interfaces: *interfaces
- network_config: *network_config
-
-
-# - name: gtw01.mk22-qa-lab01.local
-# role: salt_minion
-# params:
-# vcpu: !os_env SLAVE_NODE_CPU, 1
-# memory: !os_env SLAVE_NODE_MEMORY, 2048
-# boot:
-# - hd
-# cloud_init_volume_name: iso
-# cloud_init_iface_up: eth0
-# volumes:
-# - name: system
-# capacity: !os_env NODE_VOLUME_SIZE, 150
-# backing_store: cloudimage1404
-# format: qcow2
-# - name: iso # Volume with name 'iso' will be used
-# # for store image with cloud-init metadata.
-# capacity: 1
-# format: raw
-# device: cdrom
-# bus: ide
-# cloudinit_meta_data: !include underlay--meta-data.yaml
-# cloudinit_user_data: !include underlay--user-data1404.yaml
-# interfaces: *interfaces
-# network_config: *network_config
-
- - name: vsrx01.mk22-qa-lab01.local
- role: vsrx
- params:
- vcpu: !os_env SLAVE_NODE_CPU, 2
- memory: !os_env SLAVE_NODE_MEMORY, 2048
- boot:
- - hd
- volumes:
- - name: system
- capacity: !os_env NODE_VOLUME_SIZE, 150
- backing_store: vsrx_image
- format: qcow2
- interfaces:
- - label: eth0
- l2_network_device: public
- interface_model: virtio
- mac_address: 52:54:00:4e:b4:36
- - label: eth1
- l2_network_device: admin
- interface_model: virtio
- mac_address: 52:54:00:e1:44:9d
- network_config:
- eth0:
- networks:
- - public
- eth1:
- networks:
- - admin
diff --git a/tcp_tests/templates/virtual-mcp-ocata-cicd/underlay.yaml b/tcp_tests/templates/virtual-mcp-ocata-cicd/underlay.yaml
index 2cd9c11..ac842c4 100644
--- a/tcp_tests/templates/virtual-mcp-ocata-cicd/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp-ocata-cicd/underlay.yaml
@@ -124,6 +124,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp-ocata-dvr/underlay.yaml b/tcp_tests/templates/virtual-mcp-ocata-dvr/underlay.yaml
index 79ac209..d23ff34 100644
--- a/tcp_tests/templates/virtual-mcp-ocata-dvr/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp-ocata-dvr/underlay.yaml
@@ -107,6 +107,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp-ocata-ovs/underlay.yaml b/tcp_tests/templates/virtual-mcp-ocata-ovs/underlay.yaml
index a5b5831..6873bca 100644
--- a/tcp_tests/templates/virtual-mcp-ocata-ovs/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp-ocata-ovs/underlay.yaml
@@ -107,6 +107,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp10-contrail/underlay.yaml b/tcp_tests/templates/virtual-mcp10-contrail/underlay.yaml
index ac2362b..baa76c8 100644
--- a/tcp_tests/templates/virtual-mcp10-contrail/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp10-contrail/underlay.yaml
@@ -124,6 +124,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp10-dvr/underlay.yaml b/tcp_tests/templates/virtual-mcp10-dvr/underlay.yaml
index 3a7ba6f..d1aaa93 100644
--- a/tcp_tests/templates/virtual-mcp10-dvr/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp10-dvr/underlay.yaml
@@ -98,6 +98,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp10-ovs.new/underlay.yaml b/tcp_tests/templates/virtual-mcp10-ovs.new/underlay.yaml
index dd98876..b2cf198 100644
--- a/tcp_tests/templates/virtual-mcp10-ovs.new/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp10-ovs.new/underlay.yaml
@@ -98,6 +98,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp10-ovs/underlay.yaml b/tcp_tests/templates/virtual-mcp10-ovs/underlay.yaml
index dd98876..b2cf198 100644
--- a/tcp_tests/templates/virtual-mcp10-ovs/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp10-ovs/underlay.yaml
@@ -98,6 +98,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-dvr/underlay.yaml b/tcp_tests/templates/virtual-mcp11-dvr/underlay.yaml
index 8ca1271..34ef827 100644
--- a/tcp_tests/templates/virtual-mcp11-dvr/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-dvr/underlay.yaml
@@ -107,6 +107,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/underlay.yaml b/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/underlay.yaml
index 3ec26d2..f125c3a 100644
--- a/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-k8s-calico-minimal/underlay.yaml
@@ -64,6 +64,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-k8s-calico/underlay.yaml b/tcp_tests/templates/virtual-mcp11-k8s-calico/underlay.yaml
index 985110c..7939765 100644
--- a/tcp_tests/templates/virtual-mcp11-k8s-calico/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-k8s-calico/underlay.yaml
@@ -78,6 +78,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-k8s-contrail/underlay.yaml b/tcp_tests/templates/virtual-mcp11-k8s-contrail/underlay.yaml
index 8187fb9..bb5d765 100644
--- a/tcp_tests/templates/virtual-mcp11-k8s-contrail/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-k8s-contrail/underlay.yaml
@@ -116,6 +116,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
private: private-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-ovs-dpdk/underlay.yaml b/tcp_tests/templates/virtual-mcp11-ovs-dpdk/underlay.yaml
index 4f7b55f..884fc90 100644
--- a/tcp_tests/templates/virtual-mcp11-ovs-dpdk/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-ovs-dpdk/underlay.yaml
@@ -108,6 +108,7 @@
use_hugepages: True
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-ovs.new/underlay.yaml b/tcp_tests/templates/virtual-mcp11-ovs.new/underlay.yaml
index 44d6dec..18d4b89 100644
--- a/tcp_tests/templates/virtual-mcp11-ovs.new/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-ovs.new/underlay.yaml
@@ -107,6 +107,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01
diff --git a/tcp_tests/templates/virtual-mcp11-ovs/underlay.yaml b/tcp_tests/templates/virtual-mcp11-ovs/underlay.yaml
index 44d6dec..18d4b89 100644
--- a/tcp_tests/templates/virtual-mcp11-ovs/underlay.yaml
+++ b/tcp_tests/templates/virtual-mcp11-ovs/underlay.yaml
@@ -107,6 +107,7 @@
hpet: False
enable_acpi: true
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
+ use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
network_pools:
admin: admin-pool01