Giter VIP home page Giter VIP logo

glance's Introduction

Support

Issues have been disabled for this repository.
Any issues with this cookbook should be raised here:

https://github.com/rcbops/chef-cookbooks/issues

Please title the issue as follows:

[glance]: <short description of problem>

In the issue description, please include a longer description of the issue, along with any relevant log/command/error output.
If logfiles are extremely long, please place the relevant portion into the issue description, and link to a gist containing the entire logfile

Description

Installs the OpenStack Image Repository/Server (codename: glance) from packages. Optionally populates the repository with some default images.

http://glance.openstack.org/

Usage

The Glance cookbook currently supports file, swift, and Rackspace Cloud Files (swift API compliant) backing stores. NOTE: changing the storage location from cloudfiles to swift (and vice versa) requires that you manually export and import your stored images.

To enable these features set the following in the default attributes section in your environment:

Files

"glance": {
  "api": {
    "default_store": "file"
  },
  "images": [
    "cirros"
  ],
  "image_upload": true
}

Swift

"glance": {
  "api": {
    "default_store": "swift"
  },
  "images": [
    "cirros"
  ],
  "image_upload": true
}

Cloud Files

"glance": {
  "api": {
    "default_store": "swift",
    "swift_store_user": "<Cloud Files Tenant ID>:<Rackspace Cloud Files Username>",
    "swift_store_key": "<Rackspace Cloud Password>",
    "swift_store_auth_version": "2",
    "swift_store_auth_address": "https://identity.api.rackspacecloud.com/v2.0"
  },
  "images": [
    "cirros"
  ],
  "image_upload": true
}

To obtain your Cloud Files Tenant ID use the following: curl -s -X POST https://identity.api.rackspacecloud.com/v2.0/tokens -d '{"auth": {"passwordCredentials": {"username": "", "password": "<Rackspace Cloud Password"}}}' -H "Content-type: application/json" | python -mjson.tool | grep "tenantId.*Mosso" | head -1

Requirements

Chef 0.10.0 or higher required (for Chef environment use)

Platform

  • CentOS >= 6.3
  • Ubuntu >= 12.04

Cookbooks

The following cookbooks are dependencies:

  • database
  • dsh
  • keystone
  • mysql
  • openssl
  • osops-utils

Resources/Providers

None

Recipes

default

  • Includes recipes api, registry

setup

  • Handles keystone registration and glance database creation

api

  • Installs the glance-api server

registry

  • Installs the glance-registry server

replicator

  • Drops in cron job to sync glance images when running 2 node HA setup w/ file storage

glance-common

  • Drops in all config files for api and registry. Gets included by other recipes
  • Installs common packages

Data Bags

None

Attributes

  • glance["services"]["api"]["scheme"] - http or https
  • glance["services"]["api"]["network"] - Network name to place service on
  • glance["services"]["api"]["port"] - registry port
  • glance["services"]["api"]["path"] - URI to use when using glance api
  • glance["services"]["registry"]["scheme"] - http or https
  • glance["services"]["registry"]["network"] - Network name to place service on
  • glance["services"]["registry"]["port"] - registry port
  • glance["services"]["registry"]["path"] - URI to use when using glance registry
  • glance["db"]["name"] - Name of glance database
  • glance["db"]["user"] - Username for glance database access
  • glance["service_tenant_name"] - Tenant name used by glance when interacting with keystone - used in the API and registry paste.ini files
  • glance["service_user"] - User name used by glance when interacting with keystone - used in the API and registry paste.ini files
  • glance["service_role"] - User role used by glance when interacting with keystone - used in the API and registry paste.ini files
  • glance["api"]["default_store"] - Toggles the backend storage type. Currently supported is "file" and "swift", defaults to "file"
  • glance["api"]["swift"]["store_container"] - Set the container used by glance to store images and snapshots. Defaults to "glance"
  • glance["api"]["swift"]["store_large_object_size"] - Set the size at which glance starts to chunnk files. Defaults to "200" MB
  • glance["api"]["swift"]["store_large_object_chunk_size"] - Set the chunk size for glance. Defaults to "200" MB
  • glance["api"]["cache"]["image_cache_max_size"] - Set the maximum size of image cache. Defaults to "10" GB
  • glance["api"]["notifier_strategy"] - Toggles the notifier strategy. Currently supported are "noop", "rabbit", "qpid", and "logging", defaults to "noop"
  • glance["api"]["notification_topic"] - Define the rabbitmq notification topic, defaults to "glance_notifications"
  • glance["image_upload"] - Toggles whether to automatically upload images in the glance["images"] array
  • glance["images"] - Default list of images to upload to the glance repository as part of the install
  • glance["image]["<imagename>"] - URL location of the image. There can be multiple instances of this line to define multiple images (eg natty, maverick, fedora17 etc) --- example glance["image]["natty"] - "http://c250663.r63.cf1.rackcdn.com/ubuntu-11.04-server-uec-amd64-multinic.tar.gz"
  • glance["replicator"]["interval"] - Define how frequently replicator cron job should run
  • glance["replicator"]["checksum"] - The git checksum to use when downloading the glance-image-sync.py tool
  • glance["replicator"]["rsync_user"] - System user to use when copying glance images with rsync
  • glance["platform"] - Hash of platform specific package/service names and options

Templates

  • glance-api-paste.ini.erb - Paste config for glance-api middleware
  • glance-api.conf.erb - Config file for glance-api server
  • glance-cache-paste.ini.erb - Paste config for glance-cache middleware
  • glance-cache.conf.erb - Config file for glance image cache service
  • glance-image-sync.conf.erb - Config for glance-image-sync cron
  • glance-logging.conf.erb - Logging config for glance services
  • glance-registry-paste.ini.erb - Paste config for glance-registry middleware
  • glance-registry.conf.erb - Config file for glance-registry server
  • glance-scrubber-paste.ini.erb - Paste config for glance-scrubber middleware
  • glance-scrubber.conf.erb - Config file for glance image scrubber service
  • policy.json.erb - Configuration of ACLs for glance API server

License and Author

Author:: Justin Shepherd ([email protected])
Author:: Jason Cannavale ([email protected])
Author:: Ron Pedde ([email protected])
Author:: Joseph Breu ([email protected])
Author:: William Kelly ([email protected])
Author:: Darren Birkett ([email protected])
Author:: Evan Callicoat ([email protected])
Author:: Matt Thompson ([email protected])
Author:: Andy McCrae ([email protected])

Copyright 2012, Rackspace US, 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.

glance's People

Contributors

breu avatar rcbjenkins avatar mancdaz avatar jcannava avatar mattt416 avatar galstrom21 avatar rpedde avatar willkelly avatar littleidea avatar andymcc avatar apsu avatar spheromak avatar williamherry avatar git-harry avatar

Watchers

James Cloos 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.