[Openstack] [Swift] How to get a list of devices from the ring in Java / Bash?
Matthew Oliver
matt at oliver.net.au
Mon Jan 30 22:32:01 UTC 2017
Hey Alexandr,
If you wanted to do it using python, and you didn't have swift installed
you can use pickle and unpickle the builder. something like:
import pickle
builder = pickle.load(open('<path to builder>')
Then you'd have a python dict structure, where I think you can
'builder['devs']'
or with swift installed you can use the RingBuilder class:
from swift.common.ring.builder import RingBuilder
builder = RingBuilder.load('<path to object.builder>')
builder.devs
Where builder.devs will be a list of dictionary objects. You could then
json-ify and output for java to read or put it into an easier to pass list.
There could be a much simpler way, but I'm a Python dev, so this is what
I'd do ;)
Regards,
Matt
On Sat, Jan 28, 2017 at 6:21 AM, Alexandr Porunov <
alexandr.porunov at gmail.com> wrote:
> Hello,
>
> I need to get a list / array of devices in Java or Bash. Is it possible to
> get? Are there any API or something like that?
>
> I know we can obtain a list with the next command:
> swift-ring-builder object.builder
>
> But it return a string with the list of devices which are quite hard to
> parse. In the documentation there is an example how to get a list of
> devices with python:
> devices = list(self._iter_devs())
>
> But it doesn't show which library to use to get a list of devices and how
> to use that library.
>
> Sincerely,
> Alexandr
>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/
> openstack
> Post to : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/
> openstack
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20170131/8ee6932b/attachment.html>
More information about the Openstack
mailing list