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 2: Line 2:
[[Category: Fedcloud-tf]]
[[Category: Fedcloud-tf]]
File attached to this wiki page:
File attached to this wiki page:
# script file for the LDIF (python). [https://docs.google.com/file/d/0B7LpvREXG9c-RDdEZUZidVJva0k/edit?usp=sharing (single-info-system-maker-extended-v2.py) Download here].
# script file for the LDIF (python). [https://github.com/EGI-FCTF/BDIIscripts/raw/master/single-info-system-maker-extended-v3.1.py (single-info-system-maker-extended-v3.1.py) Download here].
# Configuration file for the LDAP server. [https://docs.google.com/a/egi.eu/file/d/0B7LpvREXG9c-d2g4MmhGUDRDdXM/edit?usp=sharing (slapd.conf) Download here].
# Configuration file for the LDAP server. [https://github.com/EGI-FCTF/BDIIscripts/raw/master/slapd.conf (slapd.conf) Download here].
# GLUE20.schema file, containing the GLUE20 LDAP definitions. [https://docs.google.com/a/egi.eu/file/d/0B7LpvREXG9c-ZG50bTM3VVhDclE/edit?usp=sharing (GLUE20.schema) download here].
# GLUE20.schema file, containing the GLUE20 LDAP definitions. [https://github.com/EGI-FCTF/BDIIscripts/raw/master/GLUE20.schema (GLUE20.schema) download here].


'''Note:'''The configuration file, slapd.conf has been tested with these openldap package:
'''Note:'''The configuration file, slapd.conf has been tested with these openldap package:
Line 11: Line 11:
*openldap-clients-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.
For other openldap releases it may need to be tuned.


Once you have installed the ldap server you should be able to load the
Once you have installed the ldap server you should be able to load the
Line 34: Line 33:
(Please, note that the example are randomly chosen :) )
(Please, note that the example are randomly chosen :) )


