Terminate Workflow
At the end of the subscription lifecycle, the terminate workflow updates
all OSS and BSS accordingly, and the @terminate_workflow
decorator
takes care of most of the necessary subscription administration.
@terminate_workflow("Terminate node",
initial_input_form=initial_input_form_generator)
def terminate_node() -> StepList:
return (
begin
>> load_initial_state
>> delete_node_from_ims
>> deprovision_node_in_nrm
)
- Show subscription details and ask user to confirm termination (
initial_input_form
) - Necessary subscription administration (
@terminate_workflow
):- Register terminate process for this subscription
- Set subscription ‘out of sync’ to prevent the start of other processes
- Get subscription and add information for following steps to the State (
load_initial_state
) - Interact with OSS and/or BSS, in this example
- Delete node in IMS (
delete_node_in ims
) - Deprovision node in NRM (
deprovision_node_in_nrm
)
- Delete node in IMS (
- Necessary subscription administration (
@terminate_workflow
)- Transition subscription to terminated
- Set subscription ‘in sync’
The initial input form for the terminate workflow is very simple, it only has to show the details of the subscription:
class TerminateForm(FormPage):
subscription_id: DisplaySubscription = subscription_id