Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "Fedcloud-tf:WorkGroups:Scenario3"

From EGIWiki
Jump to navigation Jump to search
m
Line 1: Line 1:
{{Fedcloud-tf:Menu}} {{Fedcloud-tf:WorkGroups:Menu}} {{TOC_right}}  
{{Fedcloud-tf:Menu}} {{Fedcloud-tf:WorkGroups:Menu}} {{TOC_right}}  


== Scenario 3: Integrating information from multiple resource providers ==
== Scenario 3: Integrating information from multiple resource providers ==


<font color="red">Leader: David Wallom, OeRC</font>
<font color="red">Leader: David Wallom, OeRC</font>  


== Scenario collaborators ==
== Scenario collaborators ==
{| border="1"  
 
!Role
{| border="1"
!Institution
|-
!Name
! Role  
! Institution  
! Name
|-
|-
|Scenario leader
| Scenario leader  
|OeRC
| OeRC  
|David Wallom
| David Wallom
|-
|-
|Collaborator
| Collaborator  
| OeRC
| OeRC  
| Matteo Turilli
| Matteo Turilli
|-
|-
|Collaborator
| Collaborator  
|EGI.eu
| EGI.eu  
|Peter Solagna
| Peter Solagna
|-
|-
|Collaborator
| Collaborator  
|INFN
| INFN  
|Elisabetta Ronchieri  
| Elisabetta Ronchieri
|}
|}


== Information that should be published by a cloud service ==
== Information that should be published by a cloud service ==
The following are the information identified during the TF F2F meeting:
 
The following are the information identified during the TF F2F meeting:  


'''Please add more points edit/comments the list'''
'''Please add more points edit/comments the list'''  


#What is the name of the resource and what type of interface can I use to manage instances on the resource?
#What is the name of the resource and what type of interface can I use to manage instances on the resource?  
## What is the endpoint I should contact to interact with the cloud management interface? (E.g. the url of the web-service/portal)
##What is the endpoint I should contact to interact with the cloud management interface? (E.g. the url of the web-service/portal)  
#What are the AuthN and AuthZ rules that operate on your cloud?
#What are the AuthN and AuthZ rules that operate on your cloud?  
#What instances are already installed on the resource and am I allowed to upload my own instances?
#What instances are already installed on the resource and am I allowed to upload my own instances?  
#If I am able to upload instances what format of instances does the resource accept?
#If I am able to upload instances what format of instances does the resource accept?  
#Is there a data interface available and if so what is it?
#Is there a data interface available and if so what is it?  
#What is the overall size of the resource?
#What is the overall size of the resource?  
#Are instance templates defined that limit the choice of instance scales I am able to run?
#Are instance templates defined that limit the choice of instance scales I am able to run?  
#What type of virtual network can I establish on the resource?
#What type of virtual network can I establish on the resource?  
#Does the resource support cloud scalability through managed bursting to another external provider?
#Does the resource support cloud scalability through managed bursting to another external provider?


The following are questions on the dynamic information;
The following are questions on the dynamic information;  
#I have a virtual instance that requires X,Y,Z resources, does your cloud have A>X, B>Y,C>Z resource available?
 
#My instance is short lived is its utilisation of resources going to be captured in the information system such that overprovisioning will/will not occur?
#I have a virtual instance that requires X,Y,Z resources, does your cloud have A&gt;X, B&gt;Y,C&gt;Z resource available?  
#My instance is short lived is its utilisation of resources going to be captured in the information system such that overprovisioning will/will not occur?  
#What is the charging scheme and how much will using your cloud cost?
#What is the charging scheme and how much will using your cloud cost?


== How to render those information in GLUE2 ==
== How to render those information in GLUE2 ==
'''Note''': BDII service speaks only GLUE2. The Cloud information need to be squeezed in the current set of GLUE2 Entities. If the schema is extended to include Cloud-specific entities, it needs to be officially approved by OGF and implemented in the various ''glue-schema'' ''glue-validator'' components deployed with the BDII.
 
