ceph clients don't honour ceph-public-network

Bug #1449279 reported by Felipe Reyes
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ceph-radosgw (Juju Charms Collection)
Fix Released
High
Felipe Reyes
cinder (Juju Charms Collection)
Invalid
High
Unassigned
glance (Juju Charms Collection)
Invalid
High
Unassigned
nova-compute (Juju Charms Collection)
Invalid
High
Unassigned

Bug Description

Ceph charm allows users to define two different networks, one for
the internal communication[0] and another one for public facing
communication (clients)[1], when a user is taking advantage of
this features and relate ceph-radosgw , the latter will blindly
use the private-address to talk to ceph, which in most cases
won't be able to connect to it.

ceph-radosgw should consume information provided by ceph at
relation time to know which network should be used to talk to, or
expose a configuration just like ceph does (ceph-public-network)

[0] https://jujucharms.com/ceph/trusty#charm-config-ceph-cluster-network
[1] https://jujucharms.com/ceph/trusty#charm-config-ceph-public-network

Related branches

Felipe Reyes (freyes)
Changed in ceph-radosgw (Juju Charms Collection):
assignee: nobody → Felipe Reyes (freyes)
Felipe Reyes (freyes)
Changed in ceph-radosgw (Juju Charms Collection):
status: New → In Progress
Felipe Reyes (freyes)
tags: added: openstack
Changed in ceph-radosgw (Juju Charms Collection):
milestone: none → 15.07
importance: Undecided → High
tags: added: backport-potential
Changed in ceph-radosgw (Juju Charms Collection):
status: In Progress → Fix Released
Revision history for this message
Edward Hope-Morley (hopem) wrote :

This actually afftects all ceph client charms since they all use private-address:

http://bazaar.launchpad.net/~charm-helpers/charm-helpers/devel/view/head:/charmhelpers/contrib/storage/linux/ceph.py#L205

summary: - ceph-radosgw doesn't honour ceph's ceph-public-network
+ ceph clients don't honour ceph-public-network
Changed in cinder (Juju Charms Collection):
importance: Undecided → High
Changed in glance (Juju Charms Collection):
importance: Undecided → High
Changed in nova-compute (Juju Charms Collection):
importance: Undecided → High
Changed in cinder (Juju Charms Collection):
milestone: none → 15.07
Changed in glance (Juju Charms Collection):
milestone: none → 15.07
Changed in nova-compute (Juju Charms Collection):
milestone: none → 15.07
Revision history for this message
Edward Hope-Morley (hopem) wrote :

Having taken a closer look at some of the code it seems that this function is not actually used by every charm. Need to double check all clients to confirm and if true we should delete this code.

Revision history for this message
James Page (james-page) wrote :

The cinder glance and nova-compute charms all use:

class CephContext(OSContextGenerator):
    """Generates context for /etc/ceph/ceph.conf templates."""
    interfaces = ['ceph']

    def __call__(self):
        if not relation_ids('ceph'):
            return {}

        log('Generating template context for ceph', level=DEBUG)
        mon_hosts = []
        auth = None
        key = None
        use_syslog = str(config('use-syslog')).lower()
        for rid in relation_ids('ceph'):
            for unit in related_units(rid):
                auth = relation_get('auth', rid=rid, unit=unit)
                key = relation_get('key', rid=rid, unit=unit)
                ceph_pub_addr = relation_get('ceph-public-address', rid=rid,
                                             unit=unit)
                unit_priv_addr = relation_get('private-address', rid=rid,
                                              unit=unit)
                ceph_addr = ceph_pub_addr or unit_priv_addr
                ceph_addr = format_ipv6_addr(ceph_addr) or ceph_addr
                mon_hosts.append(ceph_addr)

Changed in glance (Juju Charms Collection):
status: New → Invalid
Changed in cinder (Juju Charms Collection):
status: New → Invalid
Changed in nova-compute (Juju Charms Collection):
status: New → Invalid
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.