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.
Zuul 128f6b3bc3 Merge "Refresh python versions" 2 days ago
devstack Finish updating links to point to opendev 1 year ago
doc Switch to newer openstackdocstheme and reno versions 1 week ago
examples Merge "Stop subclassing object" 2 weeks ago
extras Add ansible stable-2.9 job and run 2.8 and 2.9 2 months ago
openstack add default user and project domain for OVH provider 1 week ago
playbooks/devstack [tests] Improve devstack/post playbook efficiency 2 months ago
releasenotes Switch to newer openstackdocstheme and reno versions 1 week ago
tools Stop subclassing object 2 weeks ago
.coveragerc Fix coverage configuration and execution 4 years ago
.gitignore Merge tox, tests and other support files 2 years ago
.gitreview OpenDev Migration Patch 1 year 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 Refresh python versions 2 days ago
CONTRIBUTING.rst fix "How To Contribute" url 8 months ago
HACKING.rst Fix some typos 1 year ago
LICENSE setting up the initial layout; move the api proposals to api_strawman 6 years ago
MANIFEST.in setting up the initial layout; move the api proposals to api_strawman 6 years ago
README.rst Move the history lesson into the docs 10 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 6 years ago
bindep.txt pypy is not checked at gate 2 years ago
create_yaml.sh Fix the network quota tests 3 years ago
docs-requirements.txt Add requirements.txt file for readthedocs 5 years ago
lower-constraints.txt Refresh python versions 2 days ago
post_test_hook.sh Update load_balancer for v2 API 2 years ago
requirements.txt Remove use of six 2 weeks ago
setup.cfg Refresh python versions 2 days ago
setup.py Small cleanups after Python2 drop 2 months ago
test-requirements.txt Refresh python versions 2 days ago
tox.ini Refresh python versions 2 days 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