Python client for Kingbird
Go to file
mounikasreeram 7667932ab8 Revert Add name argument to Sync template feature.
Extra columns are added to the kingbird
database to identify the job.
Hence there is no need of "name" argument in
"Sync template" feature.
Added test-cases for the same.

Change-Id: I6a412e550c3cd1ded7088af484dd92f6f2f79e39
2018-01-25 14:05:56 +05:30
doc/source Add common layer for the client 2016-09-08 10:57:01 +02:00
kingbirdclient Revert Add name argument to Sync template feature. 2018-01-25 14:05:56 +05:30
releasenotes Enable release notes translation 2016-10-06 20:50:29 +02:00
.coveragerc Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
.gitignore Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
.gitreview Added .gitreview 2016-07-07 08:33:25 +00:00
.mailmap Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
.testr.conf Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
CONTRIBUTING.rst Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
HACKING.rst Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
LICENSE Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
MANIFEST.in Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
README.rst Revert Add name argument to Sync template feature. 2018-01-25 14:05:56 +05:30
babel.cfg Initial kingbirdclient commit 2016-07-07 14:09:12 +02:00
requirements.txt Updated from global requirements 2017-03-08 12:56:45 +00:00
run_tests.sh Add common layer for the client 2016-09-08 10:57:01 +02:00
setup.cfg Fix Openstack Plugin issues for KB-commands. 2017-10-12 18:06:08 +05:30
setup.py Updated from global requirements 2017-03-08 12:56:45 +00:00
test-requirements.txt Updated from global requirements 2017-03-13 19:41:14 +00:00
tox.ini Avoid tox_install.sh for constraints support 2017-12-02 17:01:36 +00:00

README.rst

Kingbird

Latest Version

Downloads

Centralised service for multi-region OpenStack deployments.

Kingbird is an centralized OpenStack service that provides resource operation and management across multiple OpenStack instances in a multi-region OpenStack deployment. This service is part of the OPNFV Multisite project that intends to address the use cases related to distributed cloud environments.

Kingbird provides features like centralized quota management, centralized view for distributed virtual resources, global view for tenant level IP/MAC address space management, synchronisation of ssh keys, images, flavors, etc. across regions.

python-kingbirdclient

Python client for Kingbird

This is a client library for Kingbird built on the Kingbird API. It provides a Python API (the kingbirdclient module) and a command-line tool (kingbird).

Installation

First of all, clone the repo and go to the repo directory:

$ git clone https://github.com/openstack/python-kingbirdclient.git
$ cd python-kingbirdclient

Then just run:

$ pip install -e .

or:

$ pip install -r requirements.txt
$ python setup.py install

Running Kingbird client

If Kingbird authentication is enabled, provide the information about OpenStack auth to environment variables. Type:

$ export OS_PROJECT_DOMAIN_ID=<PROJECT_DOMAIN_ID>
$ export OS_REGION_NAME=<Region>
$ export OS_USER_DOMAIN_ID=<USER_DOMAIN_ID>
$ export OS_PROJECT_NAME=<project_name>
$ export OS_IDENTITY_API_VERSION=<identity_version>
$ export OS_PASSWORD=<password>
$ export OS_AUTH_TYPE=<auth_type>
$ export OS_AUTH_URL=http://<Keystone_host>/identity
$ export OS_USERNAME=<user_name>
$ export OS_TENANT_NAME=<tenant_name>

Note

In client, we use Keystone auth version v3 as server supports only v3.*

To make sure Kingbird client works, type:

$ kingbird quota defaults

or:

$ kingbird sync list

You can see the list of available commands typing:

$ kingbird --help

About sync template command

Provide the input file in .yaml/.yml/.json to sync multiple resource-types to multiple regions Sample input file for .yaml/.yml --------------------------------Eg:

Sync:
- resource_type: fake_resource_type
  resources:
  - fake_resource_1
  - fake_resource_2
  source:
  - fake_source_region
  target:
  - fake_target_region_1
  - fake_target_region_2
  force: "True"

Sample input file for .json --------------------------Eg:

{
  "Sync": [
    {
      "resource_type": "fake_resource_type",
      "resources": [
        "fake_resource_1",
        "fake_resource_2"
      ],
      "source":["fake_source_region"],
      "target":["fake_target_region_1","fake_target_region_2"],
      "force":"True"
    }
  ]
}

Note: "force" is optional in .yaml and .json files.

Useful Links