Initial commit with fixtures

- add fixtures for hardware and underlay
- add fuel-devops template tcpcloud-default.yaml

* Migration of fixtures is not finished yet
diff --git a/tcp_tests/templates/tcpcloud-default.yaml b/tcp_tests/templates/tcpcloud-default.yaml
new file mode 100644
index 0000000..a16436e
--- /dev/null
+++ b/tcp_tests/templates/tcpcloud-default.yaml
@@ -0,0 +1,319 @@
+---
+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-mk20
+
+    address_pools:
+      public-pool01:
+        net: *pool_default
+        params:
+          ip_reserved:
+            gateway: +1
+            l2_network_device: +1
+          ip_ranges:
+            dhcp: [+2, -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:
+          public: public-pool01
+
+        l2_network_devices:
+          public:
+            address_pool: public-pool01
+            dhcp: true
+            forward:
+              mode: nat
+
+          private:
+            dhcp: false
+
+        group_volumes:
+         - name: cloudimage    # This name is used for 'backing_store' option for node volumes.
+           source_image: !os_env IMAGE_PATH  # 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
+
+        nodes:
+          - name: cfg01.mk20-lab-advanced.local
+            role: salt-master
+            params:
+              vcpu: !os_env SLAVE_NODE_CPU, 2
+              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: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data-master-node.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: ctl01.mk20-lab-advanced.local
+            role: salt-minion
+            params:
+              vcpu: !os_env SLAVE_NODE_CPU, 4
+              memory: !os_env SLAVE_NODE_MEMORY, 12400
+              boot:
+                - hd
+              cloud_init_volume_name: iso
+              cloud_init_iface_up: eth0
+              volumes:
+                - name: system
+                  capacity: !os_env NODE_VOLUME_SIZE, 150
+                  backing_store: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: ctl02.mk20-lab-advanced.local
+            role: salt-minion
+            params:
+              vcpu: !os_env SLAVE_NODE_CPU, 4
+              memory: !os_env SLAVE_NODE_MEMORY, 12400
+              boot:
+                - hd
+              cloud_init_volume_name: iso
+              cloud_init_iface_up: eth0
+              volumes:
+                - name: system
+                  capacity: !os_env NODE_VOLUME_SIZE, 150
+                  backing_store: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: ctl03.mk20-lab-advanced.local
+            role: salt-minion
+            params:
+              vcpu: !os_env SLAVE_NODE_CPU, 4
+              memory: !os_env SLAVE_NODE_MEMORY, 12400
+              boot:
+                - hd
+              cloud_init_volume_name: iso
+              cloud_init_iface_up: eth0
+              volumes:
+                - name: system
+                  capacity: !os_env NODE_VOLUME_SIZE, 150
+                  backing_store: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: cmp01.mk20-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: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: web01.mk20-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: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private
+
+          - name: mtr01.mk20-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: cloudimage
+                  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 tcpcloud--meta-data.yaml
+                  cloudinit_user_data: !include tcpcloud--user-data.yaml
+
+              interfaces:
+                - label: eth0
+                  l2_network_device: public
+                  interface_model: *interface_model
+                - label: eth1
+                  l2_network_device: private
+                  interface_model: *interface_model
+              network_config:
+                eth0:    # Will get an IP from DHCP public-pool01
+                  networks:
+                    - public
+                eth1:
+                  networks:
+                    - private