[openstack-dev] [all] Yakumo: Pythonic, unified OpenStack client library

Akira Yoshiyama akirayoshiyama at gmail.com
Wed May 3 16:15:03 UTC 2017


Hi Andrea,

2017-05-03 21:00 GMT+09:00 Andrea Frittoli <andrea.frittoli at gmail.com>:
>
>
> On Wed, May 3, 2017 at 12:44 PM Brian Curtin <brian at python.org> wrote:
>>
>> On Tue, May 2, 2017 at 10:46 PM, Akira Yoshiyama
>> <akirayoshiyama at gmail.com> wrote:
>>>
>>> Hello all,
>>>
>>> I'm pleased to announce Yakumo, yet another unified OpenStack client
>>> library with an interactive shell. You can find Yakumo below:
>>>
>>>    PyPI: https://pypi.python.org/pypi/yakumo/
>>>    Github: https://github.com/yosshy/python-yakumo/
>>>
>>> Yakumo development focuses to:
>>>
>>> * Pythonic: handles each cloud resource as an object in the same manner
>>> * Unified: handles all OpenStack APIs at once
>
>
> Does Yakumo provide some plugin mechanism, or do you plan to include and
> support
> all OpenStack services in Yakumo?

Yakumo have no plugin mechanism now, but it sounds great. I'll support
another OpenStack APIs like below:

* Block Storage API v3
* Orchestration API

Yakumo (八雲) is a Japanese proper noun, it means "eightfold clouds" or
"multifold clouds". So the development goal of Yakumo is supporting 8+
OpenStack APIs.

>>> * Less dependency: no import of other OpenStack client libraries
>>>
>>> Why do we have to specify IDs of cloud resources in Python
>>> programming? Python is an object-oriented programming language. IMO,
>>> we should use objects to represent cloud resources, including method
>>> arguments. It's one of the reasons I've started Yakumo project.
>>>
>>> Yakumo 0.11.0 suports OpenStack APIs below:
>>>
>>> * Identity API v2/v3
>>> * Compute API v2
>>> * Networking v2
>>> * Image Service API v1/v2
>>> * Block Storage v1/v2
>>> * Object Storage v1
>>>
>>> Yakumo has 23 sample smoke tests below for the APIs now. It's useful
>>> to test your cloud and learn usage of Yakumo.
>>>
>>>    https://github.com/yosshy/python-yakumo/tree/master/yakumo/smoketests
>>>
>>> And also you can use 'ossh', an interactive python shell in Yakumo.
>>> It's a good example.
(snip)
>>> See README for more usage and details:
>>>
>>>    https://github.com/yosshy/python-yakumo/blob/master/README.md
>>>
>>> Feedback is welcome!
>
>
> It's not clear to me what is the specific use case this library aims to
> cover.
> Is it meant for application development or testing or both?

Good question. Yakumo is developed for OpenStack Ops; system health
checker, smoke tests, ops tools like creating/deleting tenants and
users, and so on.

> What are its benefit compared to openstacksdk and tempest clients?

I don't know the API of openstacksdk and tempest clients very well, so
it's hard to answer it for me. I think with-statement of resources in
Yakumo looks unique but other clients may have it. See examples like
below for more details:

   https://github.com/yosshy/python-yakumo/blob/master/yakumo/smoketests/st30_network_subnet_port.py

Regards,
Akira Yoshiyama


>>> Cheers,
>>> Akira Yoshiyama
>>
>>
>> Looks almost exactly like openstacksdk. Why duplicate that and pollute an
>> already crowded space as there are already far too many existing libraries
>> to work with OpenStack?
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



More information about the OpenStack-dev mailing list