RETIRED, Examples and references to use Chef for OpenStack projects
Go to file
Matt Ray 7e32b4747e Initial Vagrant testing support, using the Chef provider with Chef Zero.
The Vagrant box is the default 12.04 and 13.04 provided by Opscode's Bento
project. It uses the Vagrant plugins vagrant-berkshelf, vagrant-cachier,
vagrant-chef-zero and vagrant-omnibus. Unfortunately Chef Zero does not
understand .rb files yet, so we're using the recipes directly in the run
list. This also means that searching by roles is broken so this needs to be
fixed ASAP.

Change-Id: I5fe8b175f15c4a21c16de46bc05ec6a0c27cfdaa
2013-09-21 13:38:33 -05:00
environments Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
roles fixed to point to openstack-compute::nova-setup recipe 2013-09-21 13:31:04 -05:00
.gitignore Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
.gitreview Add gitreview file 2013-05-27 11:47:33 -04:00
Berksfile Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
Berksfile.lock Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
CHANGELOG.md preparing for grizzly 2013-05-24 13:31:19 -05:00
Cheffile updated for Chef 11 compatibility 2013-02-05 10:28:21 -06:00
Cheffile.lock essex 2012.1.1 release 2013-01-10 11:03:24 -06:00
Gemfile Adds Vagabond integration testing and setup 2013-08-07 15:50:29 -04:00
Gemfile.lock Adds Vagabond integration testing and setup 2013-08-07 15:50:29 -04:00
LICENSE Apache License v2.0 2012-10-12 15:45:47 -05:00
README.md Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
TESTING.md Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
Vagabondfile Adds Vagabond integration testing and setup 2013-08-07 15:50:29 -04:00
Vagrantfile Initial Vagrant testing support, using the Chef provider with Chef Zero. 2013-09-21 13:38:33 -05:00
infrastructure.yml Cleanup and consolidation of the roles to cover all-in-one installation. 2013-09-19 22:29:23 -05:00

README.md

Description

This repository contains examples of the roles, environments and other supporting files for deploying an OpenStack Grizzly reference architecture using Chef. This currently includes the 7 OpenStack core projects: Compute, Dashboard, Identity, Image, Network, Object and Block Storage.

Development of the latest Stable release will continue on the master branch and releases tagged with 7.0.X. Once development starts against OpenStack master or havana, this branch will move to grizzly and the appropriate branches will continue development.

The documentation has been moved to the https://github.com/mattray/chef-docs repository for merging to https://github.com/opscode/chef-docs and eventual release to https://docs.opscode.com. Instructions for building the docs are included in the repository. There is additional documentation on the OpenStack wiki.

Usage

This repository uses Berkshelf (https://berkshelf.com) to manage downloading all of the proper cookbook versions, whether from Git or from the Opscode Community site (https://community.opscode.com). The preference is to eventually upstream all cookbook dependencies to the Opscode Community site. The Berksfile lists the current dependencies.

There is a Spiceweasel (http://bit.ly/spcwsl) infrastructure.yml manifest documenting all the roles and environments required to deploy OpenStack.

To see the commands necessary to push all of the files to the Chef server, run the following command:

spiceweasel infrastructure.yml

To actually deploy the repository to your Chef server, run the following command:

spiceweasel -e infrastructure.yml

Cookbooks

The cookbooks have been designed and written in such a way that they can be used to deploy individual service components on any of the nodes in the infrastructure; in short they can be used for single node 'all-in-one' installs (for testing), right up to multi/many node production installs. In order to achieve this flexibility, they are configured by attributes which may be used to override search. Chef 10 or later is currently required, but the intention is to move to Chef 11 with the havana release to take advantage of features such as partial search. Ruby 1.9.x is considered the minimum supported version of Ruby as well. Most users of this repository test with the full-stack Chef 11 client and a Chef server (Chef Solo is not explicity supported).

Each of the OpenStack services has its own cookbook and will eventually be available on the Chef Community site.

OpenStack Block Storage

http://github.com/stackforge/cookbook-openstack-block-storage/

There is further documentation in the OpenStack Block Storage cookbook README.

OpenStack Compute

http://github.com/stackforge/cookbook-openstack-compute/

There is further documentation in the OpenStack Compute cookbook README.

OpenStack Dashboard

http://github.com/stackforge/cookbook-openstack-dashboard/

There is further documentation in the OpenStack Dashboard cookbook README.

OpenStack Identity

http://github.com/stackforge/cookbook-openstack-identity/

There is further documentation in the OpenStack Identity cookbook README.

OpenStack Image

http://github.com/stackforge/cookbook-openstack-image/

There is further documentation in the OpenStack Image cookbook README.

OpenStack Network

Http://github.com/stackforge/cookbook-openstack-network/

There is further documentation in the OpenStack Network cookbook README.

OpenStack Object Storage

http://github.com/stackforge/cookbook-openstack-object-storage/

There is further documentation in the OpenStack Object Storage cookbook README.

Testing

Please refer to the TESTING.md for instructions for testing the repository and cookbooks with Vagrant or Vagabond.

License and Author

Author Matt Ray (matt@opscode.com)
Author Jay Pipes (jaypipes@gmail.com)
Copyright Copyright (c) 2011-2013 Opscode, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.