Hoppa till innehållet
Stackship-dokumentation English

LivscykelhanteringAdministratörerMaskinöversatt

Felkoder

Koderna som Lifecycle-modulen nekar en begäran med — plattformsavvikelser och plattformens säkerhetskopior — vad var och en betyder och vad du gör åt den.

Alla rutter nedan ligger under /lifecycle. Portalen gör om de här koderna till egna meddelanden; den här sidan är till för att läsa dem i ett API-svar, till exempel från stsh api. Ett avslag innan en rutt körs behåller de plattformsgemensamma koderna — en saknad behörighet är FORBIDDEN — se Statuskoder.

Två former av svarskropp

Modulen svarar i två former, och koden finns i code i båda.

Koder för plattformsavvikelser skrivs i PascalCase, i plattformens vanliga felkropp — se Felkroppen. Extra fält ligger på översta nivån:

json
{
  "error": "A platform drift scan is already running.",
  "code": "ScanRunning",
  "module": "lifecycle",
  "correlationId": "3f2b9c1e-6d4a-4e0b-9a51-2c7d8e0f4b6a",
  "scanId": "8d0c6f4e-2a71-4b4c-9d55-6f1e0b7a2c93"
}

Koder för plattformens säkerhetskopior skrivs i kebab-case, i en problem details-kropp (application/problem+json). Koden är också title, meningen för människor finns i detail, och det finns inget fält error:

json
{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
  "title": "backup-in-progress",
  "status": 409,
  "detail": "backup platform-manual-20260927-081500 is InProgress; Velero runs backups one at a time, so a second request would only queue behind it",
  "code": "backup-in-progress",
  "backup": "platform-manual-20260927-081500",
  "phase": "InProgress",
  "module": "lifecycle",
  "correlationId": "3f2b9c1e-6d4a-4e0b-9a51-2c7d8e0f4b6a"
}

Plattformsavvikelser

Vad de här avslagen skyddar beskrivs i Inställningar ändrade för hand. De kommer från tre rutter:

Rutt Vad den gör
POST /lifecycle/platform-drift/scan Startar en kontroll — Kontrollera nu
POST /lifecycle/platform-drift/adopt Adopterar en ändring i konfigurationen, med scanId, configKey, liveValue och acknowledge
POST /lifecycle/rollouts/executions/{id}/revert-platform-drift Sätter tillbaka releasens värden på en pausad utrullning, med acknowledge och eventuellt fields

AcknowledgementRequired

400 vid adoptering och återställning. Kroppen innehöll inte "acknowledge": true; en begäran utan kropp räknas som inte bekräftad. Vid återställning kontrolleras det innan utrullningen slås upp, så ett okänt utrullnings-id utan bekräftelse får den här koden i stället för 404.

Skicka begäran igen med "acknowledge": true, när du har läst vad den ändrar: att adoptera skriver om plattformskonfigurationen, och att återställa gör att det som ändrats för hand går förlorat.

NotPausedOnPlatformDrift

409 vid återställning. Utrullningen är inte pausad på grund av plattformsavvikelser: den körs, är avslutad eller är pausad av ett annat skäl. Meddelandet anger dess fas och skälet till pausen.

Det finns inget att återställa. Återuppta eller avbryt utrullningen som dess sida erbjuder, eller ladda om den för att se hur den ser ut nu.

OperatorCapabilityMissing

409 vid återställning. Operatorn som körs i klustret är för gammal för att skriva över manuella ändringar.

Behåll ändringen eller ångra den själv, och återuppta sedan utrullningen — se När en releaseutrullning pausar på grund av den. Med en uppgraderad operator går det att återställa i senare utrullningar.

PlatformDriftChanged

409 vid återställning. Ändringarna i klustret är inte längre de du granskade: fields som du skickade stämmer inte med de nuvarande ändringarna, en ändrad komponent finns inte längre i den batch som utrullningen är pausad på, eller klustret nekade återställningen eftersom objektet flyttade sig medan den gjordes.

