teuthology and erasure code pool creation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Zack,

In order to test locally repairable codes ( described at https://wiki.ceph.com/Planning/Blueprints/Giant/Pyramid_Erasure_Code and documented at https://github.com/dachary/ceph/commit/2ae645438243232392c11fd80fd960f6221fd2a0#diff-5518964bc98a094a784ce2d17a5b0cc1R20 ) it would be a convenient to set the erasure code profile without modifying the teuthology code. 

There are not too many instances of hardcoded parameters:

  https://github.com/ceph/teuthology/blob/master/teuthology/task_util/rados.py#L27
  https://github.com/ceph/teuthology/blob/master/teuthology/task/ceph_manager.py#L732

and it could be generalized. In a nutshell, the definition of an erasure coded profile is a set of key value which should default to:

  k: 2
  m: 1
  plugin: jerasure
  ruleset-failure-domain: osd

and 

  self.raw_cluster_cmd('osd', 'erasure-code-profile', 'set', 'teuthologyprofile', 'ruleset-failure-domain=osd', 'm='+str(ec_m), 'k='+str(ec_k))

could be replaced with:
   
   self.raw_cluster_cmd('osd', 'erasure-code-profile', 'set', 'teuthologyprofile', **kwargs)

assuming kwargs is the above map parsed from the yaml. 

Any advice you may have on the implementation would be very welcome :-)

Cheers
-- 
Loïc Dachary, Artisan Logiciel Libre

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux