Bug 1388515 - [RFE] Enhance backwards compatibility of ceph 2 client against ceph 1.3 server
Summary: [RFE] Enhance backwards compatibility of ceph 2 client against ceph 1.3 server
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: puppet-ceph
Version: 11.0 (Ocata)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: Upstream M3
: 11.0 (Ocata)
Assignee: John Fulton
QA Contact: Yogev Rabl
Don Domingo
URL:
Whiteboard:
Depends On: 1384079
Blocks: 1387433 1422742
TreeView+ depends on / blocked
 
Reported: 2016-10-25 14:34 UTC by John Fulton
Modified: 2017-05-17 19:36 UTC (History)
20 users (show)

Fixed In Version: puppet-ceph-2.2.1-0.20170116235834.8e01a41.el7ost.noarch.rpm, openstack-tripleo-heat-templates-6.0.0-0.20170120220935.el7ost.noarch.rpm
Doc Type: Enhancement
Doc Text:
When upgrading or deploying a Red Hat OpenStack Platform environment integrated with an external Ceph Storage Cluster from an earlier version (that is, Red Hat Ceph Storage 1.3), it is necessary to enable backwards compatibility. To do so uncomment the following line in environments/puppet-ceph-external.yaml during upgrade or deployment: parameter_defaults: # Uncomment if connecting to a pre-Jewel or RHCS1.3 Ceph Cluster RbdDefaultFeatures: 1
Clone Of: 1385034
Environment:
Last Closed: 2017-05-17 19:36:37 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2017:1245 normal SHIPPED_LIVE Red Hat OpenStack Platform 11.0 Bug Fix and Enhancement Advisory 2017-05-17 23:01:50 UTC
OpenStack gerrit 283359 None None None 2016-10-25 14:34:35 UTC
OpenStack gerrit 386972 None None None 2016-10-25 14:34:35 UTC
Launchpad 1633552 None None None 2016-10-25 14:34:35 UTC

Description John Fulton 2016-10-25 14:34:36 UTC
+++ This bug was initially created as a clone of Bug #1385034 +++

OSP10 ships RHSC2 and stands up RHSC2 ceph clusters but it also must support an external Ceph cluster which could be running RHCS1.3. To support this configuration overcloud nodes which are ceph clients need "rbd default features = 1" in the [client] section of their ceph.conf. OSPd doesn't have an option to configure this so this BZ requests that be an option in THT and that puppet-ceph support this option as user configurable.

--- Additional comment from John Fulton on 2016-10-14 12:25:53 EDT ---

raising request for pm_ack+ for blocker? bug

--- Additional comment from John Fulton on 2016-10-15 17:09:52 EDT ---


After applying the changes from the following two upstream patches: 

 https://review.openstack.org/386972
 https://review.openstack.org/283359 

and adding the following to my Heat environment file: 

  ExtraConfig:
    ceph::profile::params::rbd_default_features: '1'

I was able to get a deploy with the following ceph.conf on my compute node (a ceph client): 

[root@overcloud-novacompute-0 ~]# cat /etc/ceph/ceph.conf

[global]
osd_pool_default_min_size = 1
auth_service_required = cephx
mon_initial_members = overcloud-controller-0,overcloud-controller-1,overcloud-controller-2
fsid = 63089b2a-930d-11e6-aba5-525400330666
cluster_network = 192.168.1.26/24
auth_supported = cephx
auth_cluster_required = cephx
mon_host = 172.16.1.23,172.16.1.16,172.16.1.24
auth_client_required = cephx
public_network = 172.16.1.18/24

[client]
rbd_default_features = 1
[root@overcloud-novacompute-0 ~]# 

Next step is to get the change merged upstream.

--- Additional comment from Giulio Fidente on 2016-10-17 07:10:04 EDT ---

Alternatively, as a workaround measure, the overcloud can be deployed with an environment file like the following:

parameter_defaults:
  ExtraConfig:
    ceph::conf::args:
      client/rbd_default_features:
        value: "1"

--- Additional comment from John Fulton on 2016-10-25 08:58:26 EDT ---

Updating doctext as comment #3 indicates that the fix is supported. The user just needs to use the extra Heat form comment #3.

--- Additional comment from John Fulton on 2016-10-25 10:10:10 EDT ---

In OSP10, compatibility with Ceph1.3 is only supported if the Ceph cluster is external. Marking this bug as depends on 1384079 because it prevents OSP10 from working with an external Ceph cluster.

