Skip to main content

AsyncOpenStackClient

image0

Introduction

The AsyncOpenStackClient is a asynchronous rest wrapper for the OpenStack API. It provides a nice abstraction for authentication. For method specification, see the official OpenStack documentation: https://docs.openstack.org/queens/api/.

Installation

Use pip:

pip install AsyncOpenStackClient

Usage

from asyncopenstackclient import NovaClient, GlanceClient, CinderClient, AuthPassword

# you can either pass credentials explicitly (as shown below)
# or use enviormental variables from OpenStack RC file
# https://docs.openstack.org/mitaka/cli-reference/common/cli_set_environment_variables_using_openstack_rc.html
auth = AuthPassword(
    auth_url='https://keystone:5999/v3'
    username='USER', password='PASS',
    project_name='my-project',
    user_domain_name='default',
    project_domain_name='foo.bar'
)
nova = NovaClient(session=auth)
glance = GlanceClient(session=auth)
cinder = CinderClient(session=auth)

# api url for each service will be taken from catalog,
# but you may pass `api_url` param to force custom url eg.
# nova = NovaClient(session=auth, api_url='http://my-local-nova:9876/v2/')

await nova.init_api()
await glance.init_api()
await cinder.init_api()


servers = await nova.servers.list(name='testvm')
vm = await nova.servers.get(server_id)


specs = {
    "name": 'some_name',
    "flavorRef": 'flavor_id',
    "imageRef": 'image_id',
    "security_groups": [{'name': 'group1'}, {'name': 'group2'}]
    "user_data": base64.b64encode(userdata).decode('utf-8')
}
response = await nova.servers.create(server=specs)
print(response)

volume = {"size": 200,
          "imageRef": "image_id",
          "name": "some_name"}

response = await cinder.volumes.create(volume=volume)
print(response)

Available functions

License

Apache License 2.0

Changelog

0.7.0 (2018-06-15)

  • Feature: Cinder implementation

  • Bugfix: typo fixes

0.6.3 (2018-06-13)

  • Feature: adjustable request timeout, default is 60s now

0.6.2 (2018-05-18)

  • Bugfix: initialize property (api) in Client to get some meaningful error instead of “recursion limit reached”.

0.6.0 (2018-05-12)

  • Feature: wrap requests with Resource/Method proxy

0.5.2 (2018-05-10)

  • Bugfix: adding slash at the end of api_root_url

0.5.1 (2018-04-29)

  • Bugfix: update README with metadata entry and envs notice

0.5.0 (2018-04-25)

  • Feature: partial support for server metadata usage

0.4.1 (2018-04-25)

  • Bugifx: invalid concat auth_url with urljoin

0.4.0 (2018-04-16)

  • Feature: use OS_ variables if present

0.3.0 (2018-04-13)

  • Feature: accept to pass api_url

  • Feature: determine api url if catalog provide incomplete one (eg. without version)

0.2.3 (2018-04-05)

  • Bugfix: do_not_await_sync_method

0.2.2 (2018-04-02)

  • Update simple-rest-client (fixed logging)

0.2.1 (2018-03-28)

  • fix tests, cov report, MANIFEST.in

0.1.1 (2018-03-02)

  • Update MANIFEST.in

0.1.0 (2018-02-15)

  • First approach to build async openstack client library for Python3

Metadata

Release files for AsyncOpenStackClient 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AsyncOpenStackClient 0.7.0
File Size Uploaded
AsyncOpenStackClient-0.7.0.tar.gz 20.1 kB Details

Release files / AsyncOpenStackClient-0.7.0.tar.gz

Download URL AsyncOpenStackClient-0.7.0.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7726cff0148dee559676a68ee27179e4df300c7bb03f8d554fd66dfcc65042ec
BLAKE2b-256 checksum
How to use checksums
ab1b683b9a50c95b439537eb7d8fc4030256ff23f0a090c8e8c2730630cb626e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.9.0

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

This release

0.7.0 This release

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.0

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page