Интерфейс командной строки DeckCrew CLI

Для использования DeckCrew CLI необходимо зайти на узел развёртывания.

Выполните команду для получения справки по использованию DeckCrew CLI: dctl --help.

Глобальные настройки

global set

Описание

Установить глобальные настройки для развёртывания

Использование

$ dctl global set --help
usage: dctl global set [-h] [--interactive true|false]

options:
  -h, --help            show this help message and exit
  --interactive true|false
                        Define behaviour on failure
Пример
$ dctl global set --interactive false
Параметры

Имя

Обязательный

Описание

interactive

Нет

Настроить интерактивный режим работы cotea. По умолчанию: true

Результат

Пустая строка, если команда выполнена успешно.

Планирование дисковых устройств

node drive-plan list

Описание

Вывести список планов дисковых устройств, которые могут быть применены к узлам.

Использование

$ dctl drive-plan list --help
 usage: dctl drive-plan list [-h] [-f {json,yaml,table}] [-s SORT_BY]

 options:
 -h, --help            show this help message and exit
 -f {json,yaml,table}, --format {json,yaml,table}
                         Output format
 -s SORT_BY, --sort-by SORT_BY
                         Sort by fields
Пример
$ dctl drive-plan list
+----------------+-------------------------------------------------------+-------------------------------------------------------+
| name           | path                                                  | description                                           |
+----------------+-------------------------------------------------------+-------------------------------------------------------+
| nova_instances | /etc/deckcrew/drives_config_plans/nova_instances.yaml | Plan for NovaInstances: mount /var/lib/nova/instances |
| glance         | /etc/deckcrew/drives_config_plans/glance.yaml         | Plan for Glance: mount /var/lib/glance                |
| raid1          | /etc/deckcrew/drives_config_plans/raid1.yaml          | Plan for Raid1: add /dev/md127                        |
| vg             | /etc/deckcrew/drives_config_plans/vg.yaml             | Plan for Vg: add /dev/vg0                             |
+----------------+-------------------------------------------------------+-------------------------------------------------------+
Результат

Имя

Описание

Значение

name

Имя плана дисковых устройств

nova_instances, glance, raid1, vg

path

Путь к файлу плана дисковых устройств

Путь в папке /etc/deckcrew/drives_config_plans/

description

Описание плана дисковых устройств

Plan for *

node drive-plan show

Описание

Вывести информацию о конкретном плане дисковых устройств.

Использование

$ dctl drive-plan show --help
 usage: dctl drive-plan show [-h] [-f {json,yaml,table}] [-s SORT_BY] name

 positional arguments:
 name                  Drive plan name

 options:
 -h, --help            show this help message and exit
 -f {json,yaml,table}, --format {json,yaml,table}
                         Output format
 -s SORT_BY, --sort-by SORT_BY
                         Sort by fields
Пример
$ dctl drive-plan show vg
+------------------+----------+---------------+---------------+----------+------+------------+
| name             | parent   | wipe_all_data | is_root_drive | label    | role | discovered |
+------------------+----------+---------------+---------------+----------+------+------------+
| disk1            | /dev/vg0 | True          | False         | None     | None | None       |
| new_volume_group | None     | True          | False         | /dev/vg0 | VG   | False      |
+------------------+----------+---------------+---------------+----------+------+------------+
Результат

Имя

Описание

Значение

name

Имя дискового устройства

a..z, 0-9, _, -

parent

Родительское дисковое устройство

