
There is discussion on the mailing list about ceilometerclient removal that started this. The metric service is not an OpenStack service. It does not have an entry in service-types-authority, nor does it have an API documented at developer.openstack.org/api-ref. That's not saying that someone couldn't install it in their OpenStack cloud and that doing so is a bad idea. It's probably a great idea and those people are likely quite happy. Since this is openstacksdk we need to draw the line somewhere. The add_service patch adds the ability for consumers to opt-in to non-official services. Making an openstacksdk-metric package people could use with a MetricService object and the proxy/resource objects here would be a great idea. As a follow-up we should potentially add the ability to add a list of extra services to a clouds.yaml file. Change-Id: Ib3810e3b11dbacc0215d486397e05370a2d7521e
4.4 KiB
Getting started with the OpenStack SDK
For a listing of terms used throughout the SDK, including the names
of projects and services supported by it, see the glossary <../glossary>
.
Installation
The OpenStack SDK is available on PyPI under the name
openstacksdk. To install it, use pip
:
$ pip install openstacksdk
User Guides
These guides walk you through how to make use of the libraries we provide to work with each OpenStack service. If you're looking for a cookbook approach, this is where you'll want to begin.
Configuration <config/index> Connect to an OpenStack Cloud <guides/connect> Connect to an OpenStack Cloud Using a Config File <guides/connect_from_config> Using Cloud Abstration Layer <usage> Logging <guides/logging> Microversions <microversions> Baremetal <guides/baremetal> Block Storage <guides/block_storage> Clustering <guides/clustering> Compute <guides/compute> Database <guides/database> Identity <guides/identity> Image <guides/image> Key Manager <guides/key_manager> Message <guides/message> Network <guides/network> Object Store <guides/object_store> Orchestration <guides/orchestration>
API Documentation
Service APIs are exposed through a two-layered approach. The classes exposed through our Connection interface are the place to start if you're an application developer consuming an OpenStack cloud. The Resource interface is the layer upon which the Connection is built, with Connection methods accepting and returning Resource objects.
The Cloud Abstraction layer has a data model.
model
Connection Interface
A Connection instance maintains your cloud config, session and authentication information providing you with a set of higher-level interfaces to work with OpenStack services.
connection
Once you have a Connection instance, the following services
may be exposed to you. The combination of your CloudRegion
and the catalog of the cloud in question control which services are
exposed, but listed below are the ones provided by the SDK.
Baremetal <proxies/baremetal> Block Storage <proxies/block_storage> Clustering <proxies/clustering> Compute <proxies/compute> Database <proxies/database> Identity v2 <proxies/identity_v2> Identity v3 <proxies/identity_v3> Image v1 <proxies/image_v1> Image v2 <proxies/image_v2> Key Manager <proxies/key_manager> Load Balancer <proxies/load_balancer_v2> Message v1 <proxies/message_v1> Message v2 <proxies/message_v2> Network <proxies/network> Object Store <proxies/object_store> Orchestration <proxies/orchestration> Workflow <proxies/workflow>
Resource Interface
The Resource layer is a lower-level interface to communicate with OpenStack services. While the classes exposed by the Connection build a convenience layer on top of this, Resources can be used directly. However, the most common usage of this layer is in receiving an object from a class in the Connection layer, modifying it, and sending it back into the Connection layer, such as to update a resource on the server.
The following services have exposed Resource classes.
Baremetal <resources/baremetal/index> Block Storage <resources/block_storage/index> Clustering <resources/clustering/index> Compute <resources/compute/index> Database <resources/database/index> Identity <resources/identity/index> Image <resources/image/index> Key Management <resources/key_manager/index> Load Balancer <resources/load_balancer/index> Network <resources/network/index> Orchestration <resources/orchestration/index> Object Store <resources/object_store/index> Workflow <resources/workflow/index>
Low-Level Classes
The following classes are not commonly used by application developers, but are used to construct applications to talk to OpenStack APIs. Typically these parts are managed through the Connection Interface, but their use can be customized.
resource resource2 service_filter utils
Presentations
multi-cloud-demo