Kroppen innehåller platformDrift, de nuvarande ändringarna, var och en med component, step, kind, namespace, name, field, manager och message. Granska dem och skicka återställningen igen med dem som fields.

ScanRunning

409 vid kontroll. En kontroll pågår redan. Kroppen innehåller dess scanId.

Vänta tills den är klar och läs sedan resultatet med GET /lifecycle/platform-drift.

RolloutBusy

409 vid kontroll och adoptering. En utrullning pågår eller är pausad; en pausad utrullning räknas tills den har återupptagits till slutet, avbrutits eller rullats tillbaka.

Låt utrullningen bli klar eller avbryt den först. När en adoptering nekats så här väntar du på kontrollen som följer efter utrullningen och granskar dess resultat innan du adopterar.

ScanStale

409 vid adoptering. scanId som du skickade saknas eller är inte den senaste avslutade kontrollen, en kontroll pågår just nu, eller ingen kontroll har avslutats än.

Läs den senaste kontrollen med GET /lifecycle/platform-drift, granska den och adoptera med dess scanId.

DriftChanged

409 vid adoptering. liveValue som du skickade saknas eller är inte det värde som den senaste kontrollen hittade i klustret.

Granska den senaste kontrollen igen och adoptera värdet den visar.

ConfigChanged

409 vid adoptering. Plattformskonfigurationen, Secret stackship-install-config, har ändrats sedan kontrollen läste den, innehåller inte längre värdet som kontrollen såg, eller saknas. Koden kommer också när en annan ändring skrivs till konfigurationen i samma ögonblick. Varje ändring av konfigurationen räknas — att byta plattformens säkerhetskopiemål är en.

Starta en kontroll med Kontrollera nu, granska resultatet och adoptera igen.

NotAdoptable

404 vid adoptering. Den senaste kontrollen erbjuder ingen adoptering av den configKey du skickade: ändringen kan inte adopteras, eller nyckeln är inte en plattformsinställning (platform. följt av dess namn) vars värde är text. Det kontrolleras före liveValue och före en pågående utrullning.

Kontrollens resultat säger varför en ändring inte kan adopteras — se När en ändring inte kan adopteras. Låt en releaseutrullning sätta tillbaka värdet, ångra ändringen för hand eller skriv in den i stackship-install-config själv.

Plattformens säkerhetskopior

Vad de här rutterna gör beskrivs i Hantera plattformens säkerhetskopior.

schedule-missing

409 vid POST /lifecycle/backups och PUT /lifecycle/backups/schedule. Velero-schemat platform-daily finns inte. En manuell säkerhetskopia tar sin omfattning därifrån, så ingen kan tas, och det finns inget schema att ändra. Schemat kontrolleras innan begäran valideras.

Rulla ut Velero-beroendet, som skriver schemat igen — se Ändra det dagliga schemat.

backup-in-progress

409 vid POST /lifecycle/backups. En säkerhetskopia som tagits med Säkerhetskopiera nu, eller via den här rutten, står fortfarande i kö eller pågår och startades för mindre än tre timmar sedan. En daglig säkerhetskopiering som pågår ger inte den här koden. Kroppen innehåller backup, namnet på säkerhetskopian, och phase, dess fas i Velero eller queued.

Vänta tills den säkerhetskopian är klar. En som har fastnat slutar räknas tre timmar efter att den startade — se Ta en säkerhetskopia nu.

invalid-target

400 vid PUT /lifecycle/backups/target. Målet är inte giltigt: bucket, åtkomstnyckel-id eller hemlig åtkomstnyckel saknas, slutpunkten är inte en absolut http- eller https-adress, en annan leverantör än aws anges, eller CA-certifikatet innehåller något annat än giltiga PEM-certifikat. detail säger vilket.

Rätta begäran och skicka den igen.

target-rejected