===General interface information===
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
!Variable name
!Description
!Examples
|-
|interface['IaaS_api']
|API standard for the IaaS management interface
|OCCI
|-
|interface['IaaS_api_version']
|API standard version for the IaaS management interface
|1.1
|-
|interface['IaaS_api_endpoint_technology']
|API endpoint technology for the IaaS management interface
|REST
|-
|interface['IaaS_api_authorization_method']
|API AAI for the IaaS management interface
|X509-VOMS
|-
|interface['STaaS_api']
|API standard for the STaaS management interface
|CDMI
|-
|interface['STaaS_api_version']
|API standard version for the STaaS management interface
|1.0.1
|-
|interface['STaaS_api_endpoint_technolog']
|API endpoint technology for the STaaS management interface
|REST
|-
|interface['STaaS_api_authorization_method']
|API AAI for the STaaS management interface
|X509-VOMS
|}
===General cloud site information===
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
!Variable name
!Variable name
Line 44: Line 83:
|-
|-
|provider['www']
|provider['www']
|Address of the information web site of the resource provider, or the cloud service.
|Address of the information web site of the resource provider, or the cloud service. It should contain a full URL (eg. with http:// prefix)
|
|http://recas-pon.ba.infn.it/
|-
|-
|provider['Country']
|provider['Country']
|Country where the cloud infrastructure is located
|Country where the cloud infrastructure is located (in [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements ISO 3166-1 Alpha2 standard])
|"Italy"
|IT
|-
|-
|provider['product_name']
|provider['site_longitude']
|The name of' the cloud middleware used to provide
|The longitude of the main site location (in the XX.XXXX format)
|'OpenNebula
|16.8891
|-
|-
|provider['type']
|provider['site_latitude']
|The type of cloud service provided. The more common is Infrastructure As A Service
|The latitude of the main site location
|'IaaS'
|41.1123
|-
|-
|provider['product_vers']
|provider['affiliated_ngi']
|The version of the cloud middleware deployed
|The name of the affiliated NGI
|'3.0'
|NGI_IT
|-
|-
|provider['production_l']
|provider['user_support_contact']
|This specify if the service is a production one. Could be production or test.
|Site user support contact mail address
|'production'
|admin@cloudsite.org
|-
|-
|provider['capabilities']
|provider['general_contact']
|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.
|Site general contact mail address
|('cloud.managementSystem','cloud.vm.uploadImage', 'cloud.data.cdmi')
|admin@cloudsite.org
|-
|-
|provider['total_cpus']
|provider['sysadmin_contact']
|The total number of cores available in the cloud service
|Site system administration main contact mail address
|''Only numeric values''
|admin@cloudsite.org
|-
|-
|provider['vm_name']
|provider['security_contact']
|The name of the virtual machine manager, it is the VM hypervisor that actually instantiate the virtual machines, underneath the cloud layer.
|Site security contact mail address
|XEN
|admin@cloudsite.org
|-
|-
|provider['vm_version']
|provider['sysadmin_contact']
|The version of the virtual machine manager
|Site user support contact mail address
|1.1
|admin@cloudsite.org
|-
|provider['production_level']
|State of the site certification (production level)
|production
|-
|provider['site_bdii_host']
|Local site BDII host
|site-bdii.mysite.it
|-
|provider['site_bdii_port']
|Local site BDII port
|2170
|-
|provider['site_total_cpu_cores']
|The total number of CPU cores provided by the site
|300
|-
|provider['site_total_ram_gb']
|The total RAM provided by the site (in GB)
|600
|-
|provider['site_total_storage_gb']
|The total number of storage provided by the site (in GB)
|1024
|-
|provider['iaas_middleware']
|The name of the IaaS middleware
|OpenStack Nova
|-
|provider['iaas_middleware_version']
|The version of the IaaS middleware deployed
|havana
|-
|provider['iaas_middleware_developer']
|The developer of the IaaS middleware deployed
|OpenStack
|-
|provider['iaas_hypervisor']
|The hypervisor deployed in the IaaS middleware
|KVM
|-
|provider['iaas_hypervisor_version']
|The version of the hypervisor deployed in the IaaS middleware
|1.5.0
|-
|provider['iaas_capabilities']
|This variable contains a list of strings "('string1','string2','string3,..)", those strings describe the capabilities provided by the cloud IaaS 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')
|-
|provider['iaas_endpoints']
|List of the endpoints to reach the IaaS service. 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. If no IaaS service is provided, please leave this array empty.
|
|-
|-
|provider['endpoints']
|provider['os_tpl']
|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.
|List of the OS templates available in the cloud IaaS 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 "({os_tpl1},{os_tpl2},{os_tpl3}...). the structure of the single ''{os_tpl}'' bits will be described in an additional table.
|
|
|-
|-
|provider['execution_env']
|provider['resource_tpl']
|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.
|List of the Resource templates (flavors) available in the cloud IaaS service, that is the different virtual machines virtual hardware resources (RAM, CPU, etc...) available to be instantiated by the user. It is a list of python dictionaries. Basically the format is "({resource_tpl1},{resource_tpl2},{resource_tpl3}...). the structure of the single ''{resource_tpl}'' bits will be described in an additional table.
|
|
|-
|-
|provider['staas_middleware']
|The name of the STaaS middleware
|OpenStack Swift
|-
|provider['staas_middleware_version']
|The version of the STaaS middleware deployed
|havana
|-
|provider['staas_middleware_developer']
|The developer of the STaaS middleware deployed
|OpenStack
|-
|provider['staas_capabilities']
|This variable contains a list of strings "('string1','string2','string3,..)", those strings describe the capabilities provided by the cloud STaaS service. Please note that the strings are not formalized anywhere, new labels should be agreed within the Task Force, for the moment.
|('cloud.data.upload')
|-
|provider['staas_endpoints']
|List of the endpoints to reach the STaaS service. 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. If no STaaS service is provided, please leave this array empty.
|}
|}




===Endpoint instance===
===IaaS Endpoint instance===
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.  
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.  


If a cloud service provide different interfaces, such as OCCI and EC2, it should publish different endpoints with different implementation.
If a cloud IaaS service provide different interfaces, such as OCCI and EC2, it should publish different endpoints with different implementation.


