Консольные утилиты¶
- Сервис RSserver API
- Сервис TRS broker API
- Запуск периодических задач
- Асинхронные операции с TRS машинами
- Мониторинг событий
- Команды утилиты Openstack
- Миграция базы данных
- Создание TRS машины
- Создание TRS проекта
- Автоматическое распределение свободных виртуальных машин
- Вывод списка виртуальных машин по типу
- Создание назначения между пользователями и TRS машинами в текущем домене
- Вывод списка всех назначений между пользователями и TRS машинами в текущем домене
- Удаление назначения между пользователями и TRS машинами в текущем домене
Сервис RSserver API¶
Предоставляет API для управления TRS проектами и виртуальными машинами.
Команда:
aos-rs-server-api
Имя службы systemd:
aos-rs-server-api.service
Наименование | Описание | Значение по умолчанию |
---|---|---|
--host |
IP-адрес, на котором будет запущен сервис. | 0.0.0.0 |
--port |
Порт, на котором будет запущен сервис. | 9364 |
--certfile |
Путь к файлу SSL-сертификата для защищённого соединения. | |
--keyfile |
Путь к приватному ключу SSL-сертификата для защищённого соединения. | |
--debug |
Аргумент позволяет запустить сервис в режиме DEBUG . |
False |
--logfile |
Путь к файлу для логирования. | /var/log/aos/rs-server/api.log |
Сервис TRS broker API¶
Предоставляет API для подключения к TRS машинам из RSclient.
Имя службы systemd:
aos-rs-broker-api.service
Запуск периодических задач¶
Утилита выполняет периодический запуск задач, выполняемых службой aos-rs-worker:
- sync_projects
- синхронизация типа проекта в таблице
project
базы данныхkeystone
с таблицейprojects
базы данныхrs_server
для поддержания списка проектов в актуальном состоянии.
Команда:
aos-rs-beat
Имя службы systemd:
aos-rs-beat.service
Наименование | Описание | Значение по умолчанию |
---|---|---|
--debug |
Аргумент позволяет запустить сервис в режиме DEBUG . |
False |
--logfile |
Путь к файлу для логирования. | /var/log/aos/rs-server/beat.log |
Асинхронные операции с TRS машинами¶
Утилита выполняет асинхронные задачи создания и получения TRS машин.
Команда:
aos-rs-worker
Имя службы systemd:
aos-rs-worker.service
Наименование | Описание | Значение по умолчанию |
---|---|---|
--debug |
Аргумент позволяет запустить сервис в режиме DEBUG . |
False |
--logfile |
Путь к файлу для логирования. | /var/log/aos/rs-server/worker.log |
Мониторинг событий¶
Утилита позволяет отслеживать события Keystone, Nova, Neutron и поддерживать информацию в таблицах базы данных rs_server
в актуальном состоянии.
Команда:
aos-rs-listener
Имя службы systemd:
aos-rs-listener.service
Наименование | Описание | Значение по умолчанию |
---|---|---|
--debug |
Аргумент позволяет запустить сервис в режиме DEBUG . |
False |
--logfile |
Путь к файлу для логирования. | /var/log/aos/rs-server/listener.log |
Команды утилиты Openstack¶
Примечание
По умолчанию отключен вывод сообщений с уровнем логирования WARNING и ниже. Для включения подробного вывода нужно выставить уровень логирования и запустить команду с флагом --verbose
.
Механизм аутентификации описан в разделе «Аутентификация в OpenStackClient».
Миграция базы данных¶
Утилита позволяет производить изменение структуры базы данных модуля.
В процессе работы утилиты создаются необходимые таблицы и актуализируются схемы в базе данных модуля.
Команда:
openstack aos db migrate -n rs_server
Создание TRS машины¶
Позволяет создавать заданное количество TRS машин.
Команда:
openstack aos server create
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--name |
Имя TRS машины. |
--count |
Количество создаваемых TRS машин. По умолчанию 1. |
Пример:
# Создаст 2 TRS машины с именами aos-rs-1 и aos-rs-2
openstack aos server create --name aos-rs --count 2
Пример вывода:
+--------------------------------------------------+---------------------------------------------+
|Field |Value |
+--------------------------------------------------+---------------------------------------------+
|OS-DCF:diskConfig (aos-rs-2) |MANUAL |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-AZ:availability_zone (aos-rs-2) |nova |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:host (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:hostname (aos-rs-2) |aos-rs-2 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:hypervisor_hostname (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:instance_name (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:kernel_id (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:launch_index (aos-rs-2) |1 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:ramdisk_id (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:reservation_id (aos-rs-2) |r-ma3fq366 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:root_device_name (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:user_data (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:power_state (aos-rs-2) |NOSTATE |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:task_state (aos-rs-2) |scheduling |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:vm_state (aos-rs-2) |building |
+--------------------------------------------------+---------------------------------------------+
|OS-SRV-USG:launched_at (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-SRV-USG:terminated_at (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|accessIPv4 (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|accessIPv6 (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|addresses (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|config_drive (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|created (aos-rs-2) |2018-11-02T08:59:43Z |
+--------------------------------------------------+---------------------------------------------+
|description (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|flavor (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|hostId (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|host_status (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|id (aos-rs-2) |254ba49f-584b-419d-9e86-afe9aa8a122e |
+--------------------------------------------------+---------------------------------------------+
|image (aos-rs-2) |cirros (bdd277be-ebf3-4ff7-8c05-c6f20cbddd61)|
+--------------------------------------------------+---------------------------------------------+
|key_name (aos-rs-2) |None |
+--------------------------------------------------+---------------------------------------------+
|locked (aos-rs-2) |False |
+--------------------------------------------------+---------------------------------------------+
|name (aos-rs-2) |aos-rs-2 |
+--------------------------------------------------+---------------------------------------------+
|progress (aos-rs-2) |0 |
+--------------------------------------------------+---------------------------------------------+
|project_id (aos-rs-2) |57f4f1cedc4e43c994c41e215bd2ef7c |
+--------------------------------------------------+---------------------------------------------+
|properties (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|status (aos-rs-2) |BUILD |
+--------------------------------------------------+---------------------------------------------+
|tags (aos-rs-2) |[u'trs'] |
+--------------------------------------------------+---------------------------------------------+
|updated (aos-rs-2) |2018-11-02T08:59:45Z |
+--------------------------------------------------+---------------------------------------------+
|user_id (aos-rs-2) |0aa34b274f6a444797fd7f356fd986c2 |
+--------------------------------------------------+---------------------------------------------+
|volumes_attached (aos-rs-2) | |
+--------------------------------------------------+---------------------------------------------+
|OS-DCF:diskConfig (aos-rs-1) |MANUAL |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-AZ:availability_zone (aos-rs-1) |nova |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:host (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:hostname (aos-rs-1) |aos-rs-1 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:hypervisor_hostname (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:instance_name (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:kernel_id (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:launch_index (aos-rs-1) |0 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:ramdisk_id (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:reservation_id (aos-rs-1) |r-ma3fq366 |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:root_device_name (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-SRV-ATTR:user_data (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:power_state (aos-rs-1) |NOSTATE |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:task_state (aos-rs-1) |scheduling |
+--------------------------------------------------+---------------------------------------------+
|OS-EXT-STS:vm_state (aos-rs-1) |building |
+--------------------------------------------------+---------------------------------------------+
|OS-SRV-USG:launched_at (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|OS-SRV-USG:terminated_at (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|accessIPv4 (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|accessIPv6 (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|addresses (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|config_drive (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|created (aos-rs-1) |2018-11-02T08:59:43Z |
+--------------------------------------------------+---------------------------------------------+
|description (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|flavor (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|hostId (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|host_status (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|id (aos-rs-1) |243c7cc4-12c8-48ed-b128-1934c08765e1 |
+--------------------------------------------------+---------------------------------------------+
|image (aos-rs-1) |cirros (bdd277be-ebf3-4ff7-8c05-c6f20cbddd61)|
+--------------------------------------------------+---------------------------------------------+
|key_name (aos-rs-1) |None |
+--------------------------------------------------+---------------------------------------------+
|locked (aos-rs-1) |False |
+--------------------------------------------------+---------------------------------------------+
|name (aos-rs-1) |aos-rs-1 |
+--------------------------------------------------+---------------------------------------------+
|progress (aos-rs-1) |0 |
+--------------------------------------------------+---------------------------------------------+
|project_id (aos-rs-1) |57f4f1cedc4e43c994c41e215bd2ef7c |
+--------------------------------------------------+---------------------------------------------+
|properties (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
|status (aos-rs-1) |BUILD |
+--------------------------------------------------+---------------------------------------------+
|tags (aos-rs-1) |[u'trs'] |
+--------------------------------------------------+---------------------------------------------+
|updated (aos-rs-1) |2018-11-02T08:59:45Z |
+--------------------------------------------------+---------------------------------------------+
|user_id (aos-rs-1) |0aa34b274f6a444797fd7f356fd986c2 |
+--------------------------------------------------+---------------------------------------------+
|volumes_attached (aos-rs-1) | |
+--------------------------------------------------+---------------------------------------------+
Создание TRS проекта¶
Примечание
Для создания проекта необходимы права администратора.
Позволяет создавать TRS проект.
Команда:
openstack aos project create
--name <project_name>
--image <image>
--flavor <flavor>
--network <network>
[--operation_mode <operation_mode>] - если не указывается, то по умолчанию
[--zone <availability-zone>]
[--domain <domain>]
[--parent <project>]
[--description <description>]
[--enable | --disable]
[--or-show]
[--user-data <script_path>]
[-h, --help]
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--name |
Имя TRS проекта. |
--domain |
Домен проекта. Указывается имя или ID. |
--image |
Образ по умолчанию для TRS проекта. Обязательный параметр, указывается имя или ID. |
--flavor |
Тип инстанса по умолчанию для TRS проекта. Обязательный параметр, указывается имя или ID. |
--network |
Сеть по умолчанию для TRS проекта. Обязательный параметр, указывается имя или ID. |
--operation_mode |
Режим работы TRS проекта. Возможные значения:
|
--zone |
Зона доступности по умолчанию. |
--parent |
Родительский проект TRS проекта. Указывается имя или ID. |
--description |
Описание проекта. |
--enable |
Создание проекта с состоянием «Активен». Параметр задан по умолчанию. |
--disable |
Создание проекта с состоянием «Неактивен». |
--property |
Добавление параметра <name> . Для того, чтобы добавить сразу несколько параметров, опцию необходимо повторять. |
--or-show |
Отображение уже существующего проекта. В случае дублирования имени проекта с уже существующим в домене, проект не создается. |
--user-data |
Путь до скрипта, выполняющегося при загрузке виртуальных машин этого проекта. |
Пример:
openstack aos project create --image cirros --flavor m1.tiny --network provider --name trs_test_project
Пример вывода:
+--------------+------------------------------------+
|Field |Value |
+--------------+------------------------------------+
|description | |
+--------------+------------------------------------+
|domain_id |default |
+--------------+------------------------------------+
|enabled |True |
+--------------+------------------------------------+
|flavor_id |25a8679f-582a-4f7c-b9c2-286a60bedb76|
+--------------+------------------------------------+
|id |298276965e964f32a9d8aa60cec8a70c |
+--------------+------------------------------------+
|image_id |bdd277be-ebf3-4ff7-8c05-c6f20cbddd61|
+--------------+------------------------------------+
|is_domain |False |
+--------------+------------------------------------+
|name |trs_test_project |
+--------------+------------------------------------+
|network_id |5f83ab2d-3ef1-4f16-a527-4ea8a9b5f141|
+--------------+------------------------------------+
|operation_mode|1 |
+--------------+------------------------------------+
|parent_id |default |
+--------------+------------------------------------+
|tags |[u'trs'] |
+--------------+------------------------------------+
Подсказка
Только что созданный TRS проект не имеет назначенных на него пользователей и групп. По этой причине после создания проекта необходимо произвести назначение на него пользователей стандартной командой OpenStack:
openstack role add --user USER_NAME --project TENANT_ID ROLE_NAME
Также возможно произвести назначение на проект группы пользователей, используя стандартную команду OpenStack:
openstack role add --group GROUP_NAME --project TENANT_ID ROLE_NAME
Автоматическое распределение свободных виртуальных машин¶
Позволяет автоматически распределить свободные виртуальные машины проекта пользователям.
Команда:
openstack aos project auto-allocate-users --project <project>
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--project |
Имя или ID TRS проекта. |
Пример:
openstack aos project auto-allocate-users --project trs1
Вывод списка виртуальных машин по типу¶
Позволяет вывести список виртуальных машин, фильтруя их по типу: TRS, типовая или Baremetal.
Команда:
openstack aos server list
Утилита использует те же параметры, что используются для встроенной в openstackclient команды server list
.
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--type |
Тип виртуальных машин для вывода (по умолчанию выводятся все). Возможные значения:
|
Пример:
# вывод всех TRS машин во всех проектах
openstack aos server list --all-projects --type trs
Пример вывода:
+--------------------------------------+-------------------+-----------+-----------------------+----------+-------+---------+-------+-------+--------------+----------------+
| ID | Name | Project | IP Address | Size | Type | Status | Zone | Task | Power State | Operation mode |
+--------------------------------------+-------------------+-----------+-----------------------+----------+-------+---------+-------+-------+--------------+----------------+
| 2eb9c697-0ddb-4979-b61e-6677e0636e51 | test_trs_vm1 | test_trs1 | localnet=192.168.2.10 | m1.tiny | TRS | ACTIVE | nova | None | Running | 1 |
| 38809de6-ad7e-4865-9f85-cd03c25e3e4b | test_trs_vm2 | test_trs1 | localnet=192.168.2.9 | m1.tiny | TRS | ACTIVE | nova | None | Running | 1 |
| 6e2a7fdc-2af9-47b9-9f3e-936aecadbf9d | test_trs_vm3 | test_trs1 | localnet=192.168.2.8 | m1.tiny | TRS | ACTIVE | nova | None | Running | 1 |
| 3e407223-6fd6-4bb5-ae89-6bbdf70afb12 | test_trs_vm10 | test_trs2 | provider=10.35.207.69 | m1.tiny | TRS | ACTIVE | nova | None | Running | 2 |
| 159d7530-29a2-44fe-a21d-d489daa3602b | test_trs_vm111 | test_trs2 | provider=10.35.207.68 | m1.tiny | TRS | ACTIVE | nova | None | Running | 2 |
| 9c64bb3a-1df9-4f07-955d-c60fca3bde9f | test_trs_vm4 | test_trs1 | localnet=192.168.2.6 | m1.tiny | TRS | ACTIVE | nova | None | Running | 1 |
| d36ca2db-7f97-44f3-b2c6-f2a5a73a1174 | test_trs_vm5 | test_trs1 | localnet=192.168.2.5 | m1.tiny | TRS | PAUSED | nova | None | Paused | 1 |
+--------------------------------------+-------------------+-----------+-----------------------+----------+-------+---------+-------+-------+--------------+----------------+
Создание назначения между пользователями и TRS машинами в текущем домене¶
Позволяет создать назначение между пользователями и TRS машинами.
Команда:
openstack aos assignment add
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--instance |
UUID TRS машины для назначения. Обязательный параметр. |
--user |
ID или имя пользователя для назначения. |
--group |
ID или имя группы пользователей для назначения. |
Пример создания назначения между пользователем и TRS машиной в текущем домене по имени пользователя и UUID машины:
openstack aos assignment add --user admin --instance 2981823a-c11e-41cd-8140-5fe6902f4e4e
Пример вывода:
Created user assignment.
Пример создания назначения между группой пользователей и TRS машиной в текущем домене по имени группы и UUID машины:
openstack aos assignment add --group managers --instance 8370524f-f46c-47f5-9075-c0cef7fbc52c
Пример вывода:
Created user group assignment.
Вывод списка всех назначений между пользователями и TRS машинами в текущем домене¶
Позволяет вывести список всех назначений между пользователями и TRS машинами, фильтруя их по параметрам: instance
, user
, group
и project
.
Команда:
openstack aos assignment list
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--instance |
Фильтр по UUID машины. Необязательный параметр. |
--user |
Фильтр по ID или имени пользователя. Необязательный параметр. Может использоваться с параметром --project . |
--group |
Фильтр по ID или имени группы пользователей. Необязательный параметр. Может использоваться с параметром --project . |
--project |
Фильтр по ID или имени проекта. Необязательный параметр. Может использоваться с параметрами --user и --group . |
Пример получения списка назначенных на заданного пользователя TRS машин по имени пользователя:
openstack aos assignment list --user demo
Пример вывода:
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|ID|User_id |Username|Instance_uuid |Instance name |
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|30|4624d46153f04fdb963a16754f8b5d0a|demo |2981823a-c11e-41cd-8140-5fe6902f4e4e|e56859b8-bdb2-4655-afcc-2b0a9a776975|
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|31|4624d46153f04fdb963a16754f8b5d0a|demo |8370524f-f46c-47f5-9075-c0cef7fbc52c|trs2_2018-06-21_16:15:48 |
+--+--------------------------------+--------+------------------------------------+------------------------------------+
Пример получения списка назначенных на заданного пользователя в заданном проекте TRS машин по ID пользователя и имени проекта:
openstack aos assignment list --user demo --project demo
Пример вывода:
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|ID|User_id |Username|Instance_uuid |Instance name |
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|30|4624d46153f04fdb963a16754f8b5d0a|demo |2981823a-c11e-41cd-8140-5fe6902f4e4e|e56859b8-bdb2-4655-afcc-2b0a9a776975|
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|31|4624d46153f04fdb963a16754f8b5d0a|demo |8370524f-f46c-47f5-9075-c0cef7fbc52c|trs2_2018-06-21_16:15:48 |
+--+--------------------------------+--------+------------------------------------+------------------------------------+
Пример получения списка назначенных на заданную TRS машину пользователей по имени машины:
openstack aos assignment list --instance 2981823a-c11e-41cd-8140-5fe6902f4e4e
Пример вывода:
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|ID|User_id |Username|Instance_uuid |Instance name |
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|30|4624d46153f04fdb963a16754f8b5d0a|demo |2981823a-c11e-41cd-8140-5fe6902f4e4e|e56859b8-bdb2-4655-afcc-2b0a9a776975|
+--+--------------------------------+--------+------------------------------------+------------------------------------+
|32|a198a0379e034a61b4a98167057b728a|admin |2981823a-c11e-41cd-8140-5fe6902f4e4e|e56859b8-bdb2-4655-afcc-2b0a9a776975|
+--+--------------------------------+--------+------------------------------------+------------------------------------+
Удаление назначения между пользователями и TRS машинами в текущем домене¶
Позволяет удалить назначение между пользователями и TRS машинами.
Команда:
openstack aos assignment delete
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. |
--instance <instance> |
UUID TRS машины. Обязательный параметр. |
--user <user> |
Имя или ID пользователя. Обязателен, если не указана группа. |
--group <group> |
Имя или ID группы. Обязателен, если не указан пользователь. |
Пример удаления назначения между пользователем и TRS машиной в текущем домене по имени пользователя и UUID машины:
openstack aos assignment delete --user admin --instance 2981823a-c11e-41cd-8140-5fe6902f4e4e
Пример вывода:
Назначение пользователя успешно удалено.
Пример удаления назначения между группой пользователей и TRS машиной в текущем домене по имени группы и UUID машины:
openstack aos assignment add --group managers --instance 8370524f-f46c-47f5-9075-c0cef7fbc52c
Пример вывода:
Назначение группы успешно удалено.