'''Note''': BDII service speaks only GLUE2. The Cloud information need to be squeezed in the current set of GLUE2 Entities. If the schema is extended to include Cloud-specific entities, it needs to be officially approved by OGF and implemented in the various ''glue-schema'' ''glue-validator'' components deployed with the BDII.  
 
=== Use the currently available GLUE2.0 entities  ===


=== Use the currently available GLUE2.0 entities ===
Currently the GLUE2 includes two main conceptual models for Computing Elements and Storage Elements. These elements should be used to model the Cloud capabilities remaining compliant to the current GLUE2.0 schema.


Currently the GLUE2 includes two main conceptual models for Computing Elements and Storage Elements. These elements should be used to model the Cloud capabilities remaining compliant to the current GLUE2.0 schema.
==== Capabilities for cloud services  ====


==== Capabilities for cloud services ====
''Note: '''bold''' capabilities are new, not already in GLUE2 specification. Adding new capabilities do not requires an extension of the GLUE2 schema.<br>'' ''Please:'' add new ''high level'' capabilities if you feel that something is missing. These capabilities are used in the following entities.  
''Note: '''bold''' capabilities are new, not already in GLUE2 specification. Adding new capabilities do not requires an extension of the GLUE2 schema.<br>
''Please:'' add new ''high level'' capabilities if you feel that something is missing. These capabilities are used in the following entities.


{| border='1'
{| border="1"
!Capability
|-
!Description
! Capability  
! Description
|-
|-
|'''cloud.VMmanagement'''
| '''cloud.VMmanagement'''  
|This is the '''standard''' capability that every cloud service should publish if it allows to instantiate/suspend/delete virtual machines
| This is the '''standard''' capability that every cloud service should publish if it allows to instantiate/suspend/delete virtual machines
|-
|-
|'''cloud.virtualImagesUpload'''
| '''cloud.virtualImagesUpload'''  
|This is the capability that allows users to upload their own virtual images through the cloud interface
| This is the capability that allows users to upload their own virtual images through the cloud interface
|-
|-
|security.authentication/security.authorization
| security.authentication/security.authorization  
|I would leave those capability, given that every cloud provider has authentication  
| I would leave those capability, given that every cloud provider has authentication
|-
|-
|
|  
|
|  
|}
|}


====Computing Service entity description====
==== Computing Service entity description ====
* This Service is used to describe the computing resource itself, decoupling from the Grid endpoint.
 
* Attributes that need to be provided by the resource providers are in '''bold'''
*This Service is used to describe the computing resource itself, decoupling from the Grid endpoint.  
{| border='1'
*Attributes that need to be provided by the resource providers are in '''bold'''
!Attribute
 
!Type
{| border="1"
!Multiplicity
|-
!Description  
! Attribute  
! Type  
! Multiplicity  
! Description
|-
|-
|Creation time
| Creation time  
|..
| ..  
|..
| ..  
|..
| ..
|-
|-
|Validity
| Validity  
|..
| ..  
|..
| ..  
|..
| ..
|-
|-
|ID
| ID  
|..
| ..  
|..
| ..  
|..
| ..
|-
|-
|'''Name'''
| '''Name'''  
|String
| String  
|1
| 1  
|Human readable name. It could be used to fill the information: "what is the name of the resource"
| Human readable name. It could be used to fill the information: "what is the name of the resource"
|-
|-
|OtherInfo
| OtherInfo  
|String
| String  
|n
| n  
|Placeholder to add information that does not fit into any other attribute. Cloud information that cannot be mapped in other attributes could be added here.
| Placeholder to add information that does not fit into any other attribute. Cloud information that cannot be mapped in other attributes could be added here.
|-
|-
|'''Capability'''
| '''Capability'''  
|Capability_t
| Capability_t  
|n
| n  
|This attribute lists the capabilities available for this service, currently the type ''Capability_t'' does not include specific cloud capabilities. Being an open enum type it can be extended with additional capabilities. Currently some of the already available capabilities are: security.accounting, security.authentication or information.logging. We could consider to add capabilities like "''cloud.vm.uploadImage''" to add the information in the quesiton: "am I allowed to upload my own instances?". To identify cloud services there would be the need to add a new capability, common to all the cloud services regardless of their specific capabilities, like: "cloud.managementSystem" (nb: stupid example). ''Resource providers, in this design stage, could provide just descriptions of the capabilities they would like to publish. I (Peter) will try to group them proposing some labels for the different capabilities.''
| This attribute lists the capabilities available for this service, currently the type ''Capability_t'' does not include specific cloud capabilities. Being an open enum type it can be extended with additional capabilities. Currently some of the already available capabilities are: security.accounting, security.authentication or information.logging. We could consider to add capabilities like "''cloud.vm.uploadImage''" to add the information in the quesiton: "am I allowed to upload my own instances?". To identify cloud services there would be the need to add a new capability, common to all the cloud services regardless of their specific capabilities, like: "cloud.managementSystem" (nb: stupid example). ''Resource providers, in this design stage, could provide just descriptions of the capabilities they would like to publish. I (Peter) will try to group them proposing some labels for the different capabilities.''
|-
|-
|'''Type'''
| '''Type'''  
|ServiceType_t
| ServiceType_t  
|1
| 1  
|Type of service in a reverse namespace model, e.g.: org.glite.lb or org.glite.wms. It could be ''org.opennebula'', ''org.stratuslab'' or ''com.cloudsigma''
| Type of service in a reverse namespace model, e.g.: org.glite.lb or org.glite.wms. It could be ''org.opennebula'', ''org.stratuslab'' or ''com.cloudsigma''
|}
|}


