Eu tenho um aplicativo que implantamos por meio do modelo ovf. Eu o configurei para que um cliente possa inserir as configurações de rede no vSphere e elas sejam acessadas por meio do ovfTools. Tudo isso funciona bem. Meu problema é quando tento definir as configurações de rede para o sistema operacional. Eu tenho um script que eu escrevi que extrai os valores em variáveis, então escreve o arquivo / etc / network / interfaces.
Após esta resposta , eu chamo meu script durante o network-pre.target e o novo arquivo / etc / network / interfaces é gravado, mas quando a rede é ativada, os valores antigos ainda são definidos para a interface. Se eu emitir uma reinicialização do systemctl, o serviço será reiniciado e os novos valores serão refletidos na interface.
Parece-me que o driver de rede está carregando o arquivo de interfaces antes que a chamada ao meu script seja feita (em algum lugar anterior à pré-rede?). Não acho que faça sentido solicitar uma reinicialização da interface de rede durante o estágio de pré-rede, então, qual é a maneira correta de forçar o servidor de rede a usar os novos valores?
Editar: Aqui está minha definição de serviço:
[Unit]
Description=Updates network information from the OVF
Before=network-pre.target
Wants=network-pre.target
[Service]
Type=oneshot
ExecStart=/seven10/bin/setEnvFromOvf
[Install]
WantedBy=multi-user.target
Tags networking systemd