From 92b19aee69d26873eb66a58691e13a41afeef579 Mon Sep 17 00:00:00 2001 From: Yuriy Zveryanskyy Date: Wed, 7 Oct 2015 18:46:26 +0300 Subject: [PATCH] Add documentation for Ceph Object Gateway support This patch adds documentation for configuring Ironic with RADOS Gateway as Glance backend. Implements: blueprint radosgw-temp-url Change-Id: I6ac2d126b8a36007143cce0900d1c9184a781be9 --- doc/source/deploy/install-guide.rst | 4 ++ doc/source/deploy/radosgw.rst | 69 +++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 doc/source/deploy/radosgw.rst diff --git a/doc/source/deploy/install-guide.rst b/doc/source/deploy/install-guide.rst index 9e11918ee0..c2075f3ca6 100644 --- a/doc/source/deploy/install-guide.rst +++ b/doc/source/deploy/install-guide.rst @@ -283,6 +283,10 @@ so that the Bare Metal service is configured for your needs. # [hostname|IP]:port. (string value) #glance_api_servers= + Note: Swift backend for the Image service should be installed and configured + for ``agent_*`` drivers. Starting with Mitaka the Bare Metal service also + supports Ceph Object Gateway (RADOS Gateway) as the Image service's backend + (:ref:`radosgw support`). #. Create the Bare Metal service database tables:: diff --git a/doc/source/deploy/radosgw.rst b/doc/source/deploy/radosgw.rst new file mode 100644 index 0000000000..1c517d1b53 --- /dev/null +++ b/doc/source/deploy/radosgw.rst @@ -0,0 +1,69 @@ +.. _radosgw support: + +=========================== +Ceph Object Gateway support +=========================== + +Overview +======== +Ceph project is a powerful distributed storage system. It contains object store +and provides a RADOS Gateway Swift API which is compatible with OpenStack Swift +API. These two APIs use different formats for their temporary URLs. + +Ironic added support for RADOS Gateway temporary URL in the Mitaka release. + +Configure Ironic and Glance with RADOS Gateway +============================================== + +#. Install Ceph storage with RADOS Gateway. See `Ceph documentation `_. + +#. Create RADOS Gateway credentials for Glance by executing the following + commands on the RADOS Gateway admin host:: + + sudo radosgw-admin user create --uid="GLANCE_USERNAME" --display-name="User for Glance" + + sudo radosgw-admin subuser create --uid=GLANCE_USERNAME --subuser=GLANCE_USERNAME:swift --access=full + + sudo radosgw-admin key create --subuser=GLANCE_USERNAME:swift --key-type=swift --secret=STORE_KEY + + sudo radosgw-admin user modify --uid=GLANCE_USERNAME --temp-url-key=TEMP_URL_KEY + + Replace GLANCE_USERNAME with a user name for Glance access, and replace + STORE_KEY and TEMP_URL_KEY with suitable keys. + + Note: Do not use "--gen-secret" CLI parameter because it will cause the + "radosgw-admin" utility to generate keys with slash symbols which do not + work with Glance. + +#. Configure Glance API service for RADOS Swift API as backend. Edit the + configuration file for the Glance API service (is typically located at + ``/etc/glance/glance-api.conf``). Replace RADOS_IP and PORT with the IP/port + of the RADOS Gateway API service:: + + [glance_store] + + stores = file, http, swift + default_store = swift + swift_store_auth_version = 1 + swift_store_auth_address = http://RADOS_IP:PORT/auth/1.0 + swift_store_user = GLANCE_USERNAME:swift + swift_store_key = STORE_KEY + swift_store_container = glance + swift_store_create_container_on_put = True + + Note: RADOS Gateway uses FastCGI protocol for interacting with HTTP server. + Read your HTTP server documentation if you want to enable HTTPS support. + +#. Restart Glance API service and upload all needed images. + +#. Change Ironic configuration file on the conductor host(s) as follows:: + + [glance] + + swift_container = glance + swift_api_version = v1 + swift_endpoint_url = http://RADOS_IP:PORT + swift_temp_url_key = TEMP_URL_KEY + temp_url_endpoint_type=radosgw + +#. Restart Ironic conductor service(s).