Create resources for VNF-Onboarding
Added classes for creation images, flavors, credentials that will
be used by vnf-onboarding pipelines.
Related-PROD: PROD-19328
Related-PROD: PROD-19968
Change-Id: If57d8a95315904dceb960038013ebaf937c1f478
diff --git a/glance/client/image/vnf_onboarding/avi_loadbalancer.yml b/glance/client/image/vnf_onboarding/avi_loadbalancer.yml
new file mode 100644
index 0000000..3061d60
--- /dev/null
+++ b/glance/client/image/vnf_onboarding/avi_loadbalancer.yml
@@ -0,0 +1,22 @@
+classes:
+- system.glance.client
+parameters:
+ _param:
+ avi_control_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_avi_control_image_name}.qcow2"
+ avi_control_image_name: "${_param:vnf_avi_control_image_name}"
+ glance:
+ client:
+ identity:
+ admin_identity:
+ endpoint_type: internalURL
+ image:
+ avi:
+ name: ${_param:avi_control_image_name}
+ location: ${_param:avi_control_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'avi'
+ visibility: public
+ wait_timeout: 1000
diff --git a/glance/client/image/vnf_onboarding/init.yml b/glance/client/image/vnf_onboarding/init.yml
new file mode 100644
index 0000000..7d57ca6
--- /dev/null
+++ b/glance/client/image/vnf_onboarding/init.yml
@@ -0,0 +1,71 @@
+classes:
+- system.glance.client
+parameters:
+ _param:
+ cloudify_enterprise_manager_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_cloudify_enterprise_manager_image_name}.qcow2"
+ cloudify_enterprise_manager_image_name: "${_param:vnf_cloudify_enterprise_manager_image_name}"
+ cloudify_community_manager_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_cloudify_community_manager_image_name}.qcow2"
+ cloudify_community_manager_image_name: "${_param:vnf_cloudify_community_manager_image_name}"
+ agent_vm_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_agent_vm_image_name}.img"
+ agent_vm_image_name: "${_param:vnf_agent_vm_image_name}"
+ base_agent_vm_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_base_agent_vm_image_name}.qcow2"
+ base_agent_vm_image_name: "${_param:vnf_base_agent_vm_image_name}"
+ base_backend_vm_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_base_backend_vm_image_name}.qcow2"
+ base_backend_vm_image_name: "${_param:vnf_base_backend_vm_image_name}"
+ glance:
+ client:
+ identity:
+ admin_identity:
+ endpoint_type: internalURL
+ image:
+ agent_vm:
+ name: ${_param:agent_vm_image_name}
+ location: ${_param:agent_vm_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'vnf-onboarding'
+ visibility: public
+ wait_timeout: 1000
+ base_agent_vm:
+ name: ${_param:base_agent_vm_image_name}
+ location: ${_param:base_agent_vm_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'vnf-onboarding'
+ visibility: public
+ wait_timeout: 1000
+ base_backend_vm:
+ name: ${_param:base_backend_vm_image_name}
+ location: ${_param:base_backend_vm_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'vnf-onboarding'
+ visibility: public
+ wait_timeout: 1000
+ cloudify-enterprise:
+ name: ${_param:cloudify_enterprise_manager_image_name}
+ location: ${_param:cloudify_enterprise_manager_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'vnf-onboarding'
+ visibility: public
+ wait_timeout: 1000
+ cloudify-community:
+ name: ${_param:cloudify_community_manager_image_name}
+ location: ${_param:cloudify_community_manager_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'vnf-onboarding'
+ visibility: public
+ wait_timeout: 1000
+
diff --git a/glance/client/image/vnf_onboarding/metaswitch.yml b/glance/client/image/vnf_onboarding/metaswitch.yml
new file mode 100644
index 0000000..6b3d387
--- /dev/null
+++ b/glance/client/image/vnf_onboarding/metaswitch.yml
@@ -0,0 +1,46 @@
+classes:
+- system.glance.client
+parameters:
+ _param:
+ metaswitch_dcm_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_metaswitch_dcm_image_name}.qcow2"
+ metaswitch_dcm_image_name: "${_param:vnf_metaswitch_dcm_image_name}"
+ metaswitch_mdm_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_metaswitch_mdm_image_name}.qcow2"
+ metaswitch_mdm_image_name: "${_param:vnf_metaswitch_mdm_image_name}"
+ metaswitch_perimeta_image_url: "${_param:vnf_artifactory_url}/${_param:vnf_metaswitch_perimeta_image_name}.qcow2"
+ metaswitch_perimeta_image_name: "${_param:vnf_metaswitch_perimeta_image_name}"
+ glance:
+ client:
+ identity:
+ admin_identity:
+ endpoint_type: internalURL
+ image:
+ metaswitch-dcm:
+ name: ${_param:metaswitch_dcm_image_name}
+ location: ${_param:metaswitch_dcm_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'metaswitch'
+ visibility: public
+ wait_timeout: 1000
+ metaswitch-mdm:
+ name: ${_param:metaswitch_mdm_image_name}
+ location: ${_param:metaswitch_mdm_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'metaswitch'
+ visibility: public
+ wait_timeout: 1000
+ metaswitch-perimeta:
+ name: ${_param:metaswitch_perimeta_image_name}
+ location: ${_param:metaswitch_perimeta_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'metaswitch'
+ visibility: public
+ wait_timeout: 1000
\ No newline at end of file
diff --git a/jenkins/client/credential/vnf_onboarding.yml b/jenkins/client/credential/vnf_onboarding.yml
new file mode 100644
index 0000000..b668f31
--- /dev/null
+++ b/jenkins/client/credential/vnf_onboarding.yml
@@ -0,0 +1,14 @@
+parameters:
+
+ jenkins:
+ client:
+ credential:
+ test-openstack:
+ username: test
+ password: ${_param:vnf_openstack_test_user_password}
+ test-admin:
+ username: test-admin
+ password: ${_param:vnf_openstack_admin_user_password}
+ openstack-key:
+ username: root
+ key: ${_param:vnf_openstack_private_key}
diff --git a/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
index 234178e..79d53aa 100644
--- a/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
+++ b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
@@ -39,7 +39,7 @@
default: "cloudify-enterprise"
CFM_FLAVOR:
type: string
- default: "large"
+ default: "cfy.mngr"
CFM_DISK_SIZE:
type: string
default: "80"
@@ -57,7 +57,16 @@
default: "${_param:dns_server01}"
CFM_SSH_KEY_ID:
type: string
- default: "openstack_key"
+ default: "openstack-key"
EXTERNAL_NET:
type: string
- default: "public"
\ No newline at end of file
+ default: "public"
+ VNF_DOCKER_REGISTRY_PATH:
+ type: string
+ default: "${_param:vnf_docker_registry_path}"
+ VNF_DOCKER_CLI_TAG:
+ type: string
+ default: "latest"
+ VNF_DOCKER_CLI_PLATFORM:
+ type: string
+ default: "ubuntu"
\ No newline at end of file
diff --git a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
index 7caf52c..43586f7 100644
--- a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
+++ b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
@@ -87,20 +87,18 @@
type: string
description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
default: "auto"
+ CLOUDIFY_MANAGER_OPTIONS:
+ type: string
+ description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
+ default: "CFM_IMAGE=cloudify-manager-4.3.1ga CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
CFM_SSH_KEY_ID:
type: string
description: "Credentials ID of ssh key for connection to Cloudify"
default: "${_param:vnf_openstack_ssh_key_credentials}"
- CFY_AGENT_NET:
+ CLOUDIFY_AGENT_OPTIONS:
type: string
- description: "Network for Cloudify agents that has access to Cloudify Manager"
- default: "cfm-net-shared"
- CFY_AGENT_FLAVOR:
- type: string
- default: "cfy.agent"
- CFY_AGENT_IMAGE:
- type: string
- default: "ubuntu-xenial"
+ description: "Parameters for cloudify agent VMs."
+ default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.avi CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
VNF_ARTIFACTORY_URL:
type: string
default: "${_param:vnf_artifactory_url}"
diff --git a/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
index e27cc1b..8720fb1 100644
--- a/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
+++ b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
@@ -85,20 +85,18 @@
type: string
description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
default: "auto"
+ CLOUDIFY_MANAGER_OPTIONS:
+ type: string
+ description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
+ default: "CFM_IMAGE=cloudify-manager-4.3.1ga CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
CFM_SSH_KEY_ID:
type: string
description: "Credentials ID of ssh key for connection to Cloudify"
default: "${_param:vnf_openstack_ssh_key_credentials}"
- CFY_AGENT_NET:
+ CLOUDIFY_AGENT_OPTIONS:
type: string
- description: "Network for Cloudify agents that has access to Cloudify Manager"
- default: "cfm-net-shared"
- CFY_AGENT_FLAVOR:
- type: string
- default: "cfy.agent"
- CFY_AGENT_IMAGE:
- type: string
- default: "ubuntu-xenial"
+ description: "Parameters for cloudify agent VMs."
+ default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.metaswitch CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
VNF_ARTIFACTORY_URL:
type: string
default: "${_param:vnf_artifactory_url}"
diff --git a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
index f5ca331..cdb073a 100644
--- a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
+++ b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
@@ -88,20 +88,18 @@
type: string
description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
default: "auto"
+ CLOUDIFY_MANAGER_OPTIONS:
+ type: string
+ description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
+ default: "CFM_IMAGE=cloudify-manager-4.3.1ga CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
CFM_SSH_KEY_ID:
type: string
description: "Credentials ID of ssh key for connection to Cloudify"
default: "${_param:vnf_openstack_ssh_key_credentials}"
- CFY_AGENT_NET:
+ CLOUDIFY_AGENT_OPTIONS:
type: string
- description: "Network for Cloudify agents that has access to Cloudify Manager"
- default: "cfm-net-shared"
- CFY_AGENT_FLAVOR:
- type: string
- default: "cfy.agent"
- CFY_AGENT_IMAGE:
- type: string
- default: "ubuntu-xenial"
+ description: "Parameters for cloudify agent VMs."
+ default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.nginx CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
VNF_ARTIFACTORY_URL:
type: string
default: "${_param:vnf_artifactory_url}"
diff --git a/keystone/client/vnf_onboarding/avi_loadbalancer.yml b/keystone/client/vnf_onboarding/avi_loadbalancer.yml
new file mode 100644
index 0000000..d14576d
--- /dev/null
+++ b/keystone/client/vnf_onboarding/avi_loadbalancer.yml
@@ -0,0 +1,22 @@
+parameters:
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ test:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ protocol: ${_param:keystone_service_protocol}
+ roles:
+ - Member
+ project:
+ test-avi:
+ description: "OpenStack tenant to execute validation tests against AVI Loadbalancer VNF"
+ user:
+ test:
+ is_admin: false
+ password: ${_param:vnf_openstack_test_user_password}
+ email: ${_param:vnf_openstack_test_user_email}
diff --git a/keystone/client/vnf_onboarding/init.yml b/keystone/client/vnf_onboarding/init.yml
new file mode 100644
index 0000000..ad436fe
--- /dev/null
+++ b/keystone/client/vnf_onboarding/init.yml
@@ -0,0 +1,23 @@
+parameters:
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ admin-test:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ protocol: ${_param:keystone_service_protocol}
+ roles:
+ - admin
+ - Member
+ project:
+ test-cloudify:
+ description: "OpenStack tenant with predeployed cloudify manager"
+ user:
+ admin-test:
+ is_admin: true
+ password: ${_param:vnf_openstack_admin_user_password}
+ email: ${_param:vnf_openstack_admin_user_email}
diff --git a/keystone/client/vnf_onboarding/metaswitch_vsbc.yml b/keystone/client/vnf_onboarding/metaswitch_vsbc.yml
new file mode 100644
index 0000000..42ed04f
--- /dev/null
+++ b/keystone/client/vnf_onboarding/metaswitch_vsbc.yml
@@ -0,0 +1,22 @@
+parameters:
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ test:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ protocol: ${_param:keystone_service_protocol}
+ roles:
+ - Member
+ project:
+ test-metaswitch:
+ description: "OpenStack tenant to execute validation tests against Metaswitch vSBC VNF"
+ user:
+ test:
+ is_admin: false
+ password: ${_param:vnf_openstack_test_user_password}
+ email: ${_param:vnf_openstack_test_user_email}
diff --git a/keystone/client/vnf_onboarding/nginx_vnf.yml b/keystone/client/vnf_onboarding/nginx_vnf.yml
new file mode 100644
index 0000000..be67940
--- /dev/null
+++ b/keystone/client/vnf_onboarding/nginx_vnf.yml
@@ -0,0 +1,22 @@
+parameters:
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ test:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ protocol: ${_param:keystone_service_protocol}
+ roles:
+ - Member
+ project:
+ test-nginx:
+ description: "OpenStack tenant to execute validation tests against Nginx VNF"
+ user:
+ test:
+ is_admin: false
+ password: ${_param:vnf_openstack_test_user_password}
+ email: ${_param:vnf_openstack_test_user_email}
diff --git a/nova/client/flavor/vnf_onboarding/avi_loadbalancer.yml b/nova/client/flavor/vnf_onboarding/avi_loadbalancer.yml
new file mode 100644
index 0000000..b1122e9
--- /dev/null
+++ b/nova/client/flavor/vnf_onboarding/avi_loadbalancer.yml
@@ -0,0 +1,16 @@
+classes:
+- service.nova.client
+parameters:
+ nova:
+ client:
+ server:
+ admin_identity:
+ flavor:
+ avi_ctrl.small:
+ ram: 4096
+ disk: 70
+ vcpus: 4
+ backend.avi:
+ ram: 2048
+ disk: 10
+ vcpus: 1
\ No newline at end of file
diff --git a/nova/client/flavor/vnf_onboarding/init.yml b/nova/client/flavor/vnf_onboarding/init.yml
new file mode 100644
index 0000000..da15347
--- /dev/null
+++ b/nova/client/flavor/vnf_onboarding/init.yml
@@ -0,0 +1,16 @@
+classes:
+- service.nova.client
+parameters:
+ nova:
+ client:
+ server:
+ admin_identity:
+ flavor:
+ cfy.agent:
+ ram: 2048
+ disk: 20
+ vcpus: 2
+ cfy.mngr:
+ ram: 8192
+ disk: 40
+ vcpus: 4
diff --git a/nova/client/flavor/vnf_onboarding/metaswitch.yml b/nova/client/flavor/vnf_onboarding/metaswitch.yml
new file mode 100644
index 0000000..636fc73
--- /dev/null
+++ b/nova/client/flavor/vnf_onboarding/metaswitch.yml
@@ -0,0 +1,28 @@
+classes:
+- service.nova.client
+parameters:
+ nova:
+ client:
+ server:
+ admin_identity:
+ flavor:
+ MetaswitchMDM:
+ ram: 4096
+ disk: 20
+ vcpus: 2
+ MetaswitchMSC:
+ ram: 4096
+ disk: 30
+ vcpus: 2
+ MetaswitchDCM:
+ ram: 1024
+ disk: 10
+ vcpus: 1
+ MetaswitchSSC:
+ ram: 4096
+ disk: 40
+ vcpus: 2
+ backend.metaswitch:
+ ram: 2048
+ disk: 10
+ vcpus: 1
\ No newline at end of file
diff --git a/nova/client/flavor/vnf_onboarding/nginx_vnf.yml b/nova/client/flavor/vnf_onboarding/nginx_vnf.yml
new file mode 100644
index 0000000..bdad53c
--- /dev/null
+++ b/nova/client/flavor/vnf_onboarding/nginx_vnf.yml
@@ -0,0 +1,12 @@
+classes:
+- service.nova.client
+parameters:
+ nova:
+ client:
+ server:
+ admin_identity:
+ flavor:
+ backend.nginx:
+ ram: 2048
+ disk: 10
+ vcpus: 1
\ No newline at end of file