Оборудование (Host)¶
-
host.
LOCAL_ADDRS
= ['local', 'localhost']¶
-
class
carnival.
Host
(addr: str, ssh_user: str = None, ssh_password: str = None, ssh_port=22, ssh_gateway: Optional[Host] = None, ssh_connect_timeout: int = 10, **context)¶ Объект, представляющий единицу оборудования.
Carnival не предоставляет никаких сложных абстракций для работы с группами хостов, подразумевая что вы будете использовать встроенные коллекции python и организуете работу так, как будет удобно для вашей задачи.
>>> class SetupFrontend(Task): >>> def run(self, **kwargs): >>> self.step(Frontend(), Host("1.2.3.4", packages=["htop", ]))
В более сложных, создать списки в файле inventory.py
>>> # inventory.py >>> frontends = [ >>> Host("1.2.3.4"), >>> Host("1.2.3.5"), >>> ]
>>> # carnival_tasks.py >>> import inventory as i >>> class SetupFrontend(Task): >>> def run(self, **kwargs): >>> self.step(Frontend(), i.frontends)
-
__init__
(addr: str, ssh_user: str = None, ssh_password: str = None, ssh_port=22, ssh_gateway: Optional[Host] = None, ssh_connect_timeout: int = 10, **context)¶ В простом случае, можно передавать хосты прямо в коде файла carnival_tasks.py.
Параметры: - addr – Адрес сервера
- ssh_user – Пользователь SSH
- ssh_password – Пароль SSH
- ssh_port – SSH порт
- ssh_connect_timeout – SSH таймаут соединения
- ssh_gateway – Gateway
- context – Контекст хоста
-
host
¶ Remove user and port parts, return just address
-
is_connection_local
() → bool¶ Check if host’s connection is local
-