This cookbook installs and configures Eucalyptus on CentOS 6 physical and virtual machines. Source and package installations are supported.
Ensure that the following config is set in /etc/chef-server/chef-server.rb
:
erchef['s3_url_ttl'] = 3600
This cookbook only supports RHEL/CentOS 6 at the time being.
A Berksfile is included to allow users to easily download the required cookbook dependencies.
- Install Berkshelf:
gem install berkshelf
- Install Deps from inside this cookbook:
berks install
ntp
- sets up NTP for all Eucalyptus serversyum
- used for managing repositoriesselinux
- disables selinux on Eucalyptus servers
Attribute list can be found in attributes/default.rb
Some common attributes are:
Key | Type | Description | Default |
---|---|---|---|
["eucalyptus"]["install-type"] | String | Choose to install from `package` or `source` | package |
["eucalyptus"]["source-repo"] | String | Git repository to clone when building from source | https://github.com/eucalyptus/eucalyptus.git |
["eucalyptus"]["source-branch"] | String | Branch to use when building from source | testing |
Key | Type | Description | Default |
---|---|---|---|
["eucalyptus"]["network"]["mode"] | String | Networking mode to use | MANAGED-NOVLAN |
["eucalyptus"]["network"]["private-interface"] | String | Private interface of component | eth0 |
["eucalyptus"]["network"]["public-interface"] | String | Public interface of component | eth0 |
["eucalyptus"]["network"]["bridge-interface"] | String | Bridge interface of component. Will be created and set by playbook | br0 |
For a single frontend configuration use a role similar to:
{
"name": "cloud-controller",
"description": "",
"json_class": "Chef::Role",
"default_attributes": {
"eucalyptus": {
"install-load-balancer": false
}
},
"override_attributes": {
},
"chef_type": "role",
"run_list": [
"recipe[eucalyptus]",
"recipe[eucalyptus::eutester]",
"recipe[eucalyptus::cluster-controller]",
"recipe[eucalyptus::walrus]",
"recipe[eucalyptus::storage-controller]",
"recipe[eucalyptus::cloud-controller]",
"recipe[eucalyptus::register-components]"
],
"env_run_lists": {
}
}
For a source build use something like:
{
"name": "cloud-controller-source",
"description": "",
"json_class": "Chef::Role",
"default_attributes": {
"eucalyptus": {
"install-type": "source",
"release-rpm": "http://release-repo.eucalyptus-systems.com/releases/eucalyptus/3.4/centos/6/x86_64/eucalyptus-release-internal-3.4-1.el6.noarch.rpm",
"install-load-balancer": false
}
},
"override_attributes": {
},
"chef_type": "role",
"run_list": [
"recipe[eucalyptus]",
"recipe[eucalyptus::eutester]",
"recipe[eucalyptus::cloud-controller]"
],
"env_run_lists": {
}
}
TODO: (optional) If this is a public cookbook, detail the process for contributing. If this is a private cookbook, remove this section.
e.g.
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: TODO: List authors