Оборудование (Host)¶
Объект, представляющий единицу оборудования.
Carnival не предоставляет никаких сложных абстракций для работы с группами хостов, подразумевая что вы будете использовать встроенные коллекции python и организуете работу так, как будет удобно для вашей задачи. В простом случае, можно передавать хосты прямо в коде файла carnival_tasks.py.
>>> class SetupFrontend(Task):
>>> def run(self, **kwargs):
>>> self.step(Frontend(), SSHHost("1.2.3.4", packages=["htop", ]))
В более сложных, создать списки в файле inventory.py
>>> # inventory.py
>>> frontends = [
>>> LocalHost(),
>>> SSHHost("1.2.3.5"),
>>> ]
>>> # carnival_tasks.py
>>> import inventory as i
>>> class SetupFrontend(Task):
>>> def run(self, **kwargs):
>>> self.step(Frontend(), i.frontends)
-
carnival.host.
AnyConnection
= typing.Union[<sphinx.ext.autodoc.importer._MockObject object>, <sphinx.ext.autodoc.importer._MockObject object>]¶ Список адресов которые трактуются как локальное соединение .. deprecated:: 1.4
Host is deprecated, use LocalHost or SSHHost explicitly
-
class
carnival.host.
Host
(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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <sphinx.ext.autodoc.importer._MockObject object>, **context)¶ Параметры: - addr – Адрес сервера для SSH или «local» для локального соединения
- ssh_user – Пользователь SSH
- ssh_password – Пароль SSH
- ssh_port – SSH порт
- ssh_connect_timeout – SSH таймаут соединения
- ssh_gateway – Gateway
- context – Контекст хоста
Не рекомендуется, начиная с версии 1.4: Host is deprecated, use LocalHost or SSHHost explicitly
-
class
carnival.host.
LocalHost
(**context)¶ Локальный хост, работает по локальному терминалу
-
host
¶ Remove user and port parts, return just address
-
-
class
carnival.host.
SSHHost
(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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <sphinx.ext.autodoc.importer._MockObject object>, **context)¶ Удаленный хост, работает по SSH
-
is_connection_local
() → bool¶ Check if host’s connection is local
-
-
host.
LOCAL_ADDRS
= ['local', 'localhost']¶
-
class
carnival.host.
Host
(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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <sphinx.ext.autodoc.importer._MockObject object>, **context) Параметры: - addr – Адрес сервера для SSH или «local» для локального соединения
- ssh_user – Пользователь SSH
- ssh_password – Пароль SSH
- ssh_port – SSH порт
- ssh_connect_timeout – SSH таймаут соединения
- ssh_gateway – Gateway
- context – Контекст хоста
Не рекомендуется, начиная с версии 1.4: Host is deprecated, use LocalHost or SSHHost explicitly
-
__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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <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 – Контекст хоста
-
class
carnival.host.
SSHHost
(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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <sphinx.ext.autodoc.importer._MockObject object>, **context) Удаленный хост, работает по 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: <sphinx.ext.autodoc.importer._MockObject object at 0x7fd62b8be640> = <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 – Контекст хоста
-
is_connection_local
() → bool Check if host’s connection is local
-
-
class
carnival.host.
LocalHost
(**context) Локальный хост, работает по локальному терминалу
-
__init__
(**context) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
host
Remove user and port parts, return just address
-