Skip to content

Create lhcone

Create LHCOne subscription workflow.

create_subscription(product, partner)

Create a new subscription object in the database.

Source code in gso/workflows/l3_core_service/lhcone/create_lhcone.py
@step("Create subscription")
def create_subscription(product: UUIDstr, partner: str) -> State:
    """Create a new subscription object in the database."""
    subscription = LHCOneInactive.from_product_id(product, partner)

    return {"subscription": subscription, "subscription_id": subscription.subscription_id}

create_lhcone()

Create a new LHCONE subscription.

Source code in gso/workflows/l3_core_service/lhcone/create_lhcone.py
@workflow(
    "Create LHCOne",
    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
    target=Target.CREATE,
)
def create_lhcone() -> StepList:
    """Create a new LHCONE subscription."""
    return (
        begin
        >> create_subscription
        >> store_process_subscription(Target.CREATE)
        >> initialize_subscription
        >> start_moodi()
        >> lso_interaction(provision_sbp_dry)
        >> lso_interaction(provision_sbp_real)
        >> lso_interaction(check_sbp_functionality)
        >> lso_interaction(deploy_bgp_peers_dry)
        >> lso_interaction(deploy_bgp_peers_real)
        >> lso_interaction(check_bgp_peers)
        >> update_dns_records
        >> set_status(SubscriptionLifecycle.ACTIVE)
        >> resync
        >> create_new_sharepoint_checklist
        >> prompt_sharepoint_checklist_url
        >> stop_moodi()
        >> done
    )