There are, then, a number of more attributes (static and dynamic) that could be used by cloud services, like: StatusInfo,TotalJobs, RunningJobs etc etc.
There are, then, a number of more attributes (static and dynamic) that could be used by cloud services, like: StatusInfo,TotalJobs, RunningJobs etc etc. Please note that '''Location''' is a GLUE2 entity that can be linked to the Service entity, this could answer to the ''"Where is located the cloud facility?"'' question.  
Please note that '''Location''' is a GLUE2 entity that can be linked to the Service entity, this could answer to the ''"Where is located the cloud facility?"'' question.
 
=== ComputingEndpoint description ===


===ComputingEndpoint description===
Every ComputingService has associated '''one or more''' Computing Endpoint. The endpoint is used to create, control am monitor computational activities.<br>


Every ComputingService has associated '''one or more''' Computing Endpoint. The endpoint is used to create, control am monitor computational activities.<br>
*Resource providers should provide the information to create one endpoint for each interface they're exposing for the cloud service.
*Resource providers should provide the information to create one endpoint for each interface they're exposing for the cloud service.
{| border='1'
 
!Attribute
{| border="1"
!Type
|-
!Multiplicity
! Attribute  
!Description  
! Type  
! Multiplicity  
! Description
|-
|-
|CreationTime
| CreationTime  
|..
| ..  
|..
| ..  
|I will skip the most general, attributes like OtherInfo and Capability(described above).
| I will skip the most general, attributes like OtherInfo and Capability(described above).
|-
|-
|'''URL'''
| '''URL'''  
|URI
| URI  
|1
| 1  
|Network location of the endpoint.
| Network location of the endpoint.
|-
|-
|'''Capability'''
| '''Capability'''  
|Capability_t
| Capability_t  
|0..n
| 0..n  
|It's the same field of the Service entity. Some capability could be interface-specific. I would replicate all the general capability also for this instance.
| It's the same field of the Service entity. Some capability could be interface-specific. I would replicate all the general capability also for this instance.
|-
|-
|'''Technology'''
| '''Technology'''  
|EndpointTechnology_t
| EndpointTechnology_t  
|1
| 1  
|Examples are "webservice" and "corba". We could add "webportal" or something like this to clarify that the endpoint refers to a web application.
| Examples are "webservice" and "corba". We could add "webportal" or something like this to clarify that the endpoint refers to a web application.
|-
|-
|'''InterFaceName'''
| '''InterFaceName'''  
|InterFaceName_t
| InterFaceName_t  
|1 (mandatory)
| 1 (mandatory)  
|The interface in the cloud case could be ''OCCI'', ''EC2'', ''jclouds'' or "webinterface". This can answer to the question: "what type of interface can I use to manage instances on the resource?"
| The interface in the cloud case could be ''OCCI'', ''EC2'', ''jclouds'' or "webinterface". This can answer to the question: "what type of interface can I use to manage instances on the resource?"
|-
|-
|'''InterfaceVersion'''
| '''InterfaceVersion'''  
|..
| ..  
|..
| ..  
|No description needed.
| No description needed.
|-
|-
|'''Supported profile'''
| '''Supported profile'''  
|URI
| URI  
|*
| *  
|We can define, here, a set of profiles for the authN/authZ of the users, like ''uri:sec:x509''.
| We can define, here, a set of profiles for the authN/authZ of the users, like ''uri:sec:x509''.
|}
|}


