Re: New central place to put common Python code?

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

 



There is also a draft PR available now:

https://github.com/ceph/ceph/pull/28837

Am 02.07.19 um 12:51 schrieb Sebastian Wagner:
> All,
> 
> especially in the Ceph Orchestrator world, we're facing an issue where
> we don't have a place for for Python code that can be imported by the
> MGR and by tools that deploy Ceph.
> 
> Having a Library for common Python code would also provide a way to ease
> some other Python related problems (also orchestrator independent):
> 
> 1. There is duplicated code in the cython bindings. Especially the
> Exceptions are duplicated for each binding.
> 
> 2. There is no good way to share Python code between different tools
> written in Pyhton
> 
> 3. There is no way to share common code, like e.g. common data
> structures between the different layers of the Orchestrator stacks.
> 
> 4. There is no statically type-checkable Python API for the (mon)
> command API.
> 
> 5. The local Ceph version number is hard coded into the ceph cli binary
> 
> Now, the idea is to build a new Python package that is supposed to be
> importable by everyone.
> 
> From a user's POV, this would look something like
> 
>>
>> from ceph.mon_command_api import MonCommandApi
>> from ceph.deployment_utils import DriveGroupSpec
>> from ceph.exceptions import Error
>>
>> MonCommandApi(...).osd_pool_create(pool='my_pool', ...)
>>
>> try:
>>     ...
>> except OSError:
>>     ...
> 
> What would be the scope of this library? Basically everything where
> there is a real benefit for having it included, like sharing common code
> between things. From the orchestrator, this could include common
> deployment recipes. Or recipes used by the SSH orchestrator.
> 
> Some open questions are:
> 
> What about code that right now lives in the dashboard, like
> pybind/mgr/dashboard.controllers.rbd.Rbd#_rbd_disk_usage
> for calculating the RBD disk usage?
> 
> Where does it live in the ceph git? /src/python-common/ ?
> 
> How can we package it?
> 
> Python 2?
> 
> Thanks,
> Sebastian
> 

-- 
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nürnberg)
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [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