The Claudia platform is an advanced service management toolkit that allows service providers to dynamically control the service provisioning and scalability in an IaaS Cloud. Claudia manages services as a whole, controlling the configuration of multiple VM components, virtual networks and storage support by optimizing the use of them and by dynamically scaling up/down services applying elasticity rules, SLAs and business rules.
Claudia can deploy services in a public cloud (Amazon, Flexiscale, GoGrid, etc.) or in a private cloud using a Virtual Infrastructure Manager (such as Open- Nebula, Eucalyptus, etc.) through a plug-in driver mechanism that will orchestrate the virtual resource allocation.
Claudia provides a more flexible and easier to use platform to deploy grid-oriented services with all the benefits of the IaaS cloud model. Now grid service providers can define the configuration and dynamic behavior of their services in an easy and standard way. The Service Manager which is a Claudia component hides platform
Claudia needs to have specified in its configuration file the following parameteres:
The following example describes an example of the Claudia configuration section in the Stratuslab configuration file:
/etc/stratuslab/stratuslab.cfg
domain_name is the organization name for FQNs.
claudia_home is the destination directory.
[claudia] domain_name = grnet claudia_home = /opt/claudia/
For the network configuration, the claudia_public_ip property is a list of available IPs for the deployed virtual machines.
claudia_public_network = 192.168.100.128 claudia_public_ip = 192.168.100.182/192.168.100.183/192.168.100.184/192.168.100.185/192.168.100.186 claudia_public_netmask = 255.255.255.192 claudia_public_gateway = 192.168.100.129 claudia_public_dns = 194.177.210.210
If the network needs the usage of mac address, set to true claudia_mac_enabled and specify the list of Mac addresses in the claudia_mac_list property, this property must contain the same number of mac adresses as IPs specified in claudia_public_ip section.
claudia_mac_enabled=true claudia_mac_list=00:16:3e:d9:78:b6/00:16:3e:d9:78:b7/00:16:3e:d9:78:b8/00:16:3e:d9:78:b9/00:16:3e:d9:78:a4
If any machine needs a static fixed IP, it must be declared here, this IPs must be part of the previous declared IPs in claudia_public_ip section.
claudia_static_ip_list=192.168.100.184
The monitorization claudia component can be filtered by monitor name and virtualmachine, in case you want to read all available information, set both parameteres to all;
claudia_monitor_vm_name=all claudia_monitor_name=all
or
claudia_monitor_vm_name=workernode.replicas.1 claudia_monitor_name=cpus.1
For opennebula interaction, claudia needs the following configuration from one sections:
one_username = oneadmin one_password = oneadmin frontend_ip = 127.0.0.1 node_bridge_name = br0
Also this parameters can be configured with the stratus-config command:
$ stratus-config domain_name grnet $ stratus-config claudia_home /opt/claudia/ $ stratus-config claudia_public_ip 192.168.100.182/192.168.100.183/192.168.100.184/192.168.100.185/192.168.100.186 $ stratus-config claudia_public_gateway 192.168.100.129 $ stratus-config claudia_public_network 192.168.100.128 $ stratus-config claudia_public_netmask 255.255.255.192 $ stratus-config claudia_public_dns 194.177.210.210 $ stratus-config claudia_mac_enabled true $ stratus-config claudia_mac_list 00:16:3e:d9:78:b6/00:16:3e:d9:78:b7/00:16:3e:d9:78:b8/00:16:3e:d9:78:b9/00:16:3e:d9:78:a4/00:16:3e:d9:78:a5/00:16:3e:d9:78:a6/00:16:3e:d9:78:a7 $ stratus-config claudia_static_ip_list 192.168.100.166 $ stratus-config claudia_monitor_vm_name workernode.replicas.1 $ stratus-config claudia_monitor_name cpus.1
And, from StratusLab 1.3, there's a new parameter to configure the Opennebula interaction with Claudia. This is the Opennebula version. Its value can be “2.2” or “3.0”. By default, it is “2.2”:
claudia_oneversion=2.2
Its value can also be configured from stratus-config tool:
$ stratus-config claudia_oneversion 3.0
Once the configuration Claudia details are set in the configuration file /etc/stratuslab/stratuslab.cfg, the command to install all package components and set their configuration is:
$ python2.6 /usr/bin/stratus-install --claudia
After the configuration is done all dameons should be running, anytime you want to restart claudia you can use the script claudia-start.sh
/opt/claudia/bin/claudia-startup.sh
this command will restart clotho, tcloud-server, reportclient and also will remove the old database file.
To test the deployment from Claudia using a OVF file is done with the command stratus-test ClaudiaTest
For a list of available options use:
$ python2.6 /usr/bin/stratus-test claudiaTest --help
If no arguments are given, it will take the default values
$ python2.6 /usr/bin/stratus-test claudiaTest
The available arguments are:
$ python2.6 /usr/bin/stratus-test claudiaTest --claudia-customer=demo --claudia-service=ds1 --claudia-ovf-endpoint=file:///root/ovf/telefonica.xml
OVF deploy, undeploy and event simulation operations can executed with the command stratus-ovf followed by this arguments:
Deploy:
$ /usr/bin/stratus-ovf deploy
The available arguments are:
$ /usr/bin/stratus-ovf deploy --customer=demo --service=ds1 --ovf-endpoint=file:///root/ovf/telefonica.xml
Undeploy:
$ /usr/bin/stratus-ovf undeploy
The available arguments are:
$ /usr/bin/stratus-ovf undeploy --customer=tid --service=s1
Event simulation:
$ /usr/bin/stratus-ovf event
The available arguments are:
$ /usr/bin/stratus-ovf event --event-type=agent --fqn=grnet.customers.tid.services.s1.kpis.jobqueue --value=500