Referência de Configuração
Visão Geral
Este documento fornece uma referência abrangente para configurar implantações do OmniCore através de arquivos de hosts. A configuração é definida principalmente em arquivos de inventário de hosts, com mínimas substituições de group_vars necessárias para implantações modernas.
Para documentação específica do produto, veja:
- OmniCore: https://docs.omnitouch.com.au/docs/repos/OmniCore
- OmniCall: https://docs.omnitouch.com.au/docs/repos/OmniCall
- OmniCharge: https://docs.omnitouch.com.au/docs/repos/OmniCharge
Abordagem de Configuração
Implantações modernas do OmniCore utilizam um modelo de configuração simplificado:
Princípio Chave: A maior parte da configuração é definida diretamente no arquivo de hosts. Os padrões de função lidam com a maioria das configurações, com group_vars usados apenas para personalizações específicas.
Planejamento de Rede
Antes de configurar os hosts, revise o Padrão de Planejamento de IP para orientações sobre:
- Estratégias de segmentação de rede
- Alocação de endereços IP
- Organização de sub-redes
- Tratamento de IPs públicos
Parâmetros Comuns de Host
#ToDo - Apenas diga para verificar hosts-file-configuration.md para isso
Flags Específicas de Serviço
cdrs_enabled: True # Habilitar geração de CDR
in_pool: False # Excluir do pool de balanceamento de carga
online_charging_enabled: False # Habilitar integração OCS
recording: True # Habilitar gravação de chamadas (AS)
populate_crm: False # Preencher CRM com dados iniciais
Variáveis Globais (all:vars)
A seção all:vars contém configurações em todo o ambiente de implantação. Implantações modernas usam variáveis globais mínimas, com a maior parte da configuração nos padrões de função.
Variáveis Globais Essenciais
Autenticação e Acesso
ansible_connection: ssh
ansible_user: root
ansible_password: password
ansible_become_password: password
Alternativa: Use chaves SSH em vez de senhas:
ansible_ssh_private_key_file: '/path/to/key.pem'
Identidade do Cliente
customer_name_short: omnitouch
customer_legal_name: "YKTN Lab"
site_name: YKTN
region: AU
TZ: Australia/Melbourne
Configuração PLMN
plmn_id:
mcc: '001' # Código do País Móvel (3 dígitos)
mnc: '01' # Código da Rede Móvel (2-3 dígitos)
mnc_longform: '001' # MNC com zeros à esquerda (sempre 3 dígitos)
diameter_realm: epc.mnc{{ plmn_id.mnc_longform }}.mcc{{ plmn_id.mcc }}.3gppnetwork.org
Propósito: Identifica exclusivamente sua rede móvel. Usado para a construção do domínio Diameter.
Nomes de Rede
network_name_short: Omni
network_name_long: Omnitouch
tac_list: [10100,100] # Lista TAC padrão (pode ser substituída por MME)
Exibido: Nomes de rede mostrados em dispositivos UE em Configurações > Rede Móvel.
Configuração de DNS
netplan_DNS: False # Usar systemd-resolved em vez de DNS do netplan
manage_resolv_conf: True # Defina como False para impedir que o Ansible gerencie /etc/resolv.conf
Nota: Quando manage_resolv_conf está definido como False, o Ansible não sobrescreverá /etc/resolv.conf nesse host. Isso é útil para hosts que requerem configuração de DNS personalizada ou são gerenciados por sistemas externos. Pode ser definido por host no inventário ou globalmente em all:vars.
Configuração do Repositório APT
Padrões Automáticos: Quando um grupo apt_cache_servers é definido com hosts:
use_apt_cacheautomaticamente é definido comoTrue(a menos que explicitamente definido comoFalse)apt_repo.apt_serverautomaticamente é definido como o IP do primeiro servidor de cache
# Configuração manual (opcional se o grupo apt_cache_servers existir)
use_apt_cache: True # Usar cache APT local em vez de acesso direto ao repositório
apt_repo:
apt_server: "10.10.1.114" # Servidor de cache APT ou servidor de repositório
# Credenciais só são necessárias quando use_apt_cache: False
# apt_repo_username: "omni"
# apt_repo_password: "omni"
# Configuração de downloads binários e sincronização de cache
# Usado para: (1) baixar binários de /releases/ quando use_apt_cache: false
# (2) sincronização do servidor de cache a partir do Omnitouch quando use_apt_cache: true
remote_apt_server: "apt.omnitouch.com.au"
remote_apt_user: "omni"
remote_apt_password: "omni"
Veja: Sistema de Cache APT
Servidor de Licença
license_server_api_urls: ["https://10.10.2.150:8443/api"]
license_enforced: true
Veja: Servidor de Licença
Configurações MME
mme_dns: False # Habilitar resolução de DNS MME
Configurações SAEGW
mtu: 1400 # Unidade Máxima de Transmissão
Configurações IMS
ims_dra_support: False # Roteia IMS através do DRA
enable_homer: False # Habilitar captura SIP do Homer
Configuração do Monitor RAN
use_nokia_monitor: True
use_casa_monitor: True
install_influxdb: True
influxdb_user: monitor
influxdb_password: "secure-password"
influxdb_organisation_name: omnitouch
influxdb_nokia_bucket_name: nokia-monitor
influxdb_casa_bucket_name: casa-monitor
influxdb_operator_token: "generated-token"
influxdb_url: http://127.0.0.1:8086
enable_pm_collection: False
enable_alarm_collection: False
enable_location_collection: False
enable_ran_status_collection: True
enable_nokia_rectifier_collection: False
collection_interval_in_seconds: 120
ran_monitor:
sql:
user: ran_monitor
password: "secure-password"
database_host: 127.0.0.1
database_name: ran_monitor
influxdb:
address: 10.10.2.135
port: 8086
nokia:
airscales:
- address: 10.7.15.66
name: site-Lab-Airscale
port: 8080
web_password: nemuuser
web_username: Nemuadmin
Configuração de Firewall
firewall:
allowed_ssh_subnets:
- '10.0.1.0/24'
- '10.0.0.0/24'
allowed_ue_voice_subnets:
- '10.0.1.0/24'
allowed_carrier_voice_subnets:
- '10.0.1.0/24'
allowed_signaling_subnets:
- '10.0.1.0/24'
Servidores DNS de Roaming
roaming_dns_servers:
wildcard: ['10.0.99.1']
# DNS específico do operador (baseado em PLMN)
123456: # Exemplo Operador 1
- '10.10.2.197'
654321: # Exemplo Operador 2
- '10.10.0.4'
Usuários Locais (Chaves SSH)
local_users:
usera:
name: Exemplo Usuário A
public_key: "ssh-rsa AAAAB3Nza..."
userb:
name: Exemplo Usuário B
public_key: "ssh-ed25519 AAAAC3..."
Configuração do Hypervisor
Proxmox
proxmoxServers:
customer-prxmx01:
proxmoxServerAddress: 10.10.0.100
proxmoxServerPort: 8006
proxmoxRootPassword: password
proxmoxApiTokenName: AnsibleToken
proxmoxApiTokenSecret: "token-secret"
proxmoxTemplateName: ubuntu-24.04-cloud-init-template
proxmoxTemplateId: 9000
proxmoxNodeName: pve01
# Configurações padrão do Proxmox
proxmoxServerAddress: 10.10.0.100
proxmoxServerPort: 8006
proxmoxNodeName: 'pve01'
proxmoxLxcOsTemplate: 'local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst'
proxmoxApiTokenName: DocsTest
proxmoxLxcCores: 8
proxmoxLxcDiskSizeGb: 20
proxmoxLxcMemoryMb: 64000
proxmoxLxcRootFsStorageName: SSD_RAID0
proxmoxLxcBridgeName: vmbr0
proxmoxTemplateName: "ubuntu-24.04-cloud-init-template"
proxmoxStorage: SSD_RAID0
vLabNetmask: 24
PROXMOX_API_TOKEN: "token-secret"
vlabRootPassword: password
vLabPublicKey: "ssh-rsa AAAAB3..."
mask_cidr: 24
VMware vCenter
vcenter_ip: "vcenter.example.com"
vcenter_username: "administrator@vsphere.local"
vcenter_password: "password"
vcenter_datacenter: "DC1"
vcenter_vm_template: ubuntu-24.04-model
vcenter_vm_disk_size: 50
vcenter_folder: "Omnicore"
host_vm_network: "Management"
vhosts:
"10.0.0.23":
vcenter_cluster_ip: 10.0.0.23
vcenter_datastore: "datastore1 (3)"
netmask: 255.255.255.0
Documentação Relacionada
- Padrão de Planejamento de IP - Diretrizes de arquitetura de rede e alocação de IP
- Configuração do Arquivo de Hosts - Como estruturar arquivos de hosts
- Configuração de Variáveis de Grupo - Quando e como usar group_vars
- Configuração do Netplan - IPs secundários e configuração de múltiplas NICs
- Arquitetura de Implantação - Como os componentes interagem
- Sistema de Cache APT - Gerenciamento de pacotes
- Servidor de Licença - Configuração de licença
Documentação do Produto
Para guias operacionais detalhados e configuração avançada:
- Componentes do OmniCore: https://docs.omnitouch.com.au/docs/repos/OmniCore
- Componentes do OmniCall: https://docs.omnitouch.com.au/docs/repos/OmniCall
- OmniCharge/OmniCRM: https://docs.omnitouch.com.au/docs/repos/OmniCharge