Difference between revisions of "Programmatic Administration Interface"

From Gcube Wiki
Jump to: navigation, search
(Managing a Running Instance (RI))
(Managing a Running Instance (RI))
Line 219: Line 219:
 
:* '''Operation to invoke''': [[Resource_Manager#Request_to_remove_a_Running_Instance_from_the_scope|removeResources]]
 
:* '''Operation to invoke''': [[Resource_Manager#Request_to_remove_a_Running_Instance_from_the_scope|removeResources]]
  
:* '''Parameters''': <code>ServiceItem.setServiceClass=<Service Class></code>, <code>ServiceItem.setServiceName=<Service Name></code>, <code>ServiceItem.setServiceVersion=<Service Version></code>, <code>setTargetScope=<Scope to undeploy from></code>
+
:* '''Parameters''': <code>ServiceItem.setServiceClass=<Service Class of the RI></code>, <code>ServiceItem.setServiceName=<Service Name of the RI></code>, <code>ServiceItem.setServiceVersion=<Service Version of the RI></code>, <code>setTargetScope=<Scope to undeploy from></code>
  
 
== Adding / Removing a Scope to a gCube Resource (different from gHN and RI) ==
 
== Adding / Removing a Scope to a gCube Resource (different from gHN and RI) ==

Revision as of 20:30, 20 July 2010

Section contents
Managing a gCube Hosting Node (gHN)
Managing a Running Instance (RI)
Adding / Removing a Scope to a gCube Resource
(different from gHN and RI)
Creating / Deleting a gCube Resource
(different from gHN and RI)
Editing a gCube Resource
Banning a gCube Resource

This section describes the programming interfaces that allow to configure, manage and control nodes, services, applications and resources in a gCube infrastructure. As the gCube technology is deployed as a distributed system, there exist several APIs to manage the different areas of the system. This section is a single point of reference for all these APIs by grouping them for their logical purpose.

This section includes the following topics:

Managing a gCube Hosting Node (gHN) Describes operations related to manage a node of the infrastructure: how to shut it down or restart it (with and without deleting its state), how to add a new scope and remove an existing scope.
Managing a Running Instance (RI) Describes operation related to running instance management: how to add a new scope and remove an existing scope, how to deploy and undeploy them
Adding / Removing a Scope to a gCube Resource
(different from gHN and RI)
Describes how to add and delete scopes to gCube Resources that are not nodes or service's instances.
Creating / Deleting a gCube Resource
(different from gHN and RI)
Describes how to manage gCube Resources. There are specific actions for each class of resource.
Editing a gCube Resource Describes how to change the representation of gCube Resources in the Information System. Depending on the resource type, different components have to be contacted for this.
Banning a gCube Resource Describes how to instruct the Information System to exclude certain gCube resource from a given scope. This operation is available for VO-Managers and makes sense especially for nodes and running instances, when the decision to join or not a scope is partially under the control of Site Managers.


For each of them, a detailed explanation is provided about which component(s) must be contacted for doing what and which are the scope propagation rules.

Managing a gCube Hosting Node (gHN)

Shut down

Target: Shut down the node

Component(s) to contact:

  • Where: the Running Instance on the gHN
  • How to find it: query on the IS that looks for a RI of the gHNManager running on the gHN
  • Parameters: setClean=false, setRestart=false


Restart

Target: Restart the node and preserve its state

Component(s) to contact:

  • Where: the Running Instance on the gHN
  • How to find it: query on the IS that looks for a RI of the gHNManager running on the gHN
  • Parameters: setClean=false, setRestart=true


Restart and Clean

Target: Restart the node and clean its actual state

Component(s) to contact:

  • Where: the Running Instance on the gHN
  • How to find it: query on the IS that looks for a RI of the gHNManager running on the gHN
  • Parameters: setClean=true, setRestart=true


Add an existing Scope

Target: Add a scope to a gHN and the related Service Map is already available on the gHN

Component(s) to contact:

  • Where: the Running Instance managing the Scope to add
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: setID=<GHN ID>, setType=GHN, setTargetScope=<new Scope>


Add a new Scope

Target: Add a scope to a gHN and the related Service Map is not available on the gHN

Component(s) to contact:

  • Where: the Running Instance on the gHN
  • How to find it: query on the IS that looks for a RI of the gHNManager running on the gHN
  • Parameters: setScope=<new Scope>, setMap=<string serialization of the Map>
  • Where: the Running Instance managing the Scope to add
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: setID=<GHN ID>, setType=GHN, setTargetScope=<new Scope>


Remove from a Scope

Target: Remove a gHN from a scope

Component(s) to contact:

  • Where: the Running Instance managing the Scope to remove
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: setID=<GHN ID>, setType=GHN, setTargetScope=<Scope to remove>

Managing a Running Instance (RI)

Join a Scope

Target: Join a Running Instance to a scope

Component(s) to contact:

  • Where: the Running Instance managing the Scope to join
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: setID=<RI ID>, setType=RunningInstance, setTargetScope=<Scope to Join>


Remove from a Scope

Target: Remove a Running Instance from a scope

Component(s) to contact:

  • Where: the Running Instance managing the Scope to remove
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: setID=<RI ID>, setType=RunningInstance, setTargetScope=<Scope to remove>
  • Note: if the Running Instance is joined only to this scope, it is also undeployed


Deploy

Target: Deploy a new Running Instance in a Scope

Component(s) to contact:

  • Where: the Running Instance managing the Scope
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: ServiceItem.setServiceClass=<Service Class>, ServiceItem.setServiceName=<Service Name>, ServiceItem.setServiceVersion=<Service Version>, ServiceItem.setGHN=<GHN ID where to deploy> (optional, suggested gHN to use), setTargetScope=<Scope to deploy in>, ServiceList.setGHN=new String[] {"GHNID1","GHNID2","GHNID3","GHNID4","GHNID5"} (optional, suggested gHNs to use)


Undeploy

Target: Force the undeployment of a Running Instance from all the scopes it is joined; for a gentler undeploy, see here

Component(s) to contact:

  • Where: the Running Instance managing the Scope to remove or (if this not work) try all the other scopes to which the RI is joined
  • How to find it: query on the IS that looks for a RI of the Resource Manager in the new scope or query on the IS that looks for the Generic Resource modeling the scope (the condition is /Resource/Profile/Body/Scope/text()=Scope Expression, then extract the service URI from /Resource/Profile/Body/Service/text()
  • Parameters: ServiceItem.setServiceClass=<Service Class of the RI>, ServiceItem.setServiceName=<Service Name of the RI>, ServiceItem.setServiceVersion=<Service Version of the RI>, setTargetScope=<Scope to undeploy from>

Adding / Removing a Scope to a gCube Resource (different from gHN and RI)

Creating / Deleting a gCube Resource (different from gHN and RI)

Editing a gCube Resource

Banning a gCube Resource