[occi-wg] OCCI support for contextualization

Enol Fernández del Castillo enolfc at ifca.unican.es
Thu Jul 11 05:01:29 EDT 2013


Dear all,

I'm Enol Fernandez from EGI's FedCloud working in the task for contextualization of virtual machines. I know you already have done some preliminary work on contextualization so I would like to let you know what are up to now our findings:

We have identified as a requirement to contextualize images the possibility of passing user provided data to the VM when they are instantiated. Hence there are two things to be defined:
- how to pass data upon VM creation
- how to retrieve those data from the running VM

For passing the data we propose the use of a new mixin that has an attribute to hold the data to pass to the image. We have a working modification of the OCCI-OS implementation that uses such mixin [1]. In this case we have defined a mixin:
Category: user_data; scheme="http://schemas.openstack.org/compute/instance#"; class="mixin"
and org.openstack.compute.user_data as attribute (base64 encoded), that uses the user_data field of the OpenStack API [2].

We think a similar mixin could be added to OCCI to allow interoperability between resource providers.

The second part, related to retrieving the data, is more dependent of the back-end implementation. We have identified 3 different methods in the systems in place in FedCloud:
- a metadata server (a la EC2), that located in a known URI servers the user-data
- attach of an iso image to the VM that can be mounted 
- injection of a file with the user-data

I think all of those methods should be allowed and the VM once created should try them in order (the least invasive seems the metadata server, in our tests the file injection may fail with some VM images)

We think that the exact type and format of the data is not relevant. There could be specialized mixins to indicate explicitly that the data conforms to a executable script or to Cloud-init [3], but free-format data should also be allowed (for example at IFCA we have developed a system to contextualize just passing a JSON dictionary [4])

Best regards,
Enol Fernandez

[1] https://github.com/enolfc/occi-os/tree/occi_user_data
[2] http://api.openstack.org/api-ref.html#compute
[3] https://help.ubuntu.com/community/CloudInit
[4] https://github.com/enolfc/feynapps



More information about the occi-wg mailing list