Implement OPNFV workflow
[laas.git] / src / workflow / workflow_factory.py
index 1f4a28a..db2bba1 100644 (file)
@@ -12,7 +12,8 @@ from workflow.booking_workflow import Booking_Resource_Select, SWConfig_Select,
 from workflow.resource_bundle_workflow import Define_Hardware, Define_Nets, Resource_Meta_Info
 from workflow.sw_bundle_workflow import Config_Software, Define_Software, SWConf_Resource_Select
 from workflow.snapshot_workflow import Select_Host_Step, Image_Meta_Step
-from workflow.models import Repository, Confirmation_Step
+from workflow.opnfv_workflow import Pick_Installer, Assign_Network_Roles, Assign_Host_Roles, OPNFV_Resource_Select, MetaInfo
+from workflow.models import Confirmation_Step
 
 import uuid
 
@@ -35,6 +36,12 @@ class ConfigMetaWorkflow(object):
     workflow_type = 2
     color = "#00ffcc"
 
+
+class OPNFVMetaWorkflow(object):
+    workflow_type = 3
+    color = "000000"
+
+
 class MetaStep(object):
 
     UNTOUCHED = 0
@@ -76,6 +83,7 @@ class MetaStep(object):
     def __ne__(self, other):
         return self.id.int != other.id.int
 
+
 class Workflow(object):
     def __init__(self, steps, metasteps, repository):
         self.repository = repository
@@ -83,6 +91,7 @@ class Workflow(object):
         self.metasteps = metasteps
         self.active_index = 0
 
+
 class WorkflowFactory():
     booking_steps = [
         Booking_Resource_Select,
@@ -107,12 +116,21 @@ class WorkflowFactory():
         Image_Meta_Step,
     ]
 
+    opnfv_steps = [
+        OPNFV_Resource_Select,
+        Pick_Installer,
+        Assign_Network_Roles,
+        Assign_Host_Roles,
+        MetaInfo
+    ]
+
     def conjure(self, workflow_type=None, repo=None):
         workflow_types = [
             self.booking_steps,
             self.resource_steps,
             self.config_steps,
             self.snapshot_steps,
+            self.opnfv_steps,
         ]
 
         steps = self.make_steps(workflow_types[workflow_type], repository=repo)