Add runtest pillar to virtual-offline-*

* Add runtest pillar to ssl and dpdk model
* Depricate virtual-offline-ovs as it is replaced
with bm deploy

Change-Id: I729e8a8fa202b90ced597cc6b608bf97aa6c1620
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml
index 18cabd8..9d0cace 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml
@@ -3,7 +3,6 @@
 parameters:
   _param:
     xtrabackup_remote_server: ${_param:openstack_control_node03_address}
-    xtrabackup_qpress_source_name: http://${_param:aptly_server_address}:8078/qpress-11-linux-x64.tar
     root_private_key: |
       -----BEGIN RSA PRIVATE KEY-----
       MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
index 5413b91..e7c04f7 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
@@ -39,6 +39,7 @@
 - system.jenkins.client.credential.salt
 - system.jenkins.client.job.deploy.openstack
 - cluster.virtual-offline-pike-ovs-dpdk.infra
+- cluster.virtual-offline-pike-ovs-dpdk.infra.runtest
 - cluster.virtual-offline-pike-ovs-dpdk.infra.backup.client_common
 parameters:
   _param:
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/runtest.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/runtest.yml
new file mode 100644
index 0000000..172d161
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/runtest.yml
@@ -0,0 +1,48 @@
+classes:
+- service.runtest.tempest
+- service.runtest.tempest.public_net
+- service.runtest.tempest.services.manila.glance
+parameters:
+  _param:
+    image_url: http://cz8133.bud.mirantis.net:8099
+    glance_image_cirros_location: ${_param:image_url}/cirros-0.3.5-x86_64-disk.img
+    glance_image_fedora_location: ${_param:image_url}/Fedora-Cloud-Base-27-1.6.x86_64.qcow2
+    glance_image_manila_location: ${_param:image_url}/manila-service-image-master.qcow2
+    openstack_public_neutron_subnet_allocation_end: 10.16.0.246
+    openstack_public_neutron_subnet_allocation_start: 10.16.0.10
+    openstack_public_neutron_subnet_cidr: 10.16.0.0/24
+    openstack_public_neutron_subnet_gateway: 10.16.0.1
+    runtest_tempest_cfg_dir: /tmp/test
+    runtest_tempest_cfg_name: tempest.conf
+    runtest_tempest_public_net: public
+    tempest_test_target: gtw01.${_param:cluster_domain}*
+  neutron:
+    client:
+      enabled: true
+  runtest:
+    enabled: true
+    keystonerc_node: ctl01*
+    tempest:
+      DEFAULT:
+        log_file: tempest.log
+      cfg_dir: ${_param:runtest_tempest_cfg_dir}
+      cfg_name: ${_param:runtest_tempest_cfg_name}
+      compute:
+        min_compute_nodes: 2
+      convert_to_uuid:
+        network:
+          public_network_id: ${_param:runtest_tempest_public_net}
+      enabled: true
+      heat_plugin:
+        build_timeout: '600'
+      put_keystone_rc_enabled: true
+      put_local_image_file_enabled: false
+      share:
+        capability_snapshot_support: true
+        run_driver_assisted_migration_tests: false
+        run_manage_unmanage_snapshot_tests: false
+        run_manage_unmanage_tests: false
+        run_migration_with_preserve_snapshots_tests: false
+        run_quota_tests: true
+        run_replication_tests: false
+        run_snapshot_tests: true
\ No newline at end of file
diff --git a/classes/cluster/virtual-offline-pike-ovs/infra/config.yml b/classes/cluster/virtual-offline-pike-ovs/infra/config.yml
deleted file mode 100644
index 81b2e37..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/infra/config.yml
+++ /dev/null
@@ -1,179 +0,0 @@
-classes:
-- service.git.client
-- system.linux.system.single
-- system.linux.system.single.debian
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.openssh.client.lab
-- system.salt.master.pkg
-- system.salt.master.api
-- system.reclass.storage.salt
-- system.salt.minion.ca.salt_master
-- system.salt.minion.cert.proxy
-- system.keystone.client.single
-- system.keystone.client.service.aodh
-- system.keystone.client.service.ceilometer
-- system.keystone.client.service.nova21
-- system.keystone.client.service.nova-placement
-- system.keystone.client.service.glare
-- system.keystone.client.service.cinder3
-- system.keystone.client.service.designate
-- system.mysql.client.single
-- system.reclass.storage.system.openstack_control_cluster
-- system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
-- system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.stacklightv2_server_cluster
-- cluster.virtual-offline-pike-ovs.stacklight.proxy
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    reclass_data_repository: https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab
-    reclass_data_revision: master
-    salt_master_environment_repository: "https://github.com/tcpcloud"
-    salt_master_environment_revision: master
-    reclass_config_master: 192.168.10.90
-    single_address: 172.16.10.100
-    salt_master_host: 127.0.0.1
-    salt_master_base_environment: prd
-    salt_minion_ca_host: ${linux:network:fqdn}
-    salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
-  linux:
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-  salt:
-    master:
-      reactor:
-        reclass/minion/classify:
-        - salt://reclass/reactor/node_register.sls
-  reclass:
-    storage:
-      class_mapping:
-        common_node:
-          expression: all
-          node_param:
-            single_address:
-              value_template: <<node_control_ip>>
-            linux_system_codename:
-              value_template: <<node_os>>
-            salt_master_host:
-              value_template: <<node_master_ip>>
-        infra_config:
-          expression: <<node_hostname>>__startswith__cfg
-          cluster_param:
-            infra_config_address:
-              value_template: <<node_control_ip>>
-            infra_config_deploy_address:
-              value_template: <<node_deploy_ip>>
-            cluster_domain:
-              value_template: <<node_domain>>
-        openstack_control01:
-          expression: <<node_hostname>>__equals__ctl01
-          cluster_param:
-            openstack_control_node01_address:
-              value_template: <<node_control_ip>>
-        openstack_control02:
-          expression: <<node_hostname>>__equals__ctl02
-          cluster_param:
-            openstack_control_node02_address:
-              value_template: <<node_control_ip>>
-        openstack_control03:
-          expression: <<node_hostname>>__equals__ctl03
-          cluster_param:
-            openstack_control_node03_address:
-              value_template: <<node_control_ip>>
-        openstack_compute:
-          expression: <<node_hostname>>__startswith__cmp
-          node_class:
-            value_template:
-              - cluster.<<node_cluster>>.openstack.compute
-          node_param:
-            tenant_address:
-              value_template: <<node_tenant_ip>>
-            external_address:
-              value_template: <<node_external_ip>>
-        openstack_gateway:
-          expression: <<node_hostname>>__startswith__gtw
-          node_class:
-            value_template:
-              - cluster.<<node_cluster>>.openstack.gateway
-          node_param:
-            tenant_address:
-              value_template: <<node_tenant_ip>>
-            external_address:
-              value_template: <<node_external_ip>>
-          cluster_param:
-            openstack_gateway_node01_address:
-              value_template: <<node_control_ip>>
-        stacklight_monitor_node01:
-          expression: <<node_hostname>>__equals__mon01
-          cluster_param:
-            stacklight_monitor_node01_address:
-              value_template: <<node_control_ip>>
-        stacklight_monitor_node02:
-          expression: <<node_hostname>>__equals__mon02
-          cluster_param:
-            stacklight_monitor_node02_address:
-              value_template: <<node_control_ip>>
-        stacklight_monitor_node03:
-          expression: <<node_hostname>>__equals__mon03
-          cluster_param:
-            stacklight_monitor_node03_address:
-              value_template: <<node_control_ip>>
-        openstack_dashboard:
-          expression: <<node_hostname>>__startswith__prx
-          node_class:
-            value_template:
-              - cluster.<<node_cluster>>.openstack.dashboard
-              - cluster.<<node_cluster>>.openstack.proxy
-          cluster_param:
-            openstack_proxy_node01_address:
-              value_template: <<node_control_ip>>
-      node:
-        openstack_control_node01:
-          classes:
-          - service.galera.master.cluster
-          params:
-            mysql_cluster_role: master
-            linux_system_codename: xenial
-        openstack_control_node02:
-          classes:
-          - service.galera.slave.cluster
-          params:
-            mysql_cluster_role: slave
-            linux_system_codename: xenial
-        openstack_control_node03:
-          classes:
-          - service.galera.slave.cluster
-          params:
-            mysql_cluster_role: slave
-            linux_system_codename: xenial
-        stacklight_server_node01:
-          classes:
-          - system.influxdb.server.single
-          - system.influxdb.database.stacklight
-        openstack_compute_node01:
-          params:
-            single_address: 172.16.10.105
-            tenant_address: 10.1.0.105
-            external_address: 10.16.0.105
-        openstack_compute_node02:
-          params:
-            single_address: 172.16.10.106
-            tenant_address: 10.1.0.106
-            external_address: 10.16.0.106
-        openstack_gateway_node01:
-          params:
-            tenant_address: 10.1.0.110
-            external_address: 10.16.0.110
-        openstack_proxy_node01:
-          classes:
-          - cluster.virtual-offline-pike-ovs.openstack.proxy
-          params:
-            linux_system_codename: xenial
diff --git a/classes/cluster/virtual-offline-pike-ovs/infra/init.yml b/classes/cluster/virtual-offline-pike-ovs/infra/init.yml
deleted file mode 100644
index 8d53bd9..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/infra/init.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-classes:
-- system.defaults
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.extra
-parameters:
-  linux:
-    network:
-      host:
-        cfg01:
-          address: ${_param:infra_config_address}
-          names:
-          - ${_param:infra_config_hostname}
-          - ${_param:infra_config_hostname}.${_param:cluster_domain}
-        cfg:
-          address: ${_param:infra_config_address}
-          names:
-          - cfg
-          - cfg.${_param:cluster_domain}
diff --git a/classes/cluster/virtual-offline-pike-ovs/init.yml b/classes/cluster/virtual-offline-pike-ovs/init.yml
deleted file mode 100644
index 3ba8b59..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/init.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-classes:
-- system.defaults
-- system.linux.network.dynamic_hosts
-- service.grafana.collector
-- system.heka.log_collector.single
-- system.heka.log_collector.output.telegraf
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.ubuntu
-- system.linux.system.single
-- system.rsyslog.client.single
-- system.linux.system.single.debian
-- system.watchdog.server
-- system.prometheus.collector
-- system.telegraf.agent
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.auditd.server.ciscat
-- cluster.virtual-offline-pike-ovs.infra
-- cluster.virtual-offline-pike-ovs.openstack
-- cluster.virtual-offline-pike-ovs.stacklight
-
-parameters:
-  _param:
-    cluster_domain: virtual-offline-pike-ovs.local
-    cluster_name: virtual-offline-pike-ovs
-    infra_config_hostname: cfg01
-    local_repos: true
-    # new in 2018.7+
-    linux_system_repo_url: http://${_param:local_repo_url}/${_param:apt_mk_version}/
-    #
-    local_repo_url: mirror.mcp.mirantis.local.test
-    linux_repo_refresh_db: true
-    aptly_server_address: 10.170.0.226
-    # infra service addresses
-    infra_config_address: 172.16.10.100
-    # openstack service addresses
-    openstack_proxy_address: 172.16.10.121
-    openstack_proxy_node01_address: 172.16.10.121
-    openstack_control_address: 172.16.10.254
-    openstack_control_node01_address: 172.16.10.101
-    openstack_control_node02_address: 172.16.10.102
-    openstack_control_node03_address: 172.16.10.103
-    openstack_gateway_address: 172.16.10.110
-    openstack_database_address: ${_param:openstack_control_address}
-    openstack_message_queue_address: ${_param:openstack_control_address}
-    openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
-    openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
-    openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
-    # stacklight service addresses
-    stacklight_monitor_address: 172.16.10.253
-    stacklight_monitor_node01_address: 172.16.10.107
-    stacklight_monitor_node02_address: 172.16.10.108
-    stacklight_monitor_node03_address: 172.16.10.109
-    stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
-    stacklight_log_address: ${_param:stacklight_monitor_address}
-    openstack_gateway_address: 172.16.10.110
-    openstack_gateway_node01_address: ${_param:openstack_gateway_address}
-    stacklight_telemetry_address: ${_param:stacklight_monitor_address}
\ No newline at end of file
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/compute.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/compute.yml
deleted file mode 100644
index 3b1d336..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/compute.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-classes:
-- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.ceph
-- system.linux.network.hosts
-- system.nova.compute.cluster
-- system.neutron.compute.cluster
-- system.ceilometer.agent.cluster
-- system.prometheus.exporters.libvirt
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    primary_interface: ens4
-    tenant_interface: ens5
-    external_interface: ens6
-    interface_mtu: 1500
-    linux_system_codename: xenial
-  nova:
-    compute:
-      vncproxy_url: http://${_param:cluster_vip_address}:6080
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-        notify_on:
-          state_change: vm_and_task_state
-      message_queue:
-        members:
-          - host: ${_param:openstack_control_node01_address}
-          - host: ${_param:openstack_control_node02_address}
-          - host: ${_param:openstack_control_node03_address}
-  linux:
-    network:
-      bridge: openvswitch
-      interface:
-        dhcp_int:
-          enabled: true
-          name: ens3
-          proto: dhcp
-          type: eth
-          mtu: ${_param:interface_mtu}
-        primary_interface:
-          enabled: true
-          name: ${_param:primary_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        tenant_interface:
-          enabled: true
-          name: ${_param:tenant_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        br-mgmt:
-          enabled: true
-          type: bridge
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:primary_interface}
-        br-mesh:
-          enabled: true
-          type: bridge
-          proto: static
-          address: ${_param:tenant_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:tenant_interface}
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/control.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/control.yml
deleted file mode 100644
index 4042eec..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/control.yml
+++ /dev/null
@@ -1,158 +0,0 @@
-classes:
-- system.linux.system.lowmem
-- system.linux.system.repo.mcp.apt_mirantis.glusterfs
-- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.linux.system.repo.mcp.apt_mirantis.percona
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.ceph
-- system.memcached.server.single
-- system.rabbitmq.server.cluster
-- system.rabbitmq.server.vhost.openstack
-- system.keystone.server.wsgi
-- system.keystone.server.cluster
-- system.glusterfs.client.cluster
-- system.glusterfs.client.volume.glance
-- system.glusterfs.server.volume.glance
-- system.glusterfs.server.cluster
-- system.glance.control.cluster
-- system.nova.control.cluster
-- system.neutron.control.openvswitch.cluster
-- system.cinder.control.cluster
-- system.heat.server.cluster
-- system.ceilometer.server.cluster
-- system.ceilometer.server.backend.influxdb
-- system.aodh.server.cluster
-- system.heka.ceilometer_collector.single
-- system.designate.server.cluster
-- system.designate.server.backend.bind
-- system.bind.server.single
-- system.galera.server.cluster
-- system.galera.server.database.aodh
-- system.galera.server.database.ceilometer
-- system.galera.server.database.cinder
-- system.galera.server.database.glance
-- system.galera.server.database.grafana
-- system.galera.server.database.heat
-- system.galera.server.database.keystone
-- system.galera.server.database.nova
-- system.galera.server.database.neutron
-- system.galera.server.database.designate
-- system.haproxy.proxy.listen.openstack.nova-placement
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    keepalived_vip_interface: ens4
-  linux:
-    system:
-      package:
-        python-msgpack:
-          version: latest
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-  keepalived:
-    cluster:
-      instance:
-        VIP:
-          virtual_router_id: 150
-  bind:
-    server:
-      control:
-        mgmt:
-          enabled: true
-          bind:
-            address: ${_param:single_address}
-            port: 953
-          allow:
-            - ${_param:openstack_control_node01_address}
-            - ${_param:openstack_control_node02_address}
-            - ${_param:openstack_control_node03_address}
-          keys:
-            - designate
-  keystone:
-    server:
-      admin_email: ${_param:admin_email}
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-  designate:
-    server:
-      pools:
-        default:
-          description: 'test pool'
-          targets:
-            default:
-              description: 'test target1'
-            default1:
-              type: ${_param:designate_pool_target_type}
-              description: 'test target2'
-              masters: ${_param:designate_pool_target_masters}
-              options:
-                host: ${_param:openstack_control_node02_address}
-                port: 53
-                rndc_host: ${_param:openstack_control_node02_address}
-                rndc_port: 953
-                rndc_key_file: /etc/designate/rndc.key
-            default2:
-              type: ${_param:designate_pool_target_type}
-              description: 'test target3'
-              masters: ${_param:designate_pool_target_masters}
-              options:
-                host: ${_param:openstack_control_node03_address}
-                port: 53
-                rndc_host: ${_param:openstack_control_node03_address}
-                rndc_port: 953
-                rndc_key_file: /etc/designate/rndc.key
-      quota:
-        zones: ${_param:designate_quota_zones}
-    worker:
-      enabled: ${_param:designate_worker_enabled}
-  glance:
-    server:
-      storage:
-        engine: file
-      images: []
-      workers: 1
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-  heat:
-    server:
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-  neutron:
-    server:
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-  nova:
-    controller:
-      networking: dvr
-      cpu_allocation: 54
-      metadata:
-        password: ${_param:metadata_password}
-      bind:
-        private_address: ${_param:cluster_local_address}
-        public_address: ${_param:cluster_vip_address}
-        novncproxy_port: 6080
-      vncproxy_url: http://${_param:cluster_vip_address}:6080
-      workers: 1
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-  cinder:
-    volume:
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
-    controller:
-      notification:
-        driver: messagingv2
-        topics: "notifications,${_param:stacklight_notification_topic}"
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/dashboard.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/dashboard.yml
deleted file mode 100644
index d1356ef..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/dashboard.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-classes:
-- system.linux.system.repo.mcp.apt_mirantis.ubuntu
-- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.horizon.server.single
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    horizon_site_branding: OpenStack Dashboard
-  linux:
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/gateway.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/gateway.yml
deleted file mode 100644
index 63d0a50..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/gateway.yml
+++ /dev/null
@@ -1,82 +0,0 @@
-classes:
-- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.linux.system.repo.mcp.apt_mirantis.docker
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.neutron.gateway.cluster
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    primary_interface: ens4
-    tenant_interface: ens5
-    external_interface: ens6
-    interface_mtu: 9000
-    linux_system_codename: xenial
-  linux:
-    network:
-      bridge: openvswitch
-      interface:
-        dhcp_int:
-          enabled: true
-          name: ens3
-          proto: dhcp
-          type: eth
-          mtu: ${_param:interface_mtu}
-        primary_interface:
-          enabled: true
-          ipflush_onchange: true
-          name: ${_param:primary_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        tenant_interface:
-          enabled: true
-          ipflush_onchange: true
-          name: ${_param:tenant_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        external_interface:
-          enabled: true
-          ipflush_onchange: true
-          name: ${_param:external_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        br-floating:
-          enabled: true
-          type: ovs_bridge
-          mtu: ${_param:interface_mtu}
-        br-mgmt:
-          enabled: true
-          type: bridge
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-          mtu: ${_param:interface_mtu}
-          use_interfaces:
-          - ${_param:primary_interface}
-        br-mesh:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          proto: static
-          address: ${_param:tenant_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:tenant_interface}
-        float-to-ex:
-          enabled: true
-          type: ovs_port
-          mtu: ${_param:interface_mtu}
-          bridge: br-floating
-        br-ex:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          address: ${_param:external_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:external_interface}
-          use_ovs_ports:
-          - float-to-ex
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/init.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/init.yml
deleted file mode 100644
index d55f5d9..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/init.yml
+++ /dev/null
@@ -1,190 +0,0 @@
-parameters:
-  _param:
-    openstack_version: pike
-    cinder_version: ${_param:openstack_version}
-    apt_mk_version: testing
-    mcp_version: 2018.1
-    openstack_region: RegionOne
-    admin_email: root@localhost
-    cluster_public_protocol: http
-    cluster_internal_protocol: http
-    cluster_public_host: 172.16.10.254
-    neutron_public_protocol: http
-    neutron_control_dvr: False
-    neutron_tenant_network_types: "flat,vxlan"
-    neutron_l3_ha: False
-    neutron_global_physnet_mtu: 1500
-    neutron_external_mtu: 1500
-    neutron_gateway_dvr: False
-    neutron_gateway_agent_mode: legacy
-    neutron_compute_dvr: False
-    neutron_compute_agent_mode: legacy
-    neutron_compute_external_access: False
-    galera_server_cluster_name: openstack_cluster
-    galera_server_maintenance_password: workshop
-    galera_server_admin_password: workshop
-    galera_innodb_read_io_threads: 2
-    galera_innodb_write_io_threads: 2
-    galera_wsrep_slave_threads: 2
-    galera_xtrabackup_parallel: 1
-    galera_error_log_enabled: true
-    cluster_vip_address: 172.16.10.254
-    cluster_local_address: ${_param:single_address}
-    cluster_node01_hostname: ctl01
-    cluster_node01_address: 172.16.10.101
-    cluster_node02_hostname: ctl02
-    cluster_node02_address: 172.16.10.102
-    cluster_node03_hostname: ctl03
-    cluster_node03_address: 172.16.10.103
-    rabbitmq_secret_key: workshop
-    rabbitmq_admin_password: workshop
-    rabbitmq_openstack_password: workshop
-    rabbitmq_cold_password: workshop
-    designate_admin_api_enabled: true
-    designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
-    designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
-    designate_quota_zones: 40
-    designate_pool_ns_records:
-      - hostname: 'ns1.example.org.'
-        priority: 10
-    designate_pool_nameservers:
-      - host: ${_param:openstack_control_node01_address}
-        port: 53
-      - host: ${_param:openstack_control_node02_address}
-        port: 53
-      - host: ${_param:openstack_control_node03_address}
-        port: 53
-    designate_pool_target_type: bind9
-    designate_pool_target_masters:
-      - host: ${_param:openstack_control_node01_address}
-        port: 5354
-      - host: ${_param:openstack_control_node02_address}
-        port: 5354
-      - host: ${_param:openstack_control_node03_address}
-        port: 5354
-    designate_pool_target_options:
-      host: ${_param:openstack_control_node01_address}
-      port: 53
-      rndc_host: ${_param:openstack_control_node01_address}
-      rndc_port: 953
-      rndc_key_file: /etc/designate/rndc.key
-    designate_version: ${_param:openstack_version}
-    designate_worker_enabled: true
-    glance_version: ${_param:openstack_version}
-    glance_service_host: ${_param:cluster_vip_address}
-    keystone_version: ${_param:openstack_version}
-    keystone_service_host: ${_param:cluster_vip_address}
-    heat_version: ${_param:openstack_version}
-    heat_service_host: ${_param:cluster_vip_address}
-    heat_domain_admin_password: workshop
-    ceilometer_version: ${_param:openstack_version}
-    ceilometer_service_host: ${_param:cluster_vip_address}
-    cinder_version: ${_param:openstack_version}
-    cinder_service_host: ${_param:cluster_vip_address}
-    aodh_version: ${_param:openstack_version}
-    aodh_service_host: ${_param:cluster_vip_address}
-    ceilometer_graphite_publisher_host: 172.16.10.107
-    ceilometer_graphite_publisher_port: 2013
-    nova_version: ${_param:openstack_version}
-    nova_service_host: ${_param:cluster_vip_address}
-    placement_service_host: ${_param:cluster_vip_address}
-    nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
-    neutron_version: ${_param:openstack_version}
-    neutron_service_host: ${_param:cluster_vip_address}
-    keystone_service_protocol: ${_param:cluster_internal_protocol}
-    glance_service_protocol: ${_param:cluster_internal_protocol}
-    nova_service_protocol: ${_param:cluster_internal_protocol}
-    neutron_service_protocol: ${_param:cluster_internal_protocol}
-    heat_service_protocol: ${_param:cluster_internal_protocol}
-    cinder_service_protocol: ${_param:cluster_internal_protocol}
-    glusterfs_service_host: ${_param:cluster_vip_address}
-    designate_service_host: ${_param:cluster_vip_address}
-    metadata_password: workshop
-    mysql_admin_user: root
-    mysql_admin_password: workshop
-    mysql_cinder_password: workshop
-    mysql_ceilometer_password: workshop
-    mysql_glance_password: workshop
-    mysql_grafana_password: workshop
-    mysql_heat_password: workshop
-    mysql_keystone_password: workshop
-    mysql_neutron_password: workshop
-    mysql_nova_password: workshop
-    mysql_aodh_password: workshop
-    mysql_designate_password: workshop
-    keystone_service_token: workshop
-    keystone_admin_password: workshop
-    keystone_ceilometer_password: workshop
-    keystone_aodh_password: workshop
-    keystone_cinder_password: workshop
-    keystone_glance_password: workshop
-    keystone_heat_password: workshop
-    keystone_keystone_password: workshop
-    keystone_neutron_password: workshop
-    keystone_nova_password: workshop
-    keystone_designate_password: workshop
-    ceilometer_secret_key: workshop
-    horizon_version: ${_param:openstack_version}
-    horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
-    horizon_identity_host: ${_param:cluster_vip_address}
-    horizon_identity_encryption: none
-    horizon_identity_version: 2
-    mongodb_server_replica_set: ceilometer
-    mongodb_ceilometer_password: cloudlab
-    mongodb_admin_password: cloudlab
-    mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
-    ceilometer_influxdb_password: lmapass
-  linux:
-    network:
-      purge_hosts: true
-      host:
-        prx:
-          address: ${_param:openstack_proxy_address}
-          names:
-          - prx
-          - prx.${_param:cluster_domain}
-        prx01:
-          address: ${_param:openstack_proxy_node01_address}
-          names:
-          - prx01
-          - prx01.${_param:cluster_domain}
-        ctl:
-          address: ${_param:openstack_control_address}
-          names:
-          - ctl
-          - ctl.${_param:cluster_domain}
-        ctl01:
-          address: ${_param:openstack_control_node01_address}
-          names:
-          - ctl01
-          - ctl01.${_param:cluster_domain}
-        ctl02:
-          address: ${_param:openstack_control_node02_address}
-          names:
-          - ctl02
-          - ctl02.${_param:cluster_domain}
-        ctl03:
-          address: ${_param:openstack_control_node03_address}
-          names:
-          - ctl03
-          - ctl03.${_param:cluster_domain}
-        gtw01:
-          address: ${_param:openstack_gateway_address}
-          names:
-          - gtw01
-          - gtw01.${_param:cluster_domain}
-        cmp01:
-          address: 172.16.10.105
-          names:
-          - cmp01
-          - cmp01.${_param:cluster_domain}
-        cmp02:
-          address: 172.16.10.106
-          names:
-          - cmp02
-          - cmp02.${_param:cluster_domain}
-    system:
-      user:
-        root:
-          name: root
-          password: false
diff --git a/classes/cluster/virtual-offline-pike-ovs/openstack/proxy.yml b/classes/cluster/virtual-offline-pike-ovs/openstack/proxy.yml
deleted file mode 100644
index ee06caf..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/openstack/proxy.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-classes:
-- system.nginx.server.single
-- system.nginx.server.proxy.openstack_api
-- system.nginx.server.proxy.openstack_vnc
-- system.nginx.server.proxy.openstack_web
-- system.salt.minion.cert.proxy
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    cluster_public_host:  ${_param:openstack_proxy_address}
-    nginx_proxy_ssl:
-      enabled: false
-      authority: ${_param:salt_minion_ca_authority}
-      engine: salt
-      mode: secure
-    salt_minion_ca_host: cfg01.${_param:cluster_domain}
-  nginx:
-    server:
-      site:
-        nginx_ssl_redirect_openstack_web:
-          redirect:
-            protocol: http
-            host: $host
diff --git a/classes/cluster/virtual-offline-pike-ovs/stacklight/client.yml b/classes/cluster/virtual-offline-pike-ovs/stacklight/client.yml
deleted file mode 100644
index e12d70a..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/stacklight/client.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-classes:
-- system.docker.client
-- system.elasticsearch.client.single
-- system.grafana.client
-- system.grafana.client.datasource.prometheus
-- system.kibana.client.single
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    # Elasticsearch/Kibana client parameters
-    stacklight_log_address: ${_param:stacklight_monitor_address}
-    # Grafana client parameters
-    grafana_address: ${_param:stacklight_monitor_address}
-    grafana_port: 15013
-    grafana_user: admin
-    grafana_password: ${_param:grafana_admin_password}
-    grafana_prometheus_address: ${_param:stacklight_monitor_address}
-    grafana_prometheus_port: 15016
-
-    cluster_node01_address: ${_param:stacklight_monitor_node01_address}
-    cluster_node02_address: ${_param:stacklight_monitor_node02_address}
-    cluster_node03_address: ${_param:stacklight_monitor_node03_address}
diff --git a/classes/cluster/virtual-offline-pike-ovs/stacklight/init.yml b/classes/cluster/virtual-offline-pike-ovs/stacklight/init.yml
deleted file mode 100644
index 883bad0..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/stacklight/init.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-parameters:
-  _param:
-    linux_system_codename: xenial
-    prometheus_control_address: ${_param:stacklight_monitor_address}
-    heka_elasticsearch_host: ${_param:stacklight_monitor_address}
-    elasticsearch_port: 9200
-    stacklight_environment: ${_param:cluster_domain}
-    stacklight_notification_topic: stacklight_notifications
-    grafana_admin_password: admin
-    grafana_database_type: mysql
-    grafana_database_host: ${_param:openstack_database_address}
-    grafana_database_password: ${_param:mysql_grafana_password}
-  linux:
-    network:
-      host:
-        mon:
-          address: ${_param:stacklight_monitor_address}
-          names:
-          - mon
-          - mon.${_param:cluster_domain}
-        mon01:
-          address: ${_param:stacklight_monitor_node01_address}
-          names:
-          - mon01
-          - mon01.${_param:cluster_domain}
-        mon02:
-          address: ${_param:stacklight_monitor_node02_address}
-          names:
-          - mon02
-          - mon02.${_param:cluster_domain}
-        mon03:
-          address: ${_param:stacklight_monitor_node03_address}
-          names:
-          - mon03
-          - mon03.${_param:cluster_domain}
diff --git a/classes/cluster/virtual-offline-pike-ovs/stacklight/proxy.yml b/classes/cluster/virtual-offline-pike-ovs/stacklight/proxy.yml
deleted file mode 100644
index 035c74d..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/stacklight/proxy.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-classes:
-- system.nginx.server.single
-- system.nginx.server.proxy.stacklight.grafana
-- system.nginx.server.proxy.stacklight.kibana
-- system.nginx.server.proxy.monitoring.prometheus_server
-- system.nginx.server.proxy.monitoring.prometheus_alertmanager
-- system.salt.minion.cert.proxy
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    nginx_proxy_grafana_port: 15013
-    nginx_proxy_ssl:
-      enabled: true
-      authority: ${_param:salt_minion_ca_authority}
-      engine: salt
-      mode: secure
-    salt_minion_ca_host: cfg01.${_param:cluster_domain}
diff --git a/classes/cluster/virtual-offline-pike-ovs/stacklight/server.yml b/classes/cluster/virtual-offline-pike-ovs/stacklight/server.yml
deleted file mode 100644
index 3ffa917..0000000
--- a/classes/cluster/virtual-offline-pike-ovs/stacklight/server.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-classes:
-- system.docker.host
-- system.linux.system.repo.mcp.apt_mirantis.extra
-- system.linux.system.repo.mcp.apt_mirantis.docker
-- system.linux.system.repo.mcp.apt_mirantis.elastic
-- system.linux.system.repo.mcp.apt_mirantis.kibana
-- system.linux.system.repo.mcp.apt_mirantis.influxdb
-- system.linux.system.repo.mcp.apt_mirantis.fluentd
-- system.heka.remote_collector.container
-- system.heka.remote_collector.input.amqp
-- system.heka.remote_collector.output.elasticsearch
-- system.heka.remote_collector.output.telegraf
-- system.elasticsearch.server.cluster
-- system.elasticsearch.server.curator
-- system.kibana.server.single
-- system.haproxy.proxy.listen.stacklight.elasticsearch
-- system.haproxy.proxy.listen.stacklight.kibana
-- system.haproxy.proxy.listen.stacklight.influxdb_relay
-- service.haproxy.proxy.single
-- system.influxdb.relay.cluster
-- system.influxdb.server.single
-- system.influxdb.database.stacklight
-- system.influxdb.database.ceilometer
-- system.keepalived.cluster.instance.prometheus_server_vip
-- system.telegraf.agent.remote
-- system.prometheus.server.remote_write.docker
-- system.prometheus.server.alertmanager.dns
-- system.prometheus.server.target.dns
-- system.docker.swarm.stack.monitoring.prometheus_global
-- system.docker.swarm.stack.monitoring.remote_collector
-- system.docker.swarm.stack.dashboard
-- cluster.virtual-offline-pike-ovs
-parameters:
-  _param:
-    heka_amqp_host: ${_param:openstack_control_address}
-    kibana_elasticsearch_host: ${_param:stacklight_monitor_address}
-    elasticsearch_version: 5
-    kibana_version: 5
-    keepalived_prometheus_vip_address: ${_param:stacklight_monitor_address}
-    keepalived_prometheus_vip_password: 'password'
-    keepalived_prometheus_vip_interface: ens4
-    cluster_vip_address: ${_param:stacklight_monitor_address}
-    cluster_local_address: ${_param:single_address}
-    cluster_elasticsearch_port: 9200
-    cluster_kibana_port: 5601
-    cluster_node01_hostname: mon01
-    cluster_node01_address: ${_param:stacklight_monitor_node01_address}
-    cluster_node02_hostname: mon02
-    cluster_node02_address: ${_param:stacklight_monitor_node02_address}
-    cluster_node03_hostname: mon03
-    cluster_node03_address: ${_param:stacklight_monitor_node03_address}
-    docker_image_alertmanager: apt:5000/alertmanager:${_param:apt_mk_version}
-    docker_image_pushgateway: apt:5000/pushgateway:${_param:apt_mk_version}
-    docker_image_prometheus: apt:5000/prometheus:${_param:apt_mk_version}
-    docker_image_remote_agent: apt:5000/telegraf:${_param:apt_mk_version}
-    docker_image_remote_storage_adapter: apt:5000/remote_storage_adapter:${_param:apt_mk_version}
-    docker_image_remote_collector: apt:5000/heka:${_param:apt_mk_version}
-    docker_image_prometheus_relay: apt:5000/prometheus_relay:${_param:apt_mk_version}
-    docker_image_grafana: apt:5000/grafana:${_param:apt_mk_version}
-    influxdb_port: 8086
-    influxdb_admin_password: password
-    influxdb_stacklight_password: lmapass
-    prometheus_influxdb_url: "http://${_param:stacklight_monitor_address}:${_param:influxdb_port}/"
-    prometheus_influxdb_db: lma
-    prometheus_influxdb_username: lma
-    prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
-    remote_collector_telegraf_host: monitoring_remote_agent
-  linux:
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
diff --git a/classes/cluster/virtual-offline-ssl/infra/backup/client_mysql.yml b/classes/cluster/virtual-offline-ssl/infra/backup/client_mysql.yml
index 18cabd8..9d0cace 100644
--- a/classes/cluster/virtual-offline-ssl/infra/backup/client_mysql.yml
+++ b/classes/cluster/virtual-offline-ssl/infra/backup/client_mysql.yml
@@ -3,7 +3,6 @@
 parameters:
   _param:
     xtrabackup_remote_server: ${_param:openstack_control_node03_address}
-    xtrabackup_qpress_source_name: http://${_param:aptly_server_address}:8078/qpress-11-linux-x64.tar
     root_private_key: |
       -----BEGIN RSA PRIVATE KEY-----
       MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
diff --git a/classes/cluster/virtual-offline-ssl/infra/config.yml b/classes/cluster/virtual-offline-ssl/infra/config.yml
index 7dc2280..bd2de67 100644
--- a/classes/cluster/virtual-offline-ssl/infra/config.yml
+++ b/classes/cluster/virtual-offline-ssl/infra/config.yml
@@ -36,6 +36,7 @@
 - system.reclass.storage.system.openstack_share_single
 - system.reclass.storage.system.openstack_telemetry_cluster
 - cluster.virtual-offline-ssl.infra.backup.client_common
+- cluster.virtual-offline-ssl.infra.runtest
 - cluster.virtual-offline-ssl
 parameters:
   _param:
diff --git a/classes/cluster/virtual-offline-ssl/infra/runtest.yml b/classes/cluster/virtual-offline-ssl/infra/runtest.yml
new file mode 100644
index 0000000..0ba7e0b
--- /dev/null
+++ b/classes/cluster/virtual-offline-ssl/infra/runtest.yml
@@ -0,0 +1,49 @@
+classes:
+- service.runtest.tempest
+- service.runtest.tempest.public_net
+- service.runtest.tempest.services.manila.glance
+- service.runtest.tempest.barbican
+parameters:
+  _param:
+    image_url: http://cz8133.bud.mirantis.net:8099
+    glance_image_cirros_location: ${_param:image_url}/cirros-0.3.5-x86_64-disk.img
+    glance_image_fedora_location: ${_param:image_url}/Fedora-Cloud-Base-27-1.6.x86_64.qcow2
+    glance_image_manila_location: ${_param:image_url}/manila-service-image-master.qcow2
+    openstack_public_neutron_subnet_allocation_end: 10.16.0.246
+    openstack_public_neutron_subnet_allocation_start: 10.16.0.10
+    openstack_public_neutron_subnet_cidr: 10.16.0.0/24
+    openstack_public_neutron_subnet_gateway: 10.16.0.1
+    runtest_tempest_cfg_dir: /tmp/test
+    runtest_tempest_cfg_name: tempest.conf
+    runtest_tempest_public_net: public
+    tempest_test_target: gtw01.${_param:cluster_domain}*
+  neutron:
+    client:
+      enabled: true
+  runtest:
+    enabled: true
+    keystonerc_node: ctl01*
+    tempest:
+      DEFAULT:
+        log_file: tempest.log
+      cfg_dir: ${_param:runtest_tempest_cfg_dir}
+      cfg_name: ${_param:runtest_tempest_cfg_name}
+      compute:
+        min_compute_nodes: 2
+      convert_to_uuid:
+        network:
+          public_network_id: ${_param:runtest_tempest_public_net}
+      enabled: true
+      heat_plugin:
+        build_timeout: '600'
+      put_keystone_rc_enabled: true
+      put_local_image_file_enabled: false
+      share:
+        capability_snapshot_support: true
+        run_driver_assisted_migration_tests: false
+        run_manage_unmanage_snapshot_tests: false
+        run_manage_unmanage_tests: false
+        run_migration_with_preserve_snapshots_tests: false
+        run_quota_tests: true
+        run_replication_tests: false
+        run_snapshot_tests: true
\ No newline at end of file