Merge "Refactor the underlay.ssh update process for VCP minions"
diff --git a/jobs/pipelines/swarm-bootstrap-salt-cluster-devops.groovy b/jobs/pipelines/swarm-bootstrap-salt-cluster-devops.groovy
index 7a6daaa..36ea29a 100644
--- a/jobs/pipelines/swarm-bootstrap-salt-cluster-devops.groovy
+++ b/jobs/pipelines/swarm-bootstrap-salt-cluster-devops.groovy
@@ -96,7 +96,7 @@
export LAB_CONFIG_NAME=${LAB_CONFIG_NAME}
export MANAGER=devops
export SHUTDOWN_ENV_ON_TEARDOWN=false
- export BOOTSTRAP_TIMEOUT=1200
+ export BOOTSTRAP_TIMEOUT=1800
export PYTHONIOENCODING=UTF-8
export REPOSITORY_SUITE=${MCP_VERSION}
export TEST_GROUP=test_bootstrap_salt
diff --git a/jobs/pipelines/swarm-create-cfg-config-drive.groovy b/jobs/pipelines/swarm-create-cfg-config-drive.groovy
index c43fb56..e921963 100644
--- a/jobs/pipelines/swarm-create-cfg-config-drive.groovy
+++ b/jobs/pipelines/swarm-create-cfg-config-drive.groovy
@@ -1,5 +1,6 @@
import java.text.SimpleDateFormat
+def gerrit = new com.mirantis.mk.Gerrit()
def dateFormat = new SimpleDateFormat("yyyyMMddHHmm")
def date = new Date()
def common_scripts_commit = "${COMMON_SCRIPTS_COMMIT}"
@@ -31,28 +32,82 @@
step([$class: 'WsCleanup'])
}
- stage("Get scripts") {
- // apt package genisoimage is required for this stage
- // download create-config-drive
+ stage("Get mk-pipelines, pipeline-library and mcp-common-scripts repositories") {
+ def cloned = true
+ withCredentials([[$class: 'SSHUserPrivateKeyBinding',
+ keyFileVariable: "GERRIT_KEY",
+ credentialsId: env.GERRIT_MCP_CREDENTIALS_ID,
+ usernameVariable: "GERRIT_USERNAME",
+ passwordVariable: "GERRIT_PASSWORD"]]) {
- def config_drive_script_url = "https://raw.githubusercontent.com/Mirantis/mcp-common-scripts/${common_scripts_commit}/config-drive/create_config_drive.sh"
- sh "wget -O create-config-drive ${config_drive_script_url} && chmod +x create-config-drive"
+ dir("mcp-common-scripts-git") {
+ cloned = gerrit.gerritPatchsetCheckout([
+ credentialsId : "${GERRIT_MCP_CREDENTIALS_ID}",
+ gerritBranch: "${MCP_VERSION}",
+ gerritRefSpec: "${MCP_COMMON_SCRIPTS_REFS}",
+ gerritScheme: "ssh",
+ gerritName: "${GERRIT_USERNAME}",
+ gerritHost: "gerrit.mcp.mirantis.net",
+ gerritPort: "29418",
+ gerritProject: "mcp/mcp-common-scripts"
+ ])
+ }
+ if (!cloned) {
+ error("Failed to clone the repository mcp/mcp-common-scripts")
+ }
- def user_data_script_url = "https://raw.githubusercontent.com/Mirantis/mcp-common-scripts/${common_scripts_commit}/config-drive/master_config.yaml"
- sh "wget -O user_data ${user_data_script_url}"
- }
+ dir("mk-pipelines-git") {
+ cloned = gerrit.gerritPatchsetCheckout([
+ credentialsId : "${GERRIT_MCP_CREDENTIALS_ID}",
+ gerritBranch: "${MCP_VERSION}",
+ gerritRefSpec: "${MK_PIPELINES_REF}",
+ gerritScheme: "ssh",
+ gerritName: "${GERRIT_USERNAME}",
+ gerritHost: "gerrit.mcp.mirantis.net",
+ gerritPort: "29418",
+ gerritProject: "mk/mk-pipelines"
+ ])
+ }
+ if (!cloned) {
+ error("Failed to clone the repository mk/mk-pipelines")
+ }
- stage("Clone mk-pipelines and pipeline-library") {
- sh "git clone --mirror https://github.com/Mirantis/mk-pipelines.git -b ${MCP_VERSION} mk-pipelines"
- sh "git clone --mirror https://github.com/Mirantis/pipeline-library.git -b ${MCP_VERSION} pipeline-library"
+ dir("pipeline-library-git") {
+ cloned = gerrit.gerritPatchsetCheckout([
+ credentialsId : "${GERRIT_MCP_CREDENTIALS_ID}",
+ gerritBranch: "${MCP_VERSION}",
+ gerritRefSpec: "${PIPELINE_LIBRARY_REF}",
+ gerritScheme: "ssh",
+ gerritName: "${GERRIT_USERNAME}",
+ gerritHost: "gerrit.mcp.mirantis.net",
+ gerritPort: "29418",
+ gerritProject: "mcp-ci/pipeline-library"
+ ])
+ }
+ if (!cloned) {
+ error("Failed to clone the repository mcp-ci/pipeline-library")
+ }
+ }
if (PIPELINE_LIBRARY_REF != '') {
- sh "cd pipeline-library; git fetch https://gerrit.mcp.mirantis.net/mcp-ci/pipeline-library ${PIPELINE_LIBRARY_REF} ; git tag ${MCP_VERSION} FETCH_HEAD -f ; cd .."
+ sh "cd pipeline-library-git; git tag ${MCP_VERSION} FETCH_HEAD -f ; cd .."
}
if (MK_PIPELINES_REF != '') {
- sh "cd mk-pipelines; git fetch https://gerrit.mcp.mirantis.net/mcp-ci/mk-pipelines ${MK_PIPELINES_REF} ; git tag ${MCP_VERSION} FETCH_HEAD -f; cd .."
+ sh "cd mk-pipelines-git; git tag ${MCP_VERSION} FETCH_HEAD -f; cd .."
}
+
+ // gerrit.gerritPatchsetCheckout() doesn't support clonning bare repository
+ sh "git clone --mirror mk-pipelines-git -b ${MCP_VERSION} mk-pipelines"
+ sh "git clone --mirror pipeline-library-git -b ${MCP_VERSION} pipeline-library"
+ }
+
+ stage("Prepare arguments for generation config drive") {
+
+ config_drive_script_path = "mcp-common-scripts-git/config-drive/create_config_drive.sh"
+ user_data_script_path = "mcp-common-scripts-git/config-drive/master_config.yaml"
+ sh "chmod +x ${config_drive_script_path}"
+
//args = "--user-data user_data --vendor-data user_data2 --hostname cfg01 --model model --mk-pipelines mk-pipelines/ --pipeline-library pipeline-library/ ${iso_name}"
- args = "--user-data user_data2 --vendor-data user_data --hostname cfg01 --model model --mk-pipelines mk-pipelines/ --pipeline-library pipeline-library/ ${iso_name}"
+ args = "--user-data user_data2 --vendor-data ${user_data_script_path} --hostname cfg01 --model model --mk-pipelines mk-pipelines/ --pipeline-library pipeline-library/ ${iso_name}"
}
stage("Get cluster model") {
@@ -70,7 +125,7 @@
stage("Set data"){
for (i in entries(smc)) {
- sh "sed -i \"s,export ${i[0]}=.*,export ${i[0]}=${i[1]},\" user_data"
+ sh "sed -i \"s,export ${i[0]}=.*,export ${i[0]}=${i[1]},\" ${user_data_script_path}"
}
}
@@ -151,8 +206,8 @@
stage("Create config-drive"){
// create cfg config-drive
- //sh "sed -i 's,config_dir/vendor-data,config_dir/user-data1,g' ./create-config-drive"
- sh "./create-config-drive ${args}"
+ // apt package genisoimage is required for this stage
+ sh "./${config_drive_script_path} ${args}"
}
stage("Save artifacts") {
diff --git a/jobs/pipelines/swarm-testrail-report.groovy b/jobs/pipelines/swarm-testrail-report.groovy
index 42027f0..9399510 100644
--- a/jobs/pipelines/swarm-testrail-report.groovy
+++ b/jobs/pipelines/swarm-testrail-report.groovy
@@ -48,11 +48,16 @@
def report_result = ''
def report_url = ''
+ // deployment_report_name = "deployment_${ENV_NAME}.xml"
def deployment_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"deployment_${ENV_NAME}.xml\"", returnStdout: true)
+ // tcpqa_report_name =~ "nosetests.xml"
def tcpqa_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"nosetests.xml\"", returnStdout: true)
+ // tempest_report_name =~ "report_*.xml"
def tempest_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"report_*.xml\"", returnStdout: true)
+ // k8s_conformance_report_name =~ conformance_result.xml
def k8s_conformance_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"conformance_result.xml\"", returnStdout: true)
- def stacklight_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"stacklight_report.xml\"", returnStdout: true)
+ // stacklight_report_name =~ "stacklight_report.xml" or "report.xml"
+ def stacklight_report_name = sh(script: "find ${PARENT_WORKSPACE} -name \"*report.xml\"", returnStdout: true)
common.printMsg(deployment_report_name ? "Found deployment report: ${deployment_report_name}" : "Deployment report not found", deployment_report_name ? "blue" : "red")
common.printMsg(tcpqa_report_name ? "Found tcp-qa report: ${tcpqa_report_name}" : "tcp-qa report not found", tcpqa_report_name ? "blue" : "red")
common.printMsg(tempest_report_name ? "Found tempest report: ${tempest_report_name}" : "tempest report not found", tempest_report_name ? "blue" : "red")
@@ -62,7 +67,6 @@
if (deployment_report_name) {
stage("Deployment report") {
-// report_name = "deployment_${ENV_NAME}.xml"
testSuiteName = "[MCP] Integration automation"
methodname = '{methodname}'
testrail_name_template = '{title}'
@@ -84,7 +88,6 @@
if (tcpqa_report_name) {
stage("tcp-qa cases report") {
- // tcpqa_report_name =~ "nosetests.xml"
testSuiteName = "[MCP_X] integration cases"
methodname = "{methodname}"
testrail_name_template = "{title}"
@@ -106,7 +109,6 @@
if ('openstack' in stacks && tempest_report_name) {
stage("Tempest report") {
- // tempest_report_name =~ "report_*.xml"
testSuiteName = "[MCP1.1_PIKE]Tempest"
methodname = "{classname}.{methodname}"
testrail_name_template = "{title}"
@@ -123,9 +125,6 @@
if ('k8s' in stacks && k8s_conformance_report_name) {
stage("K8s conformance report") {
- // k8s_conformance_report_name =~ conformance_result.xml
- // TODO(ddmitriev): it's better to get the k8s version right after deployment
- // and store in some artifact that can be re-used here.
def k8s_version=shared.run_cmd_stdout("""\
. ./env_k8s_version;
echo "\$KUBE_SERVER_VERSION"
@@ -152,7 +151,6 @@
if ('stacklight' in stacks && stacklight_report_name) {
stage("stacklight-pytest report") {
- // stacklight_report_name =~ "stacklight_report.xml"
testSuiteName = "LMA2.0_Automated"
methodname = "{methodname}"
testrail_name_template = "{title}"
diff --git a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
index 1561577..94b6549 100644
--- a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
@@ -261,3 +261,8 @@
upstream_proxy_enabled: 'False'
use_default_network_scheme: 'False'
openstack_octavia_enabled: 'True'
+ octavia_hm_bind_ip: 192.168.1.12
+ octavia_lb_mgmt_cidr: 192.168.1.0/24
+ octavia_lb_mgmt_allocation_pool_start: 192.168.1.2
+ octavia_lb_mgmt_allocation_pool_end: 192.168.1.200
+
diff --git a/tcp_tests/templates/cookied-mcp-mitaka-dvr/openstack.yaml b/tcp_tests/templates/cookied-mcp-mitaka-dvr/openstack.yaml
index b3c533d..b335251 100644
--- a/tcp_tests/templates/cookied-mcp-mitaka-dvr/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-mitaka-dvr/openstack.yaml
@@ -9,6 +9,7 @@
{% set OVERRIDE_POLICY = os_env('OVERRIDE_POLICY', '') %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Install OpenStack control services
@@ -172,11 +173,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
@@ -189,9 +186,3 @@
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 1, delay: 30}
skip_fail: false
-
-- description: Set floating ip address on br-floating
- cmd: ifconfig br-floating {{ IPV4_NET_EXTERNAL_PREFIX }}.110/24
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
diff --git a/tcp_tests/templates/cookied-mcp-mitaka-ovs/openstack.yaml b/tcp_tests/templates/cookied-mcp-mitaka-ovs/openstack.yaml
index eade071..6672997 100644
--- a/tcp_tests/templates/cookied-mcp-mitaka-ovs/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-mitaka-ovs/openstack.yaml
@@ -7,6 +7,7 @@
{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Deploy nginx before openstack services (PROD-22740)
- description: Deploy nginx proxy
@@ -194,17 +195,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
-
-- description: Enable forward policy
- cmd: iptables --policy FORWARD ACCEPT
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
diff --git a/tcp_tests/templates/cookied-mcp-newton-dvr/openstack.yaml b/tcp_tests/templates/cookied-mcp-newton-dvr/openstack.yaml
index e298fcf..7260beb 100644
--- a/tcp_tests/templates/cookied-mcp-newton-dvr/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-newton-dvr/openstack.yaml
@@ -9,6 +9,7 @@
{% set OVERRIDE_POLICY = os_env('OVERRIDE_POLICY', '') %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Install OpenStack control services
@@ -172,17 +173,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
-
-- description: Enable forward policy
- cmd: iptables --policy FORWARD ACCEPT
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
diff --git a/tcp_tests/templates/cookied-mcp-newton-ovs/openstack.yaml b/tcp_tests/templates/cookied-mcp-newton-ovs/openstack.yaml
index 52c0fdb..04871da 100644
--- a/tcp_tests/templates/cookied-mcp-newton-ovs/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-newton-ovs/openstack.yaml
@@ -7,6 +7,7 @@
{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Deploy nginx before openstack services (PROD-22740)
- description: Deploy nginx proxy
@@ -194,17 +195,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
-
-- description: Enable forward policy
- cmd: iptables --policy FORWARD ACCEPT
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
diff --git a/tcp_tests/templates/cookied-mcp-ocata-dvr/openstack.yaml b/tcp_tests/templates/cookied-mcp-ocata-dvr/openstack.yaml
index acb9ef5..1e6fbd8 100644
--- a/tcp_tests/templates/cookied-mcp-ocata-dvr/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-ocata-dvr/openstack.yaml
@@ -9,6 +9,7 @@
{% set OVERRIDE_POLICY = os_env('OVERRIDE_POLICY', '') %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Install OpenStack control services
@@ -172,17 +173,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
-
-- description: Enable forward policy
- cmd: iptables --policy FORWARD ACCEPT
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
diff --git a/tcp_tests/templates/cookied-mcp-ocata-ovs/openstack.yaml b/tcp_tests/templates/cookied-mcp-ocata-ovs/openstack.yaml
index 8bc9c93..4072632 100644
--- a/tcp_tests/templates/cookied-mcp-ocata-ovs/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-ocata-ovs/openstack.yaml
@@ -7,6 +7,7 @@
{% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %}
{% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %}
+{% import 'shared-salt.yaml' as SHARED with context %}
# Deploy nginx before openstack services (PROD-22740)
- description: Deploy nginx proxy
@@ -148,17 +149,7 @@
retry: {count: 1, delay: 30}
skip_fail: false
-- description: Install docker.io on gtw
- cmd: salt-call cmd.run 'apt-get install docker.io -y'
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
-
-- description: Enable forward policy
- cmd: iptables --policy FORWARD ACCEPT
- node_name: {{ HOSTNAME_GTW01 }}
- retry: {count: 1, delay: 30}
- skip_fail: false
+{{ SHARED.INSTALL_DOCKER_ON_GTW() }}
- description: create rc file on cfg
cmd: scp ctl01:/root/keystonercv3 /root
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/cookiecutter-context-dvr-ceph.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
index 7df1f81..22e4442 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
@@ -92,7 +92,7 @@
gainsight_service_enabled: 'False'
gateway_primary_first_nic: eth1
gateway_primary_second_nic: eth2
- gnocchi_aggregation_storage: file
+ gnocchi_aggregation_storage: ceph
infra_bond_mode: active-backup
infra_deploy_nic: eth0
infra_kvm01_control_address: 10.167.4.11
@@ -209,9 +209,17 @@
tenant_network_gateway: 10.167.6.1
tenant_network_netmask: 255.255.255.0
tenant_network_subnet: 10.167.6.0/24
- tenant_telemetry_enabled: 'False'
+ tenant_telemetry_enabled: 'True'
tenant_vlan: '20'
upstream_proxy_enabled: 'False'
use_default_network_scheme: 'True'
version: proposed
vnf_onboarding_enabled: 'False'
+ openstack_telemetry_address: 172.16.10.83
+ openstack_telemetry_hostname: mdb
+ openstack_telemetry_node01_address: 172.16.10.84
+ openstack_telemetry_node01_hostname: mdb01
+ openstack_telemetry_node02_address: 172.16.10.85
+ openstack_telemetry_node02_hostname: mdb02
+ openstack_telemetry_node03_address: 172.16.10.86
+ openstack_telemetry_node03_hostname: mdb03
\ No newline at end of file
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/openstack.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/openstack.yaml
index 758a86d..8531cc3 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/openstack.yaml
@@ -31,6 +31,16 @@
{{ SHARED_OPENSTACK.MACRO_INSTALL_HEAT() }}
+{{ SHARED_OPENSTACK.MACRO_INSTALL_REDIS() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_GNOCCHI() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_PANKO() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_CEILOMETER() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_AODH() }}
+
{{ SHARED_OPENSTACK.MACRO_INSTALL_HORIZON() }}
-{{ SHARED_OPENSTACK.MACRO_INSTALL_COMPUTE() }}
\ No newline at end of file
+{{ SHARED_OPENSTACK.MACRO_INSTALL_COMPUTE(CELL_MAPPING=true) }}
\ No newline at end of file
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/underlay.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/underlay.yaml
index a140743..b36f8be 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/underlay.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/underlay.yaml
@@ -29,6 +29,9 @@
{% set HOSTNAME_OSD02 = os_env('HOSTNAME_OSD02', 'osd2.' + DOMAIN_NAME) %}
{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB01 = os_env('HOSTNAME_MDB01', 'mdb01.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB02 = os_env('HOSTNAME_MDB02', 'mdb02.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB03 = os_env('HOSTNAME_MDB03', 'mdb03.' + DOMAIN_NAME) %}
template:
devops_settings:
@@ -57,6 +60,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+70, -10]
@@ -82,6 +88,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+70, -10]
@@ -107,6 +116,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+10, -10]
@@ -132,6 +144,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+130, +230]
@@ -316,6 +331,93 @@
interfaces: *interfaces
network_config: *network_config
+ - name: {{ HOSTNAME_MDB01 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
+ - name: {{ HOSTNAME_MDB02 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
+ - name: {{ HOSTNAME_MDB03 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
- name: {{ HOSTNAME_CMN01 }}
role: salt_minion
params:
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/vcp-context-environment.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/vcp-context-environment.yaml
index 74a1465..c89ec89 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/vcp-context-environment.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr-ceph/vcp-context-environment.yaml
@@ -169,4 +169,37 @@
ens3:
role: single_dhcp
ens4:
- role: single_ctl
\ No newline at end of file
+ role: single_ctl
+
+ mdb01.cookied-mcp-pike-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node01
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
+
+ mdb02.cookied-mcp-pike-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node02
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
+
+ mdb03.cookied-mcp-pike-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node03
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr/_context-cookiecutter-mcp-pike-dvr.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr/_context-cookiecutter-mcp-pike-dvr.yaml
index 622b371..64031ea 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr/_context-cookiecutter-mcp-pike-dvr.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr/_context-cookiecutter-mcp-pike-dvr.yaml
@@ -227,4 +227,9 @@
openstack_share_hostname: share
openstack_share_node01_hostname: share01
openstack_octavia_enabled: 'True'
+ octavia_hm_bind_ip: 192.168.1.12
+ octavia_lb_mgmt_cidr: 192.168.1.0/24
+ octavia_lb_mgmt_allocation_pool_start: 192.168.1.2
+ octavia_lb_mgmt_allocation_pool_end: 192.168.1.200
+
diff --git a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/cookiecutter-context-dvr-ceph.yaml b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
index 39099ee..bfcc3fd 100644
--- a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
+++ b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/cookiecutter-context-dvr-ceph.yaml
@@ -227,5 +227,13 @@
openstack_mysql_x509_enabled: 'False'
rabbitmq_ssl_enabled: 'False'
openstack_rabbitmq_x509_enabled: 'False'
- tenant_telemetry_enabled: 'False'
- gnocchi_aggregation_storage: file
+ tenant_telemetry_enabled: 'True'
+ gnocchi_aggregation_storage: ceph
+ openstack_telemetry_address: 172.16.10.83
+ openstack_telemetry_hostname: mdb
+ openstack_telemetry_node01_address: 172.16.10.84
+ openstack_telemetry_node01_hostname: mdb01
+ openstack_telemetry_node02_address: 172.16.10.85
+ openstack_telemetry_node02_hostname: mdb02
+ openstack_telemetry_node03_address: 172.16.10.86
+ openstack_telemetry_node03_hostname: mdb03
\ No newline at end of file
diff --git a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/openstack.yaml b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/openstack.yaml
index 5d19c16..636187b 100644
--- a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/openstack.yaml
@@ -31,6 +31,16 @@
{{ SHARED_OPENSTACK.MACRO_INSTALL_HEAT() }}
+{{ SHARED_OPENSTACK.MACRO_INSTALL_REDIS() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_GNOCCHI() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_PANKO() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_CEILOMETER() }}
+
+{{ SHARED_OPENSTACK.MACRO_INSTALL_AODH() }}
+
{{ SHARED_OPENSTACK.MACRO_INSTALL_HORIZON() }}
{{ SHARED_OPENSTACK.MACRO_INSTALL_COMPUTE(CELL_MAPPING=true) }}
\ No newline at end of file
diff --git a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/underlay.yaml b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/underlay.yaml
index 727758e..fe31142 100644
--- a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/underlay.yaml
+++ b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/underlay.yaml
@@ -29,6 +29,9 @@
{% set HOSTNAME_OSD02 = os_env('HOSTNAME_OSD02', 'osd2.' + DOMAIN_NAME) %}
{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB01 = os_env('HOSTNAME_MDB01', 'mdb01.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB02 = os_env('HOSTNAME_MDB02', 'mdb02.' + DOMAIN_NAME) %}
+{% set HOSTNAME_MDB03 = os_env('HOSTNAME_MDB03', 'mdb03.' + DOMAIN_NAME) %}
template:
devops_settings:
@@ -57,6 +60,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+70, -10]
@@ -82,6 +88,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+70, -10]
@@ -107,6 +116,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+10, -10]
@@ -132,6 +144,9 @@
default_{{ HOSTNAME_RGW03 }}: +78
default_{{ HOSTNAME_GTW01 }}: +110
default_{{ HOSTNAME_PRX01 }}: +121
+ default_{{ HOSTNAME_MDB01 }}: +84
+ default_{{ HOSTNAME_MDB02 }}: +85
+ default_{{ HOSTNAME_MDB03 }}: +86
ip_ranges:
dhcp: [+130, +230]
@@ -313,6 +328,8 @@
cloudinit_meta_data: *cloudinit_meta_data
cloudinit_user_data: *cloudinit_user_data_1604
+
+
interfaces: *interfaces
network_config: *network_config
@@ -342,6 +359,93 @@
interfaces: *interfaces
network_config: *network_config
+ - name: {{ HOSTNAME_MDB01 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
+ - name: {{ HOSTNAME_MDB02 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
+ - name: {{ HOSTNAME_MDB03 }}
+ role: salt_minion
+ params:
+ vcpu: !os_env SLAVE_NODE_CPU, 2
+ memory: !os_env SLAVE_NODE_MEMORY, 8192
+ boot:
+ - hd
+ cloud_init_volume_name: iso
+ cloud_init_iface_up: ens3
+ volumes:
+ - name: system
+ capacity: !os_env NODE_VOLUME_SIZE, 150
+ backing_store: mcp_ubuntu_1604_image
+ format: qcow2
+ - name: cinder
+ capacity: 50
+ 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: *cloudinit_meta_data
+ cloudinit_user_data: *cloudinit_user_data_1604
+
+ interfaces: *interfaces
+ network_config: *network_config
+
- name: {{ HOSTNAME_CMN02 }}
role: salt_minion
params:
diff --git a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/vcp-context-environment.yaml b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/vcp-context-environment.yaml
index f279b44..28831da 100644
--- a/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/vcp-context-environment.yaml
+++ b/tcp_tests/templates/cookied-mcp-queens-dvr-ceph/vcp-context-environment.yaml
@@ -169,4 +169,38 @@
ens3:
role: single_dhcp
ens4:
- role: single_ctl
\ No newline at end of file
+ role: single_ctl
+
+
+ mdb01.cookied-mcp-queens-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node01
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
+
+ mdb02.cookied-mcp-queens-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node02
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
+
+ mdb03.cookied-mcp-queens-dvr-ceph.local:
+ reclass_storage_name: openstack_telemetry_node03
+ roles:
+ - linux_system_codename_xenial
+ - openstack_telemetry
+ interfaces:
+ ens3:
+ role: single_dhcp
+ ens4:
+ role: single_ctl
diff --git a/tcp_tests/templates/shared-ceph.yaml b/tcp_tests/templates/shared-ceph.yaml
index 267e407..ab13cb2 100644
--- a/tcp_tests/templates/shared-ceph.yaml
+++ b/tcp_tests/templates/shared-ceph.yaml
@@ -111,14 +111,14 @@
{%- endmacro %}
{%- macro CONNECT_CEPH_TO_SERVICES() %}
-- description: Connect ceph to glance
+- description: Setup keyring for glance
cmd: |
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@glance:server' state.sls ceph.common,ceph.setup.keyring;
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 2, delay: 5}
skip_fail: false
-- description: Connect ceph to cinder and nova
+- description: Setup keyring for cinder and nova
cmd: |
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@cinder:controller' state.sls ceph.common,ceph.setup.keyring;
salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@nova:compute' state.sls ceph.common,ceph.setup.keyring;
@@ -126,4 +126,13 @@
node_name: {{ HOSTNAME_CFG01 }}
retry: {count: 2, delay: 5}
skip_fail: false
+
+- description: Setup keyring for gnocchi
+ cmd: |
+ if salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@gnocchi:server' match.pillar 'ceph:common' ; then
+ salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@ceph:common and I@gnocchi:server' state.sls ceph.common,ceph.setup.keyring
+ fi
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
{%- endmacro %}