Notre maas LAN ne peut pas accéder à Internet et dispose d'un site interne apt-mirror 192.168.3.6. J'ai changé l'ensemble miroir du fichier snippets/maas_proxy du serveur maas comme suit:
d-i mirror/country string manual
d-i mirror/http/hostname string 192.168.3.6
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
J'ai déployé deux nœuds maas. Le tableau de bord montre que l'état des deux nœuds est prêt. Mais le client cloud-init du nœud a changé les sources.list de l'apt comme ceci:
## Note, this file is written by cloud-init on first boot of an instance
## modifications made here will not survive a re-bundle.
## if you wish to make changes you can:
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
## or do the same in user-data
...
deb http://archive.ubuntu.com/ubuntu precise main
deb-src http://archive.ubuntu.com/ubuntu precise main
...
Utilisez directement le noeud d'installation cobbler (sans maas), les sources.list du noeud apt comme:
...
deb http://192.168.3.6/ubuntu precise main
deb-src http://192.168.3.6/ubuntu precise main
...
Ma question est:
OK, nous pouvons terminer l'installation du nœud en ajoutant une ligne dans/var/lib/cobbler/snippets/maas_preseed comme:
$maas_preseed_data
cloud-init cloud-init/local-cloud-config string manage_etc_hosts: localhost
+cloud-init cloud-init/local-cloud-config string apt_preserve_sources_list: true
En fait, cloud-init/local-cloud-config est le configurateur local de cloud-init.
Merci d'avoir signalé cela. J'ai ouvert bug 1006966 contre maas en amont pour résoudre ce problème.
Pour le moment, la façon la plus simple de contourner ce problème est probablement de demander à une commande tardive d'installer un fichier dans /etc/cloud/cloud.cfg avec un contenu comme:
# /etc/cloud/cloud.cfg.d/99-local-mirror-only.cfg
apt_preserve_sources_list: true
Non testé, mais vous pouvez y parvenir en faisant:
--- /var/lib/cobbler/kickstarts/maas.preseed.dist 2012-05-31 15:37:06.689109923 +0000
+++ /var/lib/cobbler/kickstarts/maas.preseed 2012-05-31 15:37:43.293109690 +0000
@@ -90,4 +90,5 @@
d-i preseed/late_command string true && \
$SNIPPET('maas_sudoers') && \
$SNIPPET('maas_disable_pxe') && \
+ $SNIPPET('local_mass_local_mirror') && \
true
--- /dev/null 2012-05-31 15:21:47.612623001 +0000
+++ /var/lib/cobbler/snippets/local_maas_local_mirror 2012-05-31 15:39:33.897110012 +0000
@@ -0,0 +1 @@
+in-target sh -c "echo apt_preserve_sources_list: true > /etc/cloud/cloud.cfg.d/99-local-mirror-only.cfg" \
Oh, et pour répondre "comment définir les données utilisateur dans maas", cela n'est actuellement possible qu'en utilisant l'API maas. Il n'existe actuellement aucun outil client.