Charms need config option to set public endpoint address
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Charm Helpers |
Medium
|
Billy Olsen | |||
ceilometer (Juju Charms Collection) |
High
|
Billy Olsen | |||
ceph-radosgw (Juju Charms Collection) |
High
|
Billy Olsen | |||
cinder (Juju Charms Collection) |
High
|
Billy Olsen | |||
glance (Juju Charms Collection) |
High
|
Billy Olsen | |||
heat (Juju Charms Collection) |
High
|
Billy Olsen | |||
keystone (Juju Charms Collection) |
High
|
Billy Olsen | |||
neutron-api (Juju Charms Collection) |
High
|
Billy Olsen | |||
nova-cloud-controller (Juju Charms Collection) |
High
|
Billy Olsen | |||
swift-proxy (Juju Charms Collection) |
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:/
Related branches
- OpenStack Charmers: Pending requested 2015-06-03
-
Diff: 924 lines (+404/-103)12 files modifiedconfig.yaml (+12/-0)
hooks/charmhelpers/contrib/hahelpers/cluster.py (+25/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
hooks/charmhelpers/contrib/openstack/neutron.py (+10/-5)
hooks/charmhelpers/contrib/openstack/utils.py (+65/-18)
hooks/charmhelpers/contrib/python/packages.py (+28/-5)
hooks/charmhelpers/core/hookenv.py (+147/-10)
hooks/charmhelpers/core/host.py (+1/-1)
hooks/charmhelpers/core/services/base.py (+32/-11)
hooks/charmhelpers/fetch/__init__.py (+1/-1)
hooks/charmhelpers/fetch/giturl.py (+7/-5)
unit_tests/test_ceilometer_hooks.py (+27/-3)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 1126 lines (+460/-135)16 files modifiedconfig.yaml (+12/-0)
hooks/charmhelpers/contrib/hahelpers/cluster.py (+25/-0)
hooks/charmhelpers/contrib/openstack/amulet/deployment.py (+15/-6)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
hooks/charmhelpers/contrib/openstack/neutron.py (+10/-5)
hooks/charmhelpers/contrib/openstack/utils.py (+65/-18)
hooks/charmhelpers/contrib/python/packages.py (+28/-5)
hooks/charmhelpers/core/hookenv.py (+147/-10)
hooks/charmhelpers/core/host.py (+1/-1)
hooks/charmhelpers/core/services/base.py (+32/-11)
hooks/charmhelpers/fetch/__init__.py (+1/-1)
hooks/charmhelpers/fetch/giturl.py (+7/-5)
hooks/hooks.py (+4/-15)
tests/charmhelpers/contrib/amulet/utils.py (+8/-1)
tests/charmhelpers/contrib/openstack/amulet/deployment.py (+15/-6)
unit_tests/test_hooks.py (+41/-7)
- Jorge Niedbalski (community): Approve on 2015-06-04
- Felipe Reyes: Pending requested 2015-06-03
- Edward Hope-Morley: Pending requested 2015-06-03
- charmers: Pending requested 2015-06-03
-
Diff: 224 lines (+75/-73)2 files modifiedcharmhelpers/contrib/openstack/ip.py (+49/-44)
tests/contrib/openstack/test_ip.py (+26/-29)
- Corey Bryant: Approve on 2015-06-12
-
Diff: 291 lines (+155/-48)3 files modifiedconfig.yaml (+12/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
unit_tests/test_swift_hooks.py (+94/-4)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 1162 lines (+440/-125)14 files modifiedconfig.yaml (+11/-0)
hooks/charmhelpers/contrib/hahelpers/cluster.py (+25/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
hooks/charmhelpers/contrib/openstack/neutron.py (+10/-5)
hooks/charmhelpers/contrib/openstack/utils.py (+65/-18)
hooks/charmhelpers/contrib/peerstorage/__init__.py (+2/-0)
hooks/charmhelpers/contrib/python/packages.py (+28/-5)
hooks/charmhelpers/core/hookenv.py (+147/-10)
hooks/charmhelpers/core/host.py (+1/-1)
hooks/charmhelpers/core/services/base.py (+32/-11)
hooks/charmhelpers/fetch/__init__.py (+1/-1)
hooks/charmhelpers/fetch/giturl.py (+7/-5)
unit_tests/test_nova_cc_contexts.py (+8/-4)
unit_tests/test_nova_cc_hooks.py (+54/-21)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 259 lines (+98/-51)3 files modifiedconfig.yaml (+12/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
unit_tests/test_neutron_api_hooks.py (+37/-7)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 1011 lines (+420/-110)14 files modifiedconfig.yaml (+12/-0)
hooks/charmhelpers/contrib/hahelpers/cluster.py (+25/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
hooks/charmhelpers/contrib/openstack/neutron.py (+10/-5)
hooks/charmhelpers/contrib/openstack/utils.py (+65/-18)
hooks/charmhelpers/contrib/peerstorage/__init__.py (+2/-0)
hooks/charmhelpers/contrib/python/packages.py (+28/-5)
hooks/charmhelpers/contrib/unison/__init__.py (+5/-4)
hooks/charmhelpers/core/hookenv.py (+147/-10)
hooks/charmhelpers/core/host.py (+1/-1)
hooks/charmhelpers/core/services/base.py (+32/-11)
hooks/charmhelpers/fetch/__init__.py (+1/-1)
hooks/charmhelpers/fetch/giturl.py (+7/-5)
unit_tests/test_keystone_utils.py (+36/-6)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 761 lines (+321/-87)9 files modifiedconfig.yaml (+10/-0)
hooks/charmhelpers/contrib/hahelpers/cluster.py (+25/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
hooks/charmhelpers/contrib/openstack/neutron.py (+10/-5)
hooks/charmhelpers/core/hookenv.py (+147/-10)
hooks/charmhelpers/core/host.py (+1/-1)
hooks/charmhelpers/core/services/base.py (+32/-11)
hooks/charmhelpers/fetch/__init__.py (+1/-1)
unit_tests/test_glance_relations.py (+46/-15)
- Corey Bryant: Approve on 2015-06-10
-
Diff: 270 lines (+107/-50)3 files modifiedconfig.yaml (+13/-0)
hooks/charmhelpers/contrib/openstack/ip.py (+49/-44)
unit_tests/test_cinder_hooks.py (+45/-6)
tags: | added: cts openstack |
tags: | added: canonical-bootstack |
Peter Sabaini (peter-sabaini) wrote : | #1 |
Changed in swift-proxy (Juju Charms Collection): | |
assignee: | nobody → Billy Olsen (billy-olsen) |
status: | New → In Progress |
Ante Karamatić (ivoks) wrote : | #2 |
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.
tags: | added: cpec |
Changed in swift-proxy (Juju Charms Collection): | |
importance: | Undecided → High |
no longer affects: | nova-cloud-controller (Ubuntu) |
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 |
Changed in openstack-dashboard (Juju Charms Collection): | |
status: | New → Invalid |
no longer affects: | openstack-dashboard (Juju Charms Collection) |
+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_
or
#2 public_url: https://{{service_
which would expand to e.g.
#1:
- https:/
- https:/
- https:/
#2:
- https:/
- https:/
- https:/
FYI above would allow us to set a single 'override:' line at juju-deploy config.
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 |
Billy Olsen (billy-olsen) wrote : | #4 |
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 |
Corey Bryant (corey.bryant) wrote : | #5 |
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 |
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