Skip to content

Modify lhcone

Modification workflow for a LHCOne subscription.

modify_lhcone()

Modify LHCOne subscription.

Source code in gso/workflows/l3_core_service/lhcone/modify_lhcone.py
@modify_workflow("Modify LHCOne", initial_input_form=initial_input_form_generator)
def modify_lhcone() -> StepList:
    """Modify LHCOne  subscription."""
    access_port_is_added = conditional(lambda state: state["operation"] == Operation.ADD)
    access_port_is_removed = conditional(lambda state: state["operation"] == Operation.REMOVE)
    access_port_is_modified = conditional(lambda state: state["operation"] == Operation.EDIT)
    include_ansible_sbp = conditional(lambda state: bool(state["include_ansible_playbook_sbp_config"]))
    include_ansible_bgp = conditional(lambda state: bool(state["include_ansible_playbook_bgp_config"]))

    return (
        begin
        >> access_port_is_added(create_new_sbp)
        >> access_port_is_removed(remove_old_sbp)
        >> access_port_is_modified(modify_existing_sbp)
        >> populate_partner_and_fqdn
        >> include_ansible_sbp(lso_interaction(provision_sbp_dry))
        >> include_ansible_sbp(lso_interaction(provision_sbp_real))
        >> include_ansible_bgp(lso_interaction(deploy_bgp_peers_dry))
        >> include_ansible_bgp(lso_interaction(deploy_bgp_peers_real))
    )