[openstack-dev] [all] Yakumo: Pythonic, unified OpenStack client library
brian at python.org
Wed May 3 11:42:13 UTC 2017
On Tue, May 2, 2017 at 10:46 PM, Akira Yoshiyama <akirayoshiyama at gmail.com>
> 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
> * 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.
> And also you can use 'ossh', an interactive python shell in Yakumo.
> It's a good example.
> # ossh --os-cloud=mypackstack
> Finding existing resources:
> (c is an client object automatically generated for mypackstack environment)
> >>> i = c.image.find_one(name="trusty")
> >>> f = c.flavor.find_one(name='m1.small')
> >>> k = c.key_pair.find_one(name='key1')
> >>> n = c.network.find_one(name='private')
> >>> i, f, k, n
> (id="887b0393-5065-4bcf-941d-623100baa06e", name="trusty")>,
> <yakumo.nova.v2.flavor.Resource (id="2", name="m1.small")>,
> <yakumo.nova.v2.key_pair.Resource (name="key1")>,
> (id="22e3fa30-11c0-4065-bbf7-8d8bbb50f63b", name="private")>)
> Creating a server:
> >>> s = c.server.create(name='vm1', image=i, flavor=f, networks=[n],
> >>> s
> (id="b1477f6c-bbc4-4c37-ba05-14b935a5d08c" empty)>
> Waiting for building task finished:
> >>> s.wait_for_finished()
> >>> s.status
> Deleting the server:
> >>> s.delete()
> See README for more usage and details:
> Feedback is welcome!
> 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?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev