taikun.cloud

Taikun Logo

Taikun OCP Guide

Table of Contents

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.

Ironic added support for RADOS Gateway temporary URL in the Mitaka
release.

Configure Ironic
and Glance with RADOS Gateway

  1. Install Ceph storage with RADOS Gateway. See Ceph documentation.

  2. Configure RADOS Gateway to use keystone for authentication. See
    Integrating
    with OpenStack Keystone

  3. Register RADOS Gateway endpoint in the keystone catalog, with the
    same format swift uses, as the object-store service. URL
    example:

    http://rados.example.com:8080/swift/v1/AUTH_$(project_id)s.

    In the ceph configuration, make sure radosgw is configured with the
    following value:

    rgw swift account in url = True
  4. 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):

    [glance_store]
    
    stores = file, http, swift
    default_store = swift
    default_swift_reference=ref1
    swift_store_config_file=/etc/glance/glance-swift-creds.conf
    swift_store_container = glance
    swift_store_create_container_on_put = True

    In the file referenced in swift_store_config_file
    option, add the following:

    [ref1]
    user = <service project>:<service user name>
    key = <service user password>
    user_domain_id = default
    project_domain_id = default
    auth_version = 3
    auth_address = http://keystone.example.com/identity

    Values for user and key options correspond to keystone credentials
    for RADOS Gateway service user.

    Note: RADOS Gateway uses FastCGI protocol for interacting with HTTP
    server. Read your HTTP server documentation if you want to enable HTTPS
    support.

  5. Restart Glance API service and upload all needed images.

  6. If you’re using custom container name in RADOS, change Ironic
    configuration file on the conductor host(s) as follows:

    [glance]
    
    swift_container = glance
  7. Restart Ironic conductor service(s).