Skip to content

Imperative Operations

This is the default methodology of handling NetOrca change instances.

Each change instance associated with a Service Item will provide the SO with all of the information available to execute that change.

Basic workflow for SO's

  1. Get the outstanding change instances: GET /serviceowner/changeinstances?service_name={{myservice}}
  2. Process a single change instance.
  3. Execute the change on your infrastructure
  4. Mark the change_instance as completed
  5. Add a deployed item to the change instance.

Detailed process diagram

sequenceDiagram
    participant Consumer
    participant NetOrca
    participant ServiceOwner
    participant Deployment
    Consumer->>NetOrca: New declaration sent
    activate NetOrca
    NetOrca-->>NetOrca: Validation Check
    alt Validation Fail
    NetOrca-->>Consumer: 400 Error
    else Validation passes
    NetOrca-->>NetOrca: Declaration compared against existing SI's
    opt Changes detected
    NetOrca-->>NetOrca: Change instances created
    end
    NetOrca->>Consumer: 200 OK
    end
    loop Check for changes
        ServiceOwner->>NetOrca: Get Changes
        alt No Changes detected
            NetOrca->>ServiceOwner: No Changes
            Note over ServiceOwner: Do nothing
        else Changes detected
            NetOrca->>ServiceOwner: List of changes
            Note over ServiceOwner: Process changes
            loop For each change instance
                ServiceOwner-->>Deployment: Push changes
                activate Deployment
                Note over Deployment: Process Changes
                Deployment-->>ServiceOwner: Change finished
                deactivate Deployment
                ServiceOwner-->>NetOrca: Mark ChangeInstance as completed
                Note over NetOrca,ServiceOwner: Deployed Items details included in callback
            end 
        end        

    end