21 марта 2015

OpenStackClient — новый официальный проект OpenStack


Недавно список официальных проектов OpenStack пополнился еще одним проектом — OpenStackClient

Утилита командной строки openstack представляет собой единый унифицированный клиент для доступа к OpenStack API. В целом, OpenStackClient позволяет делать тоже самое, что и утилиты каждого сервиса (nova, neutron, keystone-manage и др.),  но при помощи единой команды и унифицированного формата.

Добавление утилиты в RDO сводится к установке пакета:

[root@os1 ~]# yum -y install  python-openstackclient

Для аутентификации клиент использует ту же схему, что и другие утилиты, за исключением замены устаревших  «тенантов» (OS_TENANT_NAME) на «проекты». Пример моего keystonerc тестовой среды:

unset OS_USERNAME OS_TENANT_NAME OS_PASSWORD OS_AUTH_URL SERVICE_TOKEN SERVICE_ENDPOINT
export OS_AUTH_URL=http://os1.test.local:35357/v2.0/
export OS_USERNAME=admin
export OS_PROJECT_NAME=admin
export OS_PASSWORD=openstack


И можно пользоваться:

[root@os1 ~]# openstack project create demo2
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | None                             |
| enabled     | True                             |
| id          | 4f33784c2a7a487fa8e7b5b8a2c0af87 |
| name        | demo2                            |
+-------------+----------------------------------+
[root@os1 ~]# openstack project list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 4b0971bf0f5e4835a87af1d21121def5 | service |
| 4f33784c2a7a487fa8e7b5b8a2c0af87 | demo2   |
| 9c1c71f2c0f243b7a3b1d0d1880820e9 | demo    |
| a5c42139ce154b4d945b4ed806cbee81 | admin   |
+----------------------------------+---------+


Команда  openstack help -h выведет подсказку по командам или можно ввести help в интерактивном режиме. Команды строятся по принципу: взять объект1 и произвести над ним действие при помощи объекта2

Ну и наглядный пример, который приводит один из разработчиков:

Замена

$ nova boot --flavor='2G' -- image='Gentoo' # Nova talks to Glance
$ cinder give-me-a-10G-volume
$ nova attach-that-volume-to-my-computer # nova talks to cinder
$ neutron give-me-an-ip
$ nova attach-that-floating-ip-to-my-computer # nova talks to neutron
$ designate call-that-ip 'example.com' --reverse-dns # designate to neutron

всего на одну строку

$ openstack boot gentoo on-a 2G-VM with-a publicIP with-a 10G-volume call-it example.com

Пакет python-openstackclient-doc устанавливает в /usr/share/doc/ документацию на клиент с сайта:


Комментариев нет: