Retrying host maintenance falsely marks already-migrated VMs as stopped

Offen
#14,026 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java

Rechercherichtung

Beginne damit, wiederholte Wartungsanfragen auf einem KVM-Host in CloudStack 4.22.1.1 zu reproduzieren, und verfolge dann den Migrationsablauf der Host-Wartungs-VM sowie die Aktualisierung der VM-Liste des Hosts. Als erledigt gilt die Aufgabe, wenn eine zweite Anfrage VMs überspringt, die bereits migriert wurden, und diese VMs weiterlaufen, statt als gestoppt markiert zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

component:management-server type:bug

CLOUDSTACK VERSION
4.22.1.1, KVM hypervisor

SUMMARY
Putting a host into maintenance moves its VMs off one at a time, which
can take a while. Requesting maintenance again on the same host before
the first request finishes causes it to retry moving every VM still
listed against that host, including ones already moved. That retry
fails as expected, but for some VMs it confuses CloudStack into
thinking the VM was powered off, and it gets marked stopped even though
it was never touched and kept running the whole time.

EXPECTED
Requesting maintenance again should not retry VMs already moved.

ACTUAL
Some already-moved VMs get falsely marked stopped.

NOTE
The false "stopped" status seems to come from CloudStack losing track
of which VMs are on which host. That could plausibly happen from causes
other than this one, but we only have evidence of it via this scenario.

Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.4k
Ø Merge
7 T. 5 Std.
Gemergte PRs (30 T.)
28

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/cloudstack

Alle Issues in apache/cloudstack

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.