Update auf 19.12.R zerstört Controller

Hallo zusammen

ich habe dies zweimal ausprobiert:

  • Produktiv System mit 19.10.R - Update über “cs host update” auf der shell
  • Test System (komplett frischer Install) mit 18.12.R - Update über ISO-Upload via Web

Das einspielen des ISOs funktioniert, der Reboot läuft, aber danach kann der Controller-Container nicht mehr gestartet werden:

$ journalctl -u csstartup.service 
-- Logs begin at Tue 2021-01-19 22:25:11 UTC, end at Tue 2021-01-19 22:28:29 UTC. --
Jan 19 22:25:15 pascom.intevo.net systemd[1]: Starting Cloudstack containers...
Jan 19 22:25:16 pascom.intevo.net containersStart.py[1288]: Host Memory: 3.750156 GiB
Jan 19 22:25:21 pascom.intevo.net containersStart.py[1288]: Waiting for consul leader
Jan 19 22:25:26 pascom.intevo.net containersStart.py[1288]: Waiting for consul leader
Jan 19 22:25:26 pascom.intevo.net containersStart.py[1288]: Consul leader is [127.0.0.1:8300]
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: ... update legacy anonymous acl rule
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: Checking for host name change
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: Checking proxy [ifens3]
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: .. uses management interface [ens3]
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: Checking management proxy configuration
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: Newest available image for [ifens3] is [cs-proxy@7.19.12.R]
Jan 19 22:25:31 pascom.intevo.net containersStart.py[1288]: .. has version [7.19.10.R] but [7.19.12.R] is available. Performing update.
Jan 19 22:25:32 pascom.intevo.net containersStart.py[1288]: ==== proxy update.sh start ====
Jan 19 22:25:32 pascom.intevo.net containersStart.py[1288]: RTP Port numbers are ok
Jan 19 22:25:32 pascom.intevo.net containersStart.py[1288]: ==== proxy update.sh end ====
Jan 19 22:25:35 pascom.intevo.net containersStart.py[1288]: Newest available image for [pg] is [cs-postgresql@7.19.12.R]
Jan 19 22:25:35 pascom.intevo.net containersStart.py[1288]: .. has version [7.19.10.R] but [7.19.12.R] is available. Performing update.
Jan 19 22:25:35 pascom.intevo.net containersStart.py[1288]: ==== default update.sh start ====
Jan 19 22:25:35 pascom.intevo.net containersStart.py[1288]: ==== default update.sh end ====
Jan 19 22:25:38 pascom.intevo.net containersStart.py[1288]: Container pg has a limit of 1024 MB memory, calculated value is 1024 MB
Jan 19 22:25:38 pascom.intevo.net containersStart.py[1288]: Starting pg
Jan 19 22:25:41 pascom.intevo.net containersStart.py[1288]: Set desired state pg => RUNNING
Jan 19 22:25:41 pascom.intevo.net containersStart.py[1288]: Database is ready. Prepare postgres superuser
Jan 19 22:25:41 pascom.intevo.net containersStart.py[1288]: Create/update postgres superuser
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: There is no host setup data.
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: Deregistering consul service [teambox]
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: Newest available image for [teambox] is [pbx@7.19.12.R]
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: .. has version [7.19.10.R] but [7.19.12.R] is available. Performing update.
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: ==== md-firmware update.sh start ====
Jan 19 22:25:42 pascom.intevo.net containersStart.py[1288]: ==== md-firmware update.sh end ====
Jan 19 22:25:44 pascom.intevo.net containersStart.py[1288]: Newest available image for [controller] is [cs-controller@7.19.12.R]
Jan 19 22:25:44 pascom.intevo.net containersStart.py[1288]: .. has version [7.19.10.R] but [7.19.12.R] is available. Performing update.
Jan 19 22:25:44 pascom.intevo.net containersStart.py[1288]: ==== controller update.sh start ====
Jan 19 22:25:44 pascom.intevo.net containersStart.py[1288]: remove old grafana.db
Jan 19 22:25:44 pascom.intevo.net containersStart.py[1288]: ==== controller update.sh end ====
Jan 19 22:25:47 pascom.intevo.net containersStart.py[1288]: Container controller has a limit of 512 MB memory, calculated value is 512 MB
Jan 19 22:25:47 pascom.intevo.net containersStart.py[1288]: Starting controller
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]: Traceback (most recent call last):
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:   File "/usr/lib/cloudstack/containersStart.py", line 826, in <module>
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:     if manage_controller():
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:   File "/usr/lib/cloudstack/containersStart.py", line 369, in manage_controller
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:     controller.start()
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:   File "/opt/cstools/cs/container.py", line 110, in start
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]:     raise Exception("Container %s failed to start" % self.name)
Jan 19 22:25:48 pascom.intevo.net containersStart.py[1288]: Exception: Container controller failed to start
Jan 19 22:25:48 pascom.intevo.net systemd[1]: csstartup.service: Main process exited, code=exited, status=1/FAILURE
Jan 19 22:27:17 pascom.intevo.net systemd[1]: csstartup.service: State 'stop-sigterm' timed out. Killing.
Jan 19 22:27:17 pascom.intevo.net systemd[1]: csstartup.service: Killing process 1548 (containersStart) with signal SIGKILL.
Jan 19 22:27:17 pascom.intevo.net systemd[1]: csstartup.service: Failed with result 'exit-code'.
Jan 19 22:27:17 pascom.intevo.net systemd[1]: Failed to start Cloudstack containers.

Ich hab das Test-System noch nicht zurückgesetzt und kann von dort gern weitere Logs holen - bzw. irgendwelche Hinweise wo ich weitere Logs mit der Ursache finden könnte wären hilfreich.

Beste Grüße
Ben

Hallo @benov,
vielen Dank für die Meldung. Leider schlägt momentan das Update fehl, wenn der Hostname einen Punkt beinhaltet (oder nur aus “pascom” besteht).
Kannst du das bitte mit geändertem Hostnamen probieren?

Besten Gruß
Sebastian

Hallo @Sebastian_F,

danke für die Antwort. Wir verwenden Letsencrypt Zertifikate - insofern muss ich ja den gesamten Hostnamen angeben (der dann zwingenderweise Punkte enthält)?
Und seinen Pascom-Server nicht “pascom” nennen zu dürfen: :rofl:
Ich werd das auf der Test-Instanz wie vorgeschlagen probieren. Nachher zurückändern geht? Es darf nur während des Upgrades nicht so sein?

Beste Grüße
Ben

Für das Zertifikat ziehen wir nur den Schnittstellen-DNS-Name (FQDN) in den Einstellungen des Inferfaces heran - dieser ist hier nicht betroffen.
Ab der 19.12 kann der eigentliche Hostname direkt im UI geändert werden, vorher muss er leider manuell in den folgenden Files geändert werden:
/persistent/etc/hostname
/persistent/etc/hosts

Besten Gruß
Sebastian

1 Like

Hallo,
kann es sein, daß der Update auf alles neuer als 19.06 nicht geht, wenn die Anlage mobydick heist? Ich habe das Problem, daß nach allen updates auf neuere Versionen das Laden von Telefonkonfigurationen und die Funktionen, bei denen das Telefon (Snom) Seiten von der Anlage aufruft (Pascom Menü, Telefonbuch) nicht mehr gehen.
Viele Grüße
Christoph