Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'issue-4' into cactus

  • Loading branch information...
commit cf701e24d87dc5fa3db7384c22caf3de0ff11ab8 2 parents c6e3f87 + 1c3d156
@mattray authored
View
36 README.md
@@ -6,29 +6,39 @@ This Chef repository was forked from Anso Labs' OpenStack-Cookbooks (https://git
Requirements
============
-Written and tested with Ubuntu 10.04 and 10.10 and Chef 0.9.16 and later.
+Written and tested with Ubuntu 10.04 and 10.10 and Chef 0.10 and later.
+
+Roles
+=====
+You can use the command `rake roles` to upload all the roles provided.
openstack Data Bag
==================
-In order to manage configuration of our OpenStack cloud, we will use the `openstack` data bag.
+In order to manage configuration of our OpenStack cloud, we will use the `openstack` data bag. You will need to configure each of the following items and load them into the `openstack` data bag when ready.
```
% knife data bag create openstack
-% knife data bag from file openstack data_bags/openstack/defaults.json
+% knife data bag from file openstack data_bags/openstack/glance.json
+% knife data bag from file openstack data_bags/openstack/images.json
+% knife data bag from file openstack data_bags/openstack/nova.json
```
-Where the contents of the included `defaults.json` are:
-
-```json
-{
- "id": "defaults",
- "images": [
- "http://c0179148.cdn1.cloudfiles.rackspacecloud.com/ubuntu1010-UEC-localuser-image.tar.gz"
- ]
-}
+conversely you can also just use
```
+% rake databag:upload_all
+```
+
+nova
+----
+The `nova` item for the `openstack` data bag contains the settings for configuring Nova.
+
+glance
+------
+The `glance` item for the `openstack` data bag contains the settings for configuring Glance.
-* `images`: List of the AMIs to load into the system. You may want to store these locally and update the item.
+images
+------
+The `images` item for the `openstack` data bag contains the locations, contents and metadata of the various AMIs to load into the system to make available for Nova. Good places to go for AMIs include https://uec-images.ubuntu.com and http://www.eucalyptussoftware.com/downloads/eucalyptus-images/list.php. You may want to copy these to a local site for future deployments.
Usage
=====
View
65 Rakefile
@@ -0,0 +1,65 @@
+#
+# Rakefile for Chef Server Repository
+#
+# Author:: Adam Jacob (<adam@opscode.com>)
+# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# 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.
+#
+
+require 'rubygems'
+require 'chef'
+require 'json'
+
+# Load constants from rake config file.
+require File.join(File.dirname(__FILE__), 'config', 'rake')
+
+# Detect the version control system and assign to $vcs. Used by the update
+# task in chef_repo.rake (below). The install task calls update, so this
+# is run whenever the repo is installed.
+#
+# Comment out these lines to skip the update.
+
+if File.directory?(File.join(TOPDIR, ".svn"))
+ $vcs = :svn
+elsif File.directory?(File.join(TOPDIR, ".git"))
+ $vcs = :git
+end
+
+# Load common, useful tasks from Chef.
+# rake -T to see the tasks this loads.
+
+load 'chef/tasks/chef_repo.rake'
+
+desc "Bundle a single cookbook for distribution"
+task :bundle_cookbook => [ :metadata ]
+task :bundle_cookbook, :cookbook do |t, args|
+ tarball_name = "#{args.cookbook}.tar.gz"
+ temp_dir = File.join(Dir.tmpdir, "chef-upload-cookbooks")
+ temp_cookbook_dir = File.join(temp_dir, args.cookbook)
+ tarball_dir = File.join(TOPDIR, "pkgs")
+ FileUtils.mkdir_p(tarball_dir)
+ FileUtils.mkdir(temp_dir)
+ FileUtils.mkdir(temp_cookbook_dir)
+
+ child_folders = [ "cookbooks/#{args.cookbook}", "site-cookbooks/#{args.cookbook}" ]
+ child_folders.each do |folder|
+ file_path = File.join(TOPDIR, folder, ".")
+ FileUtils.cp_r(file_path, temp_cookbook_dir) if File.directory?(file_path)
+ end
+
+ system("tar", "-C", temp_dir, "-cvzf", File.join(tarball_dir, tarball_name), "./#{args.cookbook}")
+
+ FileUtils.rm_rf temp_dir
+end
View
38 config/rake.rb
@@ -0,0 +1,38 @@
+# Configure the Rakefile's tasks.
+
+###
+# Company and SSL Details
+# Used with the ssl_cert task.
+###
+
+# The company name - used for SSL certificates, and in srvious other places
+COMPANY_NAME = "Example Com"
+
+# The Country Name to use for SSL Certificates
+SSL_COUNTRY_NAME = "US"
+
+# The State Name to use for SSL Certificates
+SSL_STATE_NAME = "Several"
+
+# The Locality Name for SSL - typically, the city
+SSL_LOCALITY_NAME = "Locality"
+
+# What department?
+SSL_ORGANIZATIONAL_UNIT_NAME = "Operations"
+
+# The SSL contact email address
+SSL_EMAIL_ADDRESS = "ops@example.com"
+
+# License for new Cookbooks
+# Can be :apachev2 or :none
+NEW_COOKBOOK_LICENSE = :apachev2
+
+###
+# Useful Extras (which you probably don't need to change)
+###
+
+# The top of the repository checkout
+TOPDIR = File.expand_path(File.join(File.dirname(__FILE__), ".."))
+
+# Where to store certificates generated with ssl_cert
+CADIR = File.expand_path(File.join(TOPDIR, "certificates"))
View
12 cookbooks/glance/README.md
@@ -1,10 +1,10 @@
DESCRIPTION
===========
-Chef Cookbook to install and configure Glance API and Registry.
+Chef Cookbook to install and configure Glance API and Registry and to upload AMIs.
REQUIREMENTS
============
-Requires access to Glance packages.
+Requires access to Glance packages and uses the `openstack` data bag item `images`. Includes the `glance-uploader.bash` from Kevin Bringard's http://github.com/kevinbringard/OpenStack-tools.
Recipes
=======
@@ -20,14 +20,12 @@ registry
--------
common and service
-setup
------
-includes common, adds tty linux
+upload
+------
+uploads the AMIs specified in the `openstack` data bag `images` item.
TODO
====
-- rewrite setup.rb to use Chef Resources(merge with common?)
-- move away from hard-coded tty image to an array of downloads
- can glance use the mysql for sqlconnection from nova(does it even matter?)
License
View
178 cookbooks/glance/files/default/glance-uploader.bash
@@ -0,0 +1,178 @@
+#!/usr/bin/env bash
+
+##
+# Copyright (c) 2011 Kevin Bringard
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+##
+
+set -e
+
+glance_upload=$( which glance-upload )
+##
+# Use this to force a glance-upload location if it's not in your path (or to override the above if you're so inclined)
+# Normally this should be commented out and should only be used if you're really sure you know what you're doing
+# glance_upload="/usr/bin/glance-upload"
+
+glance=$( which glance )
+##
+# Use this to force a glance location (just like the above for glance-upload), same caveats apply
+# glance="/usr/bin/glance"
+
+username=$( whoami )
+host=$( hostname )
+
+args=$( getopt :i:k:r:v:d:e:a:h:p: $*)
+
+usage() {
+ echo "USAGE: $0 [options]
+ -i Path to the image to upload
+ -k Path to the kernel to upload
+ -r Path to the ramdisk to upload
+
+Host is required if you are connecting to a remote glance server, port will default to 9292
+ -h Host to connect to
+ -p Port to connect to
+
+The options below here are required for meta-data, so be descriptive
+ -v The version of the OS you are uploading
+ -d The distro you are uploading (CentOS, RHEL, Ubuntu, etc)
+ -e The kernel version (2.6.28, 2.6.32-el6, or whatever), required if you are uploading a kernel
+ -a The architecture of the image (x86_64, amd64, i386, etc)
+ "
+ exit 1
+}
+
+check_for_dupes() {
+ breakout=1
+ if [ -z $name_version ]; then
+ name_version=1
+ else
+ name_version=$( echo "$name_version + 1" | bc )
+ fi
+
+ for i in $( $glance index | grep -v "public images" | grep -v "Disk Format" | grep -v "\-\-\-\-\-\-\-\-\-\-\-" | awk '{ print $2 }' ); do
+ if [ -z $i ]; then
+ return
+ fi
+
+ if [ ! -z $ramdisk_name ] && [ $ramdisk_name == $i ]; then
+ ramdisk_name=$( echo "$ramdisk-$name_version" )
+ breakout=0
+ elif [ ! -z $kernel_name ] && [ $kernel_name == $i ]; then
+ kernel_name=$( echo "$kernel-$name_version" )
+ breakout=0
+ elif [ $image_name == $i ]; then
+ image_name=$( echo "$image-$name_version" )
+ breakout=0
+ fi
+ done
+ if [ $breakout -eq 0 ]; then
+ check_for_dupes
+ fi
+}
+
+if [ -z $1 ]; then
+ usage
+fi
+
+eval set -- $args
+
+for i; do
+ case "$i" in
+ -i) shift; image=$1; shift;;
+ -k) shift; kernel=$1; shift;;
+ -r) shift; ramdisk=$1; shift;;
+ -v) shift; version=$1; shift;;
+ -d) shift; distro=$1; shift;;
+ -e) shift; kernel_version=$1; shift;;
+ -a) shift; arch=$1; shift;;
+ -h) shift; host=$1; shift;;
+ -p) shift; port=$1; shift;;
+ esac
+done
+
+if [ ! -z $host ]; then
+ glance_upload=$( echo "$glance_upload --host $host" )
+ glance=$( echo "$glance -H $host" )
+fi
+
+if [ ! -z $port ]; then
+ glance_upload=$( echo "$glance_upload --port $port" )
+ glance=$( echo "$glance -p $port" )
+fi
+
+if [ -z $distro ] || [ -z $version ]; then
+ echo "You must provide the OS version and Distro with -d and -v!"
+ usage
+fi
+
+ramdisk_name=$ramdisk
+kernel_name=$kernel
+image_name=$image
+
+check_for_dupes
+
+if [ ! -z $ramdisk ]; then
+ $glance_upload --disk-format=ari --container-format=ari --type=ramdisk $ramdisk $ramdisk_name
+ ramdisk_id=$( $glance index | awk '{ print $1, $2 }' | egrep "(${ramdisk_name}$)" | awk '{ print $1}' )
+fi
+
+if [ ! -z $kernel ]; then
+ if [ -z $kernel_version ]; then
+ echo "If you provide a kernel, you must also provide a version with -e!"
+ usage
+ fi
+ $glance_upload --disk-format=aki --container-format=aki --type=kernel $kernel $kernel_name
+ kernel_id=$( $glance index | awk '{ print $1, $2 }' | egrep "(${kernel_name}$)" | awk '{ print $1 '} )
+fi
+
+if [ -z $image ]; then
+ usage
+elif [ -z $kernel_id ] && [ -z $ramdisk_id ]; then
+ $glance_upload --disk-format=ami --container-format=ami --type=machine $image $image_name
+elif [ -z $kernel_id ] && [ ! -z $ramdisk_id ]; then
+ $glance_upload --disk-format=ami --container-format=ami --type=machine --ramdisk=$ramdisk_id $image $image_name
+elif [ ! -z $kernel_id ] && [ -z $ramdisk_id ]; then
+ $glance_upload --disk-format=ami --container-format=ami --type=machine --kernel=$kernel_id $image $image_name
+elif [ ! -z $kernel_id ] && [ ! -z $ramdisk_id ]; then
+ $glance_upload --disk-format=ami --container-format=ami --type=machine --kernel=$kernel_id --ramdisk=$ramdisk_id $image $image_name
+else
+ echo "Something seems to have gone wrong... I'm outa here"
+ exit 1
+fi
+
+image_id=$( $glance index | awk '{ print $1, $2 }' | egrep "(${image_name}$)" | awk '{ print $1 '} )
+echo "Setting the required properties..."
+$glance update $image_id type=machine version="$version" distro="$distro" uploader="$username@$host" arch="$arch"
+if [ ! -z $kernel_id ] && [ ! -z $kernel_version ]; then
+ $glance update $image_id type=machine version="$version" distro="$distro" uploader="$username@$host" arch="$arch" kernel_id="$kernel_id" kernel_name="$kernel_name"
+ $glance update $kernel_id type=kernel version="$kernel_version" distro="$distro" uploader="$username@$host" arch="$arch"
+fi
+
+if [ ! -z $ramdisk_id ] && [ ! -z $kernel_id ]; then
+ $glance update $image_id type=machine version="$version" distro="$distro" uploader="$username@$host" arch="$arch" kernel_id="$kernel_id" kernel_name="$kernel_name" ramdisk_id="$ramdisk_id" ramdisk_name="$ramdisk_name"
+ $glance update $ramdisk_id type=ramdisk distro="$distro" uploader="$username@$host" arch="$arch"
+fi
+
+if [ ! -z $ramdisk_id ] && [ -z $kernel_id ]; then
+ $glance update $image_id type=machine version="$version" distro="$distro" uploader="$username@$host" arch="$arch" ramdisk_id="$ramdisk_id" ramdisk_name="$ramdisk_name"
+ $glance update $ramdisk_id type=ramdisk distro="$distro" uploader="$username@$host" arch="$arch"
+fi
View
94 cookbooks/glance/recipes/common.rb
@@ -33,99 +33,5 @@
template node[:glance][:config_file] do
source "glance.conf.erb"
owner node[:glance][:user]
- group "root"
mode 0644
end
-
-# (node[:nova][:images] or []).each do |image|
-# #get the filename of the image
-# filename = image.split('/').last
-# execute "uec-publish-tarball #{filename} nova_amis x86_64" do
-# cwd "#{node[:nova][:user_dir]}/images/"
-# #need EC2_URL, EC2_ACCESS_KEY, EC2_SECRET_KEY, EC2_CERT, EC2_PRIVATE_KEY, S3_URL, EUCALYPTUS_CERT for environment
-# environment ({
-# 'EC2_URL' => "http://#{node[:nova][:api]}:8773/services/Cloud",
-# 'EC2_ACCESS_KEY' => node[:nova][:access_key],
-# 'EC2_SECRET_KEY' => node[:nova][:secret_key],
-# 'EC2_CERT_' => "#{node[:nova][:user_dir]}/cert.pem",
-# 'EC2_PRIVATE_KEY_' => "#{node[:nova][:user_dir]}/pk.pem",
-# 'S3_URL' => "http://#{node[:nova][:api]}:3333", #TODO need to put S3 into attributes instead of assuming API
-# 'EUCALYPTUS_CERT' => "#{node[:nova][:user_dir]}/cacert.pem"
-# })
-# user node[:nova][:user]
-# action :nothing
-# end
-# remote_file image do
-# source image
-# path "#{node[:nova][:user_dir]}/images/#{filename}"
-# owner node[:nova][:user]
-# action :create_if_missing
-# notifies :run, resources(:execute => "uec-publish-tarball #{filename} nova_amis x86_64"), :immediately
-# end
-# end
-
-
-# bash "tty linux setup" do
-# cwd "/tmp"
-# user "root"
-# code <<-EOH
-# mkdir -p /var/lib/glance/
-# curl #{node[:glance][:tty_linux_image]} | tar xvz -C /tmp/
-# glance add name="ari-tty" type="ramdisk" disk_format="ari" container_format="ari" is_public=true < /tmp/tty_linux/ramdisk
-# glance add name="aki-tty" type="kernel" disk_format="aki" container_format="aki" is_public=true < /tmp/tty_linux/kernel
-# glance add name="ami-tty" type="kernel" disk_format="ami" container_format="ami" ramdisk_id="1" kernel_id="2" is_public=true < /tmp/tty_linux/image
-# touch /var/lib/glance/tty_setup
-# EOH
-# not_if do File.exists?("/var/lib/glance/tty_setup") end
-# end
-
-
-#download and install AMIs
-# (node[:nova][:images] or []).each do |image|
-# #get the filename of the image
-# filename = image.split('/').last
-# execute "uec-publish-tarball #{filename} nova_amis x86_64" do
-# cwd "#{node[:nova][:user_dir]}/images/"
-# #need EC2_URL, EC2_ACCESS_KEY, EC2_SECRET_KEY, EC2_CERT, EC2_PRIVATE_KEY, S3_URL, EUCALYPTUS_CERT for environment
-# environment ({
-# 'EC2_URL' => "http://#{node[:nova][:api]}:8773/services/Cloud",
-# 'EC2_ACCESS_KEY' => node[:nova][:access_key],
-# 'EC2_SECRET_KEY' => node[:nova][:secret_key],
-# 'EC2_CERT_' => "#{node[:nova][:user_dir]}/cert.pem",
-# 'EC2_PRIVATE_KEY_' => "#{node[:nova][:user_dir]}/pk.pem",
-# 'S3_URL' => "http://#{node[:nova][:api]}:3333", #TODO need to put S3 into attributes instead of assuming API
-# 'EUCALYPTUS_CERT' => "#{node[:nova][:user_dir]}/cacert.pem"
-# })
-# user node[:nova][:user]
-# action :nothing
-# end
-# remote_file image do
-# source image
-# path "#{node[:nova][:user_dir]}/images/#{filename}"
-# owner node[:nova][:user]
-# action :create_if_missing
-# notifies :run, resources(:execute => "uec-publish-tarball #{filename} nova_amis x86_64"), :immediately
-# end
-# end
-
-# #debug output
-# execute "euca-describe-images" do
-# user node[:nova][:user]
-# end
-
-#if not glance
-
-# in /images/
-
-# mkdir kernel image "mykernel_image"
-# json file from one with "aki"
-# make up id as "mykernel_id"
-
-# mkdir ami image "myami_image"
-# json file from one with "ami"
-# kernel_id "mykernel_id"
-# id "random"
-
-# execute "nova-manage image convert /var/lib/nova/images" do
-# user 'nova'
-# end
View
85 cookbooks/glance/recipes/upload.rb
@@ -0,0 +1,85 @@
+#
+# Cookbook Name:: glance
+# Recipe:: upload
+#
+# Copyright 2011 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.
+#
+
+#load in the AMIs
+directory "#{node[:glance][:working_directory]}/images" do
+ owner node[:glance][:user]
+ mode 0755
+end
+
+#get the 'openstack' data bag 'images'['images'] list of hashes
+images = data_bag_item('openstack', 'images')
+
+cookbook_file "#{node[:glance][:working_directory]}/glance-uploader.bash" do
+ source "glance-uploader.bash"
+ mode "0755"
+end
+
+
+(images.keys or []).each do |image|
+ next if image == 'id'
+ #get the filename of the image
+ filename = image.split('/').last
+
+ remote_file filename do
+ source image
+ path "#{node[:glance][:working_directory]}/images/#{filename}"
+ owner node[:glance][:user]
+ action :create_if_missing
+ #notifies :create, resources(:directory => "#{node[:glance][:working_directory]}/images/#{filename}-tmp"), :immediately
+ end
+
+ #only run the following when the file is downloaded
+ directory "#{node[:glance][:working_directory]}/images/#{filename}-tmp" do
+ owner node[:glance][:user]
+ subscribes :create, resources(:remote_file => filename), :immediately
+ action :nothing
+ end
+
+ execute "tar -xf #{node[:glance][:working_directory]}/images/#{filename}" do
+ cwd "#{node[:glance][:working_directory]}/images/#{filename}-tmp"
+ user node[:glance][:user]
+ subscribes :run, resources(:directory => "#{node[:glance][:working_directory]}/images/#{filename}-tmp"), :immediately
+ action :nothing
+ end
+
+ glance_upload = "#{node[:glance][:working_directory]}/glance-uploader.bash -h #{node.ipaddress}"
+ glance_upload += " -a #{images[image]['arch']}"
+ glance_upload += " -d #{images[image]['distro']}"
+ glance_upload += " -e #{images[image]['kernel_version']}"
+ glance_upload += " -i #{images[image]['image']}"
+ glance_upload += " -k #{images[image]['kernel']}"
+ glance_upload += " -v #{images[image]['version']}"
+
+ execute glance_upload do
+ cwd "#{node[:glance][:working_directory]}/images/#{filename}-tmp"
+ user node[:glance][:user]
+ subscribes :run, resources(:execute => "tar -xf #{node[:glance][:working_directory]}/images/#{filename}"), :immediately
+ action :nothing
+ end
+
+ directory "delete #{node[:glance][:working_directory]}/images/#{filename}-tmp" do
+ path "#{node[:glance][:working_directory]}/images/#{filename}-tmp"
+ subscribes :delete, resources(:execute => glance_upload)
+ recursive true
+ action :nothing
+ end
+
+end
+
View
6 data_bags/openstack/defaults.json
@@ -1,6 +0,0 @@
-{
- "id": "defaults",
- "images": [
- "http://c0179148.cdn1.cloudfiles.rackspacecloud.com/ubuntu1010-UEC-localuser-image.tar.gz"
- ]
-}
View
19 data_bags/openstack/images.json
@@ -0,0 +1,19 @@
+{
+ "id": "images",
+ "http://uec-images.ubuntu.com/lucid/current/lucid-server-uec-amd64.tar.gz": {
+ "image": "lucid-server-uec-amd64.img",
+ "kernel": "lucid-server-uec-amd64-vmlinuz-virtual",
+ "kernel_version": "2.6.32",
+ "arch": "amd64",
+ "distro": "Ubuntu",
+ "version": "10.04"
+ },
+ "http://c0179148.cdn1.cloudfiles.rackspacecloud.com/ubuntu1010-UEC-localuser-image.tar.gz": {
+ "image": "maverick-server-uec-amd64.img",
+ "kernel": "maverick-server-uec-amd64-vmlinuz-virtual",
+ "kernel_version": "2.6.35",
+ "arch": "amd64",
+ "distro": "Ubuntu",
+ "version": "10.10"
+ }
+}
View
6 data_bags/openstack/mattray.json
@@ -1,6 +0,0 @@
-{
- "id": "defaults",
- "images": [
- "http://192.168.11.5/ubuntu1010-UEC-localuser-image.tar.gz"
- ]
-}
View
3  data_bags/openstack/nova.json
@@ -0,0 +1,3 @@
+{
+ "id": "nova"
+}
View
28 infrastructure.yml
@@ -1,34 +1,32 @@
cookbooks:
- apache2:
- - 0.99.3
+ - 0.99.4
- apt:
- 1.1.2
- mysql:
- - 1.0.3
+ - 1.0.5
+- glance:
- nova:
- - 0.3
-# - nscd:
-# - 0.7
-- openssh:
- - 0.8.0
- openssl:
- - 0.1
+ - 1.0.0
- rabbitmq:
- 1.2.1
data bags:
- openstack:
- - defaults
+ - images
+ - glance
+ - nova
roles:
-- nova-single-machine:
-- nova-db:
-- nova-rabbitmq-server:
- glance-single-machine:
-- nova-multi-controller:
+- nova-db:
- nova-multi-compute:
+- nova-multi-controller:
+- nova-rabbitmq-server:
+- nova-single-machine:
nodes:
- controller:
- - recipe[apt::cacher] [nova-multi-controller]
+ - role[nova-multi-controller]
- -i ~/.ssh/mray.pem -x user --sudo -d ubuntu10.04-gems
- compute:
- - recipe[apt::cacher-client] role[nova-multi-compute]
+ - role[nova-multi-compute]
- -i ~/.ssh/mray.pem -x user --sudo -d ubuntu10.04-gems
View
3  roles/glance-single-machine.rb
@@ -2,5 +2,6 @@
description "Installs everything required to run Glance on a single machine"
run_list(
"recipe[glance::api]",
- "recipe[glance::registry]"
+ "recipe[glance::registry]",
+ "recipe[glance::upload]"
)
View
7,214 roles/nova-roles.graffle
3,085 additions, 4,129 deletions not shown
View
BIN  roles/nova-roles.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Please sign in to comment.
Something went wrong with that request. Please try again.