Eu tenho um servidor Satellite 6 no meu ambiente de teste instalado como uma VM em uma caixa do CentOS 7. Eu configurei o CentOS KVM como um Compute Resource e o provisionamento de host (sem qualquer Capsule / Foreman Proxy) funciona muito bem. No entanto, eu quero usar o DHCP / DNS fornecido pelo próprio libvirt para controlar os IPs / hostnames de minhas novas caixas. De acordo com a Red Hat, o Satellite 6 usa a versão 1.11 do Foreman.
Eu segui a documentação da Red Hat para cápsulas externas, bem como a documentação do Foreman para o uso da libvirt como um proxy DNS / DHCP.
Eu instalei o Satellite 6 com as seguintes opções:
satellite-installer -S satellite --foreman-proxy-dns-server kvmbox.example \ --foreman-proxy-dns-provider virsh \ --foreman-proxy-dns true \ --foreman-proxy-dhcp-server kvmbox.example \ --foreman-proxy-dhcp-provider virsh \ --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-gateway eth0 \ --foreman-proxy-dhcp-interface eth0
Então, /etc/foreman-proxy/settings.d/dhcp.yml é:
---
# Enable DHCP management
# Can be true, false, or http/https to enable just one of the protocols
:enabled: https
# valid providers:
# - dhcp_isc (ISC dhcp server)
# - dhcp_native_ms (Microsoft native implementation)
# - dhcp_virsh (simple implementation for libvirt)
:use_provider: dhcp_virsh
:server: kvmbox.example
# subnets restricts the subnets queried to a subset, to reduce the query time.
#:subnets: [192.168.205.0/255.255.255.128, 192.168.205.128/255.255.255.128]
E para o DNS:
---
# DNS management
:enabled: https
# valid providers:
# dns_dnscmd (Microsoft Windows native implementation)
# dns_nsupdate
# dns_nsupdate_gss (for GSS-TSIG support)
# dns_virsh (simple implementation for libvirt)
:use_provider: dns_virsh
# use this setting if you want to override default TTL setting (86400)
:dns_ttl: 86400
Minha configuração de foreman-proxy parece bem. No entanto, quando tento criar um novo host, vejo o seguinte erro:
Create DHCP Settings for z1.example.com task failed with the following
error: ERF12-6899 [ProxyAPI::ProxyException]: Unable to set DHCP entry
([RestClient::BadRequest]: 400 Bad Request) for Capsule
https://satellite.example.com:9090/dhcp
O /var/log/foreman-proxy/proxy.log tem as seguintes entradas:
E, [2016-12-07T16:21:35.043048 #31931] ERROR -- : DHCP virsh provider > error: unable to retrive virsh info: virsh provider error: virsh call > failed (pid 32091 exit 1) - error: failed to connect to the hypervisor error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
Assim, a partir desses logs de erros e da falta de opções de configuração (como os arquivos * _virsh) menciona, parece que o único cenário em que eu posso usar a funcionalidade DHCP / DNS libvirt, (pelo menos com o Satellite 6.2 / Foreman 1.11) é quando o Satellite / Foreman é instalado na caixa Física, não como VM ...
Isso é verdade ou simplesmente sinto falta de algo?
Tags foreman