Unified SDK for OpenStack
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Bechtold 561c3a6831 Increase test timeout for 2 tests in TestImageProxy class 1 week ago
devstack Finish updating links to point to opendev 6 months ago
doc Cleanup doc/source/conf.py 2 months ago
examples Update links 3 months ago
extras Merge "Add ansible functional tests" 1 year ago
openstack Increase test timeout for 2 tests in TestImageProxy class 1 week ago
playbooks/devstack Finish updating links to point to opendev 6 months ago
releasenotes Merge "Bump the openstackdocstheme extension to 1.20" 2 weeks ago
tools Use generated list of services instead of metaclass 1 month ago
.coveragerc Fix coverage configuration and execution 3 years ago
.gitignore Merge tox, tests and other support files 2 years ago
.gitreview OpenDev Migration Patch 6 months ago
.mailmap Merge tox, tests and other support files 2 years ago
.stestr.conf Merge shade and os-client-config into the tree 2 years ago
.zuul.yaml Merge "CI: add ironic-python-agent-builder to the ironic job" 2 weeks ago
CONTRIBUTING.rst fix "How To Contribute" url 1 month ago
HACKING.rst Fix some typos 8 months ago
LICENSE setting up the initial layout; move the api proposals to api_strawman 5 years ago
MANIFEST.in setting up the initial layout; move the api proposals to api_strawman 5 years ago
README.rst Move the history lesson into the docs 3 months ago
SHADE-MERGE-TODO.rst Use discovery instead of config to create proxies 1 year ago
babel.cfg setting up the initial layout; move the api proposals to api_strawman 5 years ago
bindep.txt pypy is not checked at gate 1 year ago
create_yaml.sh Fix the network quota tests 2 years ago
docs-requirements.txt Add requirements.txt file for readthedocs 4 years ago
lower-constraints.txt Increase dogpile version for Py3.7 compatibility 2 weeks ago
post_test_hook.sh Update load_balancer for v2 API 2 years ago
requirements.txt Increase dogpile version for Py3.7 compatibility 2 weeks ago
setup.cfg Update links 3 months ago
setup.py Updated from global requirements 2 years ago
test-requirements.txt Make proxy honor raise_exc in REST primitives 1 month ago
tox.ini Merge "Update the constraints url" 4 weeks ago

README.rst

openstacksdk

openstacksdk is a client library for building applications to work with OpenStack clouds. The project aims to provide a consistent and complete set of interactions with OpenStack's many services, along with complete documentation, examples, and tools.

It also contains an abstraction interface layer. Clouds can do many things, but there are probably only about 10 of them that most people care about with any regularity. If you want to do complicated things, the per-service oriented portions of the SDK are for you. However, if what you want is to be able to write an application that talks to clouds no matter what crazy choices the deployer has made in an attempt to be more hipster than their self-entitled narcissist peers, then the Cloud Abstraction layer is for you.

More information about its history can be found at https://docs.openstack.org/openstacksdk/latest/contributor/history.html

openstack

List servers using objects configured with the clouds.yaml file:

Cloud Layer

openstacksdk contains a higher-level layer based on logical operations.

The benefit is mostly seen in more complicated operations that take multiple steps and where the steps vary across providers:

openstack.config

openstack.config will find cloud configuration for as few as 1 clouds and as many as you want to put in a config file. It will read environment variables and config files, and it also contains some vendor specific default values so that you don't have to know extra info to use OpenStack

  • If you have a config file, you will get the clouds listed in it
  • If you have environment variables, you will get a cloud named envvars
  • If you have neither, you will get a cloud named defaults with base defaults

Sometimes an example is nice.

Create a clouds.yaml file:

Please note: openstack.config will look for a file called clouds.yaml in the following locations:

  • Current Directory
  • ~/.config/openstack
  • /etc/openstack

More information at https://docs.openstack.org/openstacksdk/latest/user/config/configuration.html

Links