питонячий костыль в студии:
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