[vFW CNF CDS] Fix issue with multiple tenants creation for k8s region
[demo.git] / heat / vFW_CNF_CDS / automation / config.py
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
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
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.
15 #
16 # ============LICENSE_END=========================================================
17
18 class Config:
19     SCENARIO = 1
20     # 1 - default configuration values like set below
21     # 2 - extra ssh service that comes from the profile
22     # 3 - extra ssh service that comes from config + verification of the CNF status
23     # change requires new onboarding
24
25     K8S_NAMESPACE = "vfirewall"
26     K8S_VERSION = "1.18.9"
27     K8S_REGION = "kud"
28
29     #### SERVICE DETAILS ####
30     NATIVE = True # False for old dummy-heat based orchestration path
31     SKIP_POST_INSTANTIATION = True
32     MACRO_INSTANTIATION = True  # A-la-carte instantiation if False
33     GLOBAL_CUSTOMER_ID = "customer_cnf"
34     VSPFILE = "vsp/vfw_k8s_demo.zip"
35     if NATIVE:
36         VSPFILE = "vsp/native_vfw_k8s_demo.zip"
37
38     PROFILE_NAME = "vfw-cnf-cds-base-profile"
39     PROFILE_SOURCE = PROFILE_NAME
40     RELEASE_NAME = "vfw-1"
41
42     VENDOR = "vendor_cnf"
43     SERVICENAME = "vfw_k8s_demo_CNF" + "_" + str(SCENARIO)
44     VSPNAME = "VSP_" + SERVICENAME
45     VFNAME = "VF_" + SERVICENAME
46     SERVICE_INSTANCE_NAME = "INSTANCE_" + SERVICENAME
47     SDNC_ARTIFACT_NAME = "vnf"
48
49     # INSERT PARAMS FOR VNF HERE AS "name" : "value" PAIR
50     VNF_PARAM_LIST = {
51         "k8s-rb-profile-namespace": K8S_NAMESPACE,
52         "k8s-rb-profile-k8s-version": K8S_VERSION
53     }
54
55     VF_MODULE_PREFIX = ""
56     if NATIVE:
57         VF_MODULE_PREFIX = "helm_"
58
59     VF_MODULE_PARAM_LIST = {
60         VF_MODULE_PREFIX + "base_template": {
61             "instantiation_parameters": {
62                 "k8s-rb-profile-name": PROFILE_NAME,
63                 "k8s-rb-profile-source": PROFILE_SOURCE,
64                 "k8s-rb-instance-release-name": RELEASE_NAME + "-base",
65                 "k8s-rb-profile-namespace": K8S_NAMESPACE
66             },
67             "cloud_configuration": K8S_REGION
68         },
69         VF_MODULE_PREFIX + "vfw": {
70             "instantiation_parameters": {
71                 "k8s-rb-profile-name": PROFILE_NAME,
72                 "k8s-rb-profile-source": PROFILE_SOURCE,
73                 "k8s-rb-instance-release-name": RELEASE_NAME + "-vfw",
74                 "k8s-rb-profile-namespace": K8S_NAMESPACE
75             },
76             "cloud_configuration": K8S_REGION
77         },
78         VF_MODULE_PREFIX + "vpkg": {
79             "instantiation_parameters": {
80                 "k8s-rb-profile-name": PROFILE_NAME,
81                 "k8s-rb-profile-source": PROFILE_SOURCE,
82                 "k8s-rb-instance-release-name": RELEASE_NAME + "-vpkg",
83                 "k8s-rb-profile-namespace": K8S_NAMESPACE
84             },
85             "cloud_configuration": K8S_REGION
86         },
87         VF_MODULE_PREFIX + "vsn": {
88             "instantiation_parameters": {
89                 "k8s-rb-profile-name": PROFILE_NAME,
90                 "k8s-rb-profile-source": PROFILE_SOURCE,
91                 "k8s-rb-instance-release-name": RELEASE_NAME + "-vsn",
92                 "k8s-rb-profile-namespace": K8S_NAMESPACE
93             },
94             "cloud_configuration": K8S_REGION
95         }
96     }
97     ######## PNF DETAILS ########
98     ADD_PNF = False
99     if ADD_PNF:
100         PNF_VSP_FILE = "vsp/pnf_package.csar"
101         PNF_NAME = "PNF_example"
102         PNF_VSP_NAME = "VSP_" + PNF_NAME
103
104     ######## DEFAULT VALUES ########
105     OWNING_ENTITY = "OE-Demonstration"
106     PROJECT = "Project-Demonstration"
107     PLATFORM = "test"
108     LINE_OF_BUSINESS = "LOB-Demonstration"
109
110     #### REGION DETAILS ####
111     CLOUD_REGIONS = {
112         K8S_REGION: {
113             "complex_id": "k8s-complex1",
114             "cloud_owner": "K8sCloudOwner",
115             "cloud_type": "k8s",
116             "availability_zone": "k8s-availability-zone",
117             "tenant": {
118                 "name": K8S_REGION + "-tenant"
119             },
120             "customer_resource_definitions": [
121                 # Uncomment lines below, if you want to run on non KUD k8s cluster
122                 # "crds/crd1",
123                 # "crds/crd2"
124             ],
125             "cluster_kubeconfig_file": "artifacts/kud_kubeconfig"
126         # },
127         # "openstack-region-test-1": {
128         #     "complex_id": "complex1",
129         #     "cloud_owner": "CloudOwner",
130         #     "cloud_type": "openstack",
131         #     "availability_zone": "Main",
132         #     "identity_url": "http://test:5000/v4",
133         #     "mso_id": "test_use",
134         #     "mso_pass": "test_password",
135         #     "identity_server_type": "KEYSTONE_V3",
136         #     "tenant": {
137         #         "id": "5117085204e84027a8d1a0cf34abb0ba",
138         #         "name": "onap-dev"
139         #     }
140         }
141     }
142     ######## SCENARIOS #############
143
144     ########     1    #############
145     if SCENARIO == 1:
146         SKIP_POST_INSTANTIATION = True
147         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = PROFILE_NAME
148         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = PROFILE_SOURCE
149     ########     2    #############
150     elif SCENARIO == 2:
151         SKIP_POST_INSTANTIATION = True
152         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = "vfw-cnf-cds-vpkg-profile"
153         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = "vfw-cnf-cds-vpkg-profile"
154         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["vpg-management-port"] = "31922"
155     ########     3    #############
156     elif SCENARIO == 3:
157         SKIP_POST_INSTANTIATION = False
158         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-name"] = PROFILE_NAME
159         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-profile-source"] = PROFILE_SOURCE
160         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-template-name"] = "ssh-service-config"
161         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-template-source"] = "ssh-service-config"
162         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-name"] = "ssh-service-config"
163         VF_MODULE_PARAM_LIST[VF_MODULE_PREFIX + "vpkg"]["instantiation_parameters"]["k8s-rb-config-value-source"] = "ssh-service-config"
164     else:
165         raise Exception("Not Implemented Scenario")