Difference between revisions of "Programmatic Administration Interface"

From Gcube Wiki
Jump to: navigation, search
Line 103: Line 103:
 
:* '''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 <code>/Resource/Profile/Body/Scope/text()=Scope Expression</code>, then extract the service URI from <code>/Resource/Profile/Body/Service/text()</code>
 
:* '''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 <code>/Resource/Profile/Body/Scope/text()=Scope Expression</code>, then extract the service URI from <code>/Resource/Profile/Body/Service/text()</code>
  
:* '''Operation to invoke''': [[Resource_Manager#Request_to_join_a_resource_to_the_scope|addResource]]
+
:* '''Operation to invoke''': [[Resource_Manager#Request_to_join_a_resource_to_the_scope|addResources]]
  
 
:* '''Parameters''': <code>setID=<GHN ID></code>, <code>setType=GHN</code>, <code>setTargetScope=<new Scope></code>
 
:* '''Parameters''': <code>setID=<GHN ID></code>, <code>setType=GHN</code>, <code>setTargetScope=<new Scope></code>
Line 152: Line 152:
  
 
== Managing a Running Instance (RI) ==  
 
== Managing a Running Instance (RI) ==  
 +
 +
=== Join a Scope ===
 +
 +
'''Target''': Join a Running Instance to a scope
 +
 +
'''Component(s) to contact''':
 +
 +
* '''Name''': [[Resource_Manager|Resource Manager]]
 +
 +
:* '''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 <code>/Resource/Profile/Body/Scope/text()=Scope Expression</code>, then extract the service URI from <code>/Resource/Profile/Body/Service/text()</code>
 +
 +
:* '''Operation to invoke''': [[Resource_Manager#Request_to_join_a_resource_to_the_scope|addResources]]
 +
 +
:* '''Parameters''': <code>setID=<RI ID></code>, <code>setType=RunningInstance</code>, <code>setTargetScope=<Scope to Join></code>
 +
 +
 +
=== Remove from a Scope ===
 +
 +
'''Target''': Remove a Running Instance from a scope
 +
 +
'''Component(s) to contact''':
 +
 +
* '''Name''': [[Resource_Manager|Resource Manager]]
 +
 +
:* '''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 <code>/Resource/Profile/Body/Scope/text()=Scope Expression</code>, then extract the service URI from <code>/Resource/Profile/Body/Service/text()</code>
 +
 +
:* '''Operation to invoke''': [[Resource_Manager#Request_to_remove_a_resource_from_the_scope|removeResources]]
 +
 +
:* '''Parameters''': <code>setID=<RI ID></code>, <code>setType=RunningInstance</code>, <code>setTargetScope=<Scope to remove></code>
 +
 +
 +
=== Deploy ===
 +
 +
 +
=== Undeploy ===
 +
  
  

Revision as of 17:41, 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>


Deploy

Undeploy

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