
Ausgabe:
Ich versuche, mit Packer ein Ubuntu Server 22.04-Image zu erstellen, und stoße auf Probleme beim Umbenennen der Netzwerkkarte mit einer gültigen Netplan-Konfiguration und beim anschließenden Installieren eines Pakets.
Zum Hintergrund sind einige Anmerkungen zu machen:
- Ich benenne die Netzwerkkarte um, weil ich versuche, mit Terraform die Netzwerkkartenkonfiguration beim Start mit Proxmox und Cloud-Init festzulegen. Wenn Cloud-Init auf dem geklonten Image ausgeführt wird, scheint es die Netzwerkkarte beim ersten Start umbenennen zu wollen, und da es die Netzwerkkarte nicht im laufenden Betrieb umbenennen kann (von ens18 in eth0), ist ein zweiter Neustart erforderlich, bevor Cloud-Init die richtige IP-Adresse auf der VM einstellt. Dies ist nicht gerade ideal, wenn ich einen Ubuntu-Server mit Terraform hochfahren möchte, da ein manueller Neustart erforderlich ist.
Ich hatte keine Probleme mit Proxmox und den Cloud-Init-Laufwerk-/Konfigurationseinstellungen, die es für die folgenden Betriebssysteme bereitstellt:
- AlmaLinux 8 und 9
- RHEL 7, 8 und 9
- Windows Server 2012, 2016, 2019 und 2022 (Cloudbase-init)
Sie scheinen alle einfach die Cloud-Init-Konfiguration zu akzeptieren, die Terraform zur Verwendung an Proxmox sendet, und schon kann es losgehen. All das, um zu sagen, dass Proxmox die Netzwerkkarte vielleicht nicht umbenennen sollte, aber Ubuntu Server ist das erste Betriebssystem, bei dem ich damit Probleme hatte, und ich suche derzeit nicht wirklich nach einer Lösung außerhalb von Ubuntu.
- Ich muss es
qemu-guest-agent
auf der VM installieren, damit Packer die IP-Adresse aus der Proxmox-API einlesen kann, damit es weiß, mit wem es sich verbinden muss.
Besonderheiten:
- Ich kann die Installation durchführen
qemu-guest-agent
, wenn ich keine Netzwerkeinstellungen angebe und die Standardeinstellungen von subiquity/netplan vornehme. Wenn ich dies tue, wirdautoinstall-user-data
bei/var/log/installer
einer erfolgreichen automatischen Installation die folgende Netzwerk- und Paketkonfiguration angezeigt:
autoinstall:
<snipped>
network:
ethernets:
ens18:
dhcp4: true
version: 2
packages:
- qemu-guest-agent
<snipped>
- Ich kann die Netzwerkkarte erfolgreich mit subiquity/netplan umbenennen. Wenn dies geschieht, schlägt die Installation von qemu-guest-agent fehl und der Build-Prozess schlägt fehl. Hier ist die Konfiguration, die ich dafür verwende:
network:
ethernets:
ens18:
match:
driver: e1000
dhcp4: true
set-name: eth0
version: 2
packages:
- qemu-guest-agent
Der obige network:
Block benennt die Netzwerkkarte erfolgreich in eth0 um UND ich habe bei der fehlerhaften Installation volle Netzwerkverbindung. Ich kann etwas wie google.com anpingen und mich auch per SSH mit dem Computer verbinden. Ich kann den Protokollen entnehmen, dass die Umbenennung erfolgreich war, und ich kann den neuen Netzwerkkartennamen bei der fehlgeschlagenen Installation überprüfen, wenn ich in eine Shell weitergeleitet werde.
Nachfolgend sind die Fehler aufgeführt, die nach der NIC-Umbenennung auftreten.
Aus subiquity-server-debug.log.1976
:
2022-09-04 07:21:30,557 DEBUG root:39 start: subiquity/Install/install/postinstall/install_qemu-guest-agent: installing qemu-guest-agent
2022-09-04 07:21:30,560 DEBUG subiquitycore.utils:112 astart_command called: ['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']
2022-09-04 07:21:30,570 INFO root:39 start: subiquity/Meta/status_GET:
2022-09-04 07:21:31,706 DEBUG root:39 start: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: curtin command system-install
2022-09-04 07:21:31,826 ERROR root:39 finish: subiquity/Install/install/postinstall/install_qemu-guest-agent: FAIL: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']' returned non-zero exit status 100.
2022-09-04 07:21:31,833 ERROR root:39 finish: subiquity/Install/install/postinstall: FAIL: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']' returned non-zero exit status 100.
2022-09-04 07:21:31,834 DEBUG subiquitycore.common.errorreport:384 generating crash report
2022-09-04 07:21:31,872 INFO subiquitycore.common.errorreport:406 saving crash report 'install failed crashed with CalledProcessError' to /var/crash/1662276091.834314585.install_fail.crash
2022-09-04 07:21:31,873 ERROR root:39 finish: subiquity/Install/install: FAIL: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']' returned non-zero exit status 100.
2022-09-04 07:21:31,875 INFO root:39 start: subiquity/ErrorReporter/1662276091.834314585.install_fail/add_info:
2022-09-04 07:21:31,876 ERROR subiquity.server.server:416 top level error
Traceback (most recent call last):
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/cmdlist.py", line 104, in _run
await Install.install_task
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 177, in install
await self.postinstall(context=context)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 200, in postinstall
await self.install_package(context=context, package=package)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 227, in install_package
await run_curtin_command(
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 181, in run_curtin_command
return await cmd.wait()
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 118, in wait
result = await self.runner.wait(self.proc)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/runner.py", line 81, in wait
raise subprocess.CalledProcessError(proc.returncode, proc.args)
subprocess.CalledProcessError: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']' returned non-zero exit status 100.
2022-09-04 07:21:31,877 ERROR subiquity.server.server:416 top level error
Traceback (most recent call last):
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/shutdown.py", line 77, in _wait_install
await self.app.controllers.Install.install_task
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/cmdlist.py", line 104, in _run
await Install.install_task
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 177, in install
await self.postinstall(context=context)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 200, in postinstall
await self.install_package(context=context, package=package)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
return await meth(self, **kw)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 227, in install_package
await run_curtin_command(
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 181, in run_curtin_command
return await cmd.wait()
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 118, in wait
result = await self.runner.wait(self.proc)
File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/runner.py", line 81, in wait
raise subprocess.CalledProcessError(proc.returncode, proc.args)
subprocess.CalledProcessError: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1976', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}', 'system-install', '-t', '/target', '--', 'qemu-guest-agent']' returned non-zero exit status 100.
2022-09-04 07:21:32,072 ERROR root:39 finish: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: FAIL: curtin command system-install
2022-09-04 07:21:32,594 INFO root:39 finish: subiquity/ErrorReporter/1662276091.834314585.install_fail/add_info: SUCCESS: written to /var/crash/1662276091.834314585.install_fail.crash
2022-09-04 07:21:32,596 INFO root:39 finish: subiquity/Meta/status_GET: SUCCESS: 200 {"state": "ERROR", "confirming_tty": "", "error": {"state": "DONE", "base": "...
2022-09-04 07:21:32,599 INFO aiohttp.access:233 [04/Sep/2022:07:21:30 +0000] "GET /meta/status?cur=%22POST_RUNNING%22 HTTP/1.1" 200 524 "-" "Python/3.8 aiohttp/3.6.2"
Wenn ich den Befehl aus den fehlgeschlagenen Protokollen manuell ausführe:
systemd-run --wait --same-dir --property SyslogIdentifier=subiquity_log.1976 --setenv PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin --setenv PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages --setenv PYTHON=/snap/subiquity/3698/usr/bin/python3.8 --setenv SNAP=/snap/subiquity/3698 -- /snap/subiquity/3698/usr/bin/python3.8 -m curtin --showtrace -vvvvvv --set json:reporting='{"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}}' system-install -t /target -- qemu-guest-agent
Im Syslog kann ich folgendes sehen:
Sep 4 07:31:18 ubuntu-server systemd[1]: Started /snap/subiquity/3698/usr/bin/python3.8 -m curtin --showtrace -vvvvvv --set json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1976.5"}} system-install -t /target -- qemu-guest-agent.
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: start: cmd-system-install: curtin command system-install
Sep 4 07:31:19 ubuntu-server curtin_event.1976.5[16331]: start: cmd-system-install: curtin command system-install
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--bind', '/dev', '/target/dev'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--bind', '/proc', '/target/proc'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--bind', '/run', '/target/run'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--bind', '/sys', '/target/sys'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['unshare', '--help'] with allowed return codes [0] (capture=True)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/target', 'eatmydata', 'apt-get', '--quiet', '--assume-yes', '--option=Dpkg::options::=--force-unsafe-io', '--option=Dpkg::Options::=--force-confold', 'install', 'qemu-guest-agent'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16342]: Reading package lists...
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16342]: Building dependency tree...
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16342]: Reading state information...
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16342]: E: Unable to locate package qemu-guest-agent
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: TIMED subp(['udevadm', 'settle']): 0.028
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--make-private', '/target/sys'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['umount', '/target/sys'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--make-private', '/target/run'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server systemd[1]: target-sys.mount: Deactivated successfully.
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['umount', '/target/run'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--make-private', '/target/proc'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['umount', '/target/proc'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['mount', '--make-private', '/target/dev'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Running command ['umount', '/target/dev'] with allowed return codes [0] (capture=False)
Sep 4 07:31:19 ubuntu-server subiquity_event.1976[1976]: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: curtin command system-install
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: system install failed for ['qemu-guest-agent']: Unexpected error while running command.
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Command: ['unshare', '--fork', '--pid', '--', 'chroot', '/target', 'eatmydata', 'apt-get', '--quiet', '--assume-yes', '--option=Dpkg::options::=--force-unsafe-io', '--option=Dpkg::Options::=--force-confold', 'install', 'qemu-guest-agent']
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Exit code: 100
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Reason: -
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Stdout: ''
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: Stderr: ''
Sep 4 07:31:19 ubuntu-server subiquity_log.1976[16331]: finish: cmd-system-install: FAIL: curtin command system-install
Sep 4 07:31:19 ubuntu-server curtin_event.1976.5[16331]: finish: cmd-system-install: FAIL: curtin command system-install
Sep 4 07:31:19 ubuntu-server systemd[1]: run-u70.service: Main process exited, code=exited, status=100/n/a
Sep 4 07:31:19 ubuntu-server systemd[1]: run-u70.service: Failed with result 'exit-code'.
Sep 4 07:31:19 ubuntu-server systemd[1]: run-u70.service: Consumed 1.595s CPU time.
Sep 4 07:31:20 ubuntu-server subiquity_event.1976[1976]: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: curtin command system-install
Sep 4 07:31:20 ubuntu-server systemd[1]: target-run.mount: Deactivated successfully.
Sep 4 07:31:20 ubuntu-server systemd[1]: target-proc.mount: Deactivated successfully.
Sep 4 07:31:20 ubuntu-server systemd[1]: target-dev.mount: Deactivated successfully.
Derselbe Schritt/dieselbe Konfiguration ist erfolgreich, wenn sie bei einer automatischen Installation ausgeführt wird, ohne die Netzwerkkarte umzubenennen:
2022-09-01 23:11:45,679 DEBUG root:39 start: subiquity/Install/install/postinstall/install_qemu-guest-agent: installing qemu-guest-agent
2022-09-01 23:11:45,988 DEBUG subiquitycore.utils:112 astart_command called: ['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1972', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/s
bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--
setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1972.5"}}', 'system-install', '-t', '/tar
get', '--', 'qemu-guest-agent']
2022-09-01 23:11:46,031 INFO root:39 start: subiquity/Meta/status_GET:
2022-09-01 23:11:47,706 DEBUG root:39 start: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: curtin command system-install
2022-09-01 23:11:56,394 DEBUG subiquity.server.curtin:123 waited 0.1 seconds for events to drain
2022-09-01 23:11:56,458 DEBUG root:39 finish: subiquity/Install/install/postinstall/install_qemu-guest-agent/cmd-system-install: SUCCESS: curtin command system-install
2022-09-01 23:11:56,496 DEBUG subiquity.server.curtin:123 waited 0.2 seconds for events to drain
2022-09-01 23:11:56,497 DEBUG root:39 finish: subiquity/Install/install/postinstall/install_qemu-guest-agent: SUCCESS: installing qemu-guest-agent
An diesem Punkt bin ich mir nicht ganz sicher, warum es heißt, dass das Paket nach der Umbenennung der Netzwerkkarte nicht gefunden werden kann. Ich bin an diesem Punkt ein wenig ratlos, da die VM vollen Internetzugang hat, nachdem mir die Shell angezeigt wurde.
Ich bin für jede Art von Hilfe/Schritten zur Fehlerbehebung dankbar. Ich gebe gerne alle Informationen weiter, die ich habe.
Antwort1
Ich konfiguriere Netzwerke gerne mit late-commands
.
#cloud-config
autoinstall:
late-commands:
- |
rm /target/etc/netplan/00-installer-config.yaml
cat <<EOF > /target/etc/netplan/80-my.yaml
network:
ethernets:
ens18:
match:
driver: e1000
dhcp4: true
set-name: eth0
version: 2
EOF
wie es funktioniert
Wenn Ihre Datei keinen network
Konfigurationsblock enthält user-data
, wird das Installationsprogramm (Unterordnung) WilleVerwenden Sie eine generische Netplan-Konfiguration. Später,Unterordnungwird eine Netplan-Konfiguration für das installierte System generieren und diese auch für die Installationsumgebung verwenden. In late-commands
können Sie dieUnterordnunggenerierte Konfiguration und ersetzen Sie sie durch alles, was Sie möchten. Dies wirkt sich nur auf das installierte System aus.
Links
Antwort2
Ich wollte noch ein paar weitere Informationen für alle anderen hinzufügen, die auf ähnliche Probleme stoßen könnten. Mein Hauptbeitrag ist in einigen Bereichen falsch, nachdem ich meine Probleme nun gelöst habe und weiß, was falsch war.
Zunächst einmal wird Andrews Antwort das im Beitrag angesprochene Problem lösen. Aber ich habe mithilfe seines Beitrags herausgefunden, warum mein Cloud-Init nicht gestartet wurde.
Etwas in den Cloud-Init-Protokollen, die ich mir ursprünglich angesehen habe, ließ mich glauben, dass die Netzwerkkarte nicht mit Cloud-Init umbenannt werden konnte, und deshalb habe ich versucht, die Netzwerkkarte umzubenennen, und bin dabei auf all diese Probleme gestoßen. Aber das ist falsch.
Nachdem ich den Klon mit Andrews Konfiguration gebootet und die Netzwerkkarte umbenannt hatte, wurde mir klar, dass er auch nach mehreren Neustarts immer eine DHCP-Konfiguration abrief. Nachdem ich mich noch etwas eingehender damit befasst hatte, wurde mir klar, dass Cloud-Init mit Netplan interagiert (weshalb es sich von allen anderen Betriebssystemen unterscheidet, die ich aufgelistet habe).
Ich habe festgestellt, dass dies bei Cloud-Init passiert und in einigen Fällen mit Netplan interagiert:
Sep 6 00:23:13 ubuntu22 cloud-init[773]: 2022-09-06 00:23:08,634 - util.py[DEBUG]: Writing to /etc/netplan/50-cloud-init.yaml - wb: [644] 695 bytes
Sep 6 00:23:13 ubuntu22 cloud-init[773]: 2022-09-06 00:23:08,636 - subp.py[DEBUG]: Running command ['netplan', 'generate'] with allowed return codes [0] (shell=False, capture=True)
Sep 6 00:23:13 ubuntu22 cloud-init[773]: 2022-09-06 00:23:09,030 - subp.py[DEBUG]: Running command ['udevadm', 'test-builtin', 'net_setup_link', '/sys/class/net/eth0'] with allowed return codes [0] (shell=False, capture=True)
Sep 6 00:23:13 ubuntu22 cloud-init[773]: 2022-09-06 00:23:09,049 - subp.py[DEBUG]: Running command ['udevadm', 'test-builtin', 'net_setup_link', '/sys/class/net/lo'] with allowed return codes [0] (shell=False, capture=True)
Damit Cloud-Init die Netzwerkkonfiguration richtig einrichten konnte, musste ich die integrierte Netplan-Konfiguration des Installationsprogramms entfernen und Cloud-Init neu installieren/bereinigen. Nachfolgend sind die Schritte aufgeführt, die ich hierfür mit Ansible verwende:
- name: Run cloud-init clean
ansible.builtin.shell: cloud-init clean
when: ansible_distribution == "Ubuntu"
- name: Remove cloud-init
ansible.builtin.apt:
name: cloud-init
state: absent
when: ansible_distribution == "Ubuntu"
- name: Remove /etc/cloud
ansible.builtin.shell: rm -rf /etc/cloud
when: ansible_distribution == "Ubuntu"
- name: Remove /var/lib/cloud
ansible.builtin.shell: rm -rf /var/lib/cloud
when: ansible_distribution == "Ubuntu"
- name: Reboot the Ubuntu VM
ansible.builtin.reboot:
when: ansible_distribution == "Ubuntu"
- name: Install cloud-init
ansible.builtin.apt:
name: cloud-init
state: latest
when: ansible_distribution == "Ubuntu"
- name: Remove netplan file
ansible.builtin.shell: rm -f /etc/netplan/00-installer-config.yaml
when: ansible_distribution == "Ubuntu"
ignore_errors: yes
Und das Obige wird von einer Autoinstall-Konfiguration begleitet, die den gesamten network:
Block ausschließt, den ich meiner Meinung nach brauchte (und es so Subiquity ermöglicht, ihn zu generieren).
Antwort3
set timeout=10
if loadfont /boot/grub/fonts/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
# background_image /boot/grub/image/splash.png
set menu_color_normal=white/black
set menu_color_highlight=black/light-red
menuentry "Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz ip=dhcp cloud-config-url=/dev/null autoinstall ds="nocloud-net;s=http://xxx.xxx.xxx.xxx/autoinstall/" --- net.ifnames=0 biosdevname=0
initrd /casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
exit 1
}
menuentry 'UEFI Firmware Settings' {
fwsetup
}
else
menuentry 'Test memory' {
linux16 /boot/memtest86+.bin
}
fi
Ihre Ethernet-Karte wird im Installations-Grub den Namen eth0 mit "net.ifnames=0 biosdevname=0" erhalten