Eu continuei a bater nisso e tê-lo funcionando, embora não seja bonito.
Eu coloquei um script if-pre-up.d
e tirei OUT do dispositivo eth0
de /etc/interfaces
(que é o dispositivo que eu quero configurar).
Então, quando isso é acionado (o que pode ser várias vezes), configuro manualmente eth0
com as linhas de comando ip (por exemplo, ip addr
, ip route
, etc.). Eu também escrevi o arquivo /etc/resolvconf
para servidores dns.
Eu adicionei uma linha no começo que percebe se eth0
já está configurada e sai, então se ela for executada várias vezes eu só faço o trabalho uma vez. A configuração da linha de comando e a saída de eth0
de /etc/interfaces
não entram em conflito com a configuração normal de eth0
.
É feio, mas não consegui encontrar um ponto apropriado no upstart entre o sistema de arquivos local que está sendo configurado, mas antes de iniciar a configuração de rede. Pelo menos em teoria, eu poderia alterar os arquivos /etc/init
associados para que eu pudesse inserir esse passo, mas isso parece frágil, especialmente durante as atualizações.
O resultado é um guest de autoconfiguração que pode ser executado no Hyper-V, verificar seu nome de host e configurar-se - endereços IP, outros arquivos de inicialização / configuração etc. Desta forma, eu posso clonar uma cópia para muitos, e obter todos os tipos de configurações diferentes, impulsionadas por um script simples.
Isso funciona ... mas eu certamente daria boas vindas a uma resposta melhor.