[Ci-users] Upcoming Feature: extendable sessions

Tue Nov 24 00:00:20 UTC 2015
Karanbir Singh <mail-lists at karan.org>


I'm going to be working on extending the admin.ci API. The intention is
to add the following calls:

/Session/get?key=<api key>&alias=<some text> : this will create a new
session for the api key specified, but will not allocate any nodes to
this session. The alias param is optional, if specified the session can
be referenced with that alias ( in addition to / rather than the ssid ).

/Session/done?key=<api key>&ssid=<ssid | alias for session > : this will
tear down the session, including all Nodes allocated to the session. The
ssid can be specified as either the UUID based ssid returned from the
/Session/get call or the alias requested.

In addition to these two new calls, the /Node/get call will get an
optional ssid= param; calling /Node/get with an ssid will add the
requested nodes to the existing session, rather than create a new
session. The ssid can be either the uuid based ssid allocated at
/Session/get or an alias to an existing session.

The /Node/done call will also get an optional additional param in node=
where you can specify the hostname of the machine to be dropped from an
existing session, without terminating the entire session.

With these four changes going in, it would be possible to setup a
session, add nodes to that session as they are needed, drop hosts as
required, and then tear down the session when done. The alias option
could be used for various things, including accounting by job name, job
type etc.

Existing scripts that use the API will not need any changes, there will
be no change to the existing calls.

Karanbir Singh
+44-207-0999389 | http://www.karan.org/ | twitter.com/kbsingh
GnuPG Key : http://www.karan.org/publickey.asc