Comment 1 John Fulton 2016-10-25 15:12:02 UTC
The user may add the following to an environment file to workaround this issue: 

parameter_defaults:
  ExtraConfig:
    ceph::conf::args:
      client/rbd_default_features:
        value: "1"

However, we prefer to simplify this to the following for OSP11: 

parameter_defaults:
  ExtraConfig:
    ceph::profile::params::rbd_default_features: '1'

Thus, upstream fixes are linked from upstream LP bug 1633552.

Comment 2 John Fulton 2016-11-11 15:20:19 UTC
If OSP10, then use the following and documentation should be updated to have the user use it. This has been verified. 

parameter_defaults:
  ExtraConfig:
    ceph::conf::args:
      client/rbd_default_features:
        value: "1"

The target release of this BZ is now OSP11 and by that version, after the upstream fixes linked from upstream LP bug 1633552 are merged, users should be able to pass the following instead. 

parameter_defaults:
  ExtraConfig:
    ceph::profile::params::rbd_default_features: '1'

Thus, I updated the status here from: "Target OSP10 and Verified" to "Target OSP11 and ON_DEV". 

Documentation updates will be necessary for both releases. I'll follow up with docs team.

Comment 3 John Fulton 2016-11-11 16:10:43 UTC
Doc team has triaged for OSP10 as per https://bugzilla.redhat.com/show_bug.cgi?id=1385034#c9

Comment 4 Jeff Brown 2016-12-21 21:22:31 UTC
We are limiting the scope of the work for this release to getting a mistral workflow called from Heat. Giulio is making he appropriate changes for this feature.

Comment 5 Jeff Brown 2016-12-21 21:22:38 UTC
We are limiting the scope of the work for this release to getting a mistral workflow called from Heat. Giulio is making he appropriate changes for this feature.

Comment 9 John Fulton 2017-01-13 23:00:42 UTC
The necessary changes to close this are now upstream. I'll keep an eye on them to help them get downstream. This could make M3. 

https://review.openstack.org/#/c/283359/
https://review.openstack.org/#/c/420105/
https://review.openstack.org/#/c/420166/
https://review.openstack.org/#/c/386972/

Comment 10 John Fulton 2017-01-17 13:31:14 UTC
3/4 of the necessary changes have merged (all in puppet-ceph). Just waiting for the THT change (https://review.openstack.org/#/c/386972/) to merge but it has two +2s so it just needs workflow. 

Regarding this change for OSP11 vs the one in BZ 1385034 for OSP10. 

Deployers can still use the option from BZ 1385034 but the changes in this BZ let them do it more easily with just one line and by providing it in the example template with a comment about backwards compatibility it should increase the chances that deployers avoid the problem the first time around. 

In other words, instead of creating a new env file with the following in OSP10: 

parameter_defaults:
  ExtraConfig:
    ceph::conf::args:
      client/rbd_default_features:
        value: "1"

They just uncomment the following line in environments/puppet-ceph-external.yaml which will be shipped containing the following in OSP11: 

parameter_defaults:
  # Uncomment if connecting to a pre-Jewel or RHCS1.3 Ceph Cluster
  # RbdDefaultFeatures: 1

Comment 11 John Fulton 2017-01-17 20:31:56 UTC
All upstream changes have been merged. Moving bug from ON_DEV to POST.

Comment 12 John Fulton 2017-01-31 19:23:30 UTC
I verified that the upstream changes are in the following RPMs: 

puppet-ceph-2.2.1-0.20170116235834.8e01a41.el7ost.noarch.rpm
openstack-tripleo-heat-templates-6.0.0-0.20170120220935.el7ost.noarch.rpm

Comment 15 Yogev Rabl 2017-02-14 21:36:18 UTC
Verified on 
openstack-tripleo-heat-templates-6.0.0-0.20170127041112.ce54697.el7ost.1.noarch
puppet-ceph-2.2.1-0.20170126233654.b1fa5e4.el7ost.noarch

Tested on both Ceph 1.3.3 and Ceph 2.0.

Comment 17 John Fulton 2017-04-06 13:22:22 UTC
I set the doctype to enhancement. the doctext looks fine to me.

Comment 18 errata-xmlrpc 2017-05-17 19:36:37 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:1245


Note You need to log in before you can comment on or make changes to this bug.