This repository contains the roles, environments and data bags for deploying an OpenStack Essex reference architecture using Chef. This currently includes the 5 OpenStack core projects: Nova, Glance, Keystone, Horizon and Swift(under development). Folsom development will begin very soon.
Please use the 2012.1.1
tag to get the latest essex
release. Once Folsom work was started, the essex
branch was merged back to the master
branch. If you need further essex
development after Folsom work has started, we can branch off of the tag.
The documentation has been moved to the https://github.com/mattray/openstack-chef-docs repository. A public URL will be available soon, but instructions for building the docs are included.
This repository uses Librarian (https://github.com/applicationsonline/librarian) 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 publish all of the cookbook dependencies to the Opscode Community site.
There is also a Spiceweasel (http://bit.ly/spcwsl) manifest documenting all the community cookbooks (currently redundant with Librarian), roles, data bags and environments required to deploy OpenStack.
To populate this Chef repository with the cookbooks for deploying, run the following command:
librarian-chef update
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
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 make use of the chef search functionality, and therefore require that if you are deploying anything larger than a single node deployment, you use chef server to host your cookbooks rather than using Chef Solo. It is important to note that much of the search is driven by the roles wrapping the recipes, so use the roles to deploy rather than directly including recipes in your run lists.
Each of the OpenStack services has its own cookbook and is available on the Chef Community site and on GitHub. Please refer to the documentation
directory for more details on the roles for deploying them.
http://community.opscode.com/cookbooks/glance
http://github.com/mattray/glance
There is further documentation in the Glance cookbook README.me.
http://community.opscode.com/cookbooks/horizon
http://github.com/mattray/horizon
There is further documentation in the Horizon cookbook README.me.
http://community.opscode.com/cookbooks/keystone
http://github.com/mattray/keystone
There is further documentation in the Keystone cookbook README.me.
http://community.opscode.com/cookbooks/nova
http://github.com/mattray/nova
There is further documentation in the Nova cookbook README.me.
http://community.opscode.com/cookbooks/swift
http://github.com/mattray/swift
There is further documentation in the Swift cookbook README.me.
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.