Estamos usando o DSC basicamente desde o lançamento do primeiro dia, mas uma coisa que nunca conseguimos fazer com sucesso (seja pelo DSC simples direto ou invocando DSC via fantoche) é configurar o sistema de rede do Windows de uma maneira que não pode causar grandes problemas ao aplicar a configuração.
A questão é esta:
Usando os módulos do Microsoft DSC (atualmente xNetworking ), você tem diretivas para:
O problema é que a aplicação de qualquer uma dessas configurações, uma por vez, faz com que a conexão de rede no host caia e tudo pára imediatamente de ser aplicado - deixando o host quebrado e incapaz de se conectar remotamente, o que significa que você precisa console na máquina.
Por exemplo:
$false
remove imediatamente o endereço IP, o gateway e o DNS da máquina, impedindo que ela seja contatada. E você deve definir essa propriedade, porque se a sua concessão DHCP corresponder ao endereço IP permanente desse servidor, o DSC retornará InDesiredState = true
(o que é tecnicamente correto) 172.16.110.10/23
faz com que a rede se reconecte e não deixa nenhum gateway padrão ou entradas de DNS, o que significa que, se você estiver empurrando de uma sub-rede diferente, não poderá se conectar. Além disso, como não há entradas de DNS, você não pode mais entrar em contato com os controladores de domínio para autenticar quaisquer novas solicitações No Linux, você lida com isso editando o arquivo de configuração da interface e, em seguida, o puppet notifica o serviço de rede para reiniciar no final da execução do fantoche , para que todo o resto tenha a chance de terminar primeiro.
No Windows, no momento em que você aplica xDhcpClient, xDNSServerAddress ou xDefaultGatewayAddress, todo o processo é interrompido quando a rede é desconectada.
Por exemplo, é o que acontece quando se aplica um fantoche:
Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdnsserveraddress[NY-DSCTEST01-PRI-VMNIC_DNS]/ensure: created
Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdhcpclient[NY-DSCTEST01-PRI-VMNIC_DHCP]/ensure: created
Notice: Applied catalog in 18.40 seconds
Error: Could not send report: Failed to open TCP connection to ny-puppet.example.com:8140 (getaddrinfo: No such host is known. )
A corrida de marionetes simplesmente pára porque não pode mais se conectar ao mestre de marionetes.
Alguém configurou a rede no Windows via Puppet ou DSC? Se sim, como você está superando esses problemas?