1 # ============LICENSE_START=======================================================
2 # Copyright (C) 2021 Orange
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # ============LICENSE_END=========================================================
17 from uuid import uuid4
22 # 1 - default configuration values like set below
23 # 2 - extra ssh service that comes from the profile
24 # 3 - extra ssh service that comes from config + verification of the CNF status
25 # change requires new onboarding
27 K8S_NAMESPACE = "vfirewall"
28 K8S_VERSION = "1.18.9"
31 #### SERVICE DETAILS ####
32 NATIVE = True # False for old dummy-heat based orchestration path
33 SKIP_POST_INSTANTIATION = True
34 MACRO_INSTANTIATION = True # A-la-carte instantiation if False
35 GLOBAL_CUSTOMER_ID = "customer_cnf"
36 VSPFILE = "vsp/vfw_k8s_demo.zip"
38 VSPFILE = "vsp/native_vfw_k8s_demo.zip"
40 PROFILE_NAME = "vfw-cnf-cds-base-profile"
41 PROFILE_SOURCE = PROFILE_NAME
42 RELEASE_NAME = "vfw-1"
45 SERVICENAME = "vfw_k8s_demo_CNF" + "_" + str(SCENARIO)
46 VSPNAME = "VSP_" + SERVICENAME
47 VFNAME = "VF_" + SERVICENAME
48 SERVICE_INSTANCE_NAME = "INSTANCE_" + SERVICENAME
49 SDNC_ARTIFACT_NAME = "vnf"
51 # INSERT PARAMS FOR VNF HERE AS "name" : "value" PAIR
53 "k8s-rb-profile-namespace": K8S_NAMESPACE,
54 "k8s-rb-profile-k8s-version": K8S_VERSION
59 VF_MODULE_PREFIX = "helm_"
61 VF_MODULE_PARAM_LIST = {
62 VF_MODULE_PREFIX + "base_template": {
63 "instantiation_parameters": {
64 "k8s-rb-profile-name": PROFILE_NAME,
65 "k8s-rb-profile-source": PROFILE_SOURCE,
66 "k8s-rb-instance-release-name": RELEASE_NAME + "-base",
67 "k8s-rb-profile-namespace": K8S_NAMESPACE
69 "cloud_configuration": K8S_REGION
71 VF_MODULE_PREFIX + "vfw": {
72 "instantiation_parameters": {
73 "k8s-rb-profile-name": PROFILE_NAME,
74 "k8s-rb-profile-source": PROFILE_SOURCE,
75 "k8s-rb-instance-release-name": RELEASE_NAME + "-vfw",
76 "k8s-rb-profile-namespace": K8S_NAMESPACE
78 "cloud_configuration": K8S_REGION
80 VF_MODULE_PREFIX + "vpkg": {
81 "instantiation_parameters": {
82 "k8s-rb-profile-name": PROFILE_NAME,
83 "k8s-rb-profile-source": PROFILE_SOURCE,
84 "k8s-rb-instance-release-name": RELEASE_NAME + "-vpkg",
85 "k8s-rb-profile-namespace": K8S_NAMESPACE
87 "cloud_configuration": K8S_REGION
89 VF_MODULE_PREFIX + "vsn": {
90 "instantiation_parameters": {
91 "k8s-rb-profile-name": PROFILE_NAME,
92 "k8s-rb-profile-source": PROFILE_SOURCE,
93 "k8s-rb-instance-release-name": RELEASE_NAME + "-vsn",
94 "k8s-rb-profile-namespace": K8S_NAMESPACE
96 "cloud_configuration": K8S_REGION
99 ######## PNF DETAILS ########
102 PNF_VSP_FILE = "vsp/pnf_package.csar"
103 PNF_NAME = "PNF_example"
104 PNF_VSP_NAME = "VSP_" + PNF_NAME
106 ######## DEFAULT VALUES ########
107 OWNING_ENTITY = "OE-Demonstration"
108 PROJECT = "Project-Demonstration"
110 LINE_OF_BUSINESS = "LOB-Demonstration"
112 #### REGION DETAILS ####
115 "complex_id": "k8s-complex1",
116 "cloud_owner": "K8sCloudOwner",
118 "availability_zone": "k8s-availability-zone",
121 "name": K8S_REGION + "-tenant"
123 "customer_resource_definitions": [
124 # Uncomment lines below, if you want to run on non KUD k8s cluster
128 "cluster_kubeconfig_file": "artifacts/kud_kubeconfig"
130 # "openstack-region-test-1": {
131 # "complex_id": "complex1",
132 # "cloud_owner": "CloudOwner",
133 # "cloud_type": "openstack",
134 # "availability_zone": "Main",
135 # "identity_url": "http://test:5000/v4",
136 # "mso_id": "test_use",
137 # "mso_pass": "test_password",
138 # "identity_server_type": "KEYSTONE_V3",
140 # "id": "5117085204e84027a8d1a0cf34abb0ba",
145 ######## SCENARIOS #############
147 ######## 1 #############
149 SKIP_POST_INSTANTIATION = True
150 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = PROFILE_NAME
151 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = PROFILE_SOURCE
152 ######## 2 #############
154 SKIP_POST_INSTANTIATION = True
155 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = "vfw-cnf-cds-vpkg-profile"
156 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = "vfw-cnf-cds-vpkg-profile"
157 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["vpg-management-port"] = "31922"
158 ######## 3 #############
160 SKIP_POST_INSTANTIATION = False
161 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = PROFILE_NAME
162 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = PROFILE_SOURCE
163 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-template-name"] = "ssh-service-config"
164 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-template-source"] = "ssh-service-config"
165 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-name"] = "ssh-service-config"
166 VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-value-source"] = "ssh-service-config"
168 raise Exception("Not Implemented Scenario")