{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
Line 112: Line 221:
|OCCI
|OCCI
|-
|-
|service_type_name/version
|service_type_name/version/developer
|The scripts fills this with the 'product_name' variable described above
|The scripts fills this with the 'iaas_middleware_name/version/developer' variables described above
|
|
|-
|-
|interface_version
|interface_version
|The version of the specification of the interface implemented (for example OCCI has a 1.0 or 1.2 specification)
|The version of the specification of the interface implemented. The script fills this with interface['IaaS_api_version'] described above.
|1.2
|interface['IaaS_api_version']
|-
|-
|endpoint_technology
|endpoint_technology
|This is the architecture implemented by the web service. Examples are SOAP and REST.
|This is the architecture implemented by the web service. The script fills this with interface['IaaS_api_endpoint_technology'] described above.
|REST
|interface['IaaS_api_endpoint_technology']
|-
|auth_method
|This is the AAI implemented by the web service. The script fills this with interface['IaaS_api_authorization_method'] described above.
|interface['IaaS_api_authorization_method']
|}
|}


 
===OS_Tpl instance===
===Execution environment instance===
If a cloud service provide a list of default virtual images that can be instantiate by the user, they should be advertised with a list of execution environment.
If a cloud service provide a list of default virtual images that can be instantiate by the user, they should be advertised with a list of execution environment.
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.  
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.  
Line 135: Line 247:
!Examples
!Examples
|-
|-
|memory
|image_name
|The maximum amount of memory that can be configured in a single VM instance (MB)
|name of the OS image. It should be self-explanatory and directly presentable to the user
|1600
|Scientific Linux 6.4 (x86_64)
|-
|image_version
|version of the OS image. Note that this is not the version of the OS, but the version of the virtual image
|1.0
|-
|marketplace_id
|URL of the image into the reference marketplace. For the Federated Cloud, this should point to the AppDB. To obtain this value from AppDB, go into the Virtual Machine image version page (eg. http://appdb.egi.eu/store/vm/image/2c24de6c-e385-49f1-b64f-f9ff35e70f43:9/ and copy the XML link provided by the interface)
|http://appdb.egi.eu/store/vm/image/2c24de6c-e385-49f1-b64f-f9ff35e70f43:9/xml
|-
|occi_id
|OCCI ID of the image on the site. It shall contain the full mixin to be used in the OCCI create compute API call.
|os#ef13c0be-4de6-428f-ad5b-8f32b31a54a1
|-
|-
|os_family
|os_family
Line 152: Line 276:
|-
|-
|platform
|platform
|The processor architecture (i386,x86-64, sparc, powerpc)
|The processor architecture (i386,amd64,itanium, sparc, powerpc)
|i386
|amd64
|}
 
===Resource_Tpl instance===
If a cloud service provide a list of pre-defined virtual hardware resource templates (flavors) that can be instantiate by the user, they should be advertised with a list of resource templates.
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.
 
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
!Label
!Description
!Examples
|-
|occi_id
|OCCI ID of the resource template on the site. It shall contain the full mixin to be used in the OCCI create compute API call.
|resource#tiny-with-disk
|-
|memory
|The amount of RAM memory associated to the VM instance (MB)
|512
|-
|cpu
|The number of virtual CPU associated to the VM instance
|2
|-
|-
|max_cores
|platform
|the maximum number of cores that can be configured in a single VM instnace (if there are no policies in places, it should be the number of cores in the hypervisor host). In case of heterogeneous machines in the cluster it should be equal to the higher number of cores available in a single machine.
|The virtual processor architecture (i386,amd64,itanium, sparc, powerpc)
|24
|amd64
|-
|-
|max_speed
|network
|The maximum clock speed of the virtual CPU configurable (MHz)
|The type of IP provided to the VM (public,private)
|3000
|public
|}
 
=== STaaS Endpoint instance===
It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.
 
If a cloud IaaS service provide different interfaces, such as CDMI and S3, it should publish different endpoints with different implementation.
 
{| border="1" cellspacing="5" cellpadding="5" class="wikitable" style="border-collapse: collapse; border:1px solid black;"
!Label
!Description
!Examples
|-
|endpoint_url
|The URL to reach the service endpoint, it should contain the protocol (e.g. ''https://'') and the port, if it is not the standard port for the protocol.
|https://one.cloud.gwdg.de:8443
|-
|endpoint_interface
|The interface implemented by the endpoint.
|OCCI
|-
|service_type_name/version/developer
|The scripts fills this with the 'iaas_middleware_name/version/developer' variables described above
|
|-
|interface_version
|The version of the specification of the interface implemented. The script fills this with interface['staas_api_version'] described above.
|interface['staas_api_version']
|-
|endpoint_technology
|This is the architecture implemented by the web service. The script fills this with interface['STaaS_api_endpoint_technology'] described above.
|interface['STaaS_api_endpoint_technology']
|-
|-
|physical_cpu
|auth_method
|The number of real CPUs of the virtual machine, currently I am not sure about how much this information makes sense for a virtual machine. Can be left '999'.
|This is the AAI implemented by the web service. The script fills this with interface['STaaS_api_authorization_method'] described above.
|999
|interface['STaaS_api_authorization_method']
|}
|}

