| # 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:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGwjUlYn9UsmWmAGSuEA2sICad7WqxgsJR0HKcMbbxi0tn96h4Cq2iGYmzlJ48egLm5R5pxyWnFvL4b/2zb+kKTPCMwRc9nv7xEGosEFNQEoSDd+gYu2CO0dgS2bX/7m2DXmzvhqPjxWQUXXsb0OYAS1r9Es65FE8y4rLaegz8V35xfH45bTCA0W8VSKh264XtGz12hacqsttE/UvyjJTZe+/XV+xJy3WAWxe8J/MuW1VqbqNewTmpTE/LJU8i6pG4msU6+wH99UvsGAOKQOduynUHKWG3VZg5YCjpbbV/t/pfW/vHB3b3jiifQmNhulyiG/CNnSQ5BahtV/7qPsYt vagrant@cfg01

  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

   ############## 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/14.04/amd64/latest xenial 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

   ########################################################
   # 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.d/99-tcp-tests.cfg
     content: |
          auto ens3
          iface ens3 inet dhcp
          auto ens4
          iface ens4 inet dhcp
