Git Product home page Git Product logo

eucalyptus-cookbook's Introduction

Stories in Ready eucalyptus Cookbook

This cookbook installs and configures Eucalyptus on CentOS 6 physical and virtual machines. Source and package installations are supported.

Requirements

Branches

The following table descirbes the branch to use for each Eucalyptus release:

Branch Cookbook version Euca version Notes
master 0.3.x 4.1.0 maps to latest released eucalyptus version
euca-4.0 0.3.x 4.0.2 Stable branch for 4.0.x installs
euca-4.1 0.4.x 4.1.1 Maint branch for 4.1.x installs
euca-4.2 1.0.x 4.2.0 breaks the attribute API

Environment

To deploy a distributed topology it is necessary to define an environment with at least these attributes defined:

  • node['eucalyptus']['topology']
  • node['eucalyptus']['network']['config-json']
"default_attributes": {
    "eucalyptus": {
      "topology": {
        "clc-1": "10.111.5.163",
        "walrus": "10.111.5.163",
        "user-facing": ["10.111.5.163"],
        "clusters": {
          "default": {
            "cc-1": "10.111.5.164",
            "sc-1": "10.111.5.164",
            "storage-backend": "das",
            "das-device": "vg01",
            "nodes": "10.111.5.162 10.111.5.166 10.111.5.165 10.111.5.157"
          }
        }
      },
      "network": {
        "mode": "EDGE",
        "config-json": {
                  "InstanceDnsDomain" : "eucalyptus.internal",
                  "InstanceDnsServers": ["10.111.5.163"],
                  "PublicIps": ["10.111.55.1-10.111.55.220"],
                  "Subnets": [],
        "Clusters": [
           {
            "Name": "default",
            "MacPrefix": "d0:0d",
            "Subnet": {
                "Name": "172.16.55.0",
                "Subnet": "172.16.55.0",
                "Netmask": "255.255.255.0",
                "Gateway": "172.16.55.1"
            },
            "PrivateIps": [ "172.16.55.20-172.16.55.140"]
            }]
          }
        }
      }
    }  

Platforms

This cookbook only supports RHEL/CentOS 6 at the time being.

Berkshelf

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

Cookbooks

  • ntp - sets up NTP for all Eucalyptus servers
  • yum - used for managing repositories
  • selinux - disables selinux on Eucalyptus servers

Chef server config

Ensure that the following config is set in /etc/chef-server/chef-server.rb: erchef['s3_url_ttl'] = 3600

Attributes

Attribute list can be found in attributes/default.rb

Some common attributes are:

eucalyptus installation config

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 maint-4.1

eucalyptus network config

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

Usage

For cloud-in-a-box installs look at... Eucadev

For distributed topologies... Deployment with motherbrain

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Authors:

Vic Iglesias [email protected]

eucalyptus-cookbook's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.