Client library for Cyborg API
Go to file
Hervé Beraud 6c93f13c54 Add doc/requirements
We need to specify doc requirements in doc/requirements.txt
to avoid problems with the pip resolver [1] for the release team [2][3].
Removing specific doc requirements from test-requirements.txt.

The problem here is that this repos haven't doc/requirements.txt file
and by default in this case zuul will use the test-requirements.txt file
to pull requirements [4].

This requirements file contains extra requirements like flake8 that
collided with those allowed in our job environment and so the new pip
resolver fails to install these requirements and the job exits in error.

This project meet the conditions leading to the bug.

[1] http://lists.openstack.org/pipermail/release-job-failures/2021-January/001500.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019611.html
[3] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019612.html
[4] https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-sphinx/tasks/main.yaml#L36

Change-Id: Ie4cc84c7159f4b59be52439ef6e4c5e60474866d
2021-03-17 03:02:00 +00:00
cyborgclient remove unicode from code 2021-01-03 15:41:25 +08:00
doc Add doc/requirements 2021-03-17 03:02:00 +00:00
releasenotes remove unicode from code 2021-01-03 15:41:25 +08:00
.coveragerc Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
.gitignore Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:42:10 +00:00
.mailmap Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
.stestr.conf Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
.zuul.yaml Add Python3 wallaby unit tests 2020-09-10 09:39:10 +00:00
CONTRIBUTING.rst Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
HACKING.rst Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
LICENSE Initialize cyborgclient repository 2018-04-12 16:09:57 +00:00
README.rst Update api-ref location 2019-07-25 18:10:37 +02:00
requirements.txt Add doc/requirements 2021-03-17 03:02:00 +00:00
setup.cfg remove py37 2021-01-03 14:36:29 +08:00
setup.py Cleanup py27 support 2020-04-05 07:24:28 +02:00
test-requirements.txt Add doc/requirements 2021-03-17 03:02:00 +00:00
tox.ini Add doc/requirements 2021-03-17 03:02:00 +00:00

README.rst

Team and repository tags

image

python-cyborgclient

Latest Version

python-cyborgclient is a python bindings to the OpenStack Cyborg API. There's a Python API (the cyborgclient module), and a command-line script (cyborg). Each implements 100% of the OpenStack Cyborg API.

See the OpenStack CLI Reference for information on how to use the cyborg command-line tool. You may also want to look at the OpenStack API documentation.

The project is hosted on Launchpad, where bugs can be filed. The code is hosted on OpenStack. Patches must be submitted using Gerrit.

This code is a fork of Jacobian's python-cloudservers. If you need API support for the Rackspace API solely or the BSD license, you should use that repository. python-cyborgclient is licensed under the Apache License like the rest of OpenStack.

Contents:

Command-line API

Installing this package gets you a shell command, cyborg, that you can use to interact with any Rackspace compatible API (including OpenStack).

You'll need to provide your OpenStack username and password. You can do this with the --os-username, --os-password and --os-tenant-name params, but it's easier to just set them as environment variables:

export OS_USERNAME=openstack
export OS_PASSWORD=yadayada
export OS_TENANT_NAME=myproject

You will also need to define the authentication url with --os-auth-url and the version of the API with --os-accelerator-api-version. Or set them as environment variables as well, OS_ACCELERATOR_API_VERSION=1. If you are using Keystone, you need to set the OS_AUTH_URL to the keystone endpoint:

export OS_AUTH_URL=http://controller:5000/v3
export OS_ACCELERATOR_API_VERSION=1

Since Keystone can return multiple regions in the Service Catalog, you can specify the one you want with --os-region-name (or export OS_REGION_NAME). It defaults to the first in the list returned.

You'll find complete documentation on the shell by running cyborg help

Python API

There's also a complete Python API, but it has not yet been documented.

Quick-start using keystone:

# pass auth plugin and session to Client init.
# service_parameters contains servive_name, service_type, interface and
# region name.
>>> from cyborgclient.v1 import client
>>> nt = client.Client(auth=auth,session=_SESSION,**service_parameters)
>>> nt.accelerators.list()
[...]

See release notes and more at https://docs.openstack.org/python-cyborgclient/latest/.