forked from openstack/kolla-ansible
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for Ceph RadosGW integration
* Register Swift-compatible endpoints in Keystone * Load balance across RadosGW API servers using HAProxy The support is exercised in the cephadm CI jobs, but since RGW is not currently enabled via cephadm, it is not yet tested. https://docs.ceph.com/en/latest/radosgw/keystone/ Implements: blueprint ceph-rgw Change-Id: I891c3ed4ed93512607afe65a42dd99596fd4dbf9 (cherry picked from commit 5b75fefb7d9f50c197f3cd86e18059cb31ca9984) (cherry picked from commit 31f18de)
- Loading branch information
1 parent
8f89066
commit 436da12
Showing
21 changed files
with
236 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
--- | ||
project_name: "ceph-rgw" | ||
|
||
ceph_rgw_services: | ||
# NOTE(mgoddard): There is no container deployment, this is used for load | ||
# balancer configuration. | ||
ceph-rgw: | ||
group: "all" | ||
enabled: "{{ enable_ceph_rgw | bool }}" | ||
haproxy: | ||
radosgw: | ||
enabled: "{{ enable_ceph_rgw_loadbalancer | bool }}" | ||
mode: "http" | ||
external: false | ||
port: "{{ ceph_rgw_port }}" | ||
custom_member_list: "{{ ceph_rgw_haproxy_members }}" | ||
radosgw_external: | ||
enabled: "{{ enable_ceph_rgw_loadbalancer | bool }}" | ||
mode: "http" | ||
external: true | ||
port: "{{ ceph_rgw_port }}" | ||
custom_member_list: "{{ ceph_rgw_haproxy_members }}" | ||
|
||
#################### | ||
# Load balancer | ||
#################### | ||
|
||
# List of Ceph RadosGW hostname:port to use as HAProxy backends. | ||
ceph_rgw_hosts: [] | ||
ceph_rgw_haproxy_members: "{{ ceph_rgw_hosts | map('regex_replace', '(.*)', 'server \\1 \\1 ' + ceph_rgw_haproxy_healthcheck) | list }}" | ||
ceph_rgw_haproxy_healthcheck: "check inter 2000 rise 2 fall 5" | ||
|
||
|
||
#################### | ||
# OpenStack | ||
#################### | ||
|
||
# Whether to register Ceph RadosGW swift-compatible endpoints in Keystone. | ||
enable_ceph_rgw_keystone: "{{ enable_ceph_rgw | bool }}" | ||
|
||
# Enable/disable ceph-rgw compatibility with OpenStack Swift. | ||
ceph_rgw_compatibility: false | ||
|
||
# Enable/disable including the account (project) in the endpoint URL. This | ||
# allows for cross-project and public object access. | ||
ceph_rgw_account_in_url: false | ||
|
||
ceph_rgw_endpoint_path: "{{ '/' if ceph_rgw_compatibility | bool else '/swift/' }}v1{% if ceph_rgw_account_in_url | bool %}/AUTH_%(project_id)s{% endif %}" | ||
|
||
ceph_rgw_admin_endpoint: "{{ admin_protocol }}://{{ ceph_rgw_internal_fqdn | put_address_in_context('url') }}:{{ ceph_rgw_port }}{{ ceph_rgw_endpoint_path }}" | ||
ceph_rgw_internal_endpoint: "{{ internal_protocol }}://{{ ceph_rgw_internal_fqdn | put_address_in_context('url') }}:{{ ceph_rgw_port }}{{ ceph_rgw_endpoint_path }}" | ||
ceph_rgw_public_endpoint: "{{ public_protocol }}://{{ ceph_rgw_external_fqdn | put_address_in_context('url') }}:{{ ceph_rgw_port }}{{ ceph_rgw_endpoint_path }}" | ||
|
||
ceph_rgw_keystone_user: "ceph_rgw" | ||
|
||
openstack_ceph_rgw_auth: "{{ openstack_auth }}" | ||
|
||
|
||
#################### | ||
# Keystone | ||
#################### | ||
ceph_rgw_ks_services: | ||
- name: "swift" | ||
type: "object-store" | ||
description: "Openstack Object Storage" | ||
endpoints: | ||
- {'interface': 'admin', 'url': '{{ ceph_rgw_admin_endpoint }}'} | ||
- {'interface': 'internal', 'url': '{{ ceph_rgw_internal_endpoint }}'} | ||
- {'interface': 'public', 'url': '{{ ceph_rgw_public_endpoint }}'} | ||
|
||
ceph_rgw_ks_users: | ||
- project: "service" | ||
user: "{{ ceph_rgw_keystone_user }}" | ||
password: "{{ ceph_rgw_keystone_password }}" | ||
role: "admin" | ||
|
||
ceph_rgw_ks_roles: | ||
- "ResellerAdmin" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
--- | ||
- import_tasks: register.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
- name: "Configure haproxy for {{ project_name }}" | ||
import_role: | ||
role: haproxy-config | ||
vars: | ||
project_services: "{{ ceph_rgw_services }}" | ||
tags: always |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
--- | ||
- include_tasks: "{{ kolla_action }}.yml" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
- name: Fail if load balancer members not set | ||
fail: | ||
msg: >- | ||
Ceph RadosGW load balancer configuration is enabled | ||
(enable_ceph_rgw_loadbalancer) but no HAProxy members are configured. | ||
Have you set ceph_rgw_hosts? | ||
when: | ||
- enable_ceph_rgw_loadbalancer | bool | ||
- ceph_rgw_haproxy_members | length == 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
--- | ||
- import_tasks: deploy.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
- import_role: | ||
name: service-ks-register | ||
vars: | ||
service_ks_register_auth: "{{ openstack_ceph_rgw_auth }}" | ||
service_ks_register_services: "{{ ceph_rgw_ks_services }}" | ||
service_ks_register_users: "{{ ceph_rgw_ks_users }}" | ||
service_ks_register_roles: "{{ ceph_rgw_ks_roles }}" | ||
when: enable_ceph_rgw_keystone | bool |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
features: | ||
- | | ||
Adds support for integration with Ceph RadosGW. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters