patch to ceph-osd

Billy Olsen billy.olsen at canonical.com
Mon Feb 5 17:59:36 UTC 2018


Hi Guiseppe,

First and foremost thanks for the patch in an effort to improve the
overall experience with the ceph-osd and charm.

The ceph-osd charm is in the OpenStack project arena and as such is
governed by the rules which apply to OpenStack projects. For more
information on contributing, please refer to the documentation on how to
contribute to the OpenStack charms at
https://docs.openstack.org/charm-guide/latest/how-to-contribute.html. In
order to accept patches to the project, you'll need to make sure you
have signed the OpenStack Contributor License Agreement (documented in
https://wiki.openstack.org/wiki/How_To_Contribute).

With regards to the patch provided, the upstream packages have chosen to
alter the rules in lvm which feels like a better fit for this. The charm
doesn't manage or own the 60-persistent-storage.rules file and may break
if there's a package update that modifies this file. Can you file a bug
against the ceph/lvm2 package in Ubuntu to address this fix instead?

Thanks,

Billy

On 02/02/2018 08:23 AM, Giuseppe Attardi wrote:
> According to this page:
>
> 	https://patchwork.kernel.org/patch/9826353/
>
> there is a bug in ceph that affects the use of FibreChannel disks.
>
> The following patch to file hooks/ceph_hooks.py, fixes it in the charm ceph-osd:
>
> *** hooks/ceph_hooks.py	2018-02-02 16:15:40.304388602 +0100
> --- hooks/ceph_hooks.py~	2018-02-02 16:18:47.304401004 +0100
> ***************
> *** 369,378 ****
>
>  @hooks.hook('storage.real')
>  def prepare_disks_and_activate():
> -     # patch for missing dm devices
> -     # see: https://patchwork.kernel.org/patch/9826353/
> -     patch_persistent_storage_rules()
> - 
>      osd_journal = get_journal_devices()
>      check_overlap(osd_journal, set(get_devices()))
>      log("got journal devs: {}".format(osd_journal), level=DEBUG)
> --- 369,374 ----
> ***************
> *** 558,579 ****
>      log('Updating status.')
>
>
> - # patch for missing dm devices
> - from subprocess import check_call
> - 
> - 
> - CEPH_PERSITENT_STORTAGE_RULES = '/lib/udev/rules.d/60-persistent-storage.rules'
> - 
> - 
> - def patch_persistent_storage_rules():
> -     if os.path.isfile(CEPH_PERSITENT_STORTAGE_RULES):
> -         check_call(['sed', '-i', 's/KERNEL!="loop/KERNEL!="dm*|loop/',
> -                     CEPH_PERSITENT_STORTAGE_RULES])
> -         log('Patched %s' % CEPH_PERSITENT_STORTAGE_RULES)
> -     else:
> -         log('Missing %s' % CEPH_PERSITENT_STORTAGE_RULES)
> - 
> - 
>  if __name__ == '__main__':
>      try:
>          hooks.execute(sys.argv)
> --- 554,559 ——
>
> Regards
>
> — Beppe
>
>
>




More information about the Juju mailing list