==== ExecutionEnvironment ====
==== ExecutionEnvironment ====
The ExecutionEnvironment class describes the hardware and operating system environment in which a job will run. It could be used to describe the VM images already available in the Cloud service.
 
The ExecutionEnvironment class describes the hardware and operating system environment in which a job will run. It could be used to describe the VM images already available in the Cloud service.  


{| border='1'
{| border="1"
!Attribute
|-
!Type
! Attribute  
!Multiplicity
! Type  
!Description  
! Multiplicity  
! Description
|-
|-
|'''Platform'''
| '''Platform'''  
|Platform_t
| Platform_t  
|1
| 1  
|The platform atchitecture, can be: amd64,i386,itanum,powerpc,sparc
| The platform atchitecture, can be: amd64,i386,itanum,powerpc,sparc
|-
|-
|TotalInstances/used instances
| TotalInstances/used instances  
| -
| -  
| -
| -  
|These attributes are not relevant in a cloud environment, where the execution environment are deployed dynamically.
| These attributes are not relevant in a cloud environment, where the execution environment are deployed dynamically.
|-
|-
|PhysicalCPUs
| PhysicalCPUs  
|UInt32
| UInt32  
|0..1
| 0..1  
|The physical CPUs are not relevant - I would say- in a virtualised environment.
| The physical CPUs are not relevant - I would say- in a virtualised environment.
|-
|-
|'''LogicalCPUs'''
| '''LogicalCPUs'''  
|UInt32
| UInt32  
|0..1
| 0..1  
|This attribute could be used to express the '''maximum''' number of cores that is possible to instantiate in a single VM of this type (likely it will be common to all the execution environments of the same cloud service).
| This attribute could be used to express the '''maximum''' number of cores that is possible to instantiate in a single VM of this type (likely it will be common to all the execution environments of the same cloud service).
|-
|-
|'''MainMemorySize'''
| '''MainMemorySize'''  
|UInt64
| UInt64  
|1
| 1  
|Max physical memory that is possible to instantiate on a single VM.
| Max physical memory that is possible to instantiate on a single VM.
|-
|-
|
|  
*'''OSFamily'''
*'''OSFamily'''  
*'''OSName'''
*'''OSName'''  
*'''OSVersion'''
*'''OSVersion'''
| (*)
 
|1
| (*)  
|Attributes which define the operating system available. There will be an execution environment for every virtual machine available in the cloud service. We should define some placeholders to create an ExecutionEnvironment ''stub'' to describe the max cores/memory for the virtual machines uploaded by a user.
| 1  
|-
| Attributes which define the operating system available. There will be an execution environment for every virtual machine available in the cloud service. We should define some placeholders to create an ExecutionEnvironment ''stub'' to describe the max cores/memory for the virtual machines uploaded by a user.
|}
|}


=== Deploy a new set of entities ===
=== Deploy a new set of entities ===
 
This is the next step: define cloud specific GLUE entities to extend the GLUE2 schema in order to publish the cloud services in a standard way.


<!-- What to model?
This is the next step: define cloud specific GLUE entities to extend the GLUE2 schema in order to publish the cloud services in a standard way. <!-- What to model?
     What is the name of the resource and what type of interface can I use to manage instances on the resource?
     What is the name of the resource and what type of interface can I use to manage instances on the resource?
         What is the endpoint I should contact to interact with the cloud management interface? (E.g. the url of the web-service/portal)  
         What is the endpoint I should contact to interact with the cloud management interface? (E.g. the url of the web-service/portal)  
