RETIRED, Examples and references to use Chef for OpenStack projects
Go to file
Jan Klare 4dbcdf0d0f Update Berkshelf to 2.0.18
updating berkshelf to 2.0.18 to fix redirect issue

Change-Id: I7a5802d961bbdd479462bd7b1ffd9d8457db5175
Related-Bug: 1338972
2014-12-19 14:15:27 +01:00
environments Update the forwarded ports and remove usage of vagrant-berkshelf 2014-04-24 10:47:05 -05:00
roles Rename openstack-metering to openstack-telemetry 2014-03-12 22:10:35 -04:00
.gitignore Adding Berksfile.lock for stable branch 2014-03-31 10:22:41 -05:00
.gitreview updated for the stable/havana branch 2014-03-27 14:56:12 -05:00
Berksfile pin mysql cookbook to avoid going to 5.x 2014-05-14 23:41:54 -04:00
Berksfile.lock update Berksfile.lock 2014-04-17 09:34:55 +01:00
CHANGELOG.md Update Berkshelf to 2.0.18 2014-12-19 14:15:27 +01:00
Gemfile Update Berkshelf to 2.0.18 2014-12-19 14:15:27 +01:00
Gemfile.lock Update Berkshelf to 2.0.18 2014-12-19 14:15:27 +01:00
LICENSE Apache License v2.0 2012-10-12 15:45:47 -05:00
README.md updated for the stable/havana branch 2014-03-27 14:56:12 -05:00
TESTING.md Update the forwarded ports and remove usage of vagrant-berkshelf 2014-04-24 10:47:05 -05:00
Vagabondfile Adds Vagabond integration testing and setup 2013-08-07 15:50:29 -04:00
Vagrantfile-aio-neutron Update the forwarded ports and remove usage of vagrant-berkshelf 2014-04-24 10:47:05 -05:00
Vagrantfile-aio-nova Update the forwarded ports and remove usage of vagrant-berkshelf 2014-04-24 10:47:05 -05:00
Vagrantfile-multi-neutron Update the forwarded ports and remove usage of vagrant-berkshelf 2014-04-24 10:47:05 -05:00
infrastructure.yml Rename openstack-metering to openstack-telemetry 2014-03-12 22:10:35 -04:00

README.md

Description

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

This is the Chef repository for supporting the 'Havana' release, the cookbooks are versioned with '8.x'. The 'master' branch is currently focused on the 'Icehouse' release.

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. Note that berks will resolve version requirements and dependencies on first run and store these in Berksfile.lock. If new cookbooks become available you can run berks update to update the references in Berksfile.lock. The Berksfile.lock is included in stable branches to provide a known good set of 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

Databags

You need to have some databags when you run the stackforge without the developer_mode -> true.

You need four databags : user_passwords, db_passwords, service_passwords, secrets

Each data bag need the following item to be created.

user_passwords ITEM example : {"id" : "admin", "admin" : "mypass"} - admin - guest

db_passwords ITEM example : {"id" : "nova", "nova" : "mypass"}

- nova
- horizon
- keystone
- glance
- ceilometer
- neutron
- cinder
- heat
- dash

service_passwords ITEM example : {"id" : "openstack-image", "openstack-image" : "mypass"}

- openstack-image
- openstack-compute
- openstack-block-storage
- openstack-orchestration
- openstack-network
- rbd

secrets ITEM example : {"id" : "openstack_identity_bootstrap_token", "openstack_identity_bootstrap_token" : "mytoken"}

- openstack_identity_bootstrap_token
- neutron_metadata_secret

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 11 or later is required and Ruby 1.9.x is considered the minimum supported version 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.

OpenStack Orchestration

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

There is further documentation in the OpenStack Orchestration cookbook README.

OpenStack Telemetry

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

There is further documentation in the OpenStack Telemetry 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)
Author Chen Zhiwei (zhiwchen@cn.ibm.com)
Copyright Copyright (c) 2011-2014 Chef Software, Inc.
Copyright Copyright (c) 2014 IBM, Corp.

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.