Charms need config option to set public endpoint address

Bug #1398182 reported by Billy Olsen
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Charm Helpers
Fix Released
Medium
Billy Olsen
ceilometer (Juju Charms Collection)
Fix Released
High
Billy Olsen
ceph-radosgw (Juju Charms Collection)
Fix Released
High
Billy Olsen
cinder (Juju Charms Collection)
Fix Released
High
Billy Olsen
glance (Juju Charms Collection)
Fix Released
High
Billy Olsen
heat (Juju Charms Collection)
Fix Released
High
Billy Olsen
keystone (Juju Charms Collection)
Fix Released
High
Billy Olsen
neutron-api (Juju Charms Collection)
Fix Released
High
Billy Olsen
nova-cloud-controller (Juju Charms Collection)
Fix Released
High
Billy Olsen
swift-proxy (Juju Charms Collection)
Fix Released
High
Billy Olsen

Bug Description

Charms determine the public URL based upon the public IP addresses that are available on the os-public-network. In some installations, the public IP is not available on the node itself, but is instead provided by a reverse proxy elsewhere. In these instances, an option should be made available to allow the publicURL to be specified so that the endpoints registered within keystone refer to the public URL specified.

For example, if my swift service is provided externally through https://files.example.com but the files.example.com host does not reside on the swift-proxy unit there is no way via the charm to advertise the publicURL in a publicly consumable manner.

Related branches

tags: added: cts openstack
tags: added: canonical-bootstack
Revision history for this message
Peter Sabaini (peter-sabaini) wrote :

One additional point re: motivation -- for a public service, you'd also want the SSL certs be issued by a ext. CA. Issuing certs for IP addresses is cumbersome and hard to maintain; ususally we try to stick to our wildcard *.c.c cert for economy

Changed in swift-proxy (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
status: New → In Progress
Revision history for this message
Ante Karamatić (ivoks) wrote :

Allowing publicURL to be configured is something that would be benefitial for all charms that create endpoints. Most of the time deployment only has private IPs, but people do NAT/proxy to those IPs. Problem is then with keystone who serves private IPs as endpoints.

Ante Karamatić (ivoks)
tags: added: cpec
Changed in swift-proxy (Juju Charms Collection):
importance: Undecided → High
no longer affects: nova-cloud-controller (Ubuntu)
Ante Karamatić (ivoks)
summary: - Cannot set publicURL for public access
+ Charms need to config option for publicURL
summary: - Charms need to config option for publicURL
+ Charms need config option to set publicURL
JuanJo Ciarlante (jjo)
Changed in openstack-dashboard (Juju Charms Collection):
status: New → Invalid
no longer affects: openstack-dashboard (Juju Charms Collection)
Revision history for this message
JuanJo Ciarlante (jjo) wrote : Re: Charms need config option to set publicURL

+1 we need this added to every relevant OS charm with a service
(in keystone catalog).

As a suggestion, please consider adding some minimal auto-templating, like
#1 public_url: https://{{service_name}}.os.example.com:{{service_port}}/{{service_path}}
or
#2 public_url: https://{{service_type}}.os.example.com:{{service_port}}/{{service_path}}

which would expand to e.g.
#1:
- https://keystone.os.example.com:5000/v2.0
- https://swift-proxy.os.example.com:8080/v1/AUTH_xxx
- https://nova-cloud-controller.os.example.com:8774/v2/yyy
#2:
- https://identity.os.example.com:5000/v2.0
- https://object-store.os.example.com:8080/v1/AUTH_xxx
- https://compute.os.example.com:8774/v2/yyy

FYI above would allow us to set a single 'override:' line at juju-deploy config.

Ante Karamatić (ivoks)
Changed in ceilometer (Juju Charms Collection):
importance: Undecided → High
Changed in ceph-radosgw (Juju Charms Collection):
importance: Undecided → High
Changed in cinder (Juju Charms Collection):
importance: Undecided → High
Changed in glance (Juju Charms Collection):
importance: Undecided → High
Changed in heat (Juju Charms Collection):
importance: Undecided → High
Changed in keystone (Juju Charms Collection):
importance: Undecided → High
Changed in neutron-api (Juju Charms Collection):
importance: Undecided → High
Changed in nova-cloud-controller (Juju Charms Collection):
importance: Undecided → High
description: updated
Changed in ceilometer (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in ceph-radosgw (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in cinder (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in glance (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in heat (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in keystone (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in neutron-api (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in nova-cloud-controller (Juju Charms Collection):
assignee: nobody → Billy Olsen (billy-olsen)
Changed in ceilometer (Juju Charms Collection):
milestone: none → 15.07
Changed in ceph-radosgw (Juju Charms Collection):
milestone: none → 15.07
Changed in cinder (Juju Charms Collection):
milestone: none → 15.07
Changed in glance (Juju Charms Collection):
milestone: none → 15.07
Changed in heat (Juju Charms Collection):
milestone: none → 15.07
Changed in keystone (Juju Charms Collection):
milestone: none → 15.07
Changed in neutron-api (Juju Charms Collection):
milestone: none → 15.07
Changed in nova-cloud-controller (Juju Charms Collection):
milestone: none → 15.07
Changed in swift-proxy (Juju Charms Collection):
milestone: none → 15.07
Changed in ceilometer (Juju Charms Collection):
status: New → In Progress
Changed in ceph-radosgw (Juju Charms Collection):
status: New → In Progress
Changed in cinder (Juju Charms Collection):
status: New → In Progress
Changed in glance (Juju Charms Collection):
status: New → In Progress
Changed in keystone (Juju Charms Collection):
status: New → In Progress
Changed in neutron-api (Juju Charms Collection):
status: New → In Progress
Changed in nova-cloud-controller (Juju Charms Collection):
status: New → In Progress
Changed in heat (Juju Charms Collection):
status: New → In Progress
Revision history for this message
Billy Olsen (billy-olsen) wrote :

I've provided a merge proposal for various charms which provides an os-public-hostname option allowing for a user to specify what the base hostname portion of the endpoint URLs is. It doesn't allow for a complete re-write of the API endpoint, but it does allow for the primary use cases to be addressed; NAT'ing the private IP and wildcard certificates.

tags: added: backport-potential
summary: - Charms need config option to set publicURL
+ Charms need config option to set public endpoint address
Changed in charm-helpers:
assignee: nobody → Billy Olsen (billy-olsen)
importance: Undecided → Medium
status: New → Fix Released
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Hi Billy, Do you have an mp for heat?

Changed in ceilometer (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in ceph-radosgw (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in cinder (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in glance (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in heat (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in keystone (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in neutron-api (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in nova-cloud-controller (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in swift-proxy (Juju Charms Collection):
status: In Progress → Fix Committed
Changed in ceilometer (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in ceph-radosgw (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in cinder (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in glance (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in heat (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in keystone (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in neutron-api (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in nova-cloud-controller (Juju Charms Collection):
status: Fix Committed → Fix Released
Changed in swift-proxy (Juju Charms Collection):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.