Revision as of 11:10, 6 May 2014

File attached to this wiki page:

  1. script file for the LDIF (python). (single-info-system-maker-extended-v3.1.py) Download here.
  2. Configuration file for the LDAP server. (slapd.conf) Download here.
  3. GLUE20.schema file, containing the GLUE20 LDAP definitions. (GLUE20.schema) 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 :) )

General interface information

Variable name Description Examples
interface['IaaS_api'] API standard for the IaaS management interface OCCI
interface['IaaS_api_version'] API standard version for the IaaS management interface 1.1
interface['IaaS_api_endpoint_technology'] API endpoint technology for the IaaS management interface REST
interface['IaaS_api_authorization_method'] API AAI for the IaaS management interface X509-VOMS
interface['STaaS_api'] API standard for the STaaS management interface CDMI
interface['STaaS_api_version'] API standard version for the STaaS management interface 1.0.1
interface['STaaS_api_endpoint_technolog'] API endpoint technology for the STaaS management interface REST
interface['STaaS_api_authorization_method'] API AAI for the STaaS management interface X509-VOMS

General cloud site information

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. It should contain a full URL (eg. with http:// prefix) http://recas-pon.ba.infn.it/
provider['Country'] Country where the cloud infrastructure is located (in ISO 3166-1 Alpha2 standard) IT
provider['site_longitude'] The longitude of the main site location (in the XX.XXXX format) 16.8891
provider['site_latitude'] The latitude of the main site location 41.1123
provider['affiliated_ngi'] The name of the affiliated NGI NGI_IT
provider['user_support_contact'] Site user support contact mail address admin@cloudsite.org
provider['general_contact'] Site general contact mail address admin@cloudsite.org
provider['sysadmin_contact'] Site system administration main contact mail address admin@cloudsite.org
provider['security_contact'] Site security contact mail address admin@cloudsite.org
provider['sysadmin_contact'] Site user support contact mail address admin@cloudsite.org
provider['production_level'] State of the site certification (production level) production
provider['site_bdii_host'] Local site BDII host site-bdii.mysite.it
provider['site_bdii_port'] Local site BDII port 2170
provider['site_total_cpu_cores'] The total number of CPU cores provided by the site 300
provider['site_total_ram_gb'] The total RAM provided by the site (in GB) 600
provider['site_total_storage_gb'] The total number of storage provided by the site (in GB) 1024
provider['iaas_middleware'] The name of the IaaS middleware OpenStack Nova
provider['iaas_middleware_version'] The version of the IaaS middleware deployed havana
provider['iaas_middleware_developer'] The developer of the IaaS middleware deployed OpenStack
provider['iaas_hypervisor'] The hypervisor deployed in the IaaS middleware KVM
provider['iaas_hypervisor_version'] The version of the hypervisor deployed in the IaaS middleware 1.5.0
provider['iaas_capabilities'] This variable contains a list of strings "('string1','string2','string3,..)", those strings describe the capabilities provided by the cloud IaaS 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')
provider['iaas_endpoints'] List of the endpoints to reach the IaaS service. 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. If no IaaS service is provided, please leave this array empty.
provider['os_tpl'] List of the OS templates available in the cloud IaaS 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 "({os_tpl1},{os_tpl2},{os_tpl3}...). the structure of the single {os_tpl} bits will be described in an additional table.
provider['resource_tpl'] List of the Resource templates (flavors) available in the cloud IaaS service, that is the different virtual machines virtual hardware resources (RAM, CPU, etc...) available to be instantiated by the user. It is a list of python dictionaries. Basically the format is "({resource_tpl1},{resource_tpl2},{resource_tpl3}...). the structure of the single {resource_tpl} bits will be described in an additional table.
provider['staas_middleware'] The name of the STaaS middleware OpenStack Swift
provider['staas_middleware_version'] The version of the STaaS middleware deployed havana
provider['staas_middleware_developer'] The developer of the STaaS middleware deployed OpenStack
provider['staas_capabilities'] This variable contains a list of strings "('string1','string2','string3,..)", those strings describe the capabilities provided by the cloud STaaS service. Please note that the strings are not formalized anywhere, new labels should be agreed within the Task Force, for the moment. ('cloud.data.upload')
provider['staas_endpoints'] List of the endpoints to reach the STaaS service. 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. If no STaaS service is provided, please leave this array empty.


IaaS Endpoint instance

It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.

If a cloud IaaS service provide different interfaces, such as OCCI and EC2, it should publish different endpoints with different implementation.

Label Description Examples
endpoint_url The URL to reach the service endpoint, it should contain the protocol (e.g. https://) and the port, if it is not the standard port for the protocol. https://one.cloud.gwdg.de:8443
endpoint_interface The interface implemented by the endpoint. OCCI
service_type_name/version/developer The scripts fills this with the 'iaas_middleware_name/version/developer' variables described above
interface_version The version of the specification of the interface implemented. The script fills this with interface['IaaS_api_version'] described above. interface['IaaS_api_version']
endpoint_technology This is the architecture implemented by the web service. The script fills this with interface['IaaS_api_endpoint_technology'] described above. interface['IaaS_api_endpoint_technology']
auth_method This is the AAI implemented by the web service. The script fills this with interface['IaaS_api_authorization_method'] described above. interface['IaaS_api_authorization_method']

OS_Tpl instance

If a cloud service provide a list of default virtual images that can be instantiate by the user, they should be advertised with a list of execution environment. It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.

Label Description Examples
image_name name of the OS image. It should be self-explanatory and directly presentable to the user Scientific Linux 6.4 (x86_64)
image_version version of the OS image. Note that this is not the version of the OS, but the version of the virtual image 1.0
marketplace_id URL of the image into the reference marketplace. For the Federated Cloud, this should point to the AppDB. To obtain this value from AppDB, go into the Virtual Machine image version page (eg. http://appdb.egi.eu/store/vm/image/2c24de6c-e385-49f1-b64f-f9ff35e70f43:9/ and copy the XML link provided by the interface) http://appdb.egi.eu/store/vm/image/2c24de6c-e385-49f1-b64f-f9ff35e70f43:9/xml
occi_id OCCI ID of the image on the site. It shall contain the full mixin to be used in the OCCI create compute API call. os#ef13c0be-4de6-428f-ad5b-8f32b31a54a1
os_family This is the operating system type provided in the virtual image, the currently formalized families are: linux, windows, macosx, solaris linux
os_name The name of the operating system. suse
os_version The version of the operating system 6.0.4
platform The processor architecture (i386,amd64,itanium, sparc, powerpc) amd64

Resource_Tpl instance

If a cloud service provide a list of pre-defined virtual hardware resource templates (flavors) that can be instantiate by the user, they should be advertised with a list of resource templates. It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.

Label Description Examples
occi_id OCCI ID of the resource template on the site. It shall contain the full mixin to be used in the OCCI create compute API call. resource#tiny-with-disk
memory The amount of RAM memory associated to the VM instance (MB) 512
cpu The number of virtual CPU associated to the VM instance 2
platform The virtual processor architecture (i386,amd64,itanium, sparc, powerpc) amd64
network The type of IP provided to the VM (public,private) public

STaaS Endpoint instance

It is a python dictionary, the format is: {'label1':'value1' , 'label2':'value2'....}.

If a cloud IaaS service provide different interfaces, such as CDMI and S3, it should publish different endpoints with different implementation.

Label Description Examples
endpoint_url The URL to reach the service endpoint, it should contain the protocol (e.g. https://) and the port, if it is not the standard port for the protocol. https://one.cloud.gwdg.de:8443
endpoint_interface The interface implemented by the endpoint. OCCI
service_type_name/version/developer The scripts fills this with the 'iaas_middleware_name/version/developer' variables described above
interface_version The version of the specification of the interface implemented. The script fills this with interface['staas_api_version'] described above. interface['staas_api_version']
endpoint_technology This is the architecture implemented by the web service. The script fills this with interface['STaaS_api_endpoint_technology'] described above. interface['STaaS_api_endpoint_technology']
auth_method This is the AAI implemented by the web service. The script fills this with interface['STaaS_api_authorization_method'] described above. interface['STaaS_api_authorization_method']