Feature 10910: Migration of Openstack based VM instances
Added feature support for Migration of Openstack based VM instances
from OSM
Change-Id: I7db836401c5b9fee71f032884064593135fb88d9
Signed-off-by: elumalai <deepika.e@tataelxsi.co.in>
diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py
index 74815ca..787f6e1 100644
--- a/osm_nbi/instance_topics.py
+++ b/osm_nbi/instance_topics.py
@@ -28,6 +28,7 @@
ns_scale,
ns_update,
nsi_instantiate,
+ ns_migrate,
)
from osm_nbi.base_topic import (
BaseTopic,
@@ -1158,6 +1159,7 @@
"update": ns_update,
"scale": ns_scale,
"terminate": ns_terminate,
+ "migrate": ns_migrate,
}
def __init__(self, db, fs, msg, auth):
diff --git a/osm_nbi/nbi.py b/osm_nbi/nbi.py
index ff2f6de..f57258f 100644
--- a/osm_nbi/nbi.py
+++ b/osm_nbi/nbi.py
@@ -85,6 +85,7 @@
terminate O5
action O
scale O5
+ migrate O
heal 5
update 05
/ns_lcm_op_occs 5 5
@@ -444,6 +445,10 @@
"METHODS": ("POST",),
"ROLE_PERMISSION": "ns_instances:id:instantiate:",
},
+ "migrate": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "ns_instances:id:migrate:",
+ },
"action": {
"METHODS": ("POST",),
"ROLE_PERMISSION": "ns_instances:id:action:",
diff --git a/osm_nbi/resources_to_operations.yml b/osm_nbi/resources_to_operations.yml
index 1f75a5b..3c5ba3d 100644
--- a/osm_nbi/resources_to_operations.yml
+++ b/osm_nbi/resources_to_operations.yml
@@ -135,6 +135,8 @@
"POST /nslcm/v1/ns_instances/<nsInstanceId>/scale": "ns_instances:id:scale:post"
+ "POST /nslcm/v1/ns_instances/<nsInstanceId>/migrate": "ns_instances:id:migrate:post"
+
"GET /nslcm/v1/ns_lcm_op_occs": "ns_instances:opps:get"
"GET /nslcm/v1/ns_lcm_op_occs/<nsLcmOpOccId>": "ns_instances:opps:id:get"
diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py
index 5c75522..3373b84 100644
--- a/osm_nbi/validation.py
+++ b/osm_nbi/validation.py
@@ -526,6 +526,28 @@
"additionalProperties": False,
}
+ns_migrate = {
+ "title": "ns migrate input schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "lcmOperationType": string_schema,
+ "nsInstanceId": id_schema,
+ "vnfInstanceId": id_schema,
+ "migrateToHost": string_schema,
+ "vdu": {
+ "type": "object",
+ "properties": {
+ "vduId": name_schema,
+ "vduCountIndex": integer0_schema,
+ },
+ "required": ["vduId"],
+ "additionalProperties": False,
+ },
+ },
+ "required": ["vnfInstanceId"],
+ "additionalProperties": False
+}
schema_version = {"type": "string", "enum": ["1.0"]}
schema_type = {"type": "string"}