Eu instalei o cloud-init no FreeBSD, do repositório pkg. O FreeBSD está rodando no oVirt, usando o datasource do drive de configuração. Eu uso para definir um hostname diferente da máquina na inicialização.
Meu problema é que eu não o coloco em execução no estágio "local". O primeiro estágio que funciona para mim é o estágio "init", mas nesse estágio, o /etc/rc.conf já definiu um nome de host e obteve um IP com o DHCP, que comunica o nome do host ao DNS automaticamente. Quando o cloud-init define outro nome de host depois, não consigo acessar o host através desse nome de host, porque o DNS não sabe nada sobre isso.
Há um script rc cloudinitlocal em /usr/local/etc/rc.d/cloudinitlocal, que pode estar em execução no estágio "local". Tentei alcançar isso com o seguinte em /usr/local/etc/cloud/cloud.cfg:
datasource:
ConfigDrive:
dsmode: local
Mas isso não teve o efeito desejado. Eu também tentei adicionar o seguinte, para o cloud-init rodar o estágio local:
cloud_local_modules:
- set_hostname
- update_hostname
O que não parece rodar nada no estágio "local" também.
Então, minha pergunta é: Como posso fazer com que o cloud-init no FreeBSD execute algo no estágio "local"?
Tags cloud-init freebsd ovirt