Line 236: Line 247:
     My instance is short lived is its utilisation of resources going to be captured in the information system such that overprovisioning will/will not occur?
     My instance is short lived is its utilisation of resources going to be captured in the information system such that overprovisioning will/will not occur?
     What is the charging scheme and how much will using your cloud cost?  
     What is the charging scheme and how much will using your cloud cost?  
-->
-->  
 
== Technical implementation  ==


== Technical implementation ==
For a first demo the best technical choice is to go for openldap, which is available in almost all the *nix machines in the world. On top of that, openldap is the server used by the gLite BDIIs, therefore it would be easy to use the same configuration files set-up used for the GRIS or the GIIS.


For a first demo the best technical choice is to go for openldap, which is available in almost all the *nix machines in the world. On top of that, openldap is the server used by the gLite BDIIs, therefore it would be easy to use the same configuration files set-up used for the GRIS or the GIIS.
*Use the GLUE20.schema in the ''slapd.conf'' file to enable all the GLUE2.0 entities.
* Use the GLUE20.schema in the ''slapd.conf'' file to enable all the GLUE2.0 entities.


== Resource providers to be published for the demo ==
== Resource providers to be published for the demo ==


{| border="1"
{| border="1"
Line 252: Line 264:
! Country  
! Country  
! Capabilities to be published (specify the endpoints supporting the capabilities!)  
! Capabilities to be published (specify the endpoints supporting the capabilities!)  
! Other info to publish
! Other info to publish  
! VM Manager
! VM Manager  
! V.Images available (OSFamily,OSName,OSVersion)
! V.Images available (OSFamily,OSName,OSVersion)
|-
|-
| CESNET  
| CESNET  
| Miroslav Ruda
| Miroslav Ruda  
| CESNET Cloud
| CESNET Cloud  
| Czech Republic  
| Czech Republic  
| cloud.managementSystem, cloud.vm.uploadImage  
| cloud.managementSystem, cloud.vm.uploadImage  
|  
|  
| XEN
| XEN  
| 1.) Linux, OpenSUSE, 11.4<br>2.) Linux, Debian, 6.0.3
| 1.) Linux, OpenSUSE, 11.4<br>2.) Linux, Debian, 6.0.3
|-
|-
| KTH
| KTH  
| Zeeshan Ali&nbsp;Shah
| Zeeshan Ali&nbsp;Shah  
| KTH-PDC Cloud
| KTH-PDC Cloud  
| Sweden
| Sweden  
| cloud.managementSystem, cloud.vm.customimage, cloud.data.cdmi
| cloud.managementSystem, cloud.vm.customimage, cloud.data.cdmi  
|
|
|  
|  
|  
|
|-
|-
| GWDG  
| GWDG  
| Piotr Kasprzak
| Piotr Kasprzak  
| GWDG Cloud
| GWDG Cloud  
| Germany  
| Germany  
| cloud.managementSystem, cloud.vm.uploadImage  
| cloud.managementSystem, cloud.vm.uploadImage  
|  
|  
| KVM
| KVM  
| 1.) Linux, Scientific Linux, 6.1<br>2.) Linux, Ubuntu, 11.10
| 1.) Linux, Scientific Linux, 6.1<br>2.) Linux, Ubuntu, 11.10
|-
|-
| CYFRONET  
| CYFRONET  
| Jan Meizner
| Jan Meizner  
| CYFRONET Cloud
| CYFRONET Cloud  
| Poland
| Poland  
| cloud.managementSystem, cloud.vm.uploadImage  
| cloud.managementSystem, cloud.vm.uploadImage  
|  
|  
| KVM
| KVM  
|
|-
| CESGA
| Alvaro Simon
| CESGA Cloud
| Spain
| cloud.managementSystem, cloud.vm.customimage
|  
|  
| KVM
| SL5
|}
|}

Revision as of 11:12, 15 March 2012

Main Roadmap and Innovation Technology For Users For Resource Providers Media


