Управление проектом через интерфейс командной строки (CLI) в ОС Linux

Предупреждение

Для работы с проектом SIM-Cloud через интерфейс командной строки нужно иметь установленные:
  • интерпретатор python версии 3.х (устанавливается самостоятельно, способ установки зависит от используемой ОС)
  • установщик python3 модулей pip3 (устанавливается самостоятельно, способ установки зависит от используемой ОС)
  • утилиту openstackclient версии 3.14
Процесс подготовки к работе с утилитой openstackclient состоит из следующих шагов:

Получение архивов с утилитой и сопутствующими библиотеками с официального сайта openstack.org, их распаковка и установка

  • Для установки библиотеки openstack/cliff и необходимых зависимостей выполняем набор команд:

    pip3 install wheel
    wget https://tarballs.openstack.org/cliff/cliff-2.11.1.tar.gz
    tar zxvf cliff-2.11.1.tar.gz
    pip3 install cliff-2.11.1/
    
  • Для установки библиотеки openstack/osc-lib выполняем набор команд:

    wget https://tarballs.openstack.org/osc-lib/osc-lib-1.9.0.tar.gz
    tar zxvf osc-lib-1.9.0.tar.gz
    pip3 install  osc-lib-1.9.0/
    
  • Для установки утилиты openstack/python-openstackclient выполняем набор команд:

    wget https://tarballs.openstack.org/python-openstackclient/python-openstackclient-3.14.2.tar.gz
    tar zxvf python-openstackclient-3.14.2.tar.gz
    pip3 install python-openstackclient-3.14.2/
    
  • Убедимся, что утилита установилась и запускается:

    openstack --version
        openstack 3.14.2
    

Авторизация в SIM-Cloud с помощью RC файла

  • Для работы утилиты openstack с Ваши проектом понадобится авторизоваться в SIM-Cloud. Для установки нужных переменных окружения операционной системы используется, специальным образом сформированный, RC файл. Для его получения нужно:

    1. Зайти в свой проект через веб-интерфейс https://cloud.sim-cloud.net/.
    2. В меню «Проект» - «Вычислительные ресурсы» - «Доступ к API» выбираем «Скачать OpenStack RC-файл версии 3»
    3. В итоге на локальной системе, откуда будет запускаться утилита, должен появиться файл с именем «имя_проекта-openrc.sh». В нашем случае, это demo-openrc.sh.

Примечание

При экспорте переменных из RC файла будет однократно запрашиваться пароль для облачного проекта. Если нужно отключить запрос пароля и обеспечить его автоматический ввод, то откройте RC файл любым текстовым редактором и замените блок текста:

# With Keystone you pass the keystone password.
echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT

на

export OS_PASSWORD="ВашПароль"

Предупреждение

Поскольку RC файл является обычным текстовым файлом и ваш пароль будет доступен в открытом, не зашифрованном виде, то это - небезопасно!
В этом случае установите в системе минимально-необходимые права на его использование!

Запуск утилиты openstack, получение общей информации о своем проекте в SIM-Cloud

  • Открываем консоль bash, переходим в каталог содержащий наш RC файл и с помощью команды «.» (точка) или «source» производим экспорт переменных из RC файла в окружение системы.

    Выполняем команду:

    source demo-openrc.sh
    

    В случае необходимости, вводим свой пароль к проекту в SIM-Cloud.

  • Прверяем работоспособность утилиты, например, смотрим общую информацию о своем проекте в SIM-Cloud:

$ openstack project list
+----------------------------------+------+
| ID                               | Name |
+----------------------------------+------+
| a84030ae422a4173b4d0e7495cda2581 | demo |
+----------------------------------+------+


$ openstack project show demo
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| domain_id   | b90911e0cc464e4d83c04bed2febc37a |
| enabled     | True                             |
| id          | a84030ae422a4173b4d0e7495cda2581 |
| is_domain   | False                            |
| name        | demo                             |
| parent_id   | b90911e0cc464e4d83c04bed2febc37a |
+-------------+----------------------------------+
  • Теперь можно с помощью команды openstack управлять своим облачным проектом.