Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1717320

Summary: RFE: Add a parameter to define ceph::rgw::keystone::auth::{public,internal,admin}_url
Product: Red Hat OpenStack Reporter: Michele Valsecchi <mvalsecc>
Component: openstack-tripleoAssignee: Giulio Fidente <gfidente>
Status: CLOSED WORKSFORME QA Contact: Arik Chernetsky <achernet>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: emacchi, gfidente, mburns, mvalsecc
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-06 15:59:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michele Valsecchi 2019-06-05 08:23:29 UTC
Description of problem:
Currently there is no way to declare values inside heat-templates for these parameters:
- ceph::rgw::keystone::auth::public_url
- ceph::rgw::keystone::auth::internal_url
- ceph::rgw::keystone::auth::admin_url


Version-Release number of selected component (if applicable):
- LTS
   * RHOSP10 
   * RHOSP13
- RHOSP14, RHOSP15

How reproducible:

- We can see that those endpoints values are actually hard-coded to `/swift/v1` inside
 `/usr/share/openstack-tripleo-heat-templates/network/endpoints/endpoint_map.yaml`  [1] [2]

Actual results:

- In order for Ceph to be used with ceph-rgw, to have accessible public containers, we need:
  * the endpoints to be `/swift/v1/AUTH_%(tenant_id)s', as confirmed in [3]
  * `rgw_swift_account_in_url = true` to be set, as confirmed in [3]
- Because of that, at the time of writing, we need a manual workaround [4] to have public links to containers to work as intended.
  - i.e. 
     1) Deploy workadoung to set `rgw_swift_account_in_url = true `
     ~~~
       parameter_defaults:
         CephConfigOverrides:
           rgw_swift_account_in_url: true
     ~~~
     2) Manually update the endpoints to end with `/swift/v1/AUTH_%(tenant_id)s'

Expected results:

- A boolean parameter that when true, sets the correct end-points and rgw_swift_account_in_url, as in [4]
- Or, if not possible, at least to have parameters to define `ceph::rgw::keystone::auth::{public,internal,admin}_url` from heat templates

Additional info:

[1] queens branch: https://github.com/openstack/tripleo-heat-templates/blob/stable/queens/network/endpoints/endpoint_map.yaml#L906
[2] master branch: https://github.com/openstack/tripleo-heat-templates/blob/master/network/endpoints/endpoint_map.yaml#L675
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1699206#c9
[4] https://bugzilla.redhat.com/show_bug.cgi?id=1699206#c7

Comment 1 Giulio Fidente 2019-06-12 07:33:00 UTC
The endpoint_map.yaml file is generated from the data in endpoint_data.yaml using the script at network/endpoints/build_endpoint_map.py ; it is possible to customize the format of the Swift/RGW endpoint urls, and append the wanted "/AUTH_%(project_id)s", editing in endpoint_data.yaml file as seen in [1], then running the script which regenerates endpoint_map.yaml

This won't be necessary anymore from OSP16, as per BZ #1670217, when use of rgw_swift_account_in_url will become the default.

1. https://review.opendev.org/#/c/656361/3/network/endpoints/endpoint_data.yaml

Comment 6 Giulio Fidente 2019-08-06 15:59:58 UTC
Given this can be addressed editing the endpoint_data as suggested in comment #1 I am closing the BZ as WORKSFORME.

Note that from OSP15 the wanted changed will become the default, see BZ#1670217