Workbenches: Open issues
Scenario 1
VM Management
Scenario 2
Data Management
Scenario 3
Information Systems
Scenario 4
Accounting
Scenario 5
Monitoring
Scenario 6
Notification
Scenario 7
Federated AAI
Scenario 8
VM Image Management
Scenario 9
Brokering
Scenario 10
Contextualisation
Scenario 11
Security



Scenario 3: Integrating information from multiple resource providers

Leader: David Wallom, OeRC

Scenario collaborators

Role Institution Name
Scenario leader OeRC David Wallom
Collaborator OeRC Matteo Turilli
Collaborator EGI.eu Peter Solagna
Collaborator INFN Elisabetta Ronchieri

Information that should be published by a cloud service

The following are the information identified during the TF F2F meeting:

Please add more points edit/comments the list

  1. What is the name of the resource and what type of interface can I use to manage instances on the resource?
    1. What is the endpoint I should contact to interact with the cloud management interface? (E.g. the url of the web-service/portal)
  2. What are the AuthN and AuthZ rules that operate on your cloud?
  3. What instances are already installed on the resource and am I allowed to upload my own instances?
  4. If I am able to upload instances what format of instances does the resource accept?
  5. Is there a data interface available and if so what is it?
  6. What is the overall size of the resource?
  7. Are instance templates defined that limit the choice of instance scales I am able to run?
  8. What type of virtual network can I establish on the resource?
  9. Does the resource support cloud scalability through managed bursting to another external provider?

The following are questions on the dynamic information;

  1. I have a virtual instance that requires X,Y,Z resources, does your cloud have A>X, B>Y,C>Z resource available?
  2. My instance is short lived is its utilisation of resources going to be captured in the information system such that overprovisioning will/will not occur?
  3. What is the charging scheme and how much will using your cloud cost?

How to render those information in GLUE2

Note: BDII service speaks only GLUE2. The Cloud information need to be squeezed in the current set of GLUE2 Entities. If the schema is extended to include Cloud-specific entities, it needs to be officially approved by OGF and implemented in the various glue-schema glue-validator components deployed with the BDII.

Use the currently available GLUE2.0 entities

Currently the GLUE2 includes two main conceptual models for Computing Elements and Storage Elements. These elements should be used to model the Cloud capabilities remaining compliant to the current GLUE2.0 schema.

Capabilities for cloud services

Note: bold capabilities are new, not already in GLUE2 specification. Adding new capabilities do not requires an extension of the GLUE2 schema.
Please: add new high level capabilities if you feel that something is missing. These capabilities are used in the following entities.

Capability Description
cloud.VMmanagement This is the standard capability that every cloud service should publish if it allows to instantiate/suspend/delete virtual machines
cloud.virtualImagesUpload This is the capability that allows users to upload their own virtual images through the cloud interface
security.authentication/security.authorization I would leave those capability, given that every cloud provider has authentication

Computing Service entity description

  • This Service is used to describe the computing resource itself, decoupling from the Grid endpoint.
  • Attributes that need to be provided by the resource providers are in bold
Attribute Type Multiplicity Description
Creation time .. .. ..
Validity .. .. ..
ID .. .. ..
Name String 1 Human readable name. It could be used to fill the information: "what is the name of the resource"
OtherInfo String n Placeholder to add information that does not fit into any other attribute. Cloud information that cannot be mapped in other attributes could be added here.
Capability Capability_t n This attribute lists the capabilities available for this service, currently the type Capability_t does not include specific cloud capabilities. Being an open enum type it can be extended with additional capabilities. Currently some of the already available capabilities are: security.accounting, security.authentication or information.logging. We could consider to add capabilities like "cloud.vm.uploadImage" to add the information in the quesiton: "am I allowed to upload my own instances?". To identify cloud services there would be the need to add a new capability, common to all the cloud services regardless of their specific capabilities, like: "cloud.managementSystem" (nb: stupid example). Resource providers, in this design stage, could provide just descriptions of the capabilities they would like to publish. I (Peter) will try to group them proposing some labels for the different capabilities.
Type ServiceType_t 1 Type of service in a reverse namespace model, e.g.: org.glite.lb or org.glite.wms. It could be org.opennebula, org.stratuslab or com.cloudsigma