422 vid PUT /lifecycle/backups/target. Det gick inte att lista bucketen med de nya uppgifterna: lagringen nekade dem, eller gick inte att nå inom tio sekunder. detail innehåller lagringens svar. Ingenting sparades.

Rätta uppgifterna, slutpunkten eller bucketen. POST /lifecycle/backups/target/test kör samma test utan att spara och svarar aldrig med en felkod — se Byt säkerhetskopiemål.

target-not-applied

409 vid PUT /lifecycle/backups/target. Det nya målet kunde inte tillämpas, av ett av flera skäl som bara detail skiljer åt:

  • Plattformen saknar sparad konfiguration: ingen stackship-install-config, eller en utan konfiguration i, på en plattform som installerades innan installationsprogrammet sparade den. Kör installationsprogrammet igen för att spara den.
  • Den sparade konfigurationen går inte att läsa som en installationsbegäran. Kör installationsprogrammet igen.
  • Velero-beroendet kan inte rullas ut igen från det nya målet, eller utrullningen som tillämpar det validerades inte; detail innehåller skälet eller planens varningar.
  • Det tidigare målet kunde inte skrivas tillbaka efter att ändringen nekats. Det sparade målet stämmer då inte med klustret: rätta stackship-install-config för hand.

Utom i det sista fallet ligger det tidigare målet kvar.

rollout-in-flight

409 vid PUT /lifecycle/backups/target. En annan utrullning pågår eller är pausad, så utrullningen som tillämpar målet kan inte starta. Det tidigare målet ligger kvar.

Låt utrullningen bli klar, eller avbryt den, och spara målet igen.

target-changed

409 vid PUT /lifecycle/backups/target. Plattformskonfigurationen skrevs av någon annan mellan att den lästes och att det nya målet sparades. Varje ändring räknas, även att en ändrad inställning adopterades. Ingenting sparades.

Ladda om målet och spara det igen.

preflight-failed

409 vid PUT /lifecycle/backups/target. En kontroll före uppgradering för utrullningen som tillämpar målet misslyckades. De misslyckade kontrollerna anges bara i detail. Ett misslyckande kan inte åsidosättas från den här rutten, och det tidigare målet ligger kvar.

Åtgärda det som kontrollen rapporterar — se Kontroller före uppgradering — och spara målet igen.

invalid-schedule

400 vid PUT /lifecycle/backups/schedule. cron är inte ett cron-uttryck med fem fält, eller ttlHours är mindre än 1.

Rätta begäran och skicka den igen.

invalid-cluster

400 vid POST /lifecycle/backups/archiving/suspend och …/resume. Kroppen anger inte databasklustret: namespace eller name är tomt.

Skicka båda.

cluster-not-found

404 vid POST /lifecycle/backups/archiving/suspend och …/resume. Det finns inget databaskluster med det namespace och name.

Kontrollera båda; varningen på sidan Säkerhetskopior anger databasens namn.

archiving-not-configured

409 vid POST /lifecycle/backups/archiving/suspend. Databasen arkiverar inte till säkerhetskopiemålet, så det finns inget att pausa.

archiving-healthy

409 vid POST /lifecycle/backups/archiving/suspend. Databasen fylls inte upp bakom ett arkiv som inte fungerar, eller så är dess arkivering redan pausad. Meddelandet säger i båda fallen att databasen inte är under arkivtryck.

Att pausa öppnar ett fönster som inte går att återställa, så det nekas om inte arkivet misslyckas. Om arkiveringen redan är pausad återupptar du den när målet fungerar — se En databas fylls upp bakom ett arkiv som inte fungerar.

archiving-not-suspended

409 vid POST /lifecycle/backups/archiving/resume. Databasens arkivering pausades inte från sidan Säkerhetskopior eller via det här API:t, och inget tidigare återupptagande väntar fortfarande på sin bassäkerhetskopia.

Det finns inget att återuppta.