Add standalone local dns virt machine
Change-Id: If6c231cb7c9b36bb49e09fcc308ce246fc1d6318
diff --git a/tcp_tests/templates/local_dns/underlay--user-data1604.yaml b/tcp_tests/templates/local_dns/underlay--user-data1604.yaml
new file mode 100644
index 0000000..39ce86e
--- /dev/null
+++ b/tcp_tests/templates/local_dns/underlay--user-data1604.yaml
@@ -0,0 +1,100 @@
+| # 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
+
+
+ ############## Cloud repo01 node ##################
+ - 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.mirantis.com/xenial {{ REPOSITORY_SUITE }} salt extra" > /etc/apt/sources.list.d/mcp_salt.list;
+ - wget -O - http://apt.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 -;
+
+ - eatmydata apt-get clean && apt-get update
+
+ # Install common packages
+ - eatmydata apt-get install -y salt-minion python-pip git curl tmux byobu iputils-ping traceroute htop tree;
+ - cd /tmp;
+ - git clone https://github.com/TatyankaLeontovich/salt-formula-nginx;
+ - git clone https://github.com/TatyankaLeontovich/salt-dnsmasq;
+ - git clone https://github.com/TatyankaLeontovich/underpillar;
+ - mkdir -p /srv/pillar/;
+ - mkdir -p /srv/salt;
+ - cd /srv/salt;
+ - ln -s /tmp/salt-formula-nginx/nginx;
+ - ln -s /tmp/salt-dnsmasq/dnsmasq;
+ - cp /tmp/underpillar/pillar/*.sls /srv/pillar/;
+ - cp /tmp/underpillar/states/*.sls /srv/salt/;
+ - cp /srv/pillar/top_localdns.sls /srv/pillar/top.sls;
+ - cp /srv/salt/top_localdns.sls /srv/salt/top.sls;
+ - salt-call --local --state-output=mixed state.sls dnsmasq;
+ - salt-call --local --state-output=mixed state.sls nginx;
+ ########################################################
+ # 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
\ No newline at end of file