module arbitrator-reconcile {
    namespace "urn:opendaylight:params:xml:ns:yang:openflowplugin:app:arbitrator-reconcile:service";
    prefix arbitrator-reconcile;

    import opendaylight-inventory {prefix inv; revision-date "2013-08-19";}
    import onf-extensions {prefix onf-ext; revision-date "2017-01-24";}

    description
        "RPCs to perform arbitrator based reconciliation";

    revision "2018-02-27" {
        description "Initial proposal";
    }

    rpc get-active-bundle {
        description "Fetches the active available bundle in openflowplugin";
        input {
            uses "inv:node-context-ref";
            leaf node-id {
                description "Node for which the bundle active has to be fetched";
                type uint64;
            }
        }

        output {
            leaf result {
                description "The retrieved active bundle for the node";
                type "onf-ext:bundle-id";
            }
        }
    }

    rpc commit-active-bundle {
        description "Commits the active available bundle in openflowplugin";
        input {
            uses "inv:node-context-ref";
            leaf node-id {
                description "Node for which the commit bundle to be executed";
                type uint64;
            }
        }

        output {
            leaf result {
                description "Success/Failure of the commit bundle for the node";
                type boolean;
            }
        }
    }
}