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
Please see the contribution guidelines for more information about contributing to this cookbook.
Installs the OpenStack Image Repository/Server (codename: glance) from packages. Optionally populates the repository with some default images.
The Glance cookbook currently supports file, swift, rbd (ceph) 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:
"glance": {
"api": {
"default_store": "file"
},
"images": [
"cirros"
],
"image_upload": true
}
"glance": {
"api": {
"default_store": "swift"
},
"images": [
"cirros"
],
"image_upload": true
}
"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
}
"glance": {
"api": {
"default_store": "rbd"
},
"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
If you are hosted at Rackspace, you may also want to set node["glance"]["api"]["swift"]["enable_snet"] = "True"
Chef 0.10.0 or higher required (for Chef environment use)
- CentOS >= 6.3
- Ubuntu >= 12.04
The following cookbooks are dependencies:
- database
- dsh
- keystone
- mysql
- openssl
- osops-utils
None
- Includes recipes
api
,registry
- Handles keystone registration and glance database creation
- Installs the glance-api server
- Installs the glance-registry server
- Drops in cron job to sync glance images when running 2 node HA setup w/ file storage
- Drops in all config files for api and registry. Gets included by other recipes
- Installs common packages
None
- `glance["use_debug"] = "False"
glance["services"]["api"]["scheme"]
- http or httpsglance["services"]["api"]["network"]
- Network name to place service onglance["services"]["api"]["port"]
- registry portglance["services"]["api"]["path"]
- URI to use when using glance APIglance["services"]["api"]["cert_override"]
- For SSL - Custom location for cert fileglance["services"]["api"]["key_override"]
- For SSL - Custom location for key fileglance["services"]["registry"]["scheme"]
- http or httpsglance["services"]["registry"]["network"]
- Network name to place service onglance["services"]["registry"]["port"]
- registry portglance["services"]["registry"]["path"]
- URI to use when using glance registryglance["services"]["registry"]["cert_override"]
- For SSL - Custom location for cert fileglance["services"]["registry"]["key_override"]
- For SSL - Custom location for key file$glance["db"]["name"]
- Name of glance databaseglance["db"]["user"]
- Username for glance database accessglance["service_tenant_name"]
- Tenant name used by glance when interacting with keystone - used in the APIglance["service_user"]
- User name used by glance when interacting with keystone - used in the APIglance["service_role"]
- User role used by glance when interacting with keystone - used in the APIglance["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" MBglance["api"]["swift"]["store_large_object_chunk_size"]
- Set the chunk size for glance. Defaults to "200" MBglance["api"]["rbd"]["rbd_store_ceph_conf"]
- The location of ceph.conf [/etc/ceph/ceph.conf]glance["api"]["rbd"]["rbd_store_user"]
- the name of the rbd user [glance]glance["api"]["rbd"]["rbd_store_pool"]
- the name of the rbd pool [images]glance["api"]["rbd"]["rbd_store_chunk_size"]
- the chunk size to use with the rbd client [8]glance["api"]["rbd"]["rbd_store_pool_pg_num"]
- the number of pgs to use when creating the pool [1000]- `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 theglance["images"]
arrayglance["images"]
- Default list of images to upload to the glance repository as part of the installglance["image]["<imagename>"]
- URL location of the image. There can be multiple instances of this line to define multiple images (eg natty, maverick, fedora17 etc) --- exampleglance["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 runglance["replicator"]["checksum"]
- The git checksum to use when downloading the glance-image-sync.py toolglance["replicator"]["rsync_user"]
- System user to use when copying glance images with rsyncglance["replicator"]["enabled"]
- Enable/disable the replicator script (boolean)glance["platform"]
- Hash of platform specific package/service names and options
glance-api-paste.ini.erb
- Paste config for glance-api middlewareglance-api.conf.erb
- Config file for glance-api serverglance-registry.conf.erb
- Config file for glance-registry serverglance-registry-paste.ini.erb
- Paste config for glance-registry middlewareglance-cache.conf.erb
- Config file for glance image cache serviceglance-image-sync.conf.erb
- Config for glance-image-sync cronglance-logging.conf.erb
- Logging config for glance servicesglance-scrubber.conf.erb
- Config file for glance image scrubber servicepolicy.json.erb
- Configuration of ACLs for glance API server
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])
Author:: Kevin Carter ([email protected])
Copyright 2012-2013, 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.