OpenStack : OpenStackClient (python-openstackclient) общий клиент коммандной строки

питонячий костыль в студии:

OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Object Store and Volume APIs together in a single shell with a uniform command structure. The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack.

Где и что искать об этом костыле:

_PyPi: https://pypi.python.org/pypi/python-openstackclient
_Online Documentation: http://docs.openstack.org/developer/python-openstackclient/
_Launchpad project: https://launchpad.net/python-openstackclient
_Blueprints: https://blueprints.launchpad.net/python-openstackclient
_Bugs: https://bugs.launchpad.net/python-openstackclient
_Source: https://git.openstack.org/cgit/openstack/python-openstackclient
_Developer: http://docs.openstack.org/infra/manual/python.html
_Contributing: http://docs.openstack.org/infra/manual/developers.html

Препарации

OpenStack Client can be installed from PyPI using pip:

 # pip install python-openstackclient

А что же ждать?

Но обычно дистро-кланы делают собственные кривые пакеты без документации для ежиков. Man документация отсутствует как класс напрочь, и что делает питоньяча прога приходится понимать в убогом –help или хз где.

There are a few variants on getting help. A list of global options and supported
commands is shown with “–help“:

openstack --help

There is also a “help“ command that can be used to get help text for a specific
command:

openstack help
openstack help server create

И самый сок кривизны

The CLI is configured via environment variables and command-line options as listed in http://docs.openstack.org/developer/python-openstackclient/authentication.html.Authentication using username/password is most commonly used:

   export OS_AUTH_URL='url-to-openstack-identity'
   export OS_PROJECT_NAME='project-name'
   export OS_USERNAME='username'
   export OS_PASSWORD='password'  # (optional)

The corresponding command-line options look very similar::

   --os-auth-url 'url'
   --os-project-name 'project-name'
   --os-username 'username'
   [--os-password ]

If a password is not provided above (in plaintext), you will be interactively prompted to provide one securely. Authentication may also be performed using an already-acquired token and a URL pointing directly to the service API that presumably was acquired from the Service Catalog:

    export OS_TOKEN='token'
    export OS_URL='url-to-openstack-service'
    export OS_IDENTITY_API_VERSION=3

The corresponding command-line options look very similar:

    --os-token 'token'
    --os-url 'url-to-openstack-service'
    --od-identity-api-version 'number'

Пример зачаточной регистрации сервиса:

openstack service create --name keystone --description "OpenStack Identity" \
                          --os-token '294a4c8a8a475f9b9836' \
                          --os-url 'http://keystone.oipi.openstack.by:35357/v3' \
                          --os-identity-api-version 3  identity

Все еще не уверены что это костыли, а не программы? А вот Вам выхлоп помощи из программы, где она рассказывает абсолютно разные вещи, как ее использовать))):

1.

# openstack help endpoint create
usage: openstack endpoint create [-h] [-f {html,json,shell,table,value,yaml}]
                                 [-c COLUMN] [--max-width ]
                                 [--prefix PREFIX] --publicurl url
                                 [--adminurl ] [--internalurl ]
                                 [--region ]
                                 service

2.

usage: openstack endpoint create [-h] [-f {html,json,shell,table,value,yaml}]
                                 [-c COLUMN] [--max-width ]
                                 [--prefix PREFIX] [--region ]
                                 [--enable | --disable]
                                 service interface url

Занавес …

Scroll to top