Оборудование (Host)¶
Объект, представляющий единицу оборудования.
Carnival не предоставляет никаких сложных абстракций для работы с группами хостов, подразумевая что вы будете использовать встроенные коллекции python и организуете работу так, как будет удобно для вашей задачи. В простом случае, можно передавать хосты прямо в коде файла carnival_tasks.py. В более сложных, создать списки в отдельном файле, например inventory.py
-
class
carnival.hosts.base.
Host
(**context)¶ Базовый класс для хостов
-
addr
= None¶ Адрес хоста
-
connect
() → carnival.hosts.base.Connection¶ Создать конект с хостом
-
-
class
carnival.hosts.base.
Result
(return_code: int, ok: bool, stdout: str, stderr: str)¶ Результат выполнения команды
Базовые типы¶
-
class
carnival.hosts.base.
Host
Базовый класс для хостов
-
addr
= None Адрес хоста
-
connect
() → carnival.hosts.base.Connection Создать конект с хостом
-
-
class
carnival.hosts.base.
Connection
¶ -
host
= None¶ Хост с которым связан конект
-
run
(command: str, hide: bool = False, warn: bool = True, cwd: Optional[str] = None) → carnival.hosts.base.Result¶ Запустить команду
Параметры: - command – Команда для запуска
- hide – Скрыть вывод команды
- warn – Вывести stderr
- cwd – Перейти в папку при выполнении команды
-
Локалхост¶
-
class
carnival.hosts.local.
LocalHost
¶ Локальный хост, работает по локальному терминалу
-
__init__
(**context) → None¶ Параметры: context – Контекст хоста
-
addr
= 'local'¶ Адрес хоста, всегда local
-
connect
() → carnival.hosts.local.LocalConnection¶ Создать конект с хостом
-
-
class
carnival.hosts.local.
LocalConnection
¶ -
run
(command: str, hide: bool = False, warn: bool = True, cwd: Optional[str] = None) → carnival.hosts.base.Result¶ Запустить команду
Параметры: - command – Команда для запуска
- hide – Скрыть вывод команды
- warn – Вывести stderr
- cwd – Перейти в папку при выполнении команды
-
SSH¶
-
class
carnival.hosts.ssh.
SshHost
¶ SSH хост
-
__init__
(addr: str, ssh_user: Optional[str] = None, ssh_password: Optional[str] = None, ssh_port: int = 22, ssh_gateway: Optional[SshHost] = None, ssh_connect_timeout: int = 10, missing_host_key_policy: Type[<sphinx.ext.autodoc.importer._MockObject object at 0x7fd9798a3220>] = <sphinx.ext.autodoc.importer._MockObject object>, **context)¶ Параметры: - addr – Адрес сервера
- ssh_user – Пользователь SSH
- ssh_password – Пароль SSH
- ssh_port – SSH порт
- ssh_connect_timeout – SSH таймаут соединения
- ssh_gateway – Gateway
- context – Контекст хоста
-
addr
= None¶ Домен либо ip хоста
-
connect
() → carnival.hosts.ssh.SshConnection¶ Создать конект с хостом
-
-
class
carnival.hosts.ssh.
SshConnection
¶ -
run
(command: str, hide: bool = False, warn: bool = True, cwd: Optional[str] = None) → carnival.hosts.base.Result¶ Запустить команду
Параметры: - command – Команда для запуска
- hide – Скрыть вывод команды
- warn – Вывести stderr
- cwd – Перейти в папку при выполнении команды
-