- Enough machines running with Debian Buster vanilla
- You can become root on the target machines (See https://docs.ansible.com/ansible/latest/user_guide/become.html)
- Ansible 2.7.9:
pip install ansible==2.7.9
- Edit
inventories/sbcand set your host in[sbc_host] - Run:
ansible-galaxy install -r requirements-postgresql.yml
ansible-playbook -i inventories/sbc c4-sbc.yml- Edit
inventories/routerand set your host in[router_host] - Run:
ansible-galaxy install -r requirements-postgresql.yml
ansible-playbook -i inventories/router c4-router.yml- Edit
inventories/uc-engineand set your host in[uc-engine-host] - Run:
ansible-galaxy install -r requirements-postgresql.yml
ansible-playbook -i inventories/uc-engine uc-engine.ymlwazo_localeif defined, ensure the locale is set and generated. Must be anUTF-8locale.
wazo_consul_host: (defaultlocalhost) host running the Consul server.wazo_consul_port_scheme: (defaulthttp) which port of the Consul server to use.wazo_consul_port_http: (default8500) HTTP port of the Consul server.wazo_consul_port_https: (default8501) HTTPS port of the Consul server.
debian_upgrade_first: (default:true) do weapt-get dist-upgradebefore installing Wazo Router?router_api_endpoint_confd: (default:http://localhost:8000) URI of the wazo-router-confd servicerouter_api_db_host: (default:localhost) PostgreSQL host for wazo-router-confdrouter_api_db_port: (default:5432) PostgreSQL port for wazo-router-confdrouter_api_db_name: (default:wazo) database name for wazo-router-confdrouter_api_db_user: (default:wazo) database username for wazo-router-confdrouter_api_db_password: (default:wazo) database password for wazo-router-confdrouter_api_redis_host: (default:localhost) Redis host for wazo-router-confdrouter_api_redis_port: (default:6379) Redis port for wazo-router-confdrouter_api_redis_database: (default:1) Redis database for wazo-router-confdrouter_interface: (default:{{ ansible_default_ipv4.interface }}) network interface for Kamailiorouter_redis_dialog: (default:1) enables redis-based dialog replicationrouter_dburl_dialog: (default:redis://localhost:6379/2) Redis uri to store dialogsrtpengine_interface: (default:{{ ansible_default_ipv4.interface }}) network interface for RTPEnginertpengine_private_address: (default:{{ ansible_default_ipv4.address }}) private IP address for RTPEnginertpengine_public_address: (default:{{ ansible_default_ipv4.address }}) public IP address for RTPEngine
debian_upgrade_first: (default:true) do weapt-get dist-upgradebefore installing Wazo Router?sbc_advertise_address: (default:not set) the advertised address for Kamailio, optionalsbc_advertise_port: (default:not set) the advertised port for Kamailio, optionalsbc_interface: (default{{ ansible_default_ipv4.interface }}) network interface for Kamailiosbc_dispatcher_list: (1 sip:localhost:5060 16 10") dispatcher list configuration, replacelocalhostwith the address of your router componentsbc_redis_dialog: (default:1) enables redis-based dialog replicationsbc_dburl_dialog: (default:redis://localhost:6379/3) Redis uri to store dialogs
debian_upgrade_first: (default:true) do weapt-get dist-upgradebefore installing Wazo?
b2bua_host: (default:localhost) where other services should contact the B2BUAb2bua_listen_address: (default:127.0.0.1)b2bua_port_ami: (default:5038) TCP port for AMIb2bua_port_http: (default:5039) TCP port for HTTP interfacesb2bua_port_https: (default:5040) TCP port for HTTPS interfacesb2bua_port_sysconfd: (default:8668) TCP port for xivo-sysconfd HTTP interfaceb2bua_https_cert: custom certificate filename for HTTPSb2bua_https_private_key: custom private key filename for HTTPSb2bua_ami_permit_client_address: (default:127.0.0.1)b2bua_ami_permit_client_mask: (default:255.255.255.255)b2bua_listen_address: (default:127.0.0.1)
postgresql_port: (default:5432) TCP port for PostgreSQLpostgresql_superuser_password: password for superuserpostgrespostgresql_listen_addresses: (default:127.0.0.1)
engine_api_host: (default:localhost) where other services should contact the engine APIengine_api_port: (default:443) TCP port for HTTPS APIengine_api_port_confgend: (default:8669) TCP port for wazo-confgendengine_api_https_cert: custom certificate filename for HTTPSengine_api_https_private_key: custom private key filename for HTTPSengine_api_db_host: (default:localhost) PostgreSQL hostengine_api_db_port: (default:5432) PostgreSQL portengine_api_db_admin_user: (default:postgres) PostgreSQL superuser usernameengine_api_db_admin_password: PostgreSQL superuser passwordengine_api_db_auth_name: (default:asterisk) database name for wazo-authengine_api_db_auth_user: (default:asterisk) database username for wazo-authengine_api_db_auth_password: (default:proformatique) database password for wazo-authengine_api_db_confd_name: (default:asterisk) database name for wazo-confdengine_api_db_confd_user: (default:asterisk) database username for wazo-confdengine_api_db_confd_password: (default:proformatique) database password for wazo-confdengine_auth_path: (default:/api/auth/0.1)engine_confd_path: (default:/api/confd/1.1)engine_setupd_path: (default:/api/setupd/1.0)engine_api_listen_address: (default:127.0.0.1)ari_username: (default:xivo) B2BUA ARI usernameari_password: (default:Nasheow8Eag) B2BUA ARI passwordami_username: (default:wazo_amid) B2BUA AMI usernameami_password: (default:eeCho8ied3u) B2BUA AMI passwordengine_api_configure_wizard: (default:false) run the configuration wizard. Whentrue,engine_api_root_passwordmust be set.api_client_name: (default:api-client) client name to manage the api. Used whenengine_api_configure_wizardistrue.api_client_password: (default:api-password) password forapi_client_name. Used whenengine_api_configure_wizardistrue.engine_api_root_password: password for engine superuserroot. Used whenengine_api_configure_wizardistrue.engine_language: (default:en_US). Used whenengine_api_configure_wizardistrue.tenant_name: (default:my-company) first tenant to create. Used whenengine_api_configure_wizardistrue.
Wazo has two difference Debian repositories: the main and archive
repositories. Each repository contains multiple distributions, themselves
containing multiple packages, in a certain version:
- The
mainrepository contains the "rolling" distributions:phoenix-buster,pelican-buster,wazo-dev-buster, etc. Packages in those distributions are updated at each release, exceptwazo-dev-busterwhich is constantly updated. - The
archiverepository contains the "frozen" distributions:wazo-19.10,wazo-19.11, etc. Packages in those distribution do not change (except for important bugfixes), each distribution is created once a new version of the Wazo engine is released, then the packages are never updated. This ensures the installation will be the same, even a few months later (except for changes in the base Debian install).
For a new Wazo engine installation, there are two distribution to consider:
- which distribution is used for the current installation (defined by the repo
and distribution
wazo_debian_repoandwazo_distribution) - which distribution will be used for future upgrades (defined by the repo and
distribution
wazo_debian_repo_upgradeandwazo_distribution_upgrade)
wazo_debian_repo: (default:main) wazo repository from where packages are installed. Valid values:mainandarchivewazo_distribution: (default:wazo-dev-buster) wazo distribution from where packages are installedwazo_debian_repo_upgrade: (default:main) wazo repository for later upgrades. This repo is not used during installation, only set up at the end for later upgrades. Valid values:mainandarchivewazo_distribution_upgrade: (default:wazo-dev-buster) wazo distribution for later upgrades. This distribution is not used during installation, only set up at the end for later upgrades.wazo_meta_package: (defaultwazo-platform) meta package to install an all in one setup.wazo_extra_repository: debian repository to add to the installation.wazo_extra_repository_filename: (defaultwazo-extra) filename for the extra repository configuration.
runtime: (default:true) set totruewhen services are running while Ansible is executing. Set tofalsewhen Ansible must only make file modifications and no services are running (e.g. at docker build time)