Add cookied-cicd-k8s-calico and cookied-cicd-k8s-calico-sl

- Add new templates for k8s deployments using CICD

- In new templates, there is deploy-and-test.groovy script for
  integration CI, which performs necessary steps for:

  - prepare environment
  - get the inventory details from environment (networks)
  - generate cookied model for the environment (using inventory
    details)
  - create ISO config-drive (using the job created by D.Tyzhnenko)
  - Bootstrap salt cluster on all nodes (using salt.yaml)
  - Use Jenkins on salt-master to deploy 'core' and 'cicd' stacks
  - Use Jenkins on CICD nodes to deploy 'k8s', 'calico' and
    'stacklight'
  - Run system tests from tcp-qa test directories, for this there
    are two new pytest marks:  'k8s_calico' and 'k8s_calico_sl'

  The script deploy-and-test.groovy can use the shared library
  tcp_tests/templates/SharedPipeline.groovy at certain step for
  common methods.

- fix replacing networks in shared-salt.yaml for cookied models

Change-Id: I958d183d8951b869877f0c36f4bd1000a5b7e6a9
diff --git a/tcp_tests/templates/cookied-cicd-k8s-calico/underlay--user-data1604-swp.yaml b/tcp_tests/templates/cookied-cicd-k8s-calico/underlay--user-data1604-swp.yaml
new file mode 100644
index 0000000..319c007
--- /dev/null
+++ b/tcp_tests/templates/cookied-cicd-k8s-calico/underlay--user-data1604-swp.yaml
@@ -0,0 +1,59 @@
+| # 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:
+   # 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
+
+   # Enable grub menu using updated config below
+   - update-grub
+
+   # Prepare network connection
+   - sudo ifup ens3
+   #- sudo route add default gw {gateway} {interface_name}
+
+   # Create swap
+   - fallocate -l 16G /swapfile
+   - chmod 600 /swapfile
+   - mkswap /swapfile
+   - swapon /swapfile
+   - echo "/swapfile   none    swap    defaults   0   0" >> /etc/fstab
+
+  write_files:
+   - path: /etc/default/grub.d/97-enable-grub-menu.cfg
+     content: |
+         GRUB_RECORDFAIL_TIMEOUT=30
+         GRUB_TIMEOUT=3
+         GRUB_TIMEOUT_STYLE=menu
+
+   - path: /etc/network/interfaces
+     content: |
+          auto ens3
+          iface ens3 inet dhcp
+