Add cinder volumes for OSD nodes
PROD:PROD-35107
Change-Id: I0784192cc62a8f015b9bd6ce361ec70531d0cf0c
diff --git a/tcp_tests/templates/_heat_environments/eu-cloud.env b/tcp_tests/templates/_heat_environments/eu-cloud.env
index a22b8c7..218f04b 100644
--- a/tcp_tests/templates/_heat_environments/eu-cloud.env
+++ b/tcp_tests/templates/_heat_environments/eu-cloud.env
@@ -1,11 +1,13 @@
resource_registry:
"MCP::MultipleInstance": fragments/MultipleInstance.yaml
+ "MCP::MultipleInstance2Volumes": fragments/MultipleInstance2Volumes.yaml
#"MCP::Flavors": fragments/Flavors.yaml
"MCP::MasterNode": fragments/MasterNode.yaml
"MCP::Compute": fragments/Compute.yaml
"MCP::Networks": fragments/Networks.yaml
"MCP::SingleInstance": fragments/Instance.yaml
+ "MCP::SingleInstance2Volumes": fragments/Instance2Volumes.yaml
"MCP::FoundationNode": fragments/FoundationNode.yaml
"MCP::VsrxNode": fragments/VsrxNode.yaml
"MCP::Subnets": fragments/Subnets.yaml
diff --git a/tcp_tests/templates/_heat_environments/fragments/Instance2Volumes.yaml b/tcp_tests/templates/_heat_environments/fragments/Instance2Volumes.yaml
new file mode 100644
index 0000000..31fa18d
--- /dev/null
+++ b/tcp_tests/templates/_heat_environments/fragments/Instance2Volumes.yaml
@@ -0,0 +1,145 @@
+heat_template_version: queens
+
+description: Single server instance fragment with 2 Cinder volumes attached
+
+parameters:
+ instance_flavor:
+ type: string
+ instance_name:
+ type: string
+ instance_config_host:
+ type: string
+ key_pair:
+ type: string
+ instance_domain:
+ type: string
+ net_public:
+ type: string
+ control_net_static_ip:
+ type: string
+ tenant_net_static_ip:
+ type: string
+ external_net_static_ip:
+ type: string
+ underlay_userdata:
+ type: string
+ mcp_version:
+ type: string
+ env_name:
+ type: string
+ role:
+ type: comma_delimited_list
+ default: [salt_minion]
+ availability_zone:
+ type: string
+ volume_size_db:
+ type: number
+ default: 10
+ volume_size_data:
+ type: number
+ default: 45
+
+resources:
+ instance_port01:
+ type: OS::Neutron::Port
+ properties:
+ port_security_enabled: false
+ network_id: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
+ instance_port02:
+ type: OS::Neutron::Port
+ properties:
+ port_security_enabled: false
+ network_id: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
+ fixed_ips:
+ - ip_address: { get_param: control_net_static_ip }
+ instance_port03:
+ type: OS::Neutron::Port
+ properties:
+ port_security_enabled: false
+ network_id: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
+ fixed_ips:
+ - ip_address: { get_param: tenant_net_static_ip }
+ instance_port04:
+ type: OS::Neutron::Port
+ properties:
+ port_security_enabled: false
+ network_id: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
+ fixed_ips:
+ - ip_address: { get_param: external_net_static_ip }
+ volume01:
+ type: OS::Cinder::Volume
+ depends_on: instance_instance
+ properties:
+ name:
+ list_join:
+ - '.'
+ - [ "volume01", { get_param: instance_name }, { get_param: instance_domain } ]
+ size: { get_param: volume_size_data }
+ volume02:
+ type: OS::Cinder::Volume
+ depends_on: instance_instance
+ properties:
+ name:
+ list_join:
+ - '.'
+ - [ "volume02", { get_param: instance_name }, { get_param: instance_domain } ]
+ size: { get_param: volume_size_db }
+ instance_volume01:
+ type: OS::Cinder::VolumeAttachment
+ depends_on: volume01
+ properties:
+ volume_id: { get_resource: volume01 }
+ instance_uuid: { get_resource: instance_instance }
+ mountpoint: /dev/vdd
+ instance_volume02:
+ type: OS::Cinder::VolumeAttachment
+ depends_on: [ volume02, instance_volume01 ]
+ properties:
+ volume_id: { get_resource: volume02 }
+ instance_uuid: { get_resource: instance_instance }
+ mountpoint: /dev/vde
+
+ instance_instance:
+ type: OS::Nova::Server
+ properties:
+ image_update_policy: REBUILD
+ flavor: { get_param: instance_flavor }
+ image: { list_join: ['', [ 'ubuntu-vcp-', { get_param: mcp_version } ]] }
+ key_name: { get_param: key_pair }
+ availability_zone: { get_param: availability_zone }
+ name:
+ list_join:
+ - '.'
+ - [ { get_param: instance_name }, { get_param: instance_domain } ]
+ networks:
+ - port: { get_resource: instance_port01 }
+ - port: { get_resource: instance_port02 }
+ - port: { get_resource: instance_port03 }
+ - port: { get_resource: instance_port04 }
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ #template: { get_file: underlay--user-data-cfg01--heat.yaml }
+ template: { get_param: underlay_userdata }
+ #template: { get_file: ../../templates/{ get_param: lab_config_name }/underlay-userdata.yaml }
+ params:
+ hostname: { list_join: ['.', [ { get_param: instance_name }, { get_param: instance_domain } ]] }
+ $node_hostname: { get_param: instance_name }
+ $node_domain: { get_param: instance_domain }
+ $config_host: { get_param: instance_config_host }
+ metadata:
+ roles: { get_param: role }
+
+outputs:
+ instance_address:
+ value:
+ get_attr:
+ - instance_instance
+ - addresses
+ - 'management_net'
+ - 0
+ - addr
+ description: "Instance's private IP address"
+ instance:
+ value: { get_resource: instance_instance }
+ description: "Instance"
diff --git a/tcp_tests/templates/_heat_environments/fragments/MultipleInstance.yaml b/tcp_tests/templates/_heat_environments/fragments/MultipleInstance.yaml
index c6fcc02..5393e3a 100644
--- a/tcp_tests/templates/_heat_environments/fragments/MultipleInstance.yaml
+++ b/tcp_tests/templates/_heat_environments/fragments/MultipleInstance.yaml
@@ -53,7 +53,6 @@
availability_zone:
type: string
-
resources:
instance01:
type: MCP::SingleInstance
diff --git a/tcp_tests/templates/_heat_environments/fragments/MultipleInstance2Volumes.yaml b/tcp_tests/templates/_heat_environments/fragments/MultipleInstance2Volumes.yaml
new file mode 100644
index 0000000..003e91e
--- /dev/null
+++ b/tcp_tests/templates/_heat_environments/fragments/MultipleInstance2Volumes.yaml
@@ -0,0 +1,106 @@
+heat_template_version: queens
+
+description: 3 single nodes fragment
+
+parameters:
+ key_pair:
+ type: string
+ instance01_name:
+ type: string
+ instance02_name:
+ type: string
+ instance03_name:
+ type: string
+ instance_domain:
+ type: string
+ instance_flavor:
+ type: string
+ instance_config_host:
+ type: string
+ instance01_control_net_static_ip:
+ type: string
+ instance02_control_net_static_ip:
+ type: string
+ instance03_control_net_static_ip:
+ type: string
+ instance01_tenant_net_static_ip:
+ type: string
+ instance02_tenant_net_static_ip:
+ type: string
+ instance03_tenant_net_static_ip:
+ type: string
+ instance01_external_net_static_ip:
+ type: string
+ instance02_external_net_static_ip:
+ type: string
+ instance03_external_net_static_ip:
+ type: string
+ instance01_role:
+ type: comma_delimited_list
+ default: [salt_minion]
+ instance02_role:
+ type: comma_delimited_list
+ default: [salt_minion]
+ instance03_role:
+ type: comma_delimited_list
+ default: [salt_minion]
+ underlay_userdata:
+ type: string
+ mcp_version:
+ type: string
+ env_name:
+ type: string
+ availability_zone:
+ type: string
+
+resources:
+ instance01:
+ type: MCP::SingleInstance2Volumes
+ properties:
+ env_name: { get_param: env_name }
+ mcp_version: { get_param: mcp_version }
+ key_pair: { get_param: key_pair }
+ availability_zone: { get_param: availability_zone }
+ control_net_static_ip: {get_param: instance01_control_net_static_ip }
+ tenant_net_static_ip: {get_param: instance01_tenant_net_static_ip }
+ external_net_static_ip: {get_param: instance01_external_net_static_ip }
+ instance_name: { get_param: instance01_name }
+ role: { get_param: instance01_role }
+ instance_domain: { get_param: instance_domain }
+ instance_flavor: { get_param: instance_flavor }
+ instance_config_host: { get_param: instance_config_host }
+ underlay_userdata: { get_param: underlay_userdata }
+
+ instance02:
+ type: MCP::SingleInstance2Volumes
+ properties:
+ env_name: { get_param: env_name }
+ mcp_version: { get_param: mcp_version }
+ key_pair: { get_param: key_pair }
+ availability_zone: { get_param: availability_zone }
+ control_net_static_ip: {get_param: instance02_control_net_static_ip }
+ tenant_net_static_ip: {get_param: instance02_tenant_net_static_ip }
+ external_net_static_ip: {get_param: instance02_external_net_static_ip }
+ instance_name: { get_param: instance02_name }
+ role: { get_param: instance02_role }
+ instance_domain: { get_param: instance_domain }
+ instance_flavor: { get_param: instance_flavor }
+ instance_config_host: { get_param: instance_config_host }
+ underlay_userdata: { get_param: underlay_userdata }
+
+ instance03:
+ type: MCP::SingleInstance2Volumes
+ properties:
+ env_name: { get_param: env_name }
+ mcp_version: { get_param: mcp_version }
+ key_pair: { get_param: key_pair }
+ availability_zone: { get_param: availability_zone }
+ control_net_static_ip: {get_param: instance03_control_net_static_ip }
+ tenant_net_static_ip: {get_param: instance03_tenant_net_static_ip }
+ external_net_static_ip: {get_param: instance03_external_net_static_ip }
+ instance_name: { get_param: instance03_name }
+ role: { get_param: instance03_role }
+ instance_domain: { get_param: instance_domain }
+ instance_flavor: { get_param: instance_flavor }
+ instance_config_host: { get_param: instance_config_host }
+ underlay_userdata: { get_param: underlay_userdata }
diff --git a/tcp_tests/templates/_heat_environments/us-cloud.env b/tcp_tests/templates/_heat_environments/us-cloud.env
index 2c194c6..b5d0961 100644
--- a/tcp_tests/templates/_heat_environments/us-cloud.env
+++ b/tcp_tests/templates/_heat_environments/us-cloud.env
@@ -1,11 +1,13 @@
resource_registry:
"MCP::MultipleInstance": fragments/MultipleInstance.yaml
+ "MCP::MultipleInstance2Volumes": fragments/MultipleInstance2Volumes.yaml
#"MCP::Flavors": fragments/Flavors.yaml
"MCP::MasterNode": fragments/MasterNode.yaml
"MCP::Compute": fragments/Compute.yaml
"MCP::Networks": fragments/Networks.yaml
"MCP::SingleInstance": fragments/Instance.yaml
+ "MCP::SingleInstance2Volumes": fragments/Instance2Volumes.yaml
"MCP::FoundationNode": fragments/FoundationNode.yaml
"MCP::VsrxNode": fragments/VsrxNode.yaml
"MCP::Subnets": fragments/Subnets.yaml
diff --git a/tcp_tests/templates/heat-cicd-k8s-contrail41-sl/underlay.hot b/tcp_tests/templates/heat-cicd-k8s-contrail41-sl/underlay.hot
index 9a295dc..3d9275d 100644
--- a/tcp_tests/templates/heat-cicd-k8s-contrail41-sl/underlay.hot
+++ b/tcp_tests/templates/heat-cicd-k8s-contrail41-sl/underlay.hot
@@ -549,7 +549,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml b/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
index 4c27d97..6453453 100644
--- a/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
+++ b/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
@@ -45,15 +45,15 @@
ceph_mon_node03_hostname: cmn03
# Apply settings from context contexts/ceph/luminous-encrypted-devices.yml
ceph_osd_backend: bluestore
- ceph_osds_per_device: '1'
- ceph_osd_data_size: ''
+ ceph_osds_per_device: '3'
+ ceph_osd_data_size: '14'
ceph_osd_block_db_size: '3'
- ceph_osd_dmcrypt: True
+ ceph_osd_dmcrypt: False
ceph_osd_bond_mode: active-backup
ceph_osd_data_partition_prefix: ""
ceph_osd_count: '3'
- ceph_osd_data_disks: "/dev/vdb"
- ceph_osd_journal_or_block_db_disks: ""
+ ceph_osd_data_disks: "/dev/vdd"
+ ceph_osd_journal_or_block_db_disks: "/dev/vde"
ceph_osd_node_count: '3'
ceph_osd_journal_size: '3'
ceph_osd_deploy_nic: "eth0"
diff --git a/tcp_tests/templates/heat-cicd-pike-dvr-sl/underlay.hot b/tcp_tests/templates/heat-cicd-pike-dvr-sl/underlay.hot
index 2003c57..d8359d9 100644
--- a/tcp_tests/templates/heat-cicd-pike-dvr-sl/underlay.hot
+++ b/tcp_tests/templates/heat-cicd-pike-dvr-sl/underlay.hot
@@ -806,7 +806,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
index 7ea3233..9f1b14b 100644
--- a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
+++ b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
@@ -269,7 +269,7 @@
ceph_osd_storage_address_ranges: "==IPV4_NET_CONTROL_PREFIX==.201-==IPV4_NET_CONTROL_PREFIX==.203"
ceph_osd_backend_address_ranges: "==IPV4_NET_TENANT_PREFIX==.201-==IPV4_NET_TENANT_PREFIX==.203"
- ceph_osd_data_disks: "/dev/vdb"
+ ceph_osd_data_disks: "/dev/vdd"
ceph_osd_journal_or_block_db_disks: ""
ceph_osd_mode: "separated"
ceph_osd_deploy_nic: "eth0"
diff --git a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/underlay.hot b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/underlay.hot
index 3ffdb42..95ebe82 100644
--- a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/underlay.hot
+++ b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/underlay.hot
@@ -765,7 +765,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml b/tcp_tests/templates/heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
index 9b7306c..a4dbdba 100644
--- a/tcp_tests/templates/heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
+++ b/tcp_tests/templates/heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
@@ -1,3 +1,4 @@
+#Ceph Nautilus multiple osd
default_context:
jenkins_cfg_admin_password: r00tme
auditd_enabled: 'False'
@@ -45,15 +46,15 @@
ceph_mon_node03_hostname: cmn03
# Apply changes for ceph from contexts/ceph/nautilus-encrypted-devices.yml
ceph_osd_backend: bluestore
- ceph_osds_per_device: '1'
- ceph_osd_data_size: ''
+ ceph_osds_per_device: '3'
+ ceph_osd_data_size: '14'
ceph_osd_dmcrypt: True
ceph_osd_block_db_size: '3'
ceph_osd_data_partition_prefix: ""
ceph_osd_bond_mode: active-backup
ceph_osd_count: '3'
- ceph_osd_data_disks: "/dev/vdb"
- ceph_osd_journal_or_block_db_disks: ""
+ ceph_osd_data_disks: "/dev/vdd"
+ ceph_osd_journal_or_block_db_disks: "/dev/vde"
ceph_osd_mode: "separated"
ceph_osd_node_count: '3'
ceph_osd_journal_size: '3'
diff --git a/tcp_tests/templates/heat-cicd-queens-dvr-sl/underlay.hot b/tcp_tests/templates/heat-cicd-queens-dvr-sl/underlay.hot
index 919f2df..0d2c6bb 100644
--- a/tcp_tests/templates/heat-cicd-queens-dvr-sl/underlay.hot
+++ b/tcp_tests/templates/heat-cicd-queens-dvr-sl/underlay.hot
@@ -806,7 +806,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/underlay.hot b/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/underlay.hot
index 3d48557..b27c8c3 100644
--- a/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/underlay.hot
+++ b/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/underlay.hot
@@ -765,7 +765,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/released-heat-cicd-pike-dvr-sl/underlay.hot b/tcp_tests/templates/released-heat-cicd-pike-dvr-sl/underlay.hot
index 301f98f..8302d0a 100644
--- a/tcp_tests/templates/released-heat-cicd-pike-dvr-sl/underlay.hot
+++ b/tcp_tests/templates/released-heat-cicd-pike-dvr-sl/underlay.hot
@@ -806,7 +806,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/released-heat-cicd-queens-contrail41-sl/underlay.hot b/tcp_tests/templates/released-heat-cicd-queens-contrail41-sl/underlay.hot
index 53c124c..f1c94d8 100644
--- a/tcp_tests/templates/released-heat-cicd-queens-contrail41-sl/underlay.hot
+++ b/tcp_tests/templates/released-heat-cicd-queens-contrail41-sl/underlay.hot
@@ -765,7 +765,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
diff --git a/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/underlay.hot b/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/underlay.hot
index 9aca056..c48e0c2 100644
--- a/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/underlay.hot
+++ b/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/underlay.hot
@@ -806,7 +806,7 @@
instance_config_host: { get_attr: [cfg01_node, instance_address] }
ceph_osd_cluster:
- type: MCP::MultipleInstance
+ type: MCP::MultipleInstance2Volumes
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }