Difference between revisions of "Resource Manager"
From Gcube Wiki
Manuele.simi (Talk | contribs) |
Manuele.simi (Talk | contribs) (→Design) |
||
Line 1: | Line 1: | ||
==== Design ==== | ==== Design ==== | ||
− | [[File:ResourceManagerArchitecture.png|frame| | + | [[File:ResourceManagerArchitecture.png|frame|center|Resource Manager Class Diagram]] |
Line 12: | Line 12: | ||
* Synchronization between local and remote (i.e. stored in the IS) state and vice versa | * Synchronization between local and remote (i.e. stored in the IS) state and vice versa | ||
* ... | * ... | ||
− | |||
− | |||
==== Interface ==== | ==== Interface ==== |
Revision as of 22:05, 16 March 2010
Contents
Design
Points to expand here:
- Scope state management versus old VRE state management
- Concept, role and design of ScopedResource
- Raw state separated from the state behavior to avoid mis-serializations due to any future change in the service implementation
- Observer pattern-based internal strategy for managing the scope state
- Local XStream serialization
- Synchronization between local and remote (i.e. stored in the IS) state and vice versa
- ...
Interface
The service exposes a ResourceManager
portType ...
Resource Report
After each resource management request, a report is produced and disseminated (via the getReport
operation).
For each service, information about the service's dependencies resolution and package deployment are reported.
Possible dependencies states are:
- SUCCESS: all the dependencies have been successfully resolved
- FAILED: some dependencies are missing
Periodically, the Deployer service sends a report on the deployment activity (performed asynchronously with respect to the VREManager request). Such report has a state:
- OPEN: the activity is still ongoing, other reports will follow
- CLOSED : the activity is closed, no further report will be sent
Possible package states are:
- WAITING: request is still pending
- ALREADYDEPLOYED: the package was already available on the target gHN
- SKIPPED: the package was not deployed due to an error in another service from which it depends on
- FAILED: the deployment failed
- DEPLOYED: the package has been deployed
- NOTVERIFIED: the package has been deployed, but the correctness of the operation cannot be checked (and therefore guaranteed)
- ACTIVATED: the package has been activated
- RUNNING: the related instance is running
Possible resource states:
- ADDED: the resource was successfully added to the scope
- REMOVED: the resource was successfully removed to the scope
- FAILED: an error occurred and the resource has not been managed
This is a sample report showing the results of a request including the add of a service, a generic resource, a collection and an existing running instance to the managed scope:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResourceReport> <ID>4522f7c0-a54c-11dd-8525-e7e836b0fdde</ID> <LastUpdate>2008-10-29T00:58:17+01:00</LastUpdate> <TargetScope>/gcube/devsec</TargetScope> <Services> <Service> <Class>InformationSystem</Class> <Name>IS-Notifier</Name> <Version>1.00.00</Version> <DependenciesResolutionStatus>SUCCESS</DependenciesResolutionStatus> <DeployedOn>9bf172d0-a30c-11dd-88bf-83f7edc13611</DeployedOn> <ErrorDescription>-</ErrorDescription> <DependenciesResolution> <ResolvedDependencies> <Dependency> <ServiceClass>InformationSystem</ServiceClass> <ServiceName>IS-Notifier</ServiceName> <ServiceVersion>1.00.00</ServiceVersion> <PackageName>Notifier-service</PackageName> <PackageVersion>1.01.00</PackageVersion> </Dependency> <Dependency> <ServiceClass>InformationSystem</ServiceClass> <ServiceName>IS-Notifier</ServiceName> <ServiceVersion>1.00.00</ServiceVersion> <PackageName>Notifier-stubs</PackageName> <PackageVersion>1.00.01</PackageVersion> </Dependency> </ResolvedDependencies> <MissingDependencies/> </DependenciesResolution> </Service> </Services> <DeploymentActivity> <GHN> <Host>dlib33.isti.cnr.it:8001</Host> <ID>9bf172d0-a30c-11dd-88bf-83f7edc13611</ID> <LastReportReceivedOn>2008-10-29T00:58:16+01:00</LastReportReceivedOn> <LastReportReceived> <Status>OPEN</Status> <Packages> <Package> <ServiceClass>InformationSystem</ServiceClass> <ServiceName>IS-Notifier</ServiceName> <ServiceVersion>1.00.00</ServiceVersion> <PackageName>Notifier-service</PackageName> <PackageVersion>1.01.00</PackageVersion> <Status>RUNNING</Status> <Message>The package has NOT been successfully deployed. Possible cause: unable to deploy because of a RI of the service is already deployed on this node</Message> </Package> <Package> <ServiceClass>InformationSystem</ServiceClass> <ServiceName>IS-Notifier</ServiceName> <ServiceVersion>1.00.00</ServiceVersion> <PackageName>Notifier-stubs</PackageName> <PackageVersion>1.00.01</PackageVersion> <Status>ACTIVATED</Status> <Message>The package could not be deployed because it depends on a package which has an error</Message> </Package> </Packages> </LastReportReceived> </GHN> </DeploymentActivity> <Resources> <Resource> <ID>83080450-a235-11dd-8a29-b025e02401d5</ID> <Type>RunningInstance</Type> <Status>ADDED</Status> <ErrorDescription>-</ErrorDescription> </Resource> <Resource> <ID>61927680-a996-11dd-961c-8eba14a244c3</ID> <Type>MetadataCollection</Type> <Status>ADDED</Status> <ErrorDescription>-</ErrorDescription> </Resource> <Resource> <ID>f2c04460-b446-11dd-8aab-e7a1e3fdae89</ID> <Type>GenericResource</Type> <Status>ADDED</Status> <ErrorDescription>-</ErrorDescription> </Resource> </Resources> </ResourceReport>
gHNManager integration
...
Deployer integration
...
Resource Broker integration
...