1 # Copyright 2017 ZTE Corporation.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 from lcm.pub.config import config
16 from lcm.pub.utils.jobutil import enum
18 HEAL_ACTION_TYPE = enum(
30 INSTANTIATE="INSTANTIATE",
31 TERMINATE="TERMINATE",
32 HEAL_CREATE="Heal Create",
33 HEAL_RESTART="Heal Restart",
35 SCALE_OUT="SCALE_OUT",
36 CHANGE_FLAVOUR="CHANGE_FLAVOUR",
38 CHANGE_CONNECTIVITY="CHANGE_CONNECTIVITY",
43 INSTANTIATING="instantiating",
47 TERMINATING="terminating",
49 OPERATING="operating",
54 OPERATION_TYPE = enum(
55 INSTANTIATE="INSTANTIATE",
57 SCALE_TO_LEVEL="SCALE_TO_LEVEL",
58 CHANGE_FLAVOUR="CHANGE_FLAVOUR",
59 TERMINATE="TERMINATE",
62 CHANGE_EXT_CONN="CHANGE_EXT_CONN",
63 MODIFY_INFO="MODIFY_INFO"
66 OPERATION_TASK = enum(
68 INSTANTIATE="instantiate",
70 SCALE_TO_LEVEL="scale_to_level",
71 CHANGE_FLAVOUR="change_flavour",
74 CHANGE_EXT_CONN="change_ext_conn",
78 SUB_OPERATION_TASK = enum(
86 UNRESOLVABLE_ERROR="unresolvable_error",
87 AUTO_ROLLBACK="auto_rollback",
90 SUB_OPERATION_TUPLE = (
91 SUB_OPERATION_TASK.RETRY,
92 SUB_OPERATION_TASK.ROLLBACK,
93 SUB_OPERATION_TASK.FAIL,
94 SUB_OPERATION_TASK.CANCEL
97 INSTANTIATION_STATE = enum(
98 NOT_INSTANTIATED="NOT_INSTANTIATED",
99 INSTANTIATED="INSTANTIATED"
102 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
104 OPERATION_STATE_TYPE = enum(
106 PROCESSING="PROCESSING",
107 COMPLETED="COMPLETED",
108 FAILED_TEMP="FAILED_TEMP",
110 ROLLING_BACK="ROLLING_BACK",
111 ROLLED_BACK="ROLLED_BACK"
115 OPERATION_STATE_TYPE.COMPLETED,
116 OPERATION_STATE_TYPE.FAILED_TEMP,
117 OPERATION_STATE_TYPE.FAILED,
118 OPERATION_STATE_TYPE.ROLLED_BACK
122 OPERATION_STATE_TYPE.STARTING,
123 OPERATION_STATE_TYPE.PROCESSING,
124 OPERATION_STATE_TYPE.ROLLING_BACK
127 FINAL_STATE_RANGE = (
128 OPERATION_STATE_TYPE.COMPLETED,
129 OPERATION_STATE_TYPE.FAILED,
130 OPERATION_STATE_TYPE.ROLLED_BACK
137 TEMPORARY='TEMPORARY',
138 LINK_PORT_ADDED='LINK_PORT_ADDED',
139 LINK_PORT_REMOVED='LINK_PORT_REMOVED'
142 RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
143 'Flavour': 'flavor', 'Vm': 'vm'}
145 URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
147 ROOT_URI = "api/vnflcm/v1/subscriptions/"
149 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
153 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
155 LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification"
157 NOTIFICATION_TYPES = [
158 "VnfLcmOperationOccurrenceNotification",
159 "VnfIdentifierCreationNotification",
160 "VnfIdentifierDeletionNotification"
163 LCM_OPERATION_TYPES = [
164 OPERATION_TYPE.INSTANTIATE,
165 OPERATION_TYPE.SCALE,
166 OPERATION_TYPE.SCALE_TO_LEVEL,
167 OPERATION_TYPE.CHANGE_FLAVOUR,
168 OPERATION_TYPE.TERMINATE,
170 OPERATION_TYPE.OPERATE,
171 OPERATION_TYPE.CHANGE_EXT_CONN,
172 OPERATION_TYPE.MODIFY_INFO
175 LCM_OPERATION_STATE_TYPES = [
176 OPERATION_STATE_TYPE.STARTING,
177 OPERATION_STATE_TYPE.PROCESSING,
178 OPERATION_STATE_TYPE.COMPLETED,
179 OPERATION_STATE_TYPE.FAILED_TEMP,
180 OPERATION_STATE_TYPE.FAILED,
181 OPERATION_STATE_TYPE.ROLLING_BACK,
182 OPERATION_STATE_TYPE.ROLLED_BACK