----- Meeting Notes (04/02/13 15:11) -----Briefly introduce Abiquo - Aims to fit in any infrastructure----- Meeting Notes (04/02/13 15:41) -----Do not ask for chef
----- Meeting Notes (04/02/13 15:41) -----Ask for Chef
----- Meeting Notes (04/02/13 15:11) -----Nodes in the cloud - What is inside each node?
----- Meeting Notes (04/02/13 15:11) -----Private Chef - Multi-tenancyApi to manage recipes, cookbooks, databags, etc
----- Meeting Notes (04/02/13 15:11) -----Runlist -> Just a list of strings
Cooking the cloudManaging configuration with Chef, andHow Abiquo uses it to provision nodes Ignasi Barrera Senior Software Engineer
We will talk about… The need for configuration management Quick overview of Chef and its different flavors What the jclouds-chef project is How we can combine it with jclouds How Abiquo integrated Chef inside the platform
Configuration management Centralization of the configuration Automation in large infrastructures Ease of maintenance Automatic provisioning
How does it look like in Chef Cookbooks Recipes Ruby scripts Templates Configuration attributes Nodes Maintain the configuration of each node Databags
Pick your favorite flavor Community Chef (Open source) Hosted Chef (PaaS, free limited account) Private Chef (Opscode Chef inside the firewall)ChefContext chefContext = ContextBuilder.newBuilder( “chef|hostedchef|privatechef”) .credentials(client, certificate) .build();chefContext.getApi(); // Returns the typed API
The Chef service Stores bootstrap configuration The configuration is stored in the Chef Server and is accessible for jclouds and the nodesupdateBootstrapConfigForGroup(runlist, config, group); Generates the bootstrap script The script can be executed with the ComputeServicebootstrap = createBootstrapScriptForGroup(group);compute.runScriptOnNode(id, bootstrap);
The Abiquo approach Software provisioning should be a simple process Users should be able to provision and configure software when they need it Each tenant should be able to configure custom software packages
Tenant management Each tenant can configure the access to a custom Chef server The tenant will be able to manage the cookbooks and recipes in the Chef server
Node configuration The list of recipes available in the tenant’s Chef server is presented to the user The user can select which recipes and roles will be applied to the node Supports live configuration!