There are, then, a number of more attributes (static and dynamic) that could be used by cloud services, like: StatusInfo,TotalJobs, RunningJobs etc etc. Please note that Location is a GLUE2 entity that can be linked to the Service entity, this could answer to the "Where is located the cloud facility?" question.

ComputingEndpoint description

Every ComputingService has associated one or more Computing Endpoint. The endpoint is used to create, control am monitor computational activities.

  • Resource providers should provide the information to create one endpoint for each interface they're exposing for the cloud service.
Attribute Type Multiplicity Description
CreationTime .. .. I will skip the most general, attributes like OtherInfo and Capability(described above).
URL URI 1 Network location of the endpoint.
Capability Capability_t 0..n It's the same field of the Service entity. Some capability could be interface-specific. I would replicate all the general capability also for this instance.
Technology EndpointTechnology_t 1 Examples are "webservice" and "corba". We could add "webportal" or something like this to clarify that the endpoint refers to a web application.
InterFaceName InterFaceName_t 1 (mandatory) The interface in the cloud case could be OCCI, EC2, jclouds or "webinterface". This can answer to the question: "what type of interface can I use to manage instances on the resource?"
InterfaceVersion .. .. No description needed.
Supported profile URI * We can define, here, a set of profiles for the authN/authZ of the users, like uri:sec:x509.

ExecutionEnvironment

The ExecutionEnvironment class describes the hardware and operating system environment in which a job will run. It could be used to describe the VM images already available in the Cloud service.

Attribute Type Multiplicity Description
Platform Platform_t 1 The platform atchitecture, can be: amd64,i386,itanum,powerpc,sparc
TotalInstances/used instances - - These attributes are not relevant in a cloud environment, where the execution environment are deployed dynamically.
PhysicalCPUs UInt32 0..1 The physical CPUs are not relevant - I would say- in a virtualised environment.
LogicalCPUs UInt32 0..1 This attribute could be used to express the maximum number of cores that is possible to instantiate in a single VM of this type (likely it will be common to all the execution environments of the same cloud service).
MainMemorySize UInt64 1 Max physical memory that is possible to instantiate on a single VM.
  • OSFamily
  • OSName
  • OSVersion
(*) 1 Attributes which define the operating system available. There will be an execution environment for every virtual machine available in the cloud service. We should define some placeholders to create an ExecutionEnvironment stub to describe the max cores/memory for the virtual machines uploaded by a user.

Deploy a new set of entities

This is the next step: define cloud specific GLUE entities to extend the GLUE2 schema in order to publish the cloud services in a standard way.

Technical implementation

For a first demo the best technical choice is to go for openldap, which is available in almost all the *nix machines in the world. On top of that, openldap is the server used by the gLite BDIIs, therefore it would be easy to use the same configuration files set-up used for the GRIS or the GIIS.

  • Use the GLUE20.schema in the slapd.conf file to enable all the GLUE2.0 entities.

Resource providers to be published for the demo

RP Name RP contact name Resource Centre name to be published (was Site Name) Country Capabilities to be published (specify the endpoints supporting the capabilities!) Other info to publish VM Manager V.Images available (OSFamily,OSName,OSVersion)
CESNET Miroslav Ruda CESNET Cloud Czech Republic cloud.managementSystem, cloud.vm.uploadImage XEN 1.) Linux, OpenSUSE, 11.4
2.) Linux, Debian, 6.0.3
KTH Zeeshan Ali Shah KTH-PDC Cloud Sweden cloud.managementSystem, cloud.vm.customimage, cloud.data.cdmi
GWDG Piotr Kasprzak GWDG Cloud Germany cloud.managementSystem, cloud.vm.uploadImage KVM 1.) Linux, Scientific Linux, 6.1
2.) Linux, Ubuntu, 11.10
CYFRONET Jan Meizner CYFRONET Cloud Poland cloud.managementSystem, cloud.vm.uploadImage KVM
CESGA Alvaro Simon CESGA Cloud Spain cloud.managementSystem, cloud.vm.customimage KVM SL5