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 "HOWTO15 How to configure the Federated Cloud BDII"

From EGIWiki
Jump to navigation Jump to search
Line 32: Line 32:
(Please, note that the example are randomly chosen :) )
(Please, note that the example are randomly chosen :) )


{| cellpadding="5" style="text-align: center; border: 1px #aaaa"
{| cellpadding="5" style="text-align: center; border: 1px #aaa"
!Variable name
!Variable name
!Description
!Description

Revision as of 15:43, 29 May 2012

File attached to this wiki page:

  1. script file for the LDIF (python). Download here.
  2. Configuration file for the LDAP server. Download here.
  3. GLUE20.schema file, containing the GLUE20 LDAP definitions. download here.

Note:The configuration file, slapd.conf has been tested with these openldap package:

  • openldap-2.4.23-20.el6.x86_64
  • openldap-servers-2.4.23-20.el6.x86_64
  • openldap-clients-2.4.23-20.el6.x86_64

For other openldap releases it may need to be tuned.


Once you have installed the ldap server you should be able to load the ldap data with:

$ slapadd  -f /etc/openldap/slapd.conf -l cloud-ldif.ldi

and to start the LDAP server with:

 $ slapd -f /etc/openldap/slapd.conf -h ldap://full.hostname:2170  -d 0  > file-name 2>&1 &

Refresh the data

To refresh the data contained in the LDAP server:

  1. Stop slapd process
  2. Delete in the database directory all the files (but not the DB_CONFIG file)
  3. Run again the slapadd command
  4. Start again slapd process

Data published with the current script

The following table is describing the data that must be feeded in the script.

(Please, note that the example are randomly chosen :) )

Variable name Description Examples
provider['site_name'] This is the name of the cloud site, if it was a Grid site it would have been the GOCDB name. Self explanatory
provider['www'] Address of the information web site of the resource provider, or the cloud service.
provider['Country'] Country where the cloud infrastructure is located "Italy"
provider['product_name'] The name of' the cloud middleware used to provide 'OpenNebula
provider['type'] The type of cloud service provided. The more common is Infrastructure As A Service 'IaaS'
provider['product_vers'] The version of the cloud middleware deployed '3.0'
provider['production_l'] This specify if the service is a production one. Could be production or test. 'production'
provider['capabilities'] This variable contains a list of strings "('string1','string2','string3,..)", those strings describe the capabilities provided by the cloud service. Please note that the strings are not formalized anywhere, new labels should be agreed within the Task Force, for the moment. ('cloud.managementSystem','cloud.vm.uploadImage', 'cloud.data.cdmi')
provider['total_cpus'] The total number of cores available in the cloud service Only numeric values
provider['vm_name'] The name of the virtual machine manager, it is the VM hypervisor that actually instantiate the virtual machines, underneath the cloud layer. XEN
provider['vm_version'] The version of the virtual machine manager 1.1
provider['endpoints'] List of the endpoints to reach the different cloud services. This is a list of python dictionaries. Basically the format is "({endpoint1},{endpoint2},{endpoint3}...). the structure of the single {endpoint} bits will be described in an additional table.
provider['execution_env'] List of the execution environments available in the cloud service, that is the different virtual machines images available to be instantiated by the user. It is a list of python dictionaries. Basically the format is "({execution environment1},{execution environment2},{execution environment3}...). the structure of the single {execution environment} bits will be described in an additional table.


provider = {} provider['site_name'] = 'SITE_NAME' provider['www'] = 'RP_WEB_SITE' provider['Country'] = 'COUNTRY' provider['product_name'] = 'CLOUD_MW' #e.g. OpenNebula provider['type'] = 'IaaS' provider['product_vers'] = 'x.y' #CLOUD_MW version, e.g. 3.0 provider['production_l'] = 'PRODUCTION_LEVEL' # e.g. 'production' provider['capabilities'] = ('cloud.managementSystem','cloud.vm.uploadImage', 'cloud.data.cdmi') # Capabilities must be agreed with the FedClouds task force provider['total_cpus'] = 'XXX' provider['vm_name'] = 'VM_Manager' #e.g. XEN provider['vm_version'] = '1.1' provider['endpoints'] = ({'endpoint_url':'https://endpoint1','endpoint_interface':'INTERFACE','service_type_name':provider['product_name'],'service_type_version':provider['product_vers'],'service_type_developer':'opennebula.org','interface_version':'XX','endpoint_technology':'REST', 'auth_method':'X509'}, {'endpoint_url':'https://endpoint2','endpoint_interface':'INTERFACE2','service_type_name':provider['product_name'],'service_type_version':provider['product_vers'],'service_type_developer':'opennebula.org','interface_version':'NA','endpoint_technology':'NA', 'auth_method':'NA'}) #Add more lines if needed.

provider['ex_env'] = ({'memory':'100','os_family':'linux','os_name':'OpenSuse','os_version':'11.4','platform':'x86-64','max_cores':'24','max_speed':'NA','max_speed':'NA','physical_cpu':'999','max_speed':'999'},

                   {'memory':'100','os_family':'linux','os_name':'Debian','os_version':'6,0,4','platform':'x86-64','max_cores':'24','physical_cpu':'999','max_speed':'999'})