Update() Proposal Jonathon Duerig, Robert Ricci
Goal Allow Experimenters to Modify Existing Slivers
Overview New API Methods – Update() – Cancel() New Allocation State – geni_allocating
Current State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Delete() Renew()
Update() Parameters – Urns -- List of slivers to modify – Rspec -- Complete request specification for all slivers included in the urns list Changes user allocation, not provisioning – Existing sliver provisioning is unchanged
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Delete() Renew() geni_ updating Renew() Update()
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() geni_ updating Update()
Cancel() Cancel an allocation Returns sliver to previous state Provisioned slivers not perturbed
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() geni_ updating Update() Cancel()
Provision() Implements an allocation Modifies sliver provisioning
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() geni_ updating Update() Cancel() Provision()
UPDATE() RSPECS
Update() for modify Urns: sliver+35, sliver+36 …
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() geni_ updating Update() Cancel() Provision()
Update() for create Urns: sliver+35, sliver+36 …
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Delete() geni_ updating Update() Cancel() Provision() Update()
Update() for delete Urns: sliver+35, sliver+36 …
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() geni_ updating Update() Cancel() Provision() Update()
Update() Allocations Modifies allocations – geni_allocated – geni_updating Slivers remain in same state Attached to modified allocation
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Update() geni_ updating Update() Cancel() Provision() Update()
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Update() geni_ updating Update() Cancel() Provision() Update()
State Machine geni_ unallocated geni_ allocated geni_ provisioned Allocate()Provision() Delete() Renew() Update() Renew() geni_ updating Renew() Update() Cancel() Provision() Update()