/dev/*

wipe_all_data

Флаг, указывающий, что все данные на дисковом устройстве будут удалены

True, False

is_root_drive

Флаг, указывающий, что дисковое устройство является корневым

True, False

label

Метка дискового устройства

/dev/*

role

Роль дискового устройства

Disk, VG, LVM, RAID, Partition

discovered

Флаг, указывающий, что дисковое устройство уже настроено

True, False

Физические узлы

node list

Описание

Посмотреть список физических узлов в системе

Использование

$ dctl node list --help
usage: dctl node list [-h] [-f {json,yaml,table}] [-s SORT_BY] [--interfaces] [--disks] [--gpus]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  -s SORT_BY, --sort-by SORT_BY
                        Sort by fields
  --interfaces          Show node interfaces
  --disks               Show nodes disks
  --gpus                Show nodes GPUs
Пример
$ dctl node list
Validating license for node eng-101-astd-32-control1
Validating license for node eng-101-astd-32-node1
Validating license for node eng-101-astd-32-node2
+--------------------------+--------+----------+---------------+----------+---------------+----------+----------+
| name                     | state  | power    | address       | hostname | introspection | licensed | running |
+--------------------------+--------+----------+---------------+----------+---------------+----------+----------+
| eng-101-astd-32-control1 | active | power on | 10.197.156.21 | None     | finished      | True     | None     |
| eng-101-astd-32-node1    | active | power on | 10.197.156.24 | None     | finished      | True     | None     |
| eng-101-astd-32-node2    | active | power on | 10.197.156.25 | None     | finished      | True     | None     |
+--------------------------+--------+----------+---------------+----------+---------------+----------+----------+
Результат

Имя

Описание

Значение

name

Имя узла в системе

a..z, A..Z

state

Состояние узла в системе

active, manageable, available, inspect, deploy, clean, deleted

power

Состояние питания узла

power on, power off

address

IP адрес узла

254.254.254.254

hostname

Имя хоста узла

a..z, A..Z

introspection

Состояние интроспекции узла

waiting, running, finished

licensed

Состояние лицензии узла

True, False

running

Текущая выполняемая операция над узлом

a..z, A..Z

node create

Описание

Завести данные о физическом узле в системе при помощи BMC или SSH

Использование

$ dctl node create --help
usage: dctl node create [-h] [--no-bmc] [--bmc-type {ipmi,idrac,ilo}] [--user USER] --address ADDRESS
                        [--password PASSWORD] [--pxe-mac PXE_MAC]
                        name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  --no-bmc              If set then BMC will not be used. And node will be assumed to have installed OS
                        and IP-address for connection.
  --bmc-type {ipmi,idrac,ilo}
                        BMC type
  --user USER           BMC or SSH login username
  --address ADDRESS     BMC or SSH IPv4 address
  --password PASSWORD   BMC or SSH login password
  --pxe-mac PXE_MAC     MAC address of the PXE interface (only for BMC node)
Пример
$ dctl node create --bmc-type ipmi --user root --address 192.168.0.100 --password secret --pxe-mac 00:11:22:33:44:55 node1
$ dctl node create --no-bmc --user admin --address 192.168.0.101 node2
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

no-bmc

Нет

Не использовать BMC для узла. По умолчанию: false

bmc-type

Нет

Тип BMC. По умолчанию: ipmi (Только для BMC) Один из: ipmi, idrac, ilo

user

Нет

Имя пользователя BMC или SSH

address

Да

IPv4 адрес BMC или SSH

password

Нет

Пароль BMC или SSH

pxe-mac

Нет

MAC адрес PXE интерфейса (Только для BMC)

Результат

Пустая строка, если команда выполнена успешно.

node show

Описание

Посмотреть данные о физическом узле в системе

Использование

$ dctl node show --help
 usage: dctl node show [-h] [-f {json,yaml,table}] name

 positional arguments:
   name                  Node name

 options:
   -h, --help            show this help message and exit
   -f {json,yaml,table}, --format {json,yaml,table}
                         Output format
Пример
$ dctl node show eng-101-astd-32-control1
Validating license for node eng-101-astd-32-control1
+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field               | Value                                                                                                                                                                                                                                                                                                                                |
+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name                | eng-101-astd-32-control1                                                                                                                                                                                                                                                                                                             |
| uuid                | 8ebdfff2-3069-41da-892d-7b05a64904c5                                                                                                                                                                                                                                                                                                 |
| managed             | False                                                                                                                                                                                                                                                                                                                                |
| driver_info         | None                                                                                                                                                                                                                                                                                                                                 |
| pxe_mac             | None                                                                                                                                                                                                                                                                                                                                 |
| assignment          | demo                                                                                                                                                                                                                                                                                                                                 |
| address             | 10.197.156.21                                                                                                                                                                                                                                                                                                                        |
| hostname            | None                                                                                                                                                                                                                                                                                                                                 |
| introspection       | finished                                                                                                                                                                                                                                                                                                                             |
| state               | active                                                                                                                                                                                                                                                                                                                               |
| power               | power on                                                                                                                                                                                                                                                                                                                             |
| maintained          | False                                                                                                                                                                                                                                                                                                                                |
| licensed            | True                                                                                                                                                                                                                                                                                                                                 |
| license_reason      |                                                                                                                                                                                                                                                                                                                                      |
| cpu_info            | {"model": "Intel Xeon Processor (Skylake, IBRS)", "frequency": 0, "count": 4, "arch": "x86_64", "proc": [{"model": "Intel Xeon Processor (Skylake, IBRS)", "cores": 4, "threads_per_core": 1, "arch": "x86_64", "frequency": 0, "count": 1}]}                                                                                        |
| memory              | 18 GB                                                                                                                                                                                                                                                                                                                                |
| numa_topology       | {"ram": [{"numa_node": 0, "size_kb": 18406136}], "cpus": [{"thread_siblings": [3], "cpu": 3, "numa_node": 0}, {"thread_siblings": [1], "cpu": 1, "numa_node": 0}, {"thread_siblings": [2], "cpu": 2, "numa_node": 0}, {"thread_siblings": [0], "cpu": 0, "numa_node": 0}], "nics": [], "nodes": [{"cpu_count": 4, "cpu_mask": "f"}]} |
| kernel_args         |                                                                                                                                                                                                                                                                                                                                      |
| reboot_after_setup  | False                                                                                                                                                                                                                                                                                                                                |
| hugepages           | {}                                                                                                                                                                                                                                                                                                                                   |
| reserved_huge_pages | None                                                                                                                                                                                                                                                                                                                                 |
| isolcpus            |                                                                                                                                                                                                                                                                                                                                      |
| cpu_dedicated_set   | None                                                                                                                                                                                                                                                                                                                                 |
| cpu_shared_set      | None                                                                                                                                                                                                                                                                                                                                 |
+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Имя

Описание

Значение

name

Имя узла в системе

a..z, A..Z

uuid

уникальный UUID системы физического узла

00000000-0000-0000-0000-000000000000

managed

Управляется ли узел через BMC

True, False

driver_info

Информация о драйвере узла в системе. Отсутствует, если узел не управляется через BMC

{}

pxe_mac

MAC адрес PXE интерфейса узла в системе. Отсутствует, если узел не управляется через BMC

00:11:22:33:44:55

assignment

Деплой, в рамках которого разворачивается узел

a..z, A..Z

address

IP адрес узла

254.254.254.254

hostname

Имя хоста узла

a..z, A..Z

introspection

Состояние интроспекции узла

waiting, running, finished

state

Состояние узла в системе

active, manageable, available, inspect, deploy, clean, deleted

power

Состояние питания узла

power on, power off

maintained

Находится ли узел в режиме обслуживания в системе

True, False

licensed

Состояние лицензии узла

True, False

license_reason

Причина состояния лицензии узла

a..z, A..Z

node set

Описание

Изменить дополнительные параметры физического узла

Использование

$ dctl node set --help
usage: dctl node set [-h] [--kernel-args KERNEL_ARGS] [--reboot-after-setup true|false]
                    [--hugepages JSON or 'k1=v1,k2=v2...']
                    [--reserved-huge-pages JSON or 'k1=v1,k2=v2...'] [--isolcpus ISOLCPUS]
                    [--cpu-dedicated-set CPU_DEDICATED_SET] [--cpu-shared-set CPU_SHARED_SET]
                    name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  --kernel-args KERNEL_ARGS
                        Extra kernel arguments to be set for the node
  --reboot-after-setup true|false
                        Reboot node after setup
  --hugepages JSON or 'k1=v1,k2=v2...'
                        Hugepages configuration for the node. E.g.: '{"2048": {"count": 100, "default":
                        false}, "1048576": {"count": 100, "default": true}}'
  --reserved-huge-pages JSON or 'k1=v1,k2=v2...'
                        Reserved hugepages configuration for the node. E.g.:
                        '["node:0,size:2048,count:64","node:1,size:1GB,count:1"]'
  --isolcpus ISOLCPUS   Isolated CPUs configuration for the node. E.g.: '0-3,8-11'
  --cpu-dedicated-set CPU_DEDICATED_SET
                        Dedicated CPUs configuration for the node. E.g.: '4-12,^8,15'
  --cpu-shared-set CPU_SHARED_SET
                        Shared CPUs configuration for the node. E.g.: '8,13-16,^15'
Пример
$ dctl node set node1 --kernel-args "quiet splash" --reboot-after-setup true
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

kernel-args

Нет

Дополнительные аргументы ядра для узла

reboot-after-setup

Нет

Перезагрузить узел после настройки. По умолчанию: false

hugepages

Нет

Настроить hugepages для узла.

reserved-huge-pages

Нет

Настроить reserved hugepages для OpenStack Nova.

isolcpus

Нет

Настроить isolated CPUs для tuned.

cpu-dedicated-set

Нет

Настроить dedicated CPUs для OpenStack Nova.

cpu-shared-set

Нет

Настроить shared CPUs для OpenStack Nova.

Результат

Пустая строка, если команда выполнена успешно.

node unset

Описание

Изменить дополнительные параметры физического узла

Использование

$ dctl node unset --help
usage: dctl node unset [-h] [--kernel-args] [--hugepages] [--reserved-huge-pages] [--isolcpus]
                      [--cpu-dedicated-set] [--cpu-shared-set]
                      name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  --kernel-args         Unset extra kernel arguments for the node
  --hugepages           Unset hugepages configuration for the node
  --reserved-huge-pages
                        Unset reserved hugepages configuration for the node
  --isolcpus            Unset isolated CPUs configuration for the node
  --cpu-dedicated-set   Unset dedicated CPUs configuration for the node
  --cpu-shared-set      Unset shared CPUs configuration for the node
Пример
$ dctl node unset node1 --kernel-args --hugepages --isolcpus
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

kernel-args

Нет

Удалить дополнительные аргументы ядра для узла

hugepages

Нет

Удалить настройку hugepages для узла

reserved-huge-pages

Нет

Удалить настройку reserved hugepages для OpenStack Nova

isolcpus

Нет

Удалить настройку isolated CPUs для tuned

cpu-dedicated-set

Нет

Удалить настройку dedicated CPUs для OpenStack Nova

cpu-shared-set

Нет

Удалить настройку shared CPUs для OpenStack Nova

Результат

Пустая строка, если команда выполнена успешно.

node delete

Описание

Удалить физический узел из системы

Использование

$ dctl node delete --help
 usage: dctl node delete [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node delete node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node status

Описание

Показать статус операций над физическим узлом.

Использование

$ dctl node status --help
usage: dctl node status [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl node status test-node
+----------------+---------------------+
| Field          | Value               |
+----------------+---------------------+
| last_operation | introspect          |
| exit_code      | 0                   |
| finished_at    | 2026-09-21 11:38:22 |
+----------------+---------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Имя

Описание

Значение

last_operation

Последняя операция над узлом

a..z, A..Z

running

Текущая выполняемая операция над узлом

a..z, A..Z

pid

PID процесса текущей операции над узлом

0..9

started_at

Время начала текущей операции над узлом

YYYY-MM-DD HH:MM:SS

exit_code

Код завершения последней операции над узлом

0..9

finished_at

Время завершения последней операции над узлом

YYYY-MM-DD HH:MM:SS

node wait

Описание

Ожидать завершения текущей операции над физическим узлом. Эта команда позволяет пропускать или перезапускать таски, если операция выполняется при помощи Ansible.

Использование

$ dctl node wait --help
usage: dctl node wait [-h] name

positional arguments:
  name        Node name

options:
  -h, --help  show this help message and exit
Пример
$ dctl node wait node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Логи выполнения операции

node stop

Описание

Остановить выполнение текущей операции над физическим узлом.

Использование

$ dctl node stop --help
usage: dctl node stop [-h] name

positional arguments:
  name        Node name

options:
  -h, --help  show this help message and exit
Пример
$ dctl node stop node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node interface list

Описание

Вывести список сетевых интерфейсов физического узла.

Использование

$ dctl node interface list --help
usage: dctl node interface list [-h] [-f {json,yaml,table}] [-s SORT_BY] name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  -s SORT_BY, --sort-by SORT_BY
                        Sort by fields
Пример
$ dctl node interface list eng-101-astd-32-control1
+------+-------------------+------------+------+--------------+------+---------+
| name | mac               | driver     | link | capabilities | role | pci     |
+------+-------------------+------------+------+--------------+------+---------+
| ens3 | fa:16:3e:32:00:21 | virtio_net | up   | []           | None | virtio1 |
| ens4 | fa:16:3e:32:01:21 | virtio_net | up   | []           | nic  | virtio2 |
+------+-------------------+------------+------+--------------+------+---------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Имя

Описание

Значение

name

Имя сетевого интерфейса узла

a..z, A..Z

mac

MAC адрес сетевого интерфейса узла

00:11:22:33:44:55

driver

Драйвер сетевого интерфейса узла

a..z, A..Z

link

Состояние сетевого интерфейса узла

up, down

capabilities

Возможности сетевого интерфейса узла

[]

role

Роль сетевого интерфейса узла

nic, sriov, switchdev, passthrough, sriov_and_switchdev, vf, representor, dpdk

pci

PCI адрес сетевого интерфейса узла

a..z, A..Z, 0..9, :, .

node interface show

Описание

Вывести данные о сетевом интерфейсе физического узла.

Использование

$ dctl node interface show --help
usage: dctl node interface show [-h] [-f {json,yaml,table}] name nic_name

positional arguments:
  name                  Node name
  nic_name              NIC name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl node interface show eng-101-astd-32-control1 ens4
+--------------+-----------------------------------------------------------------------------------------------------------+
| Field        | Value                                                                                                     |
+--------------+-----------------------------------------------------------------------------------------------------------+
| name         | ens4                                                                                                      |
| mac          | fa:16:3e:32:01:21                                                                                         |
| driver       | virtio_net                                                                                                |
| link         | up                                                                                                        |
| speed        | 0                                                                                                         |
| capabilities | []                                                                                                        |
| role         | nic                                                                                                       |
| nic_number   | 1                                                                                                         |
| pci          | {"name": "ens4", "address": "virtio2", "vendor_id": "1af4", "product_id": "0001", "driver": "virtio_net"} |
| support      | ["passthrough", "dpdk"]                                                                                   |
+--------------+-----------------------------------------------------------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

nic_name

Да

Имя сетевого интерфейса узла

Результат

Имя

Описание

Значение

name

Имя сетевого интерфейса узла

a..z, A..Z, 0..9

mac

MAC адрес сетевого интерфейса узла

00:11:22:33:44:55

driver

Драйвер сетевого интерфейса узла

a..z, A..Z

link

Состояние сетевого интерфейса узла

up, down

speed

Скорость сетевого интерфейса узла

0, 10, 100, 1000, 10000

capabilities

Возможности сетевого интерфейса узла

[]

role

Роль сетевого интерфейса узла

nic, sriov, switchdev, passthrough, sriov_and_switchdev, vf, representor, dpdk

nic_number

Номер сетевого интерфейса для организации порядка интерфейсов в сетевых планах

0..9

pci

PCI адрес сетевого интерфейса узла

a..z, A..Z, 0..9, :, .

support

Поддерживаемые роли сетевого интерфейса узла

nic, sriov, switchdev, passthrough, sriov_and_switchdev, vf, representor, dpdk

node interface set

Описание

Изменить данные о сетевом интерфейсе физического узла.

Использование

$ dctl node interface set --help
usage: dctl node interface set [-h]
                              [--role {nic,sriov,switchdev,passthrough,sriov_and_switchdev,vf,representor,dpdk}]
                              [--nic-number NIC_NUMBER] [--numvfs NUMVFS] [--mtu MTU]
                              [--physical-network PHYSICAL_NETWORK]
                              name nic_name

positional arguments:
  name                  Node name
  nic_name              NIC name

options:
  -h, --help            show this help message and exit
  --role {nic,sriov,switchdev,passthrough,sriov_and_switchdev,vf,representor,dpdk}
                        Set NIC role
  --nic-number NIC_NUMBER
                        Set NIC system number (only for SYSTEM role)
  --numvfs NUMVFS       Set number of VFs (only for SRIOV role)
  --mtu MTU             Set NIC MTU
  --physical-network PHYSICAL_NETWORK
                        Set physical network name (only for SRIOV role)
Пример
$ dctl node interface set eng-101-astd-32-control1 ens4 --nic-number 1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

nic_name

Да

Имя сетевого интерфейса узла

role

Нет

Роль сетевого интерфейса. Один из: nic, sriov, switchdev, passthrough, sriov_and_switchdev, vf, representor, dpdk

nic_number

Нет

Номер сетевого интерфейса для организации порядка интерфейсов в сетевых планах. Только для роли nic

numvfs

Нет

Количество виртуальных функций сетевого интерфейса. Только для ролей sriov и sriov_and_switchdev

mtu

Нет

MTU сетевого интерфейса узла в системе. Не используется для роли nic, так как настройка MTU производится на уровне операционной системы.

physical_network

Нет

Имя физической сети для сервиса OpenStack Neutron. Не используется для ролей nic и passthrough

Результат

Пустая строка, если команда выполнена успешно.

node interface unset

Описание

Удалить данные о сетевом интерфейсе физического узла.

Использование

$ dctl node interface unset --help
usage: dctl node interface unset [-h] [--role] [--nic-number] [--numvfs] [--mtu] [--physical-network]
                                name nic_name

positional arguments:
  name                Node name
  nic_name            NIC name

options:
  -h, --help          show this help message and exit
  --role              Unset NIC role
  --nic-number        Unset NIC system number
  --numvfs            Unset number of VFs
  --mtu               Unset NIC MTU
  --physical-network  Unset physical network name
Пример
$ dctl node interface unset eng-101-astd-32-control1 ens4 --nic-number
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

nic_name

Да

Имя сетевого интерфейса узла

role

Нет

Удалить роль сетевого интерфейса узла

nic_number

Нет

Удалить номер сетевого интерфейса для организации порядка интерфейсов в сетевых планах

numvfs

Нет

Удалить количество виртуальных функций сетевого интерфейса узла

mtu

Нет

Удалить MTU сетевого интерфейса узла

physical_network

Нет

Удалить имя физической сети для сервиса OpenStack Neutron

Результат

Пустая строка, если команда выполнена успешно.

node drive list

Описание

Вывести список дисков физического узла.

Использование

$ dctl node drive list --help
usage: dctl node drive list [-h] [-f {json,yaml,table}] [-s SORT_BY] name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  -s SORT_BY, --sort-by SORT_BY
                        Sort by fields
Пример
$ dctl node drive list eng-101-astd-32-control1
+----------+---------------+------------+---------+-------+--------+
| label    | is_root_drive | discovered | size_gb | model | parent |
+----------+---------------+------------+---------+-------+--------+
| /dev/vda | True          | True       | 40      | None  | None   |
| /dev/vdb | False         | True       | 60      | None  | None   |
+----------+---------------+------------+---------+-------+--------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Имя

Описание

Значение

label

Имя диска узла

/dev*

is_root_drive

Является ли диск корневым

True, False

discovered

Является ли диск обнаруженным

True, False

size_gb

Размер диска в ГБ

0..9

model

Модель диска узла

a..z, A..Z

parent

Родительский диск узла

/dev/*

node drive apply

Описание

Применить план для изменения дисков физического узла.

Использование

$ dctl node drive apply --help
usage: dctl node drive apply [-h] --plan PLAN --name-label-map NAME_LABEL_MAP name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  --plan PLAN           Plan name to apply
  --name-label-map NAME_LABEL_MAP
                        Mapping of drive names to labels in key=value format or JSON
Пример
$ dctl node drive apply node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

plan

Да

Имя плана для применения

name-label-map

Да

Сопоставление имен дисков с метками в формате key=value или JSON

Результат

Логи выполнения операции

node drive show

Описание

Вывести данные о диске физического узла.

Использование

$ dctl node drive show --help
usage: dctl node drive show [-h] [-f {json,yaml,table}] name drive_name

positional arguments:
  name                  Node name
  drive_name            Drive name to operate on

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl node drive show eng-101-astd-32-control1 /dev/vda
+----------------------+------------------------------------+
| Field                | Value                              |
+----------------------+------------------------------------+
| name                 | /dev/vda                           |
| model                | None                               |
| rotational           | True                               |
| wwn                  | None                               |
| serial               | e622bb41-6f31-41a4-a               |
| vendor               | 0x1af4                             |
| wwn_with_extension   | None                               |
| wwn_vendor_extension | None                               |
| hctl                 | None                               |
| by_path              | /dev/disk/by-path/pci-0000:00:09.0 |
| label                | /dev/vda                           |
| role                 | Disk                               |
| discovered           | True                               |
| is_root_drive        | True                               |
| wipe_all_data        | True                               |
| size_gb              | 40                                 |
+----------------------+------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

drive_name

Да

Имя диска в системе

Результат

Имя

Описание

Значение

name

Имя диска

a..z, A..Z, 0..9, /

model

Модель диска

a..z, A..Z, 0..9

rotational

Является ли диск вращающимся

True, False

wwn

WWN диска

a..z, A..Z, 0..9

serial

Серийный номер диска

a..z, A..Z, 0..9

vendor

Вендор диска

a..z, A..Z, 0..9

wwn_with_extension

WWN диска с расширением

a..z, A..Z, 0..9

wwn_vendor_extension

Расширение WWN диска

a..z, A..Z, 0..9

hctl

HCTL диска

a..z, A..Z, 0..9

by_path

Путь к диску

a..z, A..Z, 0..9, /, :, .

label

Путь к диску

/dev/*

role

Роль диска

Disk, RAID, Partition, LVM, VG

discovered

Является ли диск обнаруженным

True, False

is_root_drive

Является ли диск корневым

True, False

wipe_all_data

Удалить ли все данные на диске

True, False

size_gb

Размер диска в ГБ

0..9

node drive set

Описание

Изменить данные о диске физического узла.

Использование

$ dctl node drive set --help
usage: dctl node drive set [-h] [--root-drive] [--wipe-all-data {true,false}]
                          [--mount-point MOUNT_POINT] [--filesystem {ext4}] [--parent PARENT]
                          [--raid-type {raid0,raid1,raid5,raid6,raid10}] [--size SIZE] [--discovered]
                          name drive_name

positional arguments:
  name                  Node name
  drive_name            Drive name to operate on

options:
  -h, --help            show this help message and exit
  --root-drive          Set the drive as the root drive
  --wipe-all-data {true,false}
                        Set wipe_all_data option for the drive
  --mount-point MOUNT_POINT
                        Set mount point for the drive. Must be an absolute path.
  --filesystem {ext4}   Set filesystem for the drive
  --parent PARENT       Set parent drive name for the drive
  --raid-type {raid0,raid1,raid5,raid6,raid10}
                        Set RAID type for the drive.
  --size SIZE           Set size for the drive in GB.
  --discovered          Set the drive as discovered, meaning it was already present on the node and
                        will not be modified.
Пример
$ dctl node drive set node1 /dev/sda --parent /dev/vg0 --wipe-all-data true
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

drive_name

Да

Имя диска в системе

root-drive

Нет

Установить диск как корневой

wipe-all-data

Нет

Установить опцию удаления всех данных на диске

mount-point

Нет

Установить точку монтирования для диска. Должен быть абсолютный путь.

filesystem

Нет

Установить файловую систему для диска. Поддерживается только ext4.

parent

Нет

Установить имя родительского диска для диска

raid-type

Нет

Установить тип RAID для диска. Один из: raid0, raid1, raid5, raid6, raid10

size

Нет

Установить размер диска в ГБ (не поддерживается для роли Disk)

discovered

Нет

Установить диск как обнаруженный, что означает, что он уже присутствовал на узле и не будет изменен.

Результат

Пустая строка, если команда выполнена успешно.

node drive unset

Описание

Удалить данные о диске физического узла.

Использование

$ dctl node drive unset --help
usage: dctl node drive unset [-h] [--mount-point] [--filesystem] [--parent] [--raid-type]
                            name drive_name

positional arguments:
  name           Node name
  drive_name     Drive name to operate on

options:
  -h, --help     show this help message and exit
  --mount-point  Unset mount point for the drive
  --filesystem   Unset filesystem for the drive
  --parent       Unset parent drive name for the drive
  --raid-type    Unset RAID type for the drive
Пример
$ dctl node drive unset node1 /dev/sda --parent
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

drive_name

Да

Имя диска в системе

mount-point

Нет

Удалить точку монтирования для диска

filesystem

Нет

Удалить файловую систему для диска

parent

Нет

Удалить имя родительского диска для диска

raid-type

Нет

Удалить тип RAID для диска

Результат

Пустая строка, если команда выполнена успешно.

node drive add

Описание

Добавить диск к физическому узлу.

Использование

$ dctl node drive add --help
usage: dctl node drive add [-h] --role {Disk,RAID,Partition,LVM,VG} [--drive-name DRIVE_NAME]
                          [--parent PARENT]
                          name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  --role {Disk,RAID,Partition,LVM,VG}
                        Role of the drive
  --drive-name DRIVE_NAME
                        Name of the drive. Unsupported for partition role.
  --parent PARENT       Parent drive name for partition role. Required for LVM and partition roles.
Пример
$ dctl node drive add node1 /dev/vg0/vg0-lv0 --role LVM --parent /dev/vg0
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

role

Да

Роль диска. Один из: Disk, RAID, Partition, LVM, VG

drive-name

Нет

Имя диска. Не поддерживается для роли Partition

parent

Нет

Имя родительского диска для роли Partition. Обязателен для ролей LVM и Partition

Результат

Пустая строка, если команда выполнена успешно.

node drive remove

Описание

Удалить диск с физического узла.

Использование

$ dctl node drive remove --help
usage: dctl node drive remove [-h] name drive_name

positional arguments:
  name        Node name
  drive_name  Drive name to operate on

options:
  -h, --help  show this help message and exit
Пример
$ dctl node drive remove node1 /dev/vg0/vg0-lv0
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

drive-name

Нет

Имя диска. Не поддерживается для роли Partition

Результат

Пустая строка, если команда выполнена успешно.

node gpu list

Описание

Вывести список ГПУ физического узла.

Использование

$ dctl node gpu list --help
usage: dctl node gpu list [-h] [-f {json,yaml,table}] [-s SORT_BY] name

positional arguments:
  name                  Node name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  -s SORT_BY, --sort-by SORT_BY
                        Sort by fields
Пример
$ dctl node gpu list node1
+---------+--------------+-----------+------------+-------------+-------+--------+---------+---------+
| name    | display_name | vendor_id | product_id | device_type | count | active | used_as | trusted |
+---------+--------------+-----------+------------+-------------+-------+--------+---------+---------+
| ga102gl | 10de:2236    | 10de      | 2236       | type-PF     | 1     | True   | gpu     | True    |
+---------+--------------+-----------+------------+-------------+-------+--------+---------+---------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Имя

Описание

Значение

name

Имя ГПУ узла в системе (оно же используется как PCI alias в OpenStack Nova)

a..z, A..Z, 0..9

display_name

Отображаемое имя ГПУ узла (используйте это имя для остальных команд управления ГПУ узла)

a..z, A..Z, 0..9

vendor_id

Вендор ГПУ узла

a..z, A..Z, 0..9

product_id

Продукт ГПУ узла

a..z, A..Z, 0..9

device_type

Тип устройства ГПУ узла

type-PF, type-PCI, type-VF

count

Количество ГПУ узла

0..9

active

Включённость ГПУ для использования OpenStack Nova

True, False

used_as

Использование ГПУ узла

gpu

trusted

Доверенность ГПУ узла

True, False

node gpu add

Описание

Добавить ГПУ физического узла для использования OpenStack Nova.

Использование

$ dctl node gpu add --help
usage: dctl node gpu add [-h] name gpu_ids

positional arguments:
  name        Node name
  gpu_ids     GPU vendor:product IDs (e.g. 10de:1eb8)

options:
  -h, --help  show this help message and exit
Пример
$ dctl node gpu add node1 10de:1eb8
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

gpu_ids

Да

Идентификаторы ГПУ в формате vendor:product (например, 10de:1eb8)

Результат

Пустая строка, если команда выполнена успешно.

node gpu remove

Описание

Запретить использовать OpenStack Nova ГПУ физического узла.

Использование

$ dctl node gpu remove --help
usage: dctl node gpu remove [-h] name gpu_ids

positional arguments:
  name        Node name
  gpu_ids     GPU vendor:product IDs (e.g. 10de:1eb8)

options:
  -h, --help  show this help message and exit
Пример
$ dctl node gpu remove node1 10de:1eb8
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

gpu_ids

Да

Идентификаторы ГПУ в формате vendor:product (например, 10de:1eb8)

Результат

Пустая строка, если команда выполнена успешно.

node introspect

Описание

Запустить интроспекцию физического узла.

Использование

$ dctl node introspect --help
 usage: dctl node introspect [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node introspect node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node maintain

Описание

Перевести узел в режим обслуживания.

Использование

$ dctl node maintain --help
 usage: dctl node maintain [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node maintain node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node unmaintain

Описание

Перевести узел из режима обслуживания в обычный режим.

Использование

$ dctl node unmaintain --help
 usage: dctl node unmaintain [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node unmaintain node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node power-off

Описание

Выключить питание физического узла.

Использование

$ dctl node power-off --help
 usage: dctl node power-off [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node power-off node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node power-on

Описание

Включить питание физического узла. Используется только для узлов управляемых через BMC.

Использование

$ dctl node power-on --help
 usage: dctl node power-on [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node power-on node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node reboot

Описание

Перезагрузить физический узел.

Использование

$ dctl node reboot --help
 usage: dctl node reboot [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node reboot node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node manage

Описание

Перевести узел в состояние manageable.

Использование

$ dctl node manage --help
 usage: dctl node manage [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node manage node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node provide

Описание

Перевести узел в состояние available.

Использование

$ dctl node provide --help
 usage: dctl node provide [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node provide node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node undeploy

Описание

Удалить данные Ironic о развёртывании baremetal узла. Используется только если узел находится в состоянии error или deploy failed.

Использование

$ dctl node undeploy --help
 usage: dctl node undeploy [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node undeploy node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node clean

Описание

Очистить диски физического узла. Используется только для узлов управляемых через BMC и не находящихся в состоянии active.

Использование

$ dctl node clean --help
 usage: dctl node clean [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node clean node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

node drives-configure

Описание

Запустить настройку дисков на физическом узле. Используется только если узел находится в состоянии active.

Использование

$ dctl node drives-configure --help
 usage: dctl node drives-configure [-h] name

 positional arguments:
   name        Node name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl node drives-configure node1
Параметры

Имя

Обязательный

Описание

name

Да

Имя узла в системе

Результат

Пустая строка, если команда выполнена успешно.

Лицензирование

license resource list

Описание

Вывести список ресурсов лицензии.

Использование

$ dctl license resource list --help
usage: dctl license resource list [-h] [-f {json,yaml,table}] [--node NODE] [--available]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --node NODE           Get sealed resources for a specific node by name
  --available           Get unsealed resources matched to a specific node. Use with --node
Пример
$ dctl license resource list
+---------------+--------------------------------------+-------+------------------------------------+---------------------------+----------------------------------------------------------------------------------+--------+-----------+
| resource_type | resource_uuid                        | count | attributes                         | added_at                  | node_uuids                                                                       | sealed | available |
+---------------+--------------------------------------+-------+------------------------------------+---------------------------+----------------------------------------------------------------------------------+--------+-----------+
| ceph_nodes    | 7da15700-5c3b-4406-9a34-87ef3b86bf03 | 3     | {"storage_name": "storage"}        | 2026-06-02T12:14:43+00:00 | []                                                                               | 0      | 3         |
| compute_nodes | 1d48abe2-1253-437b-ad5d-dbf0825155eb | 2     | {"cpu_cores": -1, "gpu_count": -1} | 2026-06-02T12:14:43+00:00 | ["1358d7bd-1a2f-4c3b-94e1-7b7231197662", "f8b54df1-ea3b-4723-adff-7839ead01ba5"] | 2      | 0         |
| control_nodes | d57689ff-32ca-4f10-9b49-999d1b55bf6b | 3     | {}                                 | 2026-06-02T12:14:43+00:00 | ["4bf22cba-5811-423c-b83d-8501d928d8e9"]                                         | 1      | 2         |
+---------------+--------------------------------------+-------+------------------------------------+---------------------------+----------------------------------------------------------------------------------+--------+-----------+
Параметры

Имя

Обязательный

Описание

node

Нет

Имя сервера, для которого необходимо вывести список ресурсов лицензии

available

Нет

Вывести список ресурсов лицензии, которые могут быть зафиксированы на сервере. Используется вместе с параметром node.

Результат

Имя

Описание

Значение

resource_type

Тип ресурса лицензии.

control_nodes, compute_nodes, ceph_nodes

resource_uuid

UUID ресурса лицензии.

00000000-0000-0000-0000-000000000000

count

Количество ресурсов лицензии данного типа.

0..9

attributes

Атрибуты ресурса лицензии в формате JSON.

{}

added_at

Дата и время добавления ресурса лицензии.

YYYY-MM-DDTHH:MM:SS+00:00

node_uuids

Список UUID серверов, на которых зафиксирован ресурс лицензии.

[]

sealed

Количество ресурсов лицензии данного типа, зафиксированных на серверах.

0..9

available

Количество ресурсов лицензии данного типа, которые могут быть зафиксированы на серверах.

0..9

license resource seal

Описание

Зафиксировать ресурс лицензии на конкретный сервер.

Использование

$ dctl license resource seal --help
usage: dctl license resource seal [-h] resource node

positional arguments:
  resource    Resource uuid
  node        Node name

options:
  -h, --help  show this help message and exit
Пример
$ dctl license resource seal 123456-7890-1234-5678-1234567890ab node1
Параметры

Имя

Обязательный

Описание

resource

Да

UUID ресурса лицензии, который необходимо зафиксировать на сервере.

node

Да

Имя сервера, на котором необходимо зафиксировать ресурс лицензии.

Результат

Пустая строка, если команда выполнена успешно.

license service list

Описание

Вывести список включённых сервисов лицензии.

Использование

$ dctl license service list --help
usage: dctl license service list [-h] [-f {json,yaml,table}]

options:
    -h, --help            show this help message and exit
    -f {json,yaml,table}, --format {json,yaml,table}
                            Output format
Пример
$ dctl license service list
+-----------------+
| AosCloudManager |
| AosMonitor      |
| AosRsServer     |
| BGP             |
| DBMS            |
| DNSaaS          |
| Kubernetes      |
| SFC             |
| Surguch         |
| TRAM            |
| VPNaaS          |
+-----------------+
Результат

Список включённых сервисов лицензии.

Сети

network list

Описание

Посмотреть данные о сетях в системе

Использование

$ dctl network list --help
usage: dctl network list [-h] [-f {json,yaml,table}]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl network list
+--------------+------+---------------------+
| name         | mtu  | subnets             |
+--------------+------+---------------------+
| external     | 1500 | ["10.197.157.0/24"] |
| internal_api | 1450 | ["172.17.155.0/24"] |
| storage      | 1450 | ["172.17.156.0/24"] |
| tenant       | 1500 | ["10.197.158.0/24"] |
+--------------+------+---------------------+
Результат

Имя

Описание

Значение

name

Имя сети

a..z, _

mtu

MTU сети

0..9

subnets

Список подсетей сети

[«CIDR1», «CIDR2», …]

network show

Описание

Посмотреть данные о сети в системе

Использование

$ dctl network show --help
usage: dctl network show [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Network name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl network show external
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field   | Value                                                                                                                                                           |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name    | external                                                                                                                                                        |
| subnets | {"external_subnet": {"ip_subnet": "10.197.157.0/24", "gateway_ip": "10.197.157.1", "allocation_pools": [{"start": "10.197.157.130", "end": "10.197.157.140"}]}} |
| mtu     | 1500                                                                                                                                                            |
| vip     | False                                                                                                                                                           |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Нет

Имя сети

network add

Описание

Добавить новую сеть

Использование

$ dctl network add --help
usage: dctl network add [-h] [--mtu MTU] [--vip] [--service-net-map-replace NETWORK_NAME] --ip-subnet
                        CIDR [--vlan VLAN] [--gateway-ip IPv4] [--routes JSON or 'k1=v1,k2=v2...']
                        [--allocation-pools JSON or 'k1=v1,k2=v2...']
                        name

positional arguments:
  name                  Network name

options:
  -h, --help            show this help message and exit
  --mtu MTU             MTU for the network
  --vip                 Add VIP tag for the network
  --service-net-map-replace NETWORK_NAME
                        Set this network to replace default networks for service net mapping
  --ip-subnet CIDR      Subnet CIDR for the network
  --vlan VLAN           VLAN for the network
  --gateway-ip IPv4     Gateway for the network
  --routes JSON or 'k1=v1,k2=v2...'
                        Routes for the network
  --allocation-pools JSON or 'k1=v1,k2=v2...'
                        Allocation pools for the network
Пример
$ dctl network add --mtu 1500 --ip-subnet 10.197.157.0/24 --gateway-ip 10.197.157.1 \
  --allocation-pools '[{"start": "10.197.157.130", "end": "10.197.157.140"}]' external
Параметры

Имя

Обязательный

Описание

name

Да

Имя новой сети

mtu

Нет

MTU для сети. По умолчанию: 1500

vip

Нет

Добавить тег VIP для сети.

service-net-map-replace

Нет

Использовать сеть в качестве замены для сетей по умолчанию для сопоставления сервисов.

ip-subnet

Да

CIDR сети

vlan

Нет

Номер VLAN

gateway-ip

Нет

Адрес шлюза

routes

Нет

Дополнительные маршруты

allocation-pools

Нет

Пул используемых адресов. Используйте формат JSON

Результат

Пустая строка, если команда выполнена успешно.

network delete

Описание

Удалить сеть из системы

Использование

$ dctl network delete --help
 usage: dctl network delete [-h] name

 positional arguments:
   name        Network name

 options:
   -h, --help  show this help message and exit
Пример
$ dctl network delete external
Параметры

Имя

Обязательный

Описание

name

Да

Имя сети

Результат

Пустая строка, если команда выполнена успешно.

Сетевые планы

Сетевые планы позволяют управлять топологией сети и виртуальными интерфейсами на узлах.

В системе есть заранее подготовленные сетевые планы, которые можно использовать для развёртывания.

Пользователь может создавать свои сетевые планы, которые будут использоваться при развёртывании.

Сетевые планы представлены в формате os-net-config, который является инструментом для настройки сетевых интерфейсов от OpenStack.

См. также

  1. Сетевые планы

netplan list

Описание

Посмотреть список сетевых планов

Использование

$ dctl netplan list --help
usage: dctl netplan list [-h] [-f {json,yaml,table}] [--public] [--default] [--instance INSTANCE]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --public              List public network plans
  --default             List default network plans from tripleo_network_config Ansible role
  --instance INSTANCE   List instance network plans

Без аргументов отображаются только публичные сетевые планы, созданные пользователем. Можно использовать несколько аргументов одновременно.

Пример
$ dctl netplan list
+---------------------+--------------------------------------------------------+
| name                | template                                               |
+---------------------+--------------------------------------------------------+
| mon_openstack_stand | /usr/lib/deckcrew/netplans/demo/mon_openstack_stand.j2 |
+---------------------+--------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

public

Нет

Показать список публичных планов, созданных пользователем

default

Нет

Показать список сетевых планов из Ansible роли tripleo_network_config

instance

Нет

Показать список приватных планов, созданных пользователем

Результат

Имя

Описание

Значение

name

Имя сетевого плана

a..z, _

template

Путь к шаблону сетевого плана

/usr/lib/deckcrew/netplans/*

netplan create

Описание

Создать новый сетевой план

Использование

$ dctl netplan create --help
  usage: dctl netplan create [-h] [-f {json,yaml,table}] [--instance INSTANCE] name

  positional arguments:
    name                  Network plan name

  options:
    -h, --help            show this help message and exit
    -f {json,yaml,table}, --format {json,yaml,table}
                          Output format
    --instance INSTANCE   List instance network plans

По умолчанию создаётся публичный сетевой план. Если указан параметр --instance, то создаётся приватный сетевой план для развёртывания.

Пример
$ dctl netplan create --instance my_instance my_netplan
Параметры

Имя

Обязательный

Описание

name

Да

Имя нового сетевого плана

instance

Нет

Имя развёртывания для создания приватного плана

Результат

Пустая строка, если команда выполнена успешно.

netplan delete

Описание

Удалить сетевой план

Использование

$ dctl netplan delete --help
usage: dctl netplan delete [-h] name

positional arguments:
  name        Network plan name

options:
  -h, --help  show this help message and exit
Пример
$ dctl netplan delete my_instance my_netplan
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

Результат

Пустая строка, если команда выполнена успешно.

netplan vif list

Описание

Посмотреть список виртуальных интерфейсов сетевого плана

Использование

$ dctl netplan vif list --help
usage: dctl netplan vif list [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Netplan vif name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl netplan vif list my_netplan
+-------+------------+-----------+--------------+
| name  | type       | member_of | network      |
+-------+------------+-----------+--------------+
| nic1  | interface  | None      | ctlplane     |
| nic4  | interface  | br-ex     | None         |
| br-ex | ovs_bridge | None      | tenant       |
| nic2  | interface  | None      | external     |
| nic3  | interface  | None      | internal_api |
| nic5  | interface  | None      | storage      |
+-------+------------+-----------+--------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

Результат

Имя

Описание

Значение

name

Имя виртуального интерфейса

a..z, 0..9, _

type

Тип виртуального интерфейса

interface, vlan, ovs_bridge, …

member_of

Другой интерфейс, к которому привязан виртуальный интерфейс

a..z, 0..9, _

network

Имя сети для адресации виртуального интерфейса

a..z, 0..9, _

netplan vif add

Описание

Добавить виртуальный интерфейс в сетевой план

Использование

$ dctl netplan vif add --help
usage: dctl netplan vif add [-h] --type TYPE [--network NETWORK] [--with-routes]
                            [--member-of MEMBER_OF] [--property PROPERTY]
                            name vif_name

positional arguments:
  name                  Netplan vif name
  vif_name              Name of the VIF

options:
  -h, --help            show this help message and exit
  --type TYPE           Type of the VIF
  --network NETWORK     Network to which the VIF belongs
  --with-routes         Configure routes for the VIF
  --member-of MEMBER_OF
                        Group to which the VIF belongs
  --property PROPERTY   Set a property for the VIF
Пример
$ dctl netplan vif add --type interface --network external --with-routes --member-of br-ex --property mtu=1500 my_netplan nic6
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

vif_name

Да

Имя виртуального интерфейса. Соответствует названию интерфейса в системе

type

Да

Тип виртуального интерфейса. Например: interface, vlan, ovs_bridge, …

network

Нет

Имя сети для адресации виртуального интерфейса из списка заведённых сетей в системе. Например: external, internal_api, …

with-routes

Нет

Добавить маршруты при изменении адресации виртуального интерфейса. Например, адрес шлюза.

member-of

Нет

Добавить виртуальный интерфейс к другому интерфейсу. Например, interface можно добавить в ovs_bond

property

Нет

Дополнительные свойства виртуального интерфейса.

Результат

Пустая строка, если команда выполнена успешно.

netplan vif remove

Описание

Удалить виртуальный интерфейс из сетевого плана

Использование

$ dctl netplan vif remove --help
usage: dctl netplan vif remove [-h] name vif_name

positional arguments:
  name        Netplan vif name
  vif_name    Name of the VIF

options:
  -h, --help  show this help message and exit
Пример
$ dctl netplan vif remove my_netplan nic6
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

vif_name

Да

Имя виртуального интерфейса

Результат

Пустая строка, если команда выполнена успешно.

netplan vif show

Описание

Посмотреть данные виртуального интерфейса сетевого плана

Использование

$ dctl netplan vif show --help
  usage: dctl netplan vif show [-h] [-f {json,yaml,table}] name vif_name

  positional arguments:
    name                  Netplan vif name
    vif_name              Name of the VIF

  options:
    -h, --help            show this help message and exit
    -f {json,yaml,table}, --format {json,yaml,table}
                          Output format
Пример
$ dctl netplan vif show my_netplan br-ex
+---------------+-------------------------------------------------------+
| Field         | Value                                                 |
+---------------+-------------------------------------------------------+
| member_of     | None                                                  |
| network       | tenant                                                |
| type          | ovs_bridge                                            |
| name          | br-ex                                                 |
| addresses     | [{"ip_netmask": "{{ tenant_ip }}/{{ tenant_cidr }}"}] |
| defroute      | None                                                  |
| dhclient_args | None                                                  |
| dns_servers   | None                                                  |
| domain        | None                                                  |
| mtu           | {{ tenant_mtu }}                                      |
| nm_controlled | None                                                  |
| onboot        | None                                                  |
| primary       | None                                                  |
| routes        | None                                                  |
| rules         | None                                                  |
| use_dhcp      | False                                                 |
| ovs_options   | None                                                  |
| ovs_extra     | None                                                  |
| ovs_fail_mode | None                                                  |
+---------------+-------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

vif_name

Да

Имя виртуального интерфейса

Результат

Имя

Описание

Значение

name

Имя виртуального интерфейса

a..z, 0..9, _

type

Тип виртуального интерфейса

interface, vlan, ovs_bridge, …

member_of

Другой интерфейс, к которому привязан виртуальный интерфейс

a..z, 0..9, _

network

Имя сети для адресации виртуального интерфейса

a..z, 0..9, _

addresses

Список адресов виртуального интерфейса. Заполняется автоматически при указании сети для адресации виртуального интерфейса

[]

mtu

MTU виртуального интерфейса. Заполняется автоматически при указании сети для адресации виртуального интерфейса

0..9

routes

Список маршрутов виртуального интерфейса. Заполняется автоматически при указании сети для адресации виртуального интерфейса

[]

use_dhcp

Использовать DHCP для получения адреса виртуального интерфейса. Всегда используется False, так как адресация виртуального интерфейса определяется для каждого деплоя в отдельности

False

netplan vif set

Описание

Установить параметры виртуального интерфейса сетевого плана

Использование

$ dctl netplan vif set --help
usage: dctl netplan vif set [-h] [--network NETWORK] [--with-routes] [--member-of MEMBER_OF]
                            [--property PROPERTY]
                            name vif_name

positional arguments:
  name                  Netplan vif name
  vif_name              Name of the VIF

options:
  -h, --help            show this help message and exit
  --network NETWORK     Network to which the VIF belongs
  --with-routes         Configure routes for the VIF
  --member-of MEMBER_OF
                        Group to which the VIF belongs
  --property PROPERTY   Set a property for the VIF
Пример
$ dctl netplan vif set --network external --with-routes --member-of br-ex --property mtu=1500 my_netplan nic6
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

vif_name

Да

Имя виртуального интерфейса

network

Нет

Имя сети для адресации виртуального интерфейса из списка заведённых сетей в системе. Например: external, internal_api, …

with-routes

Нет

Добавить маршруты при изменении адресации виртуального интерфейса. Например, адрес шлюза.

member-of

Нет

Добавить виртуальный интерфейс к другому интерфейсу. Например, interface можно добавить в ovs_bond

property

Нет

Дополнительные свойства виртуального интерфейса.

Результат

Пустая строка, если команда выполнена успешно.

netplan vif unset

Описание

Удалить параметры виртуального интерфейса сетевого плана

Использование

$ dctl netplan vif unset --help
usage: dctl netplan vif unset [-h] [--network] [--member-of] [--property name] name vif_name

positional arguments:
  name             Netplan vif name
  vif_name         Name of the VIF

options:
  -h, --help       show this help message and exit
  --network        Network to which the VIF belongs
  --member-of      Group to which the VIF belongs
  --property name  Show a property for the VIF
Пример
$ dctl netplan vif unset --network --member-of --property mtu my_netplan nic6
Параметры

Имя

Обязательный

Описание

name

Да

Имя сетевого плана

vif_name

Да

Имя виртуального интерфейса

network

Нет

Удалить назначенную адресацию из сети.

member-of

Нет

Удалить привязку интерфейса к другому интерфейсу

property

Нет

Удалить свойство виртуального интерфейса

Результат

Пустая строка, если команда выполнена успешно.

Образы развёртывания

image list

Описание

Посмотреть список образов для Ironic узлов

Использование

$ dctl image list --help
 usage: dctl image list [-h] [-f {json,yaml,table}]

 options:
   -h, --help            show this help message and exit
   -f {json,yaml,table}, --format {json,yaml,table}
                         Output format
Пример
$ dctl image list
+---------------------------------------------------------+
| image                                                   |
+---------------------------------------------------------+
| /var/lib/ironic/images/softether-vpn.x86_64.qcow2       |
| /var/lib/ironic/images/technitium-dns.x86_64.qcow2      |
| /var/lib/ironic/images/ceph.x86_64.qcow2                |
| /var/lib/ironic/images/surguch-agent-image.x86_64.qcow2 |
| /var/lib/ironic/images/overcloud.x86_64.qcow2           |
+---------------------------------------------------------+
Результат

Список образов развёртывания для Ironic узлов из /var/lib/ironic/images.

Хранилища

Управление хранилищами для развёртываний типа OpenStack.

storage list

Описание

Посмотреть список хранилищ в системе

Использование

$ dctl storage list --help
usage: dctl storage list [-h] [-f {json,yaml,table}]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl storage list
+------------+---------+---------+-----------------------------------------------------------------------------------------------------------+
| name       | type    | network | args                                                                                                      |
+------------+---------+---------+-----------------------------------------------------------------------------------------------------------+
| demo-sl    | sanlock | storage | {"physical_volumes": "/dev/vdc", "target_port": "4420", "volume_group": "vol", "use_ana_driver": "false"} |
| demo-iscsi | iscsi   | storage | {"lvm_physical_volumes": "/dev/vdb"}                                                                      |
+------------+---------+---------+-----------------------------------------------------------------------------------------------------------+
Результат

Имя

Описание

Значение

name

Имя хранилища

a..z, _

type

Тип хранилища

ceph, iscsi, nfs, sanlock, tatlin

network

Имя сети, к которой подключено хранилище

a..z, _

args

Дополнительные свойства хранилища

JSON-объект с параметрами хранилища

storage create

Описание

Создать новое хранилище

Использование

$ dctl storage create --help
usage: dctl storage create [-h] --type {ceph,iscsi,nfs,sanlock,tatlin} [--property PROPERTY] name

positional arguments:
  name                  Storage name

options:
  -h, --help            show this help message and exit
  --type {ceph,iscsi,nfs,sanlock,tatlin}
                        Storage type
  --property PROPERTY   Storage properties
Пример
$ dctl storage create --type iscsi --property '{"lvm_physical_volumes": "/dev/vdb"}' demo-iscsi
Параметры

Имя

Обязательный

Описание

name

Да

Имя хранилища

type

Да

Тип хранилища. Один из: ceph, iscsi, nfs, sanlock, tatlin

property

Нет

Дополнительные свойства хранилища.

Результат

Пустая строка, если команда выполнена успешно.

storage show

Описание

Посмотреть данные о хранилище

Использование

$ dctl storage show --help
usage: dctl storage show [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Storage name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl storage show demo-iscsi
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| name    | demo-iscsi                           |
| type    | iscsi                                |
| network | storage                              |
| args    | {"lvm_physical_volumes": "/dev/vdb"} |
+---------+--------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя хранилища

Результат

Имя

Описание

Значение

name

Имя хранилища

a..z, _

type

Тип хранилища

ceph, iscsi, nfs, sanlock, tatlin

network

Имя сети, к которой подключено хранилище

a..z, _

args

Дополнительные свойства хранилища

JSON-объект с параметрами хранилища

storage delete

Описание

Удалить хранилище из системы

Использование

$ dctl storage delete --help
usage: dctl storage delete [-h] name

positional arguments:
  name        Storage name

options:
  -h, --help  show this help message and exit
Пример
$ dctl storage delete demo-iscsi
Параметры

Имя

Обязательный

Описание

name

Да

Имя хранилища

Результат

Пустая строка, если команда выполнена успешно.

Инстансы развёртывания

instance list

Описание

Посмотреть список всех развёртываний

Использование

$ dctl instance list --help
usage: dctl instance list [-h] [-f {json,yaml,table}]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance list
+------+-----------+----------------+------+-------------+-----------+------------+---------------------+
| name | type      | stack_status   | pid  | last_action | exit_code | started_at | finished_at         |
+------+-----------+----------------+------+-------------+-----------+------------+---------------------+
| demo | openstack | DEPLOY_SUCCESS | None | backup      | 0         | None       | 2026-08-28 17:46:04 |
+------+-----------+----------------+------+-------------+-----------+------------+---------------------+
Результат

Имя

Описание

Значение

name

Имя развёртывания

a..z

type

Тип развёртывания

openstack, ceph, demo, adminpoint

stack_status

Статус развёртывания

DEPLOY_SUCCESS, DEPLOY_FAILED, DEPLOY_IN_PROGRESS

pid

PID процесса развёртывания. Если значение None, значит в данный момент нет исполняемых операций.

0..9

last_action

Последняя операция, которая была выполнена в рамках развёртывания

a..z

exit_code

Код завершения последней операции развёртывания

0..9

started_at

Дата и время начала текущей операции развёртывания. Если значение None, значит в данный момент нет исполняемых операций.

YYYY-MM-DD HH:MM:SS

finished_at

Дата и время завершения последней операции развёртывания.

YYYY-MM-DD HH:MM:SS

instance create

Описание

Создать шаблоны развёртывания

Использование

$ dctl instance create --help
usage: dctl instance create [-h] [-f {json,yaml,table}] [--type {openstack,ceph,adminpoint,demo}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --type {openstack,ceph,adminpoint,demo}
                        Instance type
Пример
$ dctl instance create my_instance --type openstack
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

type

Нет

Тип развёртывания. По умолчанию: openstack. Один из: openstack, ceph, demo, adminpoint

Результат

Пустая строка, если команда выполнена успешно.

instance show

Описание

Посмотреть данные о развёртывании

Использование

$ dctl instance show --help
usage: dctl instance show [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance show demo
+------------------+---------------------------+
| Field            | Value                     |
+------------------+---------------------------+
| name             | demo                      |
| type             | openstack                 |
| stack_status     | DEPLOY_SUCCESS            |
| pid              | None                      |
| last_action      | backup                    |
| exit_code        | 0                         |
| started_at       | None                      |
| finished_at      | 2026-08-28 17:46:04       |
| containers_tag   | latest                    |
| gui_url          | http://10.197.157.100:80  |
| admin_password   | ************************* |
| grafana_password | ************************* |
+------------------+---------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Имя

Описание

Значение

name

Имя развёртывания

a..z

type

Тип развёртывания

openstack, ceph, demo, adminpoint

stack_status

Статус развёртывания

DEPLOY_SUCCESS, DEPLOY_FAILED, DEPLOY_IN_PROGRESS

pid

PID процесса развёртывания. Если значение None, значит в данный момент нет исполняемых операций.

0..9

last_action

Последняя операция, которая была выполнена в рамках развёртывания

a..z

exit_code

Код завершения последней операции развёртывания

0..9

started_at

Дата и время начала текущей операции развёртывания. Если значение None, значит в данный момент нет исполняемых операций.

YYYY-MM-DD HH:MM:SS

finished_at

Дата и время завершения последней операции развёртывания

YYYY-MM-DD HH:MM:SS

containers_tag

Тег контейнеров для развёртывания

a..z, 0..9, -, _

gui_url

URL для доступа к веб-интерфейсу развёртывания

http://*

admin_password

Пароль администратора для доступа к веб-интерфейсу развёртывания

a..z, 0..9, A..Z, !@#$%^&*()_+-=, 8..32 символов

grafana_password

Пароль администратора для доступа к веб-интерфейсу Grafana

a..z, 0..9, A..Z, !@#$%^&*()_+-=, 8..32 символов

instance set

Описание

Изменить параметры развёртывания

Использование

$ dctl instance set --help
usage: dctl instance set [-h] [--containers-tag CONTAINERS_TAG] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  --containers-tag CONTAINERS_TAG
                        Set containers tag for instance
Пример
$ dctl instance set demo --containers-tag release_1_8_2
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

containers-tag

Нет

Тег контейнеров для развёртывания

Результат

Пустая строка, если команда выполнена успешно.

instance delete

Описание

Удалить развёртывание

Использование

$ dctl instance delete --help
usage: dctl instance delete [-h] [--templates] [--deployment] name

positional arguments:
  name          Instance name

options:
  -h, --help    show this help message and exit
  --templates   Delete instance templates
  --deployment  Delete instance deployment
Пример
$ dctl instance delete my_instance --templates
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

templates

Нет

Удалить шаблоны развёртывания

deployment

Нет

Удалить все ресурсы связанные с развёртыванием. Это действие выключит все узлы, использованные при развёртывании.

Результат

Пустая строка, если команда выполнена успешно.

instance validate

Описание

Проверить состояние развёртывания

Использование

$ dctl instance validate --help
usage: dctl instance validate [-h] [--settings] [--services] name

positional arguments:
  name        Instance name

options:
  -h, --help  show this help message and exit
  --settings  Validate instance settings
  --services  Check running services and containers on instance nodes
Пример
$ dctl instance validate demo --settings
Validating stack demo configuration
Glance backend is set to FILE. Make sure that /var/lib/glance/images is mounted on disk that is not root

$ dctl instance validate demo --services
...
TASK [dc-services : debug] *****************************************************
ok: [localhost] => {
    "check_results": {
        "additional": [
            "neutron-dnsmasq-qdhcp-0d7ed59c-a431-4841-9953-0e526ae8d253"
        ],
        "bad": [],
        "failed": [],
        "missing": [
            "ironic_inspector_init_dnsmasq_dhcp_hostsdir",
            "ironic_db_sync",
            "ironic_inspector_get_ipa",
            "ironic_inspector_db_sync",
            "mysql_sync_credentials",
            "neutron_db_sync",
            "ironic_inspector_init_log",
            "rabbitmq_bootstrap",
            "redis_init_logs",
            "rabbitmq_init_logs",
            "mysql_init_logs",
            "neutron_init_logs",
            "ironic_init_logs",
            "mysql_upgrade_db",
            "mysql_bootstrap"
        ],
        "unhealthy": [
            "ironic_conductor",
            "ironic_pxe_tftp",
            "ironic_pxe_http"
        ]
    }
}

TASK [dc-services : Save check result to file] *********************************
ok: [localhost]

PLAY RECAP *********************************************************************
localhost                  : ok=13   changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Exit code: 0
(-) [demo] Deploy has unhealthy containers
(+) [demo] Deploy has no failed containers
(+) [demo] Deploy has no bad containers
(-) [demo] Deploy has missing containers
(-) [demo] Deploy has additional containers
Connecting to 10.197.126.21 as tripleo-admin...
Connected (version 2.0, client OpenSSH_8.7)
Authentication (publickey) successful!
Exit code: 0
(+) [demo] Pacemakerd is running
(+) [demo] Pacemaker node eng-101-sanlock-26-control1 is online
(+) [demo] Pacemaker node eng-101-sanlock-26-control2 is online
(+) [demo] Pacemaker node eng-101-sanlock-26-control3 is online
(+) [demo] Pacemaker node frr-manager-bundle-0 is online
(+) [demo] Pacemaker node galera-bundle-0 is online
(+) [demo] Pacemaker node galera-bundle-1 is online
(+) [demo] Pacemaker node galera-bundle-2 is online
(+) [demo] Pacemaker node rabbitmq-bundle-0 is online
(+) [demo] Pacemaker node rabbitmq-bundle-1 is online
(+) [demo] Pacemaker node rabbitmq-bundle-2 is online
(+) [demo] Pacemaker node redis-bundle-0 is online
(+) [demo] Pacemaker node redis-bundle-1 is online
(+) [demo] Pacemaker node redis-bundle-2 is online
(-) [demo] Pacemaker resource rabbitmq is not active on node None
Process has been finished
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

settings

Нет

Проверить настройки развёртывания

services

Нет

Проверить состояние сервисов развёртывания

Результат

Логи выполнения операции

instance deploy

Описание

Запустить один из этапов развёртывания в screen

Использование

$ dctl instance deploy --help
usage: dctl instance deploy [-h] name {networks,vips,servers,build,services,skip,retry}

positional arguments:
  name                  Instance name
  {networks,vips,servers,build,services,skip,retry}
                        Action to perform

options:
  -h, --help            show this help message and exit
Пример
$ dctl instance deploy my_instance networks
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

action

Да

Этап развёртывания. Один из: networks, vips, servers, build, services, skip, retry.

Результат

Логи выполнения операции

instance apply

Описание

Запустить все этапы развёртывания в интерактивном режиме

Использование

$ dctl instance apply --help
usage: dctl instance apply [-h] name

positional arguments:
  name        Instance name

options:
  -h, --help  show this help message and exit
Пример
$ dctl instance apply my_instance
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Логи выполнения операции

instance status

Описание

Показать статус развёртывания.

Использование

$ dctl instance status --help
usage: dctl instance status [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance status demo
+----------------+---------------------+
| Field          | Value               |
+----------------+---------------------+
| last_operation | backup              |
| exit_code      | 0                   |
| finished_at    | 2026-09-18 16:29:09 |
+----------------+---------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Имя

Описание

Значение

last_operation

Последняя операция развёртывания

a..z, A..Z

running

Текущая выполняемая операция развёртывания

a..z, A..Z

pid

PID процесса текущей операции развёртывания

0..9

started_at

Время начала текущей операции развёртывания

YYYY-MM-DD HH:MM:SS

exit_code

Код завершения последней операции развёртывания

0..9

finished_at

Время завершения последней операции развёртывания

YYYY-MM-DD HH:MM:SS

instance wait

Описание

Дождаться завершения развёртывания. Эта операция печатает логи и позволяет вводить команды при возникновении ошибок.

Использование

$ dctl instance wait --help
usage: dctl instance wait [-h] name

positional arguments:
  name        Instance name

options:
  -h, --help  show this help message and exit
Пример
$ dctl instance wait my_instance
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Логи выполнения операции

instance stop

Описание

Остановить развёртывание.

Использование

$ dctl instance stop --help
usage: dctl instance stop [-h] name

positional arguments:
  name        Instance name

options:
  -h, --help  show this help message and exit
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Пустая строка, если команда выполнена успешно.

instance update

Описание

Обновить для развёртывания шаблоны, пакеты или контейнер

Использование

$ dctl instance update --help
usage: dctl instance update [-h] [--host HOST | --role ROLE] [--container CONTAINER]
                            [--command COMMAND] [--templates] [--finish] [--packages] [--repo REPO]
                            [--use-deploy-images] [--excludes EXCLUDES]
                            [--pcs-service {haproxy,galera,rabbitmq,cinder-volume,cinder-backup,redis,frr-manager}]
                            name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  --host HOST           Node name to operate on.
  --role ROLE           Role for nodes to operate on.
  --container CONTAINER
                        Container name.
  --command COMMAND     Update container running command. Only for --container
  --templates           Update instance templates.
  --finish              Finish updating templates. Only for --templates
  --packages            Update instance packages.
  --repo REPO           Specify updates repo. Only for --packages
  --use-deploy-images   Enable using deploy images for searching packages. Only for --packages
  --excludes EXCLUDES   Comma-separated list of packages to exclude from update. Only for --packages.
                        Use it carefully, as it may break the system if critical packages are excluded.
  --pcs-service {haproxy,galera,rabbitmq,cinder-volume,cinder-backup,redis,frr-manager}
                        Pacemaker service name to update container for.
Пример
$ dctl instance update my_instance --container skyline-apiserver --role Controller
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

host

Нет

Имя узла

role

Нет

Имя роли

container

Нет

Имя контейнера

command

Нет

Изменить команду старта при пересоздании контейнера

templates

Нет

Флаг для обновления шаблонов

finish

Нет

Флаг для завершения обновления шаблонов (только в случае ошибки обновления)

packages

Нет

Флаг для обновления пакетов

repo

Нет

Репозиторий для обновления пакетов

no-use-deploy-images

Нет

Не использовать образы для развёртывания при поиске пакетов

pcs-service

Нет

Имя сервиса Pacemaker для обновления контейнера.

Результат

Логи выполнения операции

instance endpoint list

Описание

Посмотреть список конечных точек облака

Использование

$ dctl instance endpoint list --help
usage: dctl instance endpoint list [-h] [-f {json,yaml,table}] [-s SORT_BY] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  -s SORT_BY, --sort-by SORT_BY
                        Sort by fields
Пример
$ dctl instance endpoint list demo
+---------------------------+-------+-------------+-------------+
| service                   | port  | public_port | public_host |
+---------------------------+-------+-------------+-------------+
| Amano                     | 5007  | None        | None        |
| AosBilling                | 10010 | 10010       | CLOUDNAME   |
| AosCloudManager           | 9362  | 13362       | CLOUDNAME   |
| AosJournal                | 9360  | 13360       | CLOUDNAME   |
| AosMonitor                | 9363  | 13363       | CLOUDNAME   |
| AosOtpSender              | 9367  | 13367       | CLOUDNAME   |
| AosRsServer               | 9364  | 13364       | CLOUDNAME   |
| AosRsServerBroker         | 9365  | 13365       | CLOUDNAME   |
| AosScheduler              | 10001 | 10001       | CLOUDNAME   |
| Barbican                  | 9311  | 13311       | CLOUDNAME   |
| CAaaS                     | 9003  | None        | None        |
| CephDashboard             | 8444  | None        | None        |
| CephGrafana               | 3100  | None        | None        |
| Cinder                    | 8776  | 13776       | CLOUDNAME   |
| Designate                 | 9001  | 13001       | CLOUDNAME   |
| DockerRegistry            | 8787  | None        | None        |
| FrrManager                | 8420  | None        | None        |
| Ganesha                   | 2049  | None        | None        |
| Glance                    | 9292  | 13292       | CLOUDNAME   |
| Grafana                   | 3000  | 3000        | CLOUDNAME   |
| Heat                      | 8004  | 13004       | CLOUDNAME   |
| HeatCfn                   | 8000  | 13005       | CLOUDNAME   |
| InternalGlance            | 9293  | None        | None        |
| Ironic                    | 6385  | 13385       | CLOUDNAME   |
| IronicInspector           | 5050  | 13050       | CLOUDNAME   |
| Keystone                  | 5000  | 13000       | CLOUDNAME   |
| LibvirtExporter           | 9102  | None        | None        |
| LicenseManager            | 13011 | None        | None        |
| Meds                      | 9002  | None        | None        |
| MetricsQdr                | 5666  | 5666        | CLOUDNAME   |
| Michman                   | 9115  | 13115       | CLOUDNAME   |
| MichmanArtifactStorage    | 9110  | None        | None        |
| MichmanAuth               | 9114  | None        | None        |
| MichmanGrpcCotea          | 9117  | None        | None        |
| MichmanGrpcCoteaLogs      | 9116  | None        | None        |
| MichmanOrchestrator       | 9112  | None        | None        |
| MichmanProvider           | 9111  | None        | None        |
| Mysql                     | 3306  | None        | None        |
| MysqldExporter            | 9104  | None        | None        |
| NetboxScannerCallback     | 12900 | None        | None        |
| NetboxScannerIntrospector | 12999 | None        | None        |
| Neutron                   | 9696  | 13696       | CLOUDNAME   |
| NodeExporter              | 9100  | None        | None        |
| Nova                      | 8774  | 13774       | CLOUDNAME   |
| NovaDBusProxy             | 6090  | 13090       | CLOUDNAME   |
| NovaMetadata              | 8775  | None        | None        |
| NovaVNCProxy              | 6080  | 13080       | None        |
| Octavia                   | 9876  | 13876       | CLOUDNAME   |
| OpenstackExporter         | 9180  | None        | None        |
| Placement                 | 8778  | 13778       | CLOUDNAME   |
| Prometheus                | 9090  | None        | None        |
| RedisExporter             | 9121  | None        | None        |
| Skyline                   | 80    | 443         | CLOUDNAME   |
| SkylineApiserver          | 13101 | None        | None        |
| Tram                      | 9000  | None        | None        |
| TramIpfix                 | 2055  | None        | None        |
| TramSflow                 | 6343  | None        | None        |
| TurnServer                | 3478  | 5349        | None        |
+---------------------------+-------+-------------+-------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Имя

Описание

Значение

service

Имя сервиса

a..z, 0..9, -

port

Основной порт конечной точки

0..65535

public_port

Публичный порт конечной точки

0..65535

public_host

Публичный хост конечной точки

CLOUDNAME/IPADDRESS (если значение None, то используется IPADDRESS)

instance endpoint convert

Описание

Изменить список конечных точек облака.

Примечание

Подходит только для развёртывания типа OpenStack

Использование

$ dctl instance endpoint convert --help
usage: dctl instance endpoint convert [-h] [-f {json,yaml,table}] [--enable-tls | --disable-tls]
                                      [--enable-public-cloudname | --disable-public-cloudname]
                                      name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --enable-tls          Enable TLS for the converted endpoint data
  --disable-tls         Disable TLS for the converted endpoint data
  --enable-public-cloudname
                        Enable public cloud name for the converted endpoint data
  --disable-public-cloudname
                        Disable public cloud name for the converted endpoint data
Пример
$ dctl instance endpoint convert demo --enable-tls --disable-public-cloudname
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

--enable-tls

Нет

Включить TLS для преобразованных данных конечной точки

--disable-tls

Нет

Отключить TLS для преобразованных данных конечной точки

--enable-public-cloudname

Нет

Включить использование публичного доменного имени для преобразованных данных конечной точки

--disable-public-cloudname

Нет

Отключить использование публичного доменного имени для преобразованных данных конечной точки

Результат

Пустая строка, если команда выполнена успешно.

instance node list

Описание

Посмотреть список назначенных для развёртывания узлов

Использование

$ dctl instance node list --help
usage: dctl instance node list [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance node list demo
+--------------------------+--------------------------+---------+------------+
| name                     | hostname                 | managed | role       |
+--------------------------+--------------------------+---------+------------+
| eng-101-astd-32-control1 | eng-101-astd-32-control1 | False   | Controller |
| eng-101-astd-32-node1    | eng-101-astd-32-node1    | False   | Compute    |
| eng-101-astd-32-node2    | eng-101-astd-32-node2    | False   | Compute    |
+--------------------------+--------------------------+---------+------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Имя

Описание

Значение

name

Имя узла

a..z, 0..9, -

hostname

Хостнейм узла

a..z, 0..9, -

managed

Флаг, указывающий, добавлен ли узел через BMC или нет

True, False

role

Роль узла

Controller, Compute, Ceph, PowerOfThree

instance node add

Описание

Добавить узел в развёртывание

Использование

$ dctl instance node add --help
usage: dctl instance node add [-h] --role ROLE [--hostname HOSTNAME] [--image IMAGE]
                              [--network-plan NETWORK_PLAN]
                              [--default-route-network DEFAULT_ROUTE_NETWORK] [--fixed-ip FIXED_IP]
                              name node_name

positional arguments:
  name                  Instance name
  node_name             Name (if managed) or hostname (if unmanaged) of the node assigned to the
                        instance

options:
  -h, --help            show this help message and exit
  --role ROLE           Role of the node
  --hostname HOSTNAME   Hostname of the node
  --image IMAGE         Image's path to use for the node. Default is set by Role.
  --network-plan NETWORK_PLAN
                        Network plan to use for the node. Default is set by Role.
  --default-route-network DEFAULT_ROUTE_NETWORK
                        Default route network to use for the node, default is set by Role.
  --fixed-ip FIXED_IP   Fixed IP address to use for the node. Required for ctlplane if node is not
                        managed by Ironic. By default IP addresses are assigned by Neutron.
Пример
$ dctl instance node add demo eng-101-astd-32-node3 --role Compute
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

node_name

Да

Имя baremetal узла (в режиме managed) или желаемый хостнейм (в режиме unmanaged)

role

Да

Роль узла, соответствующая списку устанавливаемых сервисов

hostname

Нет

Хостнейм узла. По умолчанию: значение назначается системой исходя из имени роли и развёртывания

image

Нет

Путь до образа. Используется в режиме managed. Значение по умолчанию определяется ролью.

network-plan

Нет

Сетевой план для настройки сетей на узле. Значение по умолчанию определяется ролью.

default-route-network

Нет

Сеть для назначения шлюза при настройке сетей. Значение по умолчанию определяется ролью.

fixed-ip

Нет

Желаемый IP адрес в определённой сети назначенной узлу. Требуется в режиме unmanaged для сети ctlplane. По умолчанию адреса назначаются сервисом Neutron на узле развёртывания.

Результат

Пустая строка, если команда выполнена успешно.

instance node remove

Описание

Отцепить узел от развёртывания

Использование

$ dctl instance node remove --help
usage: dctl instance node remove [-h] name node_name

positional arguments:
  name        Instance name
  node_name   Name (if managed) or hostname (if unmanaged) of the node assigned to the instance

options:
  -h, --help  show this help message and exit
Пример
$ dctl instance node remove demo eng-101-astd-32-node3
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

node_name

Да

Имя узла

Результат

Пустая строка, если команда выполнена успешно.

instance role show

Описание

Посмотреть настройки по умолчанию для узлов роли

Использование

$ dctl instance role show  --help
usage: dctl instance role show [-h] [-f {json,yaml,table}] name role_name

positional arguments:
  name                  Instance name
  role_name             Role name assigned to the nodes of the instance

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance role show demo Compute
+-----------------------+-------------------------------------------------------------+
| Field                 | Value                                                       |
+-----------------------+-------------------------------------------------------------+
| image                 | /var/lib/ironic/images/overcloud.x86_64.qcow2               |
| network_plan          | /usr/lib/deckcrew/netplans/demo/aos_openstack_stand.j2      |
| default_route_network | None                                                        |
| networks              | ["external", "internal_api", "storage", "tenant", "tenant"] |
+-----------------------+-------------------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

role_name

Да

Имя роли

instance role set

Описание

Назначить настройки по умолчанию для узлов роли

Использование

$ dctl instance role set --help
usage: dctl instance role set [-h] [--image IMAGE] [--network-plan NETWORK_PLAN]
                              [--default-route-network DEFAULT_ROUTE_NETWORK] [--network NETWORK]
                              name role_name

positional arguments:
  name                  Instance name
  role_name             Role name assigned to the nodes of the instance

options:
  -h, --help            show this help message and exit
  --image IMAGE         Default image's path to use for the nodes.
  --network-plan NETWORK_PLAN
                        Default network plan to use for the nodes.
  --default-route-network DEFAULT_ROUTE_NETWORK
                        Default route network to use for the nodes.
  --network NETWORK     Default networks to use for the nodes.
Пример
$ dctl instance role set demo Compute --image /var/lib/ironic/images/overcloud.x86_64.qcow2 --network-plan aos_openstack_stand
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

role_name

Да

Имя роли

image

Нет

Путь до образа для узлов роли

network-plan

Нет

Сетевой план для узлов роли

default-route-network

Нет

Сеть шлюза для узлов роли

network

Нет

Добавить сеть для сетевого плана.

Результат

Пустая строка, если команда выполнена успешно.

instance role unset

Описание

Удалить настройки по умолчанию для узлов роли

Использование

$ dctl instance role unset --help
usage: dctl instance role unset [-h] [--image] [--network-plan] [--default-route-network]
                                [--network NETWORK]
                                name role_name

positional arguments:
  name                  Instance name
  role_name             Role name assigned to the nodes of the instance

options:
  -h, --help            show this help message and exit
  --image               Remove default image's path to use for the nodes.
  --network-plan        Remove default network plan to use for the nodes.
  --default-route-network
                        Remove default route network to use for the nodes.
  --network NETWORK     Remove network from default networks.
Пример
$ dctl instance role unset demo Compute --image --network-plan
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

role_name

Да

Имя роли

image

Нет

Удалить назначенный образ для узлов роли

network-plan

Нет

Удалить сетевой план назначенный для узлов роли

default-route-network

Нет

Удалить сеть шлюза назначенную для узлов роли

network

Нет

Удалить сеть для сетевого плана.

Результат

Пустая строка, если команда выполнена успешно.

instance backend list

Описание

Посмотреть список бэкендов для развёртывания

Использование

$ dctl instance backend list --help
usage: dctl instance backend list [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance backend list demo
+---------------+----------------+
| Field         | Value          |
+---------------+----------------+
| cinder        | ["demo-iscsi"] |
| nova          | [null]         |
| glance        | ["file"]       |
| cinder_backup | ["posix"]      |
+---------------+----------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Список сервисов и их бэкендов

instance backend add

Описание

Добавить бэкенд для развёртывания

Использование

$ dctl instance backend add --help
usage: dctl instance backend add [-h] --service {cinder,glance,nova} name storage/backend_type

positional arguments:
  name                  Instance name
  storage/backend_type  Name of storage or backend type

options:
  -h, --help            show this help message and exit
  --service {cinder,glance,nova}
                        Name of the service to which the backend will be added
Пример
$ dctl instance backend add demo demo-iscsi --service cinder
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

storage/backend_type

Да

Тип бэкенда или имя хранилища

service

Да

Сервис для которого добавляется бэкенд Один из: cinder, glance, nova

Результат

Пустая строка, если команда выполнена успешно.

instance backend remove

Описание

Удалить бэкенд из развёртывания

Использование

$ dctl instance backend remove --help
usage: dctl instance backend remove [-h] --service {cinder,glance,nova} name storage/backend_type

positional arguments:
  name                  Instance name
  storage/backend_type  Name of storage or backend type

options:
  -h, --help            show this help message and exit
  --service {cinder,glance,nova}
                        Name of the service to which the backend will be added
Пример
$ dctl instance backend remove demo demo-iscsi --service cinder
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

storage/backend_type

Да

Тип бэкенда или имя хранилища

service

Да

Сервис для которого удаляется бэкенд Один из: cinder, glance, nova

Результат

Пустая строка, если команда выполнена успешно.

instance backend support

Описание

Показать список доступных бэкендов для облака

Использование

$ dctl instance backend support --help
usage: dctl instance backend support [-h] [-f {json,yaml,table}] [--service {cinder,glance,nova}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --service {cinder,glance,nova}
                        Name of the service to query supported backends
Пример
$ dctl instance backend support demo
+---------------+--------------------------------------------------+
| Field         | Value                                            |
+---------------+--------------------------------------------------+
| cinder        | ["nvmeof", "ceph", "sanlock", "tatlin", "iscsi"] |
| nova          | [null, "ceph", "nfs"]                            |
| cinder_backup | ["nfs", "ceph", "posix"]                         |
| glance        | ["ceph", "file", "cinder", "nfs"]                |
+---------------+--------------------------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

service

Нет

Уточнить имя сервиса Один из: cinder, glance, nova

Результат

Список сервисов и их поддерживаемых бэкендов

instance vip list

Описание

Посмотреть список виртуальных IP адресов для развёртывания

Использование

$ dctl instance vip list --help
usage: dctl instance vip list [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance vip list demo
+--------------+----------------+------------------------------+---------------------+
| network      | ip_address     | name                         | subnet              |
+--------------+----------------+------------------------------+---------------------+
| external     | 10.197.157.100 | demo_external_virtual_ip     | external_subnet     |
| internal_api | 172.17.155.100 | demo_internal_api_virtual_ip | internal_api_subnet |
| ctlplane     | 10.197.156.100 | demo_ctlplane_virtual_ip     | ctlplane-subnet     |
+--------------+----------------+------------------------------+---------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Имя

Описание

Значение

network

Имя сети

a..z, 0..9, -

ip_address

IP адрес

0..9, .

name

Имя виртуального IP адреса

a..z, 0..9, -

subnet

Имя подсети

a..z, 0..9, -

instance vip add

Описание

Добавить виртуальный IP адрес

Использование

$ dctl instance vip add --help
usage: dctl instance vip add [-h] [--ip-address IP_ADDRESS] name network_name

positional arguments:
  name                  Instance name
  network_name          Name of the network

options:
  -h, --help            show this help message and exit
  --ip-address IP_ADDRESS
                        Fixed IP address for the virtual IP
Пример
$ dctl instance vip add demo external --ip-address 10.197.157.101
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

network_name

Да

Имя сети

ip-address

Нет

Желаемый IP адрес

Результат

Пустая строка, если команда выполнена успешно.

instance vip delete

Описание

Удалить виртуальный IP адрес

Использование

$ dctl instance vip delete --help
usage: dctl instance vip delete [-h] name network_name

positional arguments:
  name          Instance name
  network_name  Name of the network

options:
  -h, --help    show this help message and exit
Пример
$ dctl instance vip delete demo external
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

network_name

Да

Имя сети

Результат

Пустая строка, если команда выполнена успешно.

instance password list

Описание

Посмотреть список паролей для развёртывания

Использование

$ dctl instance password list --help
usage: dctl instance password list [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance password list demo
+----------------------+------------------------------+
| Field                | Value                        |
+----------------------+------------------------------+
| AdminPassword        | demo_admin_password          |
...
+----------------------+------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Список паролей и их значений

instance password show

Описание

Посмотреть пароль для развёртывания

Использование

$ dctl instance password show --help
usage: dctl instance password show [-h] [-f {json,yaml,table}] name password_name

positional arguments:
  name                  Instance name
  password_name         Name of the password parameter

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance password show demo AdminPassword
demo_admin_password
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

password_name

Да

Имя параметра

Результат

Значение пароля

instance password set

Описание

Установить пароль для развёртывания

Использование

$ dctl instance password set --help
usage: dctl instance password set [-h] name password_name password_value

positional arguments:
  name            Instance name
  password_name   Name of the password parameter
  password_value  Password to set

options:
  -h, --help      show this help message and exit
Пример
$ dctlt instance password set demo AdminPassword my_secure_password
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

password_name

Да

Имя параметра

password_value

Да

Значение для параметра

Результат

Пустая строка, если команда выполнена успешно.

instance feature list

Описание

Посмотреть доступные функции для развёртывания

Использование

$ dctl instance feature list --help
usage: dctl instance feature list [-h] [-f {json,yaml,table}] [--enabled] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
  --enabled             Show only enabled features
Пример
$ dctl instance feature list --enabled demo
+---------------------+---------+
| name                | enabled |
+---------------------+---------+
| Amano               | True    |
| AosExtraConfig      | True    |
| CustomDomain        | True    |
| DnsServers          | True    |
| Frr                 | True    |
| Meds                | True    |
| Multipathd          | True    |
| NtpServers          | True    |
| PhysicalMtu         | True    |
| SshFirewallAllowAll | True    |
| Tram                | True    |
+---------------------+---------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

enabled

Нет

Show only enabled features for the instance. Default: false

Результат

Имя

Описание

Значение

name

Имя функции

a..z, 0..9, -

enabled

Флаг, указывающий, включена ли функция для развёртывания

True, False

instance feature add

Описание

Добавить функцию для развёртывания

Использование

$ dctl instance feature add --help
usage: dctl instance feature add [-h] name feature_name

positional arguments:
  name          Instance name
  feature_name  Feature name

options:
  -h, --help    show this help message and exit
Пример
$ dctl instance feature add demo Amano
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

feature_name

Да

Имя функции

Результат

Пустая строка, если команда выполнена успешно.

instance feature remove

Описание

Удалить функцию из развёртывания

Использование

$ dctl instance feature remove --help
usage: dctl instance feature remove [-h] name feature_name

positional arguments:
  name          Instance name
  feature_name  Feature name

options:
  -h, --help    show this help message and exit
Пример
$ dctl instance feature remove demo Amano
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

feature_name

Да

Имя функции

Результат

Пустая строка, если команда выполнена успешно.

instance feature set

Описание

Установить параметры функции для развёртывания

Использование

$ dctl instance feature set --help
usage: dctl instance feature set [-h] name feature_name parameter

positional arguments:
  name          Instance name
  feature_name  Feature name
  parameter     Parameter to set in key=value format

options:
  -h, --help    show this help message and exit
Пример
$ dctl instance feature set demo Amano AmanoDisableVeth=false
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

feature_name

Да

Имя функции

parameter

Да

Имя и значение параметра. Формат: key=value

Результат

Пустая строка, если команда выполнена успешно.

instance feature show

Описание

Посмотреть параметры функции для развёртывания

Использование

$ dctl instance feature show --help
usage: dctl instance feature show [-h] [-f {json,yaml,table}] name feature_name

positional arguments:
  name                  Instance name
  feature_name          Feature name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance feature show demo Amano
+---------------------------+-------+
| Field                     | Value |
+---------------------------+-------+
| AmanoAgentsEnable         | False |
| AmanoMigrateFromOVN       | False |
| AmanoDisableVeth          | False |
| AmanoUseDdosTimeoutForArp | False |
+---------------------------+-------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

feature_name

Да

Имя функции

Результат

Список параметров функции и их значений

instance advanced show

Описание

Посмотреть расширенные настройки для развёртывания (только для экспертов)

Использование

$ dctl instance advanced show --help
usage: dctl instance advanced show [-h] [-f {json,yaml,table}] name

positional arguments:
  name                  Instance name

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl instance advanced show demo
+------------------------------------------+------------------------------+
| Field                                    | Value                        |
+------------------------------------------+------------------------------+
| AddVipsToEtcHosts                        | True                         |
| AmaranthImageFilename                    | /usr/share/amaranth/OVMF.fd  |
...
+------------------------------------------+------------------------------+
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

Результат

Список расширенных настроек и их значений

instance advanced set

Описание

Установить расширенные настройки для развёртывания (только для экспертов)

Использование

$ dctl instance advanced set --help
usage: dctl instance advanced set [-h] name option

positional arguments:
  name        Instance name
  option      Parameter name and value in key=value format

options:
  -h, --help  show this help message and exit
Пример
$ dctl instance advanced set demo AmaranthImageFilename=/usr/share/amaranth/OVMF.fd
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

option

Да

Имя и значение параметра. Формат: key=value

Результат

Пустая строка, если команда выполнена успешно.

instance backup

Описание

Создать резервную копию данных на узлах развёртывания

Использование

$ dctl instance backup --help
usage: dctl instance backup [-h] [--host HOST | --role ROLE] [--all] [--config] [--mysql] [--logs]
                            [--data] [--count COUNT] [--storage STORAGE] [--schedule SCHEDULE]
                            name

positional arguments:
  name                 Instance name

options:
  -h, --help           show this help message and exit
  --host HOST          Node name to operate on.
  --role ROLE          Role for nodes to operate on.
  --all                Backup all targets
  --config             Backup target: config
  --mysql              Backup target: mysql
  --logs               Backup target: logs
  --data               Backup target: data
  --count COUNT        Rotate backups and keep only the specified number of backups. If not specified,
                      all backups will be kept.
  --storage STORAGE    Move backup to localhost in specified storage path. If not specified, backup
                      will be stored on the instance node.
  --schedule SCHEDULE  Create cron job for backup with specified schedule. If specified, backup command
                      will not be executed immediately, but will be scheduled to run in the future.
                      E.g. '0 2 * * *' for daily at 2 AM, '@weekly' for weekly, etc.
Пример
$ dctl instance backup demo --mysql --role Controller --count 4 --storage /etc/deckcrew/backups --schedule "@weekly"
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

host

Нет

Имя узла

role

Нет

Имя роли

all

Нет

Создать резервную копию всех данных

config

Нет

Создать резервную копию конфигурационных файлов

mysql

Нет

Создать резервную копию базы данных MySQL

logs

Нет

Создать резервную копию логов

data

Нет

Создать резервную копию данных сервисов

count

Нет

Количество резервных копий для хранения. Если не указано, будут храниться все резервные копии.

storage

Нет

Путь на локальном узле для хранения резервной копии. Если не указано, резервная копия будет храниться на узле развёртывания.

schedule

Нет

Создать cron задачу для резервного копирования с указанным расписанием. Если указано, команда резервного копирования не будет выполнена немедленно, а будет запланирована на будущее.

Результат

Логи выполнения операции

Инициализация OpenStack

cloud prepare

Описание

Создать минимальные ресурсы для OpenStack: типы инстансов, образы, сети, роутер, ключ SSH.

Использование

$ dctl cloud prepare --help
usage: dctl cloud prepare [-h] [--flavors JSON or 'k1=v1,k2=v2...'] [--images path [path ...]]
                          [--public-network JSON or 'k1=v1,k2=v2...']
                          name

positional arguments:
  name                  Openstack name

options:
  -h, --help            show this help message and exit
  --flavors JSON or 'k1=v1,k2=v2...'
                        Flavors parameters: max_multiplier, disk_sfx, extra_specs.
                        Defaults: max_multiplier=8,disk_sfx=disk,extra_specs=None.
                        Replace disk_sfx with an actual disk type.
  --images path [path ...]
                        List of image paths to files and directories, whitespace-separated
  --public-network JSON or 'k1=v1,k2=v2...'
                        Create external network, geneve network and router.
                        Public network parameters:
                        vlan_id, cidr (required), gateway, pool_start, pool_end, no_dhcp, no_external, mtu.
                        If vlan_id is not provided, flat network will be created.
                        If gateway is not provided, no gateway will be set.
                        If pool_start/end not provided, defaults will be derived from CIDR.
                        If no_dhcp is set to true, DHCP will be disabled.
                        If no_external is set to true, router will not be created.
                        MTU applies only to public network. If private network is used, it will be set to Neutron default.
Пример
$ dctl cloud prepare --flavors max_multiplier=8,disk_sfx=ssd,extra_specs=None \
      --images /home/stack/images/ \
      --public-network vlan_id=100,cidr=10.10.10.0/24
Параметры

Имя

Обязательный

Описание

name

Да

Имя развёртывания

flavors

Нет

Параметры типов инстансов: max_multiplier, disk_sfx, extra_specs. По умолчанию: max_multiplier=8, disk_sfx=disk, extra_specs=None. Используйте hdd или ssd в зависимости от типа дисков на узлах

images

Нет

Список файлов и директорий с образами

public-network

Нет

Параметры публичной сети: vlan_id, cidr, gateway, pool_start, pool_end, no_dhcp, no_external, mtu. Cidr обязателен. Если нет vlan_id то будет использован тип сети flat. Если нет gateway, то параметр не будет использован. Если нет pool_start и pool_end, то pool_start/end будет установлен как 10-й IP адрес сначала/концы указанного CIDR. Если указан no_dhcp, то DHCP не будет настроен для сети. Если указан no_external, то не будет создан виртуальный маршрутизатор.

Результат

Пустая строка, если команда выполнена успешно.

Обновления

update packages

Описание

Обновить минимальный набор пакетов на узле undercloud

Использование

$ dctl update packages --help
usage: dctl update packages [-h] [--repo REPO]

options:
  -h, --help   show this help message and exit
  --repo REPO  Exiting DNF repository name to use for updates. Default: moncloud_updates
Пример
$ dctl update packages --repo moncloud_updates
Параметры

Имя

Обязательный

Описание

repo

Нет

Репозиторий для обновления пакетов

Результат

Логи выполнения операции

update undercloud

Описание

Обновить все пакеты на узле и систему undercloud

Использование

$ dctl update undercloud --help
usage: dctl update undercloud [-h] [--repo REPO] [--use-deploy-image]

options:
  -h, --help          show this help message and exit
  --repo REPO         Exiting DNF repository name to use for updates. Default: moncloud_updates
  --use-deploy-image  Use deploy image for update process
Пример
$ dctl update undercloud --repo moncloud_updates
Параметры

Имя

Обязательный

Описание

repo

Нет

Репозиторий для обновления пакетов

use-deploy-image

Нет

Использовать образ для развёртывания при поиске пакетов

Результат

Логи выполнения операции

update images

Описание

Обновить образы для физических узлов.

Использование

$ dctl update images --help
usage: dctl update images [-h] (--repo REPO | --url URL) [names ...]

positional arguments:
  names        Names of images to update. E.g. 'overcloud.x86_64.qcow2 ceph.x86_64.qcow2'. If not
              specified, all images for /var/lib/ironic/images will be updated. If URL is not
              specified, this parameter is ignored

options:
  -h, --help   show this help message and exit
  --repo REPO  Existing DNF repository name to use for updates.
  --url URL    URL to download images from. E.g. 'https://mirror.example.com/ironic-images/'.
Пример
$ dctl update images --url http://acloud-obs.intra.acloud.ru:82/acloud:/devel:/images/images/ overcloud.x86_64.qcow2
Downloading http://acloud-obs.intra.acloud.ru:82/acloud:/devel:/images/images/overcloud.x86_64.qcow2 ->
 /tmp/deckcrew-ironic-imagesnu6hwfqo/overcloud.x86_64.qcow2
Параметры

Имя

Обязательный

Описание

repo

Нет

Репозиторий для обновления образов

url

Нет

URL для загрузки образов

names

Нет

Имена образов для обновления

Результат

Логи выполнения операции

См. также

  1. Настройка роли

update registry

Описание

Обновить образы контейнеров в реестре.

Использование

$ dctl update registry --help
usage: dctl update registry [-h] (--repo REPO | --namespace NAMESPACE) [--tag TAG]

options:
  -h, --help            show this help message and exit
  --repo REPO           Existing DNF repository name to use for updates.
  --namespace NAMESPACE
                        Namespace to use for registry update. E.g.
                        'moncloud_updates_registry/main/acloud'.
  --tag TAG             Tag to use for registry update.If NAMESPACE is not specified, this parameter is
                        ignored.
Пример
$ dctl update registry --namespace acloud-obs.intra.acloud.ru/acloud/devel/containers/containers/acloud/ --tag devel
Copying config sha256:894e0500b20662217bde29bb770121961c80604151009bde7ab51b730eb7715d
Writing manifest to image destination
Downloading docker://acloud-obs.intra.acloud.ru/acloud/devel/containers/containers/acloud/aosbcp-license-worker:latest ->
 docker://127.0.0.1:8787/acloud/acloud/devel/containers/containers/acloud/aosbcp-license-worker:test
Getting image source signatures
Copying blob sha256:54f6389aa59ca7f93d858df770bcf9d6b4538287de631586053aac6bd7db74db
Copying blob sha256:d0cdeb7e7063d77df36da8f1e0d6032fd64413d38f41664eb6343d389bd7a353
Copying config sha256:4fc2f39d332cdd0a894098ee203d658fe44ce8d9dba6963e8f47c5d770707057
Параметры

Имя

Обязательный

Описание

namespace

Да

Пространство имён для обновления реестра

tag

Нет

Тег для обновления реестра

Результат

Логи выполнения операции

См. также

  1. instance set

update status

Описание

Показать статус обновления.

Использование

$ dctl update status --help
usage: dctl update status [-h] [-f {json,yaml,table}]

options:
  -h, --help            show this help message and exit
  -f {json,yaml,table}, --format {json,yaml,table}
                        Output format
Пример
$ dctl update status
+----------------+-------+
| Field          | Value |
+----------------+-------+
| last_operation | None  |
| exit_code      | 0     |
| finished_at    | None  |
+----------------+-------+
Результат

Имя

Описание

Значение

last_operation

Последняя операция обновления

a..z, A..Z

running

Текущая выполняемая операция обновления

a..z, A..Z

pid

PID процесса текущей операции обновления

0..9

started_at

Время начала текущей операции обновления

YYYY-MM-DD HH:MM:SS

exit_code

Код завершения последней операции обновления

0..9

finished_at

Время завершения последней операции обновления

YYYY-MM-DD HH:MM:SS

update wait

Описание

Ожидать завершения текущей операции. Эта команда позволяет пропускать или перезапускать таски, если операция выполняется при помощи Ansible.

Использование

$ dctl update wait --help
usage: dctl update wait [-h]

options:
  -h, --help  show this help message and exit
Пример
$ dctl update wait
Результат

Логи выполнения операции

update stop

Описание

Остановить текущую операцию.

Использование

$ dctl update stop --help
usage: dctl update stop [-h]

options:
  -h, --help  show this help message and exit
Пример
$ dctl update stop
Результат

Пустая строка, если команда выполнена успешно.