Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
@startuml 
start
       
:create Underl Service for ServiceSpecification and for ServiceSpecRelationships;
:Create Service in RESERVED;
->human accepts;
:Service has state=RESERVED;
:Process Create Rules;
repeat :for each service reference
	:decide what to create;
	if (anyNotCreatedSupportingServices[!allSupportingServicesCreatedAndActive]) then  (yes)			
		if (allSupportingServicesCreated ) then  (yes)
			:wait a few seconds;
		else 
			partition "**process** Create Service" { 
			}	
		endif
	endif
	
repeat while
:Automation Check;
 note right: allSupportingServicesCreatedAndActive
note
	        Automation Check process
	        ----
	        //Automation Check process 
	        decides which 
	        services can be automatically 
	        handled by NFVO
	        or can be managed 
	        by external partner//
end note
	  if ( partnerOrg != null  ) then (yes)
	  	:createServiceByServiceSpec
	  	AUTOMATICALLY_MANAGED;
	  	:execute any LCM rules "PRE_PROVISION" phase;
	    partition "**process** External Service Provider Deployment Request" {
    		:Submit Order To External Service Provider;
    		:Check external service order fulfilment;
    	}
	  else if ( "CustomerFacingServiceSpecification" && isIsBundle)  then (yes)
	  	:createServiceByServiceSpec
	  	AUTOMATICALLY_MANAGED;
	  	:copy characteristics from Service Order Item;
	  	:copy the rest of characteristics from Service Spec;
	  	:execute any LCM rules "PRE_PROVISION" phase;
	  	:create the related Service Instance;
	  	note
	        the underlying actual 
	        running service 
	        is not created here. 
	        this spec is not an RFS
	    end note
    	partition "**process** Local Service Orchestration" {
    		:Local Service Orchestration; 
    		:Check Service Deployment Task;
    	}
	  else if ( CustomerFacingServiceSpecification) && (specrel.findSpecCharacteristicByName("OSAUTOMATED")  ) then	  
	  	:createServiceByServiceSpec
	  	AUTOMATICALLY_MANAGED;
	  	:execute any LCM rules "PRE_PROVISION" phase;
	  else if ( ResourceFacingServiceSpecification ) then
	  	:createServiceByServiceSpec
	  	AUTOMATICALLY_MANAGED;
	  	:copy characteristics from Service Order Item;
	  	:copy the rest of characteristics from Service Spec;
	  	:execute any LCM rules "PRE_PROVISION" phase;
	  	:create the related Service Instance;
	  	note
	        the underlying actual 
	        running service 
	        is not created yet 
	        but is propaged 
	        to NFVO next 
	        if there is an NSD
	    end note
	  	if ( specrel.findSpecCharacteristicByName( "NSDID" ) != null ) then
			:servicesHandledByNFVOAutomated.add(createdServ.getId());						
		else 
			:servicesLocallyAutomated.add(createdServ.getId());
	  	endif
	  	partition "**process** NFVO Deployment Request" {
    		:NFVO RFS Task;
    		:Check service deployment;
    	}
	  else
	  	:createServiceByServiceSpec
	  	(sor, soi, specrel, EServiceStartMode.MANUALLY_BY_SERVICE_PROVIDER, null);;
	  	partition "**process** User Task Manual Complete Service" {
    		:UserOrderCompleteService;
    	}
	  endif
				  
    :Evaluate Created Services Task ;
stop
@enduml