Dicionário de códigosCode dictionary

Cada falha tem um número DX-CDNN que não muda de significado: o milhar é a classe (o que fazer a seguir), a centena o domínio (onde aconteceu), e os dois últimos a falha; 00 é a própria classe. A CLI imprime-o na linha de erro — error[DX-4501] no such VM: dev — e delonix explain DX-4501 diz o resto. Decidido no ADR-0043.

Every failure has a DX-CDNN number that never changes meaning: the thousands digit is the class (what to do next), the hundreds the domain (where it happened), and the last two the failure; 00 is the class itself. The CLI prints it on the error line — error[DX-4501] no such VM: dev — and delonix explain DX-4501 says the rest. Decided in ADR-0043.

CódigoClasseDomínioSaídaMensagem, significado, o que fazer
DX-0000sucessomotor0sucesso
O comando fez o que lhe foi pedido.
Nada.
DX-1000argumento inválidomotor1argumento inválido
Um argumento, o valor de uma flag ou um campo do manifesto não é aceitável. A mensagem diz qual.
Corrige o argumento que a mensagem nomeia e corre o comando outra vez.
DX-1101argumento inválidocontainer1nome de container ambíguo
O nome existe em mais de um namespace, por isso não diz qual é o container.
Qualifica-o como <namespace>/<nome>.
DX-1102argumento inválidocontainer1limite de memória inválido
O valor de --memory, ou um resources.limits.memory do Kubernetes, não é uma contagem de bytes que este motor entenda.
Usa bytes (67108864) ou um sufixo (64M, 64Mi, 1G, 1Gi).
DX-1103argumento inválidocontainer1limite de CPU inválido
O valor de --cpus, ou um resources.limits.cpu do Kubernetes, não é um número de núcleos que este motor entenda.
Usa um número decimal de núcleos (0.5, 2); millicores (500m) são uma grafia do Kubernetes que esta flag não aceita.
DX-1104argumento inválidocontainer1peso de cgroup inválido
Um valor de peso (--cpu-weight, --io-weight) está fora do intervalo do cgroup v2.
Passa um peso entre 1 e 10000.
DX-1105argumento inválidocontainer1conjunto de CPU inválido
O valor de --cpuset não se interpreta como uma lista de CPUs (ex.: 0-3,6).
Passa uma lista de números ou intervalos de CPU separados por vírgulas.
DX-1106argumento inválidocontainer1argumento de comando inválido
Um argumento do comando ou do entrypoint contém um byte NUL, que não pode ser passado ao execve.
Remove o byte NUL embutido no argumento que a mensagem nomeia.
DX-1107argumento inválidocontainer1comando vazio
O container não tem comando para correr: nem o ENTRYPOINT/CMD da imagem nem um comando explícito foram dados.
Passa um comando, ou usa uma imagem com ENTRYPOINT ou CMD.
DX-1108argumento inválidocontainer1sem processos no container
Uma operação que precisa de pelo menos um processo vivo (renice) não encontrou nenhum.
Verifica que o container está mesmo a correr (`delonix container ps`).
DX-1109argumento inválidocontainer1caminho de montagem ao vivo inseguro
Um destino de container update --volume-add/--volume-rm é recusado pela mesma verificação de segurança de caminho que os bind mounts usam.
Usa um caminho de destino que fique dentro do próprio rootfs do container.
DX-1110argumento inválidocontainer1origem da montagem ao vivo não existe
O caminho do host dado a um bind-mount ao vivo (container update --volume-add) não existe.
Verifica que o caminho de origem existe no host antes de o montar ao vivo.
DX-1111argumento inválidocontainer1o container partilha a namespace de montagem do host
Foi pedida uma montagem/desmontagem ao vivo a um container sem namespace de montagem própria para mudar.
Este container não aceita uma mudança de volume ao vivo; pára-o e recria-o se for preciso uma.
DX-1112argumento inválidocontainer1montagem ao vivo falhou
O auxiliar bifurcado que faz a montagem ao vivo dentro das namespaces do container a correr saiu com falha, ou foi interrompido.
Lê o código de saída na mensagem; repete o volume-add, ou reinicia o container.
DX-1113argumento inválidocontainer1desmontagem ao vivo falhou
O auxiliar bifurcado que faz a desmontagem ao vivo dentro das namespaces do container a correr não teve sucesso.
Repete o volume-rm, ou reinicia o container.
DX-1114argumento inválidocontainer1nome de dispositivo CDI inválido
Um valor de --device que nomeia um dispositivo qualificado CDI não é vendor.com/class=name.
Usa a forma vendor.com/class=name (ex.: nvidia.com/gpu=0).
DX-1115argumento inválidocontainer1colocação no cgroup do kubelet exige o motor como root
Colocar um container na hierarquia de cgroup que um RunPodSandbox do CRI nomeia exige privilégios que o rootless, ou um processo já dentro de uma namespace, não tem.
Corre o servidor CRI como root, ou não peças um cgroup parent do kube em rootless.
DX-1201argumento inválidovolume1nome de volume inválido
O nome de um volume só pode ter letras, dígitos, ponto, hífen e sublinhado, e não pode começar por ponto.
Escolhe um nome feito de [A-Za-z0-9._-] que não comece por ponto.
DX-1202argumento inválidovolume1volume de rede sem dispositivo
Foi pedido um volume nfs, cifs ou webdav sem a partilha a montar.
Indica a partilha: --opt server=<host> --opt share=<caminho>.
DX-1203argumento inválidovolume1registo de volume de rede sem dispositivo
Um volume de rede está registado mas o registo perdeu o dispositivo a montar.
Recria o volume com o seu servidor e partilha.
DX-1204argumento inválidovolume1nome de snapshot inválido
O nome de um snapshot só pode ter letras, dígitos, ponto, hífen e sublinhado, sem barra nem ponto duplo.
Escolhe um nome feito de [A-Za-z0-9._-].
DX-1205argumento inválidovolume1quota rígida num volume com dados
Uma quota rígida (loopback) só pode ser posta num volume vazio: esconderia os dados que já lá estão.
Cria o volume com --quota, ou esvazia-o primeiro.
DX-1206argumento inválidovolume1quota abaixo da utilização actual
A nova quota é menor do que o que o volume já guarda.
Liberta espaço no volume primeiro, ou pede uma quota maior.
DX-1207argumento inválidovolume1volume em uso
Reduzir uma quota exige o volume desmontado, e há um container a usá-lo.
Pára os containers que o montam e depois muda a quota.
DX-1208argumento inválidovolume1nome de volume ambíguo
O nome é ao mesmo tempo um volume no namespace do workload e um volume global.
Muda o nome de um dos dois.
DX-1209argumento inválidovolume1especificação de volume inválida
Um valor de -v não tem a forma origem:/destino[:opções].
Escreve-o como origem:/destino, opcionalmente com :ro.
DX-1210argumento inválidovolume1opção de bind não suportada
O terceiro campo de -v nomeia uma opção que este motor não implementa (SELinux :z/:Z, :U).
Usa :ro, :rw ou uma opção de propagação (:rprivate, :rslave, :rshared).
DX-1211argumento inválidovolume1o destino da montagem não é absoluto
O caminho dentro do container tem de começar por barra.
Escreve o destino como caminho absoluto, por exemplo /data.
DX-1212argumento inválidovolume1quota abaixo do mínimo do TrueNAS
O TrueNAS recusa uma quota abaixo de 1 GiB num dataset; pedir menos não arredonda para cima, é recusado.
Pede pelo menos 1 GiB, ou tira a quota para deixar o dataset sem limite.
DX-1213argumento inválidovolume1url do TrueNAS inválido
O url do alvo de provisionamento não tem esquema, tem um esquema não suportado, ou não nomeia um host.
Escreve-o como https://<host>[:porto], sem caminho.
DX-1214argumento inválidovolume1credencial no url do TrueNAS
O url leva um utilizador ou password (userinfo), uma credencial escondida no manifesto em vez de um kind: Secret.
Tira o userinfo e passa a credencial como apiKeySecret ou passwordSecret.
DX-1215argumento inválidovolume1credencial sobre http simples
Enviar uma chave de API ou password para um alvo TrueNAS em http:// simples põe-na na rede em claro.
Usa https://, com insecureTLS: true se a appliance servir o seu próprio certificado auto-assinado.
DX-1216argumento inválidovolume1nome de dataset TrueNAS inválido
Um nome de dataset ZFS tem de ser <pool>/<nome>, sem '..', sem componente vazio e sem '-' inicial.
Escreve o dataset como <pool>/<nome>, por exemplo tank/projects.
DX-1301argumento inválidorede1chave WireGuard inválida
Uma string dada como chave WireGuard não tem 44 caracteres de base64 a terminar em '='.
Passa uma chave exactamente como o `wg genkey`/`wg pubkey` a produziu.
DX-1302argumento inválidorede1configuração CNI inválida
Um ficheiro de config/conflist CNI, ou o input de um plugin construído a partir dele, não é JSON válido ou tem a forma errada.
Verifica o ficheiro `*.conflist`/`*.conf` que a mensagem nomeia; valida-o com um linter de JSON.
DX-1303argumento inválidorede1não foi possível codificar o input de um plugin CNI
Construir o JSON que um plugin CNI lê no stdin falhou.
Verifica a entrada do plugin no conflist à procura de um valor que o JSON não consiga representar.
DX-1304argumento inválidorede1resultado de plugin CNI inválido
O próprio stdout de um plugin CNI não fez parse como o resultado que a especificação CNI espera.
Verifica que o binário do plugin que a mensagem nomeia é a versão que o conflist deste host espera.
DX-1305argumento inválidorede1plugin CNI não encontrado
Um plugin nomeado na cadeia CNI (ou o seu `ipam.type`) não é um binário em CNI_PATH.
Instala o binário do plugin que a mensagem nomeia em CNI_PATH (por omissão /opt/cni/bin).
DX-1306argumento inválidorede1chave de sysctl de netns inválida
Uma chave de sysctl dada para aplicar dentro de uma netns não é um nome simples `net.*`.
Usa uma chave `net.*` com pontos, como o próprio `sysctl` aceitaria.
DX-1307argumento inválidorede1especificação de publish inválida
Uma especificação `-p`/`--publish` tem um protocolo que não é tcp/udp, uma porta não numérica, ou um endereço de host que não é um literal IPv4.
Escreve-a como [hostIp:]hostPort:contPort[/tcp|udp], por exemplo 8080:80 ou 0.0.0.0:8080:80/tcp.
DX-1308argumento inválidorede1intervalo de portas de publish inválido
Um INTERVALO de portas `-p` tem um limite não numérico, uma porta fora de ordem/fora de alcance, ou larguras de host/container que não coincidem.
Usa hostStart-hostEnd:contStart-contEnd com os dois lados da mesma largura, dentro de 1-65535.
DX-1309argumento inválidorede1especificação de taxa de rede inválida
Um valor `--net-bps`/`--net-burst` não faz parse, é zero, ou está fora de alcance.
Usa um número com um sufixo opcional k/m/g/t, por exemplo 10mbit ou 512k.
DX-1310argumento inválidorede1o registo da rede está corrompido
Um registo do NetworkStore em disco falta um campo que o seu driver precisa (parent, subnet, vni, ou o octeto base).
Remove a rede e recria-a (`delonix network rm`, depois `delonix network create`).
DX-1311argumento inválidorede1nome de rede reservado
O nome pedido é `bridge` (a rede default implícita) ou um nome de driver reservado (`host`/`none`).
Escolhe um nome diferente.
DX-1312argumento inválidorede1nome de rede inválido
Um nome de rede só pode usar letras, dígitos, traço e underscore.
Escolhe um nome feito de [A-Za-z0-9_-].
DX-1313argumento inválidorede1subnet de bridge não suportada
Um --subnet para o driver bridge não é um 10.<intervalo-de-workload>.0.0/16 que o IPAM deste motor consiga realizar.
Passa um 10.<lo>-<hi>.0.0/16 dentro do intervalo de workload, ou omite --subnet para o motor escolher um livre.
DX-1314argumento inválidorede1subnet inválida
Um CIDR --subnet arbitrário não é um prefixo privado (RFC 1918) de um comprimento utilizável.
Usa um intervalo privado (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) com um prefixo entre /8 e /28.
DX-1315argumento inválidorede1gateway de rede inválido
Um gateway declarado está fora do prefixo da rede, ou é o endereço de rede/broadcast.
Escolhe um endereço dentro do prefixo da rede que não seja o endereço de rede ou de broadcast.
DX-1316argumento inválidorede1octeto base /16 inválido
Um octeto base /16 para uma rede bridge está fora do espaço de endereços de workload.
Escolhe um octeto base dentro do intervalo de workload que este motor reporta.
DX-1317argumento inválidorede1sem registo para anotar
A rede default implícita `bridge` não tem registo em disco, por isso não há nada para etiquetar/anotar.
Anota antes uma rede de utilizador; a rede default não pode levar labels.
DX-1318argumento inválidorede1chave ou valor de metadados de rede inválido
Uma chave de label/annotation está vazia ou contém '=' ou uma nova linha, ou o seu valor contém uma nova linha.
Usa uma chave/valor sem '=' e sem nova linha.
DX-1319argumento inválidorede1VNI inválido
O VNI de uma rede overlay não faz parse, ou está fora de 1..16777215.
Passa um VNI entre 1 e 16777215.
DX-1320argumento inválidorede1não é uma rede overlay
Foi pedida uma operação de overlay-peer a uma rede cujo driver não é `overlay`.
Aponta para uma rede criada com `--driver overlay`.
DX-1321argumento inválidorede1peer de overlay inválido
Uma especificação de peer de overlay não tem node_ip.
Escreve o peer como <node_ip> ou <node_ip>=<pubkey>=<wg_ip>.
DX-1322argumento inválidorede1driver de rede desconhecido
Um driver de `create_lan` não é nem `macvlan` nem `ipvlan`.
Usa --driver macvlan ou --driver ipvlan.
DX-1323argumento inválidorede1NIC parent não encontrada
A NIC parent de uma rede macvlan/ipvlan não existe neste host.
Passa uma NIC que o `ip link` deste host realmente mostra.
DX-1324argumento inválidorede1subnet de macvlan/ipvlan inválida
Uma subnet de macvlan/ipvlan não faz parse como um CIDR.
Escreve-a como por exemplo 192.168.1.0/24.
DX-1325argumento inválidorede1comando de controlo do holder inválido
Uma linha enviada no socket de controlo do holder não é uma que este build reconheça.
Verifica que a CLI e o holder são do mesmo build; um holder antigo pode precisar de um respawn.
DX-1326argumento inválidorede1payload hex inválido
Um payload codificado em hex no socket de controlo do holder (um conflist CNI, uma especificação de firewall) não decodifica.
Isto é um erro de protocolo interno entre a CLI e o holder; verifica que são o mesmo build.
DX-1327argumento inválidorede1destino de FDB/overlay peer inválido
Um destino de FDB ou de overlay-peer não é um endereço IP nu.
Passa um endereço IPv4 simples, sem outros caracteres.
DX-1328argumento inválidorede1a bridge de ingress default não pode ser removida
Foi feita uma tentativa de remover a bridge de ingress default, de que todos os outros caminhos de rede dependem.
Remove antes uma rede de utilizador; a bridge default não é removível.
DX-1329argumento inválidorede1VIP fora do espaço de endereços de ingress
Um VIP de load-balancer está fora do espaço de endereços de ingress (10.200-254.x).
Usa um endereço dentro do intervalo de ingress que este motor reporta.
DX-1330argumento inválidorede1especificação de load-balancer inválida
Uma lista de backends de `lbset` tem um peso inválido, um backend sem porta, um backend inválido, ou está vazia.
Escreve os backends como ip:port[#weight], separados por vírgula, com pelo menos uma entrada.
DX-1331argumento inválidorede1porta inválida
Uma string de porta dada ao dataplane de ingress (publish/unpublish/lbset) não está entre 1..65535.
Passa uma porta numérica entre 1 e 65535.
DX-1332argumento inválidorede1protocolo inválido
Foi dado um protocolo que não tcp/udp a uma chamada de publish/unpublish.
Usa tcp ou udp.
DX-1333argumento inválidorede1política de egress inválida
Uma política de egress não é allow, deny, ou allowlist:<cidrs>.
Usa allow, deny, ou allowlist:<CIDRs separados por vírgula>.
DX-1334argumento inválidorede1hostname de egress inválido
Um sufixo de `egress host` não é um nome DNS simples.
Usa um sufixo de hostname/domínio simples, por exemplo example.com.
DX-1335argumento inválidorede1IP fora do espaço de endereços de ingress
Um IP de container/publish está fora do espaço de endereços de ingress (10.200-254.x).
Liga o container a uma rede dentro do intervalo de ingress que este motor reporta.
DX-1336argumento inválidorede1firewall aplicada sem IP
apply_firewall/apply_firewall_all foi chamado com uma lista de IPs vazia.
Isto é um erro de chamada interna; reporta-o se o vires vindo da CLI.
DX-1337argumento inválidorede1especificação de firewall inválida
Uma especificação de firewall (JSON descodificado de hex enviado ao holder) não faz parse na estrutura esperada.
Verifica que a CLI e o holder são do mesmo build.
DX-1338argumento inválidorede1não foi possível codificar uma especificação de firewall
Codificar a firewall de um container para enviar pelo socket de controlo falhou.
Isto é um erro de chamada interna; reporta-o se o vires vindo da CLI.
DX-1339argumento inválidorede1sem prefixo de ingress livre
Não sobra nenhum prefixo /16 no espaço de endereços de ingress para uma rede nova.
Remove uma rede não usada (`delonix network rm`) para libertar um prefixo.
DX-1340argumento inválidorede1o IP não pertence à rede
Um IP fixo dado para ligar um container não está dentro da subnet da rede alvo.
Passa um endereço dentro da própria subnet da rede (`delonix network inspect <name>`).
DX-1341argumento inválidorede1registo de provedor de gateway inválido
Um registo de GatewayProvider (ADR-0051) não tinha id, ou reclamou um nome que já pertence a outro provider.
Corrige o registo que a mensagem descreve; isto é um erro de programação no processo que o registou, não um manifesto/flag.
DX-1344argumento inválidorede1registo de provider de zona de rede recusado
Um processo tentou registar um SegmentProvider com id vazio, ou com um id/alias que já pertence a outro provider.
Corrige o registo (erro de chamada interna, a menos que esteja envolvido um crate de provider de terceiros).
DX-1380argumento inválidorede1a intenção de rede não pode ser servida como está escrita
O que um documento de rede ou o providers.yaml pede não pode ser servido como está escrito: nada nomeia um provider para o papel e nada mais decide (zero ou vários registados, ou um providers.yaml sem networkDefaults.<papel>), ou o provider recusou os campos enviados (o OPNsense responde com validações campo a campo). Reason `invalid_intent` da D5 do ADR-0059.
Lê a mensagem: nomeia o provider (networkDefaults.<papel> no providers.yaml, ou spec.provider onde o Kind o tem), ou corrige os campos que o provider listou.
DX-1401argumento inválidoimagem1SBOM vazio
A imagem não tem base de dados de pacotes apk ou dpkg, por isso não há nada para procurar vulnerabilidades.
Analisa uma imagem construída sobre uma distribuição com gestor de pacotes, ou analisa antes a imagem base.
DX-1402argumento inválidoimagem1base de dados de avisos inválida
A base de dados de avisos que o scanner carregou não é JSON válido.
Sincroniza-a outra vez com `delonix image scan --update --feed <url>`.
DX-1403argumento inválidoimagem1o feed OSV não é JSON
O feed dado ao scanner não pôde ser lido como JSON.
Confirma que o URL do --feed aponta para uma exportação OSV em JSON, e não para uma página HTML.
DX-1404argumento inválidoimagem1o feed OSV tem a forma errada
O feed é JSON mas não é uma lista de avisos nem um objecto com uma lista vulns.
Aponta o --feed para uma exportação OSV: uma lista de avisos, ou um objecto com uma lista vulns.
DX-1405argumento inválidoimagem1não é um módulo Odoo
O directório indicado como módulo não tem __manifest__.py.
Aponta a análise para o directório do próprio módulo, o que tem o __manifest__.py.
DX-1406argumento inválidoimagem1nenhum módulo Odoo encontrado
Nenhum directório abaixo do caminho indicado tem __manifest__.py.
Aponta a análise para o directório que contém os módulos.
DX-1407argumento inválidoimagem1Dockerfile inválido
O ficheiro de build não se lê, ou pede uma instrução ou flag que este motor não suporta. A mensagem diz a linha.
Corrige a linha que a mensagem nomeia; o `delonix build --help` lista o que é suportado.
DX-1408argumento inválidoimagem1arquivo de imagem inválido
O arquivo a carregar está incompleto ou corrompido: falta o manifesto, ou um blob não corresponde ao seu hash.
Exporta o arquivo outra vez a partir da origem e carrega o ficheiro novo.
DX-1409argumento inválidoimagem1não foi possível empacotar ou desempacotar uma layer
A leitura, compressão ou extracção de uma layer ou de um rootfs falhou. A mensagem traz o erro de origem.
Lê o erro na mensagem; verifica o espaço livre do state root (`delonix system df`) e tenta outra vez.
DX-1410argumento inválidoimagem1imagem sem layers
O registo da imagem não tem layers para montar como rootfs.
Descarrega ou constrói a imagem outra vez.
DX-1411argumento inválidoimagem1o state root não pode suportar um overlay
O caminho do state root contém um carácter (':') que as opções de montagem do overlay não conseguem exprimir.
Muda o state root para um caminho sem ':' (DELONIX_ROOT).
DX-1412argumento inválidoimagem1chave de assinatura inválida
Uma chave de assinatura ou verificação não é uma chave P-256 válida em PEM, ou não pôde ser gerada.
Indica uma chave ECDSA P-256 em PEM compatível com o cosign.
DX-1413argumento inválidoimagem1imagem não assinada
O registo não tem assinatura cosign para o digest da imagem.
Assina-a com `delonix image sign`, ou descarrega uma imagem assinada.
DX-1414argumento inválidoimagem1assinatura inválida
Existe uma assinatura, mas não verifica com a chave indicada, ou o seu manifesto ou conteúdo está malformado.
Confirma que a chave é aquela com que a imagem foi assinada; não corras uma imagem cuja assinatura falha.
DX-1415argumento inválidoimagem1estado da assinatura desconhecido
O registo não respondeu à consulta da assinatura, por isso não foi possível decidir se a imagem está assinada. Não é um veredicto.
Tenta outra vez quando o registo estiver acessível; a mensagem traz o erro do registo.
DX-1416argumento inválidoimagem1imagem já assinada
Já existe uma assinatura para este digest.
Usa --force para a assinar outra vez.
DX-1417argumento inválidoimagem1não foi possível assinar
A produção ou o envio da assinatura falhou.
Lê o erro na mensagem e verifica o login no registo (`delonix image login`).
DX-1501argumento inválidovm1não suportado neste backend
O verbo pause, unpause, snapshot, restore ou delete-snapshot pedido não está implementado pelo backend desta VM.
Usa um backend que o suporte (o libvirt é o que mais suporta), ou tira o verbo.
DX-1502argumento inválidovm1registo de backend de VM inválido
Um registo de backend não tinha id, reivindicou auto-selecção vinda de fora desta crate, ou reivindicou um nome que outro backend já tem.
Corrige o registo que a mensagem descreve; isto é um erro de programação no processo que o registou, não um manifesto/flag.
DX-1503argumento inválidovm1backend de VM desconhecido
O valor de --backend/DELONIX_VM_BACKEND não nomeia um backend registado.
Usa um dos backends que a mensagem lista.
DX-1504argumento inválidovm1o registo da VM nomeia um backend não registado
O próprio registo da VM nomeia um backend para o qual este processo não tem registo.
Corre um build/processo que registe esse backend, ou recria a VM com um que esteja registado aqui.
DX-1505argumento inválidovm1exige o backend libvirt
O spec.volumes da VM precisa de virtio-9p, que o backend Cloud Hypervisor não implementa.
Remove `backend: cloud-hypervisor`, ou tira os volumes.
DX-1506argumento inválidovm1caminho do socket da VM demasiado longo
O caminho do api-socket ou do socket de consola da VM não caberia no sun_path de um socket UNIX (108 bytes em Linux).
Usa um nome de VM mais curto ou um DELONIX_ROOT mais curto.
DX-1507argumento inválidovm1nome de VM inválido
Um nome de VM só pode usar letras, dígitos, ponto, traço e underscore, sem travessia de caminho.
Escolhe um nome feito de [A-Za-z0-9._-] sem '/', '..', nem '-' inicial.
DX-1508argumento inválidovm1namespace não aplicável neste backend
O backend da VM não põe as suas VMs na SDN deste motor, por isso o isolamento de namespace não pode ser aplicado.
Usa `--backend cloud-hypervisor`, ou tira `--namespace`.
DX-1509argumento inválidovm1--disk-size menor que a imagem base
Um overlay qcow2 não pode ser menor que o seu backing file.
Pede um --disk-size pelo menos tão grande como a imagem base.
DX-1510argumento inválidovm1nome de snapshot inválido
Um nome de snapshot de VM só pode usar letras, dígitos, ponto, traço e underscore, sem travessia de caminho.
Escolhe um nome feito de [A-Za-z0-9._-] sem '/', '..', nem '-' inicial.
DX-1511argumento inválidovm1--ip exige o modo nat do libvirt
Um IP estático é materializado como uma reserva DHCP na rede libvirt, que só o modo de rede nat/network tem.
Tira --net-mode, ou põe-no a nat, para usar --ip; numa bridge de host, reserva antes o IP no próprio DHCP da LAN.
DX-1512argumento inválidovm1IP estático inválido
O valor de --ip não é interpretável como um endereço IPv4.
Passa um endereço IPv4 em formato de quatro octetos.
DX-1513argumento inválidovm1não foi possível reservar o IP estático
o virsh net-update recusou a reserva DHCP para este par MAC/IP.
Lê a razão do virsh na mensagem; o IP pode estar fora da subnet da rede.
DX-1514argumento inválidovm1o backup de disco a quente exige o backend libvirt
Um backup de disco a quente (VM a correr) usa o virsh blockcommit, que só o backend libvirt tem.
Pára a VM e tira antes um snapshot offline, ou recria-a no backend libvirt.
DX-1515argumento inválidovm1VM não está no estado certo para este verbo
pause precisa de uma VM a correr e unpause precisa de uma em pausa; a VM não está em nenhum dos dois estados.
Consulta `delonix vm status <nome>` e usa o verbo que corresponde ao seu estado actual.
DX-1516argumento inválidovm1não foi possível copiar o user-data do cloud-init
O ficheiro que um --user-data nomeia não pôde ser copiado para o directório de seed da VM.
Verifica que o caminho existe e é legível por este utilizador.
DX-1517argumento inválidovm1não existe esse nó Proxmox
O nó nomeado no alvo não faz parte do cluster a que este url responde.
Aponta o alvo a um nó que o `GET /nodes` deste cluster realmente reporta, ou corrige o url.
DX-1518argumento inválidovm1url do Proxmox inválido
O url do alvo não tem esquema, tem um esquema que não https, ou não nomeia um host.
Escreve-o como https://<host>:8006, sem caminho.
DX-1519argumento inválidovm1credencial no url do Proxmox
O url leva um utilizador ou password (userinfo), uma credencial escondida no manifesto em vez de um kind: Secret.
Tira o userinfo e passa a credencial como um token de API ou password do Proxmox num Secret.
DX-1520argumento inválidovm1nome de bridge Proxmox inválido
Um nome de bridge é interpolado na propriedade net0 da VM, e tem de ser um nome de interface Linux válido.
Usa um nome como vmbr0: letras, dígitos, '-', '_' ou '.', até 15 caracteres.
DX-1521argumento inválidovm1nome de nó Proxmox inválido
Um nome de nó entra num caminho de URL em cada chamada, e tem de ser o que o próprio Proxmox aceita.
Usa letras, dígitos, '-' e '.', a bater com o nome do nó em `pvecm status`.
DX-1522argumento inválidovm1spec de disco Proxmox inválida
O disco de uma VM neste backend tem de nomear um template a clonar ou um storage e tamanho no nó; um caminho local não tem significado ali.
Escreve `template:<vmid>` para clonar um template, ou `<storage>:<tamanho-em-GiB>` para um disco novo, por exemplo local-lvm:8.
DX-1523argumento inválidovm1nome de instantâneo Proxmox inválido
Um nome de instantâneo entra num caminho de URL e no próprio espaço de nomes do Proxmox, e 'current' está reservado para o estado ao vivo.
Usa letras, dígitos, '-' e '_', e não 'current'.
DX-1524argumento inválidovm1campo não suportado no backend Proxmox
O manifesto pede um kernel/initrd/seed/dispositivo local, um ajuste do QEMU que pertence ao nó, ou uma escapatória exclusiva do libvirt — nada disto este backend remoto consegue honrar.
Tira o campo que a mensagem nomeia, ou usa um backend local (`--backend libvirt`).
DX-1525argumento inválidovm1VM sem handle do Proxmox
O registo da VM não leva handle do Proxmox, por isso não foi criada por este backend e este backend não sabe o seu vmid.
Gere esta VM com o backend que a criou.
DX-1526argumento inválidovm1o Proxmox rejeitou o pedido
O nó respondeu HTTP 400/422: um parâmetro do pedido não é aceitável para ele; a mensagem traz a razão do próprio nó.
Lê a razão do nó na mensagem e corrige o campo que ela nomeia.
DX-1527argumento inválidovm1capacidade desconhecida
Uma entrada de `required_capabilities` (`vm create --require`, `spec.requiredCapabilities`) nomeia algo que o catálogo de capacidades não tem — um erro de escrita, ou um nome de outra versão do catálogo. É recusada antes de qualquer backend ser consultado.
Usa um nome de `delonix provider ls` (a versão do catálogo está no cabeçalho).
DX-1528argumento inválidovm1regra de firewall do Proxmox inválida
Uma regra da firewall PRÓPRIA do nó (não a firewall SDN deste motor) nomeou um `type` diferente de 'in'/'out', ou uma `action` diferente de ACCEPT/DROP/REJECT — o nome de um grupo de firewall é outro tipo de valor que este cliente não valida nem aceita.
Usa 'in' ou 'out' para o type, e ACCEPT, DROP ou REJECT para a action.
DX-1529argumento inválidovm1tipo de dump de cloud-init Proxmox inválido
o `type` de cloudinit_dump tem de ser um dos três que a rota de cloud-init do nó aceita, e é recusado aqui antes de qualquer pedido chegar ao nó.
Pede 'user', 'network' ou 'meta'.
DX-1530argumento inválidovm1id de zona ou vnet SDN do Proxmox inválido
Um id de zona ou vnet entra num caminho de URL e no próprio espaço de nomes SDN do nó, que o Proxmox limita a uma letra minúscula seguida de até 7 letras minúsculas ou dígitos (8 caracteres no total).
Escolhe um id de até 8 caracteres, começado por uma letra minúscula, o resto letras minúsculas ou dígitos.
DX-1531argumento inválidovm1nome de alias/ipset da firewall do Proxmox inválido
Um nome de alias ou de IP-set da firewall PRÓPRIA da VM (não a firewall SDN deste motor) vai para um caminho de URL e para o namespace do próprio nó, que o Proxmox limita a uma letra seguida de uma ou mais letras, dígitos, '-' ou '_' (pelo menos 2 caracteres no total).
Escolhe um nome que comece por uma letra e tenha pelo menos mais uma letra, dígito, '-' ou '_' a seguir.
DX-1532argumento inválidovm1endereço de firewall do Proxmox inválido
Um CIDR/endereço dado a um alias de firewall ou a uma entrada de um IP-set nomeado não é um endereço IPv4/IPv6, opcionalmente com um '/<prefixo>' — as rotas de alias/ipset do próprio nó rejeitam-no antes de mais nada.
Dá um endereço IPv4 ou IPv6, ou um intervalo CIDR como '10.0.0.0/8'.
DX-1533argumento inválidovm1CIDR de subnet SDN do Proxmox inválido
Uma subnet SDN é nomeada por uma rede CIDR (um endereço IPv4 ou IPv6 com um comprimento de prefixo), recusada aqui antes de entrar no corpo de um pedido ou, com o `/` trocado por `-`, num caminho de URL.
Dá um CIDR como '10.0.0.0/24' ou 'fd00::/64', com um comprimento de prefixo válido para a família de endereços.
DX-1534argumento inválidovm1endereço SDN do Proxmox inválido
Um endereço IPv4/IPv6 simples (uma ponta de intervalo DHCP, um servidor DNS, uma reserva no IPAM, o endereço de router de um nó de fabric) ou um endereço MAC que um campo SDN recebe não foi reconhecido como tal, recusado antes de entrar no corpo de um pedido ou num URL.
Dá o endereço sem comprimento de prefixo ('10.0.0.50', 'fd00::5'), ou o MAC como XX:XX:XX:XX:XX:XX.
DX-1535argumento inválidovm1tempo limite de encerramento do Proxmox inválido
Pediu-se a um encerramento ou reinício feito pelo convidado que esperasse mais do que este cliente espera por qualquer tarefa do nó, por isso o cliente desistiria com o nó ainda dentro da tarefa.
Dá um tempo limite menor do que o prazo de tarefa do cliente (600 segundos por omissão), ou omite-o para ficar com o valor por omissão do próprio nó.
DX-1536argumento inválidovm1redimensionamento de VM inválido
O `vm resize` precisa de `--vcpus` e/ou `--memory`; os vCPUs têm de ser pelo menos 1 e a memória um número com sufixo M/G opcional (`512M`, `4G`, `4Gi`). Um valor que não se lê é recusado em vez de ser tomado por um valor por omissão.
Passa `--vcpus <n>` (n ≥ 1) e/ou `--memory <tamanho>`, por exemplo `--memory 4G`.
DX-1537argumento inválidovm1alteração de cloud-init inválida
O `vm cloud-init` precisa de `--hostname`, `--user` e/ou `--ssh-key`; o hostname tem de ser uma etiqueta DNS (letras, dígitos, '-', no máximo 63), o utilizador um nome de login, cada chave uma linha. Uma imagem de appliance não corre cloud-init e é recusada.
Dá pelo menos um dos três, na forma que o convidado aceita — por exemplo `--hostname web-1 --ssh-key @~/.ssh/id_ed25519.pub`.
DX-1538argumento inválidovm1nó inválido para onde mover a VM
O `vm move --node` nomeia o nó do cluster da VM para onde ela vai. Esse nome tem de ser um membro do cluster, estar online e não ser o nó onde a VM já está; o motor nunca escolhe um por ti.
Passa outro membro do cluster que esteja online — a lista do próprio nó é `pvecm nodes`, ou `delonix provider describe proxmox --probe`.
DX-1539argumento inválidovm1não foi possível ler a imagem local
Uma VM Proxmox criada a partir de uma imagem do store do motor é primeiro enviada para o nó (ADR-0057). O ficheiro para onde a imagem aponta não pôde ser aberto nem lido, ou está vazio.
Verifica a imagem com `delonix image vm ls` e `delonix image vm describe <nome>`; volta a descarregá-la ou a construí-la se o ficheiro faltar.
DX-1540argumento inválidovm1o container de sistema pede algo que o nó não consegue guardar
Um container de sistema num nó Proxmox é sempre sem privilégio: um privilegiado seria uma decisão de privilégio num host remoto, com spike próprio (ADR-0058). O seu entrypoint é guardado como uma linha partida pelos espaços, por isso um argumento com um espaço ou um carácter de controlo não pode ficar como foi escrito; o seu ambiente é uma lista de NOME=valor, em que o nome tem letras, dígitos e underscores.
Deixa o `unprivileged` a true, escreve o entrypoint como argumentos sem espaços (ou põe-no num script dentro da imagem), e nomeia cada variável só com letras, dígitos e underscores.
DX-1550argumento inválidovm1controlador, prefix list ou route map do SDN do Proxmox inválido
Um controlador BGP/EVPN, uma prefix list ou um route map do SDN do próprio cluster (não o deste motor) foi recusado antes de qualquer pedido: um id fora do formato do próprio Proxmox (um id de controlador começa por uma letra; um id de prefix list ou de route map tem de 1 a 32 letras, dígitos, '-' ou '_', e o nó reserva alguns), um campo em falta que o tipo de controlador exige (EVPN: um ASN e exactamente um de peers/fabric; BGP: um nó, um ASN e peers), ou um campo de entrada que o nó não aceitaria (acção que não seja permit/deny, um comprimento de prefixo além da família de endereços, uma chave de match/set desconhecida).
Corrige o campo que a mensagem nomeia; o `apidoc.js` do próprio nó lista os formatos.
DX-1551argumento inválidovm1regra de firewall de vnet do Proxmox inválida
A firewall de uma vnet filtra o tráfego ENCAMINHADO através da vnet e só aceita regras 'forward' — o nó recusa 'in' e 'out' ali — com uma acção ACCEPT, DROP ou REJECT (o nome de um security group não é aceite por este cliente).
Usa o tipo de regra 'forward' (o de omissão) e ACCEPT, DROP ou REJECT; para o tráfego de ou para uma VM, usa a firewall da própria VM.
DX-1801argumento inválidosegurança1nome de segredo inválido
O nome de um segredo só pode ter minúsculas, dígitos, ponto, hífen e sublinhado, até 64 caracteres.
Escolhe um nome feito de [a-z0-9._-].
DX-1802argumento inválidosegurança1chave de segredo inválida
A chave de um segredo tem de ser um nome de variável de ambiente válido: uma letra ou sublinhado, seguidos de letras, dígitos ou sublinhados.
Muda o nome da chave, por exemplo DB_PASSWORD.
DX-1803argumento inválidosegurança1nome de credencial inválido
O nome de uma credencial só pode ter minúsculas, dígitos, ponto, hífen, sublinhado e dois pontos.
Escolhe um nome feito de [a-z0-9._:-].
DX-1804argumento inválidosegurança1chave mestra corrompida
O ficheiro da chave mestra do host tem o tamanho errado, por isso nada do que foi cifrado com ela pode ser lido.
Repõe a chave a partir de um snapshot do nó (`delonix system snapshot restore`); sem ela os segredos cifrados perdem-se.
DX-1805argumento inválidosegurança1o cofre de segredos não conseguiu cifrar ou decifrar
A cifra ou a decifra falhou: um blob corrompido, ou uma chave que não é aquela com que foi selado.
Confirma que a chave mestra é a do próprio host; recria o segredo se o ficheiro estiver corrompido.
DX-1901argumento inválidomáquina1perfil AppArmor indisponível
O perfil AppArmor pedido não pôde ser carregado: o AppArmor não está activado neste host, o apparmor_parser não está no PATH, ou recusou o perfil.
Activa o AppArmor neste host, instala o apparmor_parser, ou passa --security-opt apparmor=unconfined.
DX-1902argumento inválidomáquina1nenhum spec CDI encontrado
Um pedido --gpus/--device nomeou um dispositivo qualificado CDI, mas este host não tem spec CDI gerado nenhum.
Gera um com `nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml` (instalando primeiro o nvidia-container-toolkit se for preciso).
DX-2000uso inválidomotor2uso inválido
A linha de comando não se lê: um subcomando desconhecido, um argumento em falta ou uma flag que este comando não aceita.
Corre o comando com --help e segue a linha de uso.
DX-2601uso inválidostack2o plano tem alterações
O `stack plan --detailed-exitcode` encontrou diferenças entre o manifesto e o que está a correr. Não é uma falha.
Revê o plano e corre `delonix stack apply` se as alterações forem desejadas.
DX-3000não está a corrermotor3não está a correr
O recurso existe mas não está a correr, e a operação precisa dele a correr.
Arranca-o (`delonix container start <nome>`, `delonix vm start <nome>`) e tenta outra vez.
DX-3101não está a corrercontainer3o container não está a correr
O container existe, mas a operação precisa dele a correr.
Arranca-o primeiro (`delonix container start <nome>`).
DX-4000não existemotor4esse recurso não existe
Não existe nada com esse nome ou id neste âmbito.
Confirma o nome e o namespace com o `ls` correspondente, ou cria primeiro o recurso.
DX-4101não existecontainer4esse container não existe
Nenhum container responde a esse id, prefixo de id ou nome neste state root.
Lista-os com `delonix container ps -a`.
DX-4102não existecontainer4dispositivo CDI não encontrado
O nome do dispositivo não é declarado por nenhum spec CDI descoberto.
Confere o nome do dispositivo contra o spec (`nvidia-ctk cdi list`), ou regenera-o.
DX-4201não existevolume4esse volume não existe
Não existe nenhum volume com esse nome neste âmbito.
Lista-os com `delonix volume ls` (-A para todos os namespaces), ou cria-o com `delonix volume create`.
DX-4202não existevolume4esse snapshot não existe
O volume não tem nenhum snapshot com esse nome.
Lista os snapshots dele com `delonix volume snapshot ls <volume>`.
DX-4301não existerede4não existe esse NetworkRoute
Não existe nenhum NetworkRoute entre o par de redes dado.
Lista as rotas com `delonix network route ls`, ou cria uma com `delonix network route <from> <to>`.
DX-4302não existerede4não existe esse Service
Não existe nenhum Service com esse nome nesse namespace.
Lista os services com `delonix get services`.
DX-4303não existerede4a rede de ingress não existe
A rede nomeada não tem NetDef neste holder — nunca foi realizada aqui, ou foi removida.
Cria-a com `delonix network create <name>`, ou usa a rede default.
DX-4304não existerede4não existe essa rota da API do OPNsense
A appliance respondeu HTTP 404 `{"errorMessage":"Endpoint not found"}` — o caminho módulo/controller/comando não existe nesta versão do OPNsense.
Confere o caminho contra `docs.opnsense.org/development/api.html` para a versão exacta da appliance.
DX-4401não existeimagem4essa imagem não existe
A imagem não está no store local e o registo não tem essa tag.
Confirma a referência, ou descarrega-a primeiro (`delonix image pull`).
DX-4402não existeimagem4imagem ou repositório não visível
O registo não mostra o repositório ou a imagem a estas credenciais: não existe, ou é privado.
Faz login com credenciais que o possam ver (`delonix image login <registo>`).
DX-4501não existevm4essa VM não existe
Não existe nenhuma máquina virtual com esse nome neste state root.
Lista-as com `delonix vm ls`, ou cria-a com `delonix vm create`.
DX-4502não existevm4esse snapshot não existe
A VM não tem nenhum snapshot com esse nome.
Lista os seus snapshots com `delonix vm snapshot ls <vm>`.
DX-4503não existevm4esse snapshot não existe
A VM não tem instantâneo nenhum com esse nome no nó Proxmox.
Lista os seus snapshots com `delonix vm snapshot ls <vm>`.
DX-4504não existevm4não existe esse recurso no nó Proxmox
O nó respondeu HTTP 404, ou disse que o ficheiro de configuração da VM não existe (o que diz com HTTP 500).
Confere o id da VM no registo com o `qm list` do nó; uma VM removida do lado do nó deixa um registo sem nada por trás.
DX-4801não existesegurança4esse segredo não existe
Não existe nenhum segredo com esse nome.
Lista-os com `delonix secret ls`, ou cria-o com `delonix secret create`.
DX-5000conflitomotor5conflito: já existe
O nome já está tomado, ou o estado pedido entra em conflito com o que lá está.
Escolhe outro nome, remove o recurso existente, ou usa o --force/--replace do comando, se o tiver.
DX-5101conflitocontainer5container já a correr
O container está a correr, e a operação removê-lo-ia ou substituí-lo-ia sem --force.
Pára-o primeiro, ou passa --force.
DX-5301conflitorede5a rede já existe
Já existe uma rede do NetworkStore com esse nome.
Escolhe outro nome, ou remove primeiro a existente (`delonix network rm <name>`).
DX-5302conflitorede5não sobra subnet livre
O espaço de endereços de workload não tem nenhum /16 livre para dar a uma rede nova.
Remove uma rede não usada (`delonix network rm <name>`) para libertar um /16.
DX-5303conflitorede5a subnet sobrepõe-se a uma rede existente
O CIDR pedido sobrepõe-se à subnet de uma rede existente.
Escolhe um CIDR que não se sobreponha a nenhuma rede que o `delonix network ls` já mostra.
DX-5304conflitorede5a subnet da rede não pode ser mudada no lugar
Já existe uma rede com este nome com uma subnet diferente da pedida; podem já existir workloads endereçados nela.
Remove a rede (`delonix network rm <name>`) e cria-a de novo com a nova subnet.
DX-5305conflitorede5octeto base já usado por outra rede
O /16 dado a uma chamada de create_with_base já está a ser usado por outra rede.
Escolhe um octeto base diferente, ou remove a rede que já o tem.
DX-5306conflitorede5a rede de ingress já está realizada noutro prefixo
Um NetDef de ingress já está realizado num prefixo diferente do que o registo agora pede.
Remove a rede (`delonix network rm <name>`) e cria-a de novo, ou mantém a subnet registada.
DX-5307conflitorede5a rede está em uso
A rede ainda tem containers, membros de pod ou VMs ligados, e removê-la deixá-los-ia endereçados numa bridge que já não existe.
Remove ou desliga o que a mensagem lista (`delonix container rm`, `delonix network disconnect`, `delonix vm rm`) e só depois remove a rede.
DX-5308conflitorede5endereço já ocupado
O endereço pedido já está arrendado a outro container, ou pertence ao pool que o servidor DHCP da rede entrega às VMs.
Escolhe outro endereço (`delonix network ipam ls` mostra os arrendados), ou deixa o endereço ao motor.
DX-5389conflitorede5o provider de rede tem algo que este motor não sobrescreve
O provider remoto (um appliance OPNsense, o SDN de um cluster Proxmox) tem um objecto com a identidade que se quer garantir ou remover e sem a marca de dono deste motor (é de outra pessoa: nunca é adoptado pelo nome, nunca é apagado); ou um objecto que este motor criou foi editado lá e já não bate com o manifesto (não há actualização no lugar); ou tem alterações preparadas que não são deste motor, e o commit dele aplica tudo o que está preparado de uma vez. Reason `provider_conflict` da D5 do ADR-0059. A marca de dono é uma categoria de firewall chamada `delonix-owner:<token>` (OPNsense) ou `[delonix-owner:<token>]` no fim do alias de uma vnet (Proxmox).
Lê qual dos três a mensagem nomeia: muda o nome do objecto ou remove o antigo no provider; repõe o objecto editado como foi declarado, ou substitui-o (`delonix stack apply --replace <Kind>/<nome>`); ou pede a quem preparou as outras alterações que as aplique ou descarte. Depois aplica outra vez.
DX-5501conflitovm5nome de VM já usado por outro subsistema de VM
Já existe um registo de VM com este nome, criado pelo outro subsistema de VM (QEMU directo) que partilha a mesma pasta vms/.
Remove-o primeiro (`delonix vm rm <nome>`), ou escolhe outro nome.
DX-5502conflitovm5nome de snapshot de VM já usado
A VM já tem um snapshot com esse nome.
Escolhe outro nome, ou remove o snapshot existente (`delonix vm snapshot rm`).
DX-5503conflitovm5nome de instantâneo já usado
A VM já tem um instantâneo com esse nome no nó Proxmox.
Escolhe outro nome, ou remove primeiro o instantâneo existente.
DX-5504conflitovm5o nó Proxmox reporta um conflito
O nó respondeu HTTP 409, ou disse que o recurso já existe (o que diz com HTTP 500).
Escolhe outro nome ou id, ou remove o que já lá está.
DX-5505conflitovm5a VM tem de estar parada para ser redimensionada
O `vm resize` é um redimensionamento a frio: muda a definição com que a VM arranca. Um convidado a correr ou em pausa só veria a mudança no reinício seguinte, por isso o verbo recusa em vez de reportar um redimensionamento que não aconteceu.
Corre `delonix vm stop <nome>`, redimensiona, e depois `delonix vm start <nome>`.
DX-5506conflitovm5a VM tem de estar parada para mudar o cloud-init
O convidado lê o cloud-init no arranque: uma VM a correr ou em pausa ficaria com o hostname e as chaves antigas até ao reinício seguinte, por isso o verbo recusa em vez de reportar uma mudança que não chegou ao convidado.
Corre `delonix vm stop <nome>`, muda, e depois `delonix vm start <nome>`.
DX-5507conflitovm5a VM não pode ser movida como foi pedido
O `vm move` foi recusado antes de começar: a VM está no estado de energia errado para o que foi pedido (o `--live` precisa dela a correr, sem `--live` precisa dela parada), ou a pré-verificação do próprio nó diz que o destino não a pode receber — discos locais que o destino teria de copiar, um storage que o destino não tem, ou um dispositivo local.
Pára ou arranca a VM de acordo com o `--live`; numa recusa da pré-verificação, põe os discos da VM num storage partilhado por todo o cluster, ou retira o dispositivo local.
DX-5515conflitovm5a configuração SDN do cluster está trancada
O Proxmox VE tem um único lock global sobre a configuração SDN (`POST /cluster/sdn/lock`). Enquanto outro detentor o tiver, todas as escritas SDN encenadas e o apply são recusados; o nó diz o mesmo quando o token que este cliente levava já não é o do lock.
Espera que o detentor aplique ou reverta; se o detentor já não existir, liberta o lock com o token dele (`DELETE /cluster/sdn/lock`), ou com `force=1` quando tiveres a certeza de que ninguém o está a usar.
DX-5516conflitovm5o cluster tem alterações SDN pendentes
O lock SDN foi recusado porque o cluster já tem alterações SDN encenadas que ninguém aplicou. Tomar o lock na mesma e aplicar empurraria esse outro trabalho junto com esta alteração.
Descobre quem as encenou (a lista de alterações pendentes do `delonix`, ou o painel SDN do nó) e pede que sejam aplicadas ou revertidas primeiro.
DX-5517conflitovm5o container de sistema não pode ser movido como pedido
O `systemcontainer move` foi recusado antes de qualquer coisa se mover: o container está a correr e não foi dado `--restart` (o nó não move um container a correr a quente), os seus volumes estão num storage que o destino não partilha e não foi dado `--with-local-disks` (o nó copiá-los-ia por inteiro), ou a verificação prévia do próprio nó não lista o destino.
Passa `--restart` para o parar, mover e arrancar no destino, ou `--with-local-disks` para deixar o nó copiar os volumes, ou escolhe um nó que a verificação prévia permita.
DX-6000indisponívelmotor69indisponível neste host
Falta uma ferramenta, um backend ou uma funcionalidade do kernel de que a operação precisa. Os argumentos estão certos.
Instala o que a mensagem nomeia (o `delonix system info` mostra o que este host tem) e corre o comando outra vez.
DX-6201indisponívelvolume69não foi possível construir o cliente HTTP do TrueNAS
A pilha TLS/HTTP local não conseguiu construir um cliente para o pedido. Não há nada de errado no manifesto.
Verifica as bibliotecas TLS do host; `delonix system info` reporta o que este host tem.
DX-6202indisponívelvolume69versão do TrueNAS não suportada
Esta build só fala uma versão maior da API REST do TrueNAS; a superfície muda entre versões maiores.
Aponta o manifesto a uma appliance TrueNAS SCALE na versão maior suportada, ou actualiza este motor.
DX-6301indisponívelrede69o 'wg' não está disponível neste host
As chaves de nó WireGuard e as redes overlay cifradas precisam do binário `wg`, que não está no PATH.
Instala o wireguard-tools (Debian/Ubuntu: apt install wireguard-tools; Fedora/RHEL: dnf install wireguard-tools; Arch: pacman -S wireguard-tools).
DX-6302indisponívelrede69esta rota da API de gestão já não altera a rede
A rota escrevia no dataplane sem o registo do container, por isso o reapply seguinte desfazia-a e um workload com várias redes ficava com os outros endereços abertos. A API de gestão está congelada (ADR-0041 D4) e recusa em vez de escrever meia política.
Usa a CLI, que passa pelo registo: `delonix net ingress`/`net egress` para firewall e saída, `delonix network connect`/`disconnect` para redes adicionais, `delonix container rm`/`stop` para desligar.
DX-6381indisponívelrede69nenhum provider registado serve esta capacidade de rede
O provider que serviria o pedido não está registado para o seu papel, ou não implementa a operação: um documento nomeia um que não está registado, o networkDefaults.<papel> nomeia um, ou o registo de um recurso nomeia o provider que o criou e esse provider já não está registado. Um default nunca é saltado para tentar outro provider, e um recurso registado nunca muda de provider (D3 do ADR-0059). Reason `unsupported_capability` da D5 do ADR-0059: o remédio é outro provider, não outro argumento.
Configura o provider que a mensagem nomeia (`delonix provider ls` lista o que está registado), ou nomeia um que sirva o papel.
DX-6383indisponívelrede69não foi possível chegar ao provider de rede
O pedido ao provider de rede remoto (um appliance OPNsense) não pôde ser enviado ou não teve resposta: ligação recusada, DNS, TLS, ou uma ligação cortada a meio da resposta. Quando cortou depois de uma escrita ter sido enviada, não se sabe se a escrita chegou; o plano seguinte volta a ler o provider. Reason `provider_unavailable` da D5 do ADR-0059.
Confirma que o url do provider no providers.yaml responde a partir deste host, e depois volta a planear e a aplicar.
DX-6501indisponívelvm69backend de VM não configurado
Este build conhece o backend nomeado, mas nada neste processo o configurou (por exemplo, Proxmox sem alvo definido).
Configura-o como a mensagem descreve, ou usa um backend que já esteja disponível.
DX-6502indisponívelvm69nenhum backend de VM disponível
A auto-detecção não encontrou nem Cloud Hypervisor nem libvirt+qemu instalados.
Instala cloud-hypervisor ou libvirt+qemu.
DX-6503indisponívelvm69nenhum firmware de VM encontrado
Arrancar uma cloud image no Cloud Hypervisor sem um kernel explícito precisa de um firmware, e nenhum foi dado nem encontrado embutido.
Reinstala (curl install.sh) para obter o rust-hypervisor-fw, passa --firmware <caminho>, ou usa --backend libvirt.
DX-6504indisponívelvm69cloud-localds não encontrado
Gerar um seed NoCloud de cloud-init precisa da ferramenta cloud-localds, que não está no PATH.
Instala-a (Debian/Ubuntu: cloud-image-utils, Fedora/Rocky: cloud-utils), ou passa um seed já feito.
DX-6505indisponívelvm69não foi possível construir o cliente HTTP do Proxmox
A pilha TLS/HTTP local não conseguiu construir um cliente para o pedido. Não há nada de errado no manifesto.
Verifica as bibliotecas TLS do host; `delonix system info` reporta o que este host tem.
DX-6506indisponívelvm69nó Proxmox indisponível
O nó respondeu HTTP 502/503/504: a API está de pé mas não consegue servir o pedido agora (pveproxy sem backend, nó a reiniciar).
Tenta mais tarde; verifica os serviços do nó (`pveproxy`, `pvedaemon`) e o quórum do cluster.
DX-6507indisponívelvm69capacidade não suportada pelo backend
O backend em que esta VM correria não marca uma capacidade exigida como utilizável neste host — ou, com auto-detecção, nenhum backend disponível o faz. A mensagem lista cada entrada por satisfazer com o estado e a razão do próprio provider. É o FAILED_PRECONDITION do contrato de nó com a razão CapabilityNotSupported (ADR-0050 D6).
Escolhe um backend que a tenha (`delonix provider ls`, `--backend`), corrige o que falta ao host quando o estado é `unavailable-on-host`, ou retira a exigência.
DX-6508indisponívelvm69a firewall de datacenter do Proxmox está desligada
Um `NetworkPolicy` com `scope: vm` pediu regras numa VM de um cluster Proxmox cuja firewall de datacenter está desligada. Com ela desligada, nenhuma regra de nenhuma VM filtra nada, e aplicar a política anunciaria uma protecção que não existe (ADR-0052). O motor nunca a liga: isso muda também o que os próprios nós do cluster aceitam.
Liga a firewall ao nível de Datacenter no cluster (Datacenter › Firewall › Options, ou `pvesh set /cluster/firewall/options --enable 1`), depois de verificar as regras de gestão dos nós, e aplica outra vez.
DX-6509indisponívelvm69não foi possível fazer o backup com o sistema de ficheiros do convidado congelado
Um backup consistente congela os sistemas de ficheiros do convidado através do agente QEMU no instante em que o disco é copiado, para que o arquivo guarde um sistema de ficheiros coerente. O convidado não estava a correr, o agente não respondeu, ou o log do backup do próprio nó não mostrou o congelamento e o descongelamento — e um backup que não se consegue provar consistente não é reportado como tal.
Instala e arranca o `qemu-guest-agent` no convidado e define `agent=1` na VM; para uma VM parada, um backup simples já é consistente.
DX-6510indisponívelvm69o storage de importação do nó não aceita imagens
Uma VM Proxmox criada a partir de uma imagem local é enviada para um storage do tipo dir do nó, em `import/`, e o nó só o aceita num storage cujos tipos de conteúdo incluam `import` (ADR-0057). O motor nunca muda os tipos de conteúdo de um storage: isso é administrar o nó.
Liga-o no nó (`pvesm set <storage> --content <tipos actuais>,import`, ou Datacenter › Storage › Edit › Content), ou aponta o `DELONIX_PROXMOX_IMPORT_STORAGE` / `storage.import` do providers.yaml para um storage que o tenha.
DX-6511indisponívelvm69o storage de importação do nó não tem espaço para a imagem
A imagem seria enviada para o storage de importação do nó, e esse storage tem menos espaço livre do que a imagem. O envio é recusado antes de começar, porque a recusa do próprio nó só viria depois de os bytes terem sido enviados.
Liberta espaço no storage, ou aponta o `DELONIX_PROXMOX_IMPORT_STORAGE` / `storage.import` do providers.yaml para um storage com espaço.
DX-6512indisponívelvm69o apply do SDN terminou OK mas um nó não o realizou
Um apply da configuração SDN do cluster (`PUT /cluster/sdn`) lança uma tarefa `reloadnetworkall`, e essa tarefa termina OK quando o reload do nó de entrada tem sucesso — mesmo que o reload de outro nó tenha falhado. O motor lê então o conteúdo das zonas em cada nó online, e pelo menos uma vnet não estava `available` lá. A mensagem nomeia cada nó, zona e vnet com a razão dada pelo próprio nó.
Lê o log da tarefa 'reload network' desse nó (`pvesh get /nodes/<nó>/tasks --typefilter srvreload`), corrige o que ele nomeia — muitas vezes o pacote `dnsmasq` para uma zona com `dhcp=dnsmasq`, ou a linha `source /etc/network/interfaces.d/*` em `/etc/network/interfaces` — e aplica outra vez.
DX-6513indisponívelvm69o storage do nó não aceita arquivos de container
Um container de sistema num nó Proxmox é criado a partir de um arquivo OCI que o motor envia para um storage do nó como template de container, e o nó só o aceita num storage cujos tipos de conteúdo incluam `vztmpl` (ADR-0058). O motor nunca muda os tipos de conteúdo de um storage: isso é administrar o nó.
Activa-o no nó (`pvesm set <storage> --content <tipos actuais>,vztmpl`, ou Datacenter › Storage › Edit › Content), ou usa um storage que o tenha.
DX-6514indisponívelvm69o storage do nó não tem espaço para o arquivo de container
O arquivo de container seria enviado para um storage do nó, e esse storage tem menos espaço livre do que o arquivo. O envio é recusado antes de começar, porque a recusa do próprio nó só viria depois de os bytes terem sido enviados.
Liberta espaço no storage, ou usa um storage com espaço.
DX-7000permissão negadamotor77permissão negada
O sistema operativo recusou por uma permissão: um ficheiro, um directório ou uma capability.
Corrige a permissão no caminho que a mensagem nomeia, ou corre a partir de uma sessão que a tenha, e repete.
DX-7385permissão negadarede77o provider de rede recusou a credencial
O provider de rede remoto recusou o que recebeu: o OPNsense responde 401 a uma chave/segredo que não aceita, 302 para a página de login quando não chegou credencial nenhuma, e 403 a uma chave sem o privilégio que a rota pede (fase 0 do ADR-0051). Reason `provider_auth_failed` da D5 do ADR-0059.
Verifica os ficheiros de chave e segredo que o providers.yaml nomeia, e que o utilizador da API tem os privilégios de firewall no appliance.
DX-8000prazo esgotadomotor124prazo esgotado
O prazo passou com o trabalho por acabar. Nada recusou; pode ainda estar a terminar.
Espera e volta a perguntar, ou aumenta o --timeout. Não recries o recurso por cima de um que ainda está a subir.
DX-8101prazo esgotadocontainer124container ainda a sair depois do SIGKILL
O `rm -f` matou o container, mas o seu processo ainda não tinha acabado de sair quando o prazo passou — normalmente preso no kernel a despejar o sistema de ficheiros do container para um disco ocupado. O container continua listado, para nenhum processo vivo ficar sem registo.
Corre o mesmo `rm -f` outra vez quando o disco do host acalmar; remove o container assim que o seu processo tiver saído.
DX-8201prazo esgotadovolume124job do TrueNAS esgotou o tempo
Um job assíncrono na appliance (permissões, trabalho no dataset) não chegou a um estado terminal antes do prazo.
Pode ainda estar a terminar na appliance; verifica-o lá antes de repetir.
DX-8501prazo esgotadovm124task do Proxmox esgotou o tempo
Uma task no nó (criar, arrancar, instantâneo, destruir) não chegou a um estado terminal antes do prazo.
Pode ainda estar a terminar no nó; verifica o registo de tasks do nó antes de repetir.
DX-8502prazo esgotadovm124lock de configuração da VM Proxmox ficou ocupado
O nó continuou a recusar porque o lock de configuração da VM estava tomado (normalmente o qmeventd a limpar depois de um stop), para lá da janela de repetição.
Verifica o registo de tasks do nó para esta VM; algo ainda está a segurar o lock.
DX-9000falha do sistemamotor1uma chamada de sistema falhou
O kernel recusou uma operação (clone, mount, setns…). A mensagem traz a operação e o errno.
Lê o errno na mensagem; o `delonix system info` verifica os requisitos do host (user namespaces, delegação de cgroup).
DX-9001falha do sistemamotor74erro de I/O
O sistema de ficheiros recusou num caminho de que o motor precisa: disco cheio, directório em falta, montagem avariada.
Verifica o caminho na mensagem e o espaço livre do state root (`delonix system df`).
DX-9002falha do sistemamotor1registo de estado inválido
Um registo de estado em disco não pôde ser lido ou escrito como JSON: está corrompido ou é de uma versão incompatível.
Inspecciona o registo que a mensagem nomeia; repõe-no a partir de um snapshot (`delonix system snapshot restore`) se estiver corrompido.
DX-9003falha do sistemamotor1não foi possível obter o bloqueio do estado
O bloqueio que serializa a leitura-modificação-escrita de um registo de estado não pôde ser aberto ou obtido, por isso a escrita foi recusada em vez de arriscar perder uma concorrente.
Confirma que o state root é gravável por este utilizador e não está num sistema de ficheiros sem flock.
DX-9004falha do sistemamotor1o kernel não deu entropia
O kernel não forneceu bytes aleatórios, de que a cifra e os valores gerados precisam.
Confirma que o getrandom(2) funciona neste host (um kernel muito antigo ou um perfil seccomp restritivo).
DX-9201falha do sistemavolume1uma ferramenta de armazenamento falhou
Uma ferramenta do host de que o volume precisa (mount, mkfs.ext4, resize2fs, losetup…) falhou ou não existe. A mensagem traz o erro dela.
Lê o erro da ferramenta na mensagem; montar volumes de rede e quotas rígidas exige CAP_SYS_ADMIN.
DX-9202falha do sistemavolume1pedido ao TrueNAS falhou
O pedido HTTP à appliance não pôde ser enviado nem respondido (rede, TLS, DNS).
Verifica o url do alvo e que a appliance é alcançável a partir deste host.
DX-9203falha do sistemavolume1TrueNAS respondeu com um erro HTTP
A API REST da appliance devolveu um estado fora de 2xx; a mensagem leva o corpo do erro próprio.
Lê o corpo na mensagem — o TrueNAS põe ali o detalhe accionável.
DX-9204falha do sistemavolume1não foi possível ler a resposta do TrueNAS
A resposta da appliance não era o JSON que este cliente esperava.
Verifica que a appliance está na versão maior suportada; a mensagem leva o início do corpo.
DX-9205falha do sistemavolume1job do TrueNAS falhou
Um job assíncrono na appliance terminou FAILED ou ABORTED; a mensagem leva a razão própria.
Lê a razão da appliance na mensagem.
DX-9206falha do sistemavolume1job do TrueNAS desapareceu
A appliance deixou de reportar um job antes de chegar a um estado terminal, por isso não se sabe se o trabalho aconteceu.
Verifica o dataset/permissões directamente na appliance.
DX-9207falha do sistemavolume1dataset do TrueNAS não tem mountpoint
A appliance reporta o dataset sem mountpoint, por isso não pode ser partilhado nem montado.
Verifica o dataset na appliance; pode ser preciso definir um mountpoint explicitamente.
DX-9208falha do sistemavolume1o estado do TrueNAS discordou do seu próprio relato
A appliance relatou uma acção como feita, mas uma releitura logo a seguir discorda (dataset ausente depois de criar, ou ainda presente depois de apagar).
Verifica o dataset directamente na appliance; nada aqui foi revertido.
DX-9301falha do sistemarede1uma chamada de sistema de rede falhou
Uma ferramenta do host a que este motor recorre para redes (ip, nft, wg, bridge, um plugin CNI, newuidmap/newgidmap, ou uma syscall crua) não pôde correr ou terminou mal. A mensagem nomeia a operação e leva o erro próprio da ferramenta.
Lê a operação e o erro na mensagem; verifica que a ferramenta está instalada e que o estado de rede do host está são.
DX-9302falha do sistemarede1não foi possível construir o cliente da API do OPNsense
A pilha HTTP/TLS local não pôde ser construída a partir do Target dado (o mais provável é um certificado CA malformado).
Confere `ca_cert_pem`/`insecure_tls` no Target; nada na appliance foi alcançado.
DX-9304falha do sistemarede1o OPNsense respondeu com um estado inesperado
Um estado HTTP não-2xx para o qual este cliente não tem classe dedicada. A mensagem traz o estado e o corpo.
Lê o estado/corpo na mensagem; pode ser uma versão contra a qual este cliente nunca foi medido (ADR-0051).
DX-9307falha do sistemarede1resposta do OPNsense demasiado grande
Um corpo acima do tamanho que este cliente lê para memória (16 MiB) — a appliance, ou o que quer que tenha respondido em seu nome, não é um dos corpos JSON pequenos que esta API normalmente devolve.
Isto não devia acontecer contra um OPNsense real; confere que não é outra coisa a responder nesse endereço.
DX-9308falha do sistemarede1a resposta do OPNsense não fez parse
O corpo da resposta da appliance não fez parse como o JSON que esta chamada esperava.
Lê o corpo em bruto na mensagem; a API da appliance pode ter mudado de forma numa versão mais nova/antiga do que a que a Fase 0 do ADR-0051 mediu (26.1.2).
DX-9401falha do sistemaimagem1erro do registo
Um registo OCI respondeu com um erro, ou não foi possível alcançá-lo.
Verifica a referência da imagem, o teu login (`delonix image login`) e o caminho de rede até ao registo.
DX-9402falha do sistemaimagem1não foi possível ler a árvore de módulos
A leitura do directório de módulos falhou: uma permissão, um caminho em falta ou um erro de I/O.
Confirma que o caminho na mensagem é legível por este utilizador.
DX-9403falha do sistemaimagem1digest do conteúdo divergente
O que o registo serviu não corresponde ao digest fixado ou declarado. O conteúdo foi recusado.
Não contornes isto: o registo, um mirror ou a rede podem estar a adulterar. Descarrega outra vez de uma fonte de confiança.
DX-9404falha do sistemaimagem1a montagem do overlay falhou
A montagem do rootfs overlay da imagem falhou.
Lê o errno na mensagem; o overlay rootless exige um kernel com overlayfs sem privilégio (`delonix system info`).
DX-9501falha do sistemavm1ferramenta de VM falhou
Uma ferramenta externa de que o ciclo de vida desta VM depende (virsh, qemu-img, o processo cloud-hypervisor) não pôde ser corrida ou saiu mal.
Lê o próprio erro da ferramenta na mensagem.
DX-9502falha do sistemavm1a API do Cloud Hypervisor falhou
O VMM Cloud Hypervisor da VM a correr não pôde ser alcançado pelo seu api-socket local, ou respondeu com um estado não-2xx.
Confirma que a VM ainda está viva (`delonix vm status`); um vmm que tenha morrido precisa de `delonix vm start`.
DX-9503falha do sistemavm1disco da VM corrompido após o stop
o qemu-img check encontrou o disco de uma VM Cloud Hypervisor parada corrompido (BUG-VM-001) — uma verificação pós-stop, não o próprio stop a falhar.
Corre `qemu-img check -r all` no disco que a mensagem nomeia; considera --backend libvirt para VMs que precisem de snapshots de disco fiáveis.
DX-9504falha do sistemavm1o snapshot precisa de uma VM parada
O backend Cloud Hypervisor não consegue fazer snapshot/restore/delete-snapshot ao disco de uma VM a correr: o vmm segura-o em exclusivo.
Pára a VM primeiro (`delonix vm stop`), ou usa --backend libvirt para checkpoints a quente.
DX-9505falha do sistemavm1sem descrição do domínio libvirt em disco
Uma VM parada não tem nenhum <nome>.xml registado, por isso não há nada para redefinir para um verbo snapshot/restore.
Arranca a VM uma vez (`delonix vm start <nome>`); a descrição é escrita nessa altura e fica desde então.
DX-9506falha do sistemavm1admissão da VM recusada
A verificação de protecção do host recusou arrancar uma VM cuja memória pedida não cabe no que o host tem disponível.
Pára outras VMs/containers, reduz a memória, ou baixa DELONIX_VM_RESERVE_MIB (por tua conta e risco).
DX-9507falha do sistemavm1o backup de disco a quente falhou
Um passo do pipeline de backup de disco a quente (listar discos, preparar o overlay, snapshot, copiar, pivot) falhou.
Lê o próprio erro do passo na mensagem; a VM fica a correr de qualquer forma.
DX-9508falha do sistemavm1não foi possível correr o cloud-localds
A ferramenta cloud-localds não pôde ser arrancada, por uma razão que não a de estar em falta.
Lê o erro na mensagem; verifica as permissões e o espaço livre do host.
DX-9509falha do sistemavm1cloud-localds falhou
A ferramenta cloud-localds correu e saiu com um estado diferente de zero ao construir o ISO de seed.
Verifica que o user-data/meta-data/network-config de cloud-init que lhe foi dado está bem formado.
DX-9510falha do sistemavm1pedido ao Proxmox falhou
O pedido HTTP ao nó não pôde ser enviado nem respondido (rede, TLS, DNS).
Verifica o url do alvo e que o nó é alcançável a partir deste host.
DX-9511falha do sistemavm1Proxmox respondeu com um erro HTTP
A API REST do nó devolveu um estado fora de 2xx; a mensagem leva o corpo do erro próprio.
Lê o corpo na mensagem — o Proxmox põe ali o detalhe accionável.
DX-9512falha do sistemavm1a resposta do Proxmox tinha a forma errada
A resposta do nó fez parse como JSON mas não levava o que uma chamada específica precisava (um id de VM, um id de task).
Verifica que a versão do Proxmox VE do nó bate com o que esta build espera.
DX-9513falha do sistemavm1task do Proxmox falhou
Uma task no nó (criar, arrancar, instantâneo, destruir) terminou com um veredicto diferente de OK; a mensagem leva a razão própria do nó.
Lê a razão do nó na mensagem, ou verifica o seu registo de tasks.
DX-9514falha do sistemavm1não foi possível ler a resposta do Proxmox
A resposta do nó não era o JSON que este cliente esperava.
Verifica que a versão do Proxmox VE do nó bate com o que esta build espera; a mensagem leva o início do corpo.
DX-9515falha do sistemavm1o Proxmox recusou a credencial
O nó respondeu HTTP 401: o token da API está errado ou revogado, ou o ticket não pôde ser renovado.
Confere o id e o segredo do token (ou a conta), e que o token não expirou no nó.
DX-9516falha do sistemavm1o Proxmox negou a operação
O nó respondeu HTTP 403: a credencial é válida mas não tem o privilégio que esta rota exige (a mensagem nomeia a rota).
Dá ao token ou à conta, no nó, o papel que a rota exige — privilégio mínimo, um papel por uso.
DX-9517falha do sistemavm1a resposta do Proxmox excedeu o limite de tamanho
A resposta do nó foi maior do que este cliente está disposto a ler para memória.
Verifica o que o nó está a servir nessa rota; uma resposta deste tamanho não é uma que o motor espere.
DX-9525falha do sistemavm1descartar uma alteração SDN falhada também falhou
Uma alteração dentro de uma transacção SDN falhou, e o rollback que devia descartar o que ela tinha encenado (`POST /cluster/sdn/rollback`) também falhou: ficam no cluster alterações pendentes, e possivelmente o lock SDN. A mensagem nomeia as duas falhas e o token do lock.
Reverte à mão com o token que a mensagem nomeia (`POST /cluster/sdn/rollback` com `lock-token` e `release-lock=1`) e repete a alteração.
DX-9901falha do sistemamáquina1uma chamada de sistema do motor de containers falhou
Uma operação do kernel que esta crate executa para construir ou gerir um container (clone, mount, setns, uma escrita de cgroup ou /proc) falhou. A mensagem leva a operação e o errno.
Lê o errno na mensagem; o `delonix system info` verifica os requisitos do host (user namespaces, delegação de cgroup).
CodeClassDomainExitMessage, meaning, what to do
DX-0000successengine0success
The command did what it was asked.
Nothing.
DX-1000invalid argumentengine1invalid argument
An argument, a flag value or a manifest field is not acceptable. The message names which.
Correct the argument the message names and run the command again.
DX-1101invalid argumentcontainer1ambiguous container name
The name exists in more than one namespace, so it does not say which container.
Qualify it as <namespace>/<name>.
DX-1102invalid argumentcontainer1invalid memory limit
The --memory value, or a Kubernetes resources.limits.memory, is not a byte count this engine understands.
Use bytes (67108864) or a suffix (64M, 64Mi, 1G, 1Gi).
DX-1103invalid argumentcontainer1invalid CPU limit
The --cpus value, or a Kubernetes resources.limits.cpu, is not a number of cores this engine understands.
Use a decimal number of cores (0.5, 2); millicores (500m) are a Kubernetes spelling this flag does not take.
DX-1104invalid argumentcontainer1invalid cgroup weight
A weight value (--cpu-weight, --io-weight) is outside the cgroup v2 range.
Pass a weight between 1 and 10000.
DX-1105invalid argumentcontainer1invalid CPU set
The --cpuset value does not parse as a CPU list (e.g. 0-3,6).
Pass a comma-separated list of CPU numbers or ranges.
DX-1106invalid argumentcontainer1invalid command argument
A command or entrypoint argument contains a NUL byte, which cannot be passed to execve.
Remove the embedded NUL byte from the argument the message names.
DX-1107invalid argumentcontainer1empty command
The container has no command to run: neither the image's ENTRYPOINT/CMD nor an explicit command was given.
Pass a command, or use an image with an ENTRYPOINT or CMD.
DX-1108invalid argumentcontainer1no processes in the container
An operation needing at least one live process (renice) found none.
Check the container is actually running (`delonix container ps`).
DX-1109invalid argumentcontainer1unsafe live-mount path
A container update --volume-add/--volume-rm target is refused by the same path-safety check bind mounts use.
Use a target path that stays inside the container's own root filesystem.
DX-1110invalid argumentcontainer1live-mount source does not exist
The host path given to a live bind-mount (container update --volume-add) does not exist.
Check the source path on the host exists before mounting it live.
DX-1111invalid argumentcontainer1container shares the host mount namespace
A live mount/unmount was asked of a container with no private mount namespace to change.
This container cannot take a live volume change; stop and recreate it if one is needed.
DX-1112invalid argumentcontainer1live mount failed
The forked helper that performs a live bind-mount inside the running container's namespaces exited with a failure, or was interrupted.
Read the message for the exit code; retry the volume-add, or restart the container.
DX-1113invalid argumentcontainer1live unmount failed
The forked helper that performs a live unmount inside the running container's namespaces did not succeed.
Retry the volume-rm, or restart the container.
DX-1114invalid argumentcontainer1invalid CDI device name
A --device value naming a CDI-qualified device is not vendor.com/class=name.
Use the vendor.com/class=name form (e.g. nvidia.com/gpu=0).
DX-1115invalid argumentcontainer1kubelet cgroup placement needs the root runtime
Placing a container in the cgroup hierarchy a CRI RunPodSandbox names needs privileges rootless, or an already-namespaced process, does not have.
Run the CRI server as root, or do not request a kube cgroup parent in rootless.
DX-1201invalid argumentvolume1invalid volume name
A volume name may only use letters, digits, dot, dash and underscore, and cannot start with a dot.
Pick a name made of [A-Za-z0-9._-] that does not start with a dot.
DX-1202invalid argumentvolume1network volume without a device
An nfs, cifs or webdav volume was asked for without the share to mount.
Pass the share: --opt server=<host> --opt share=<path>.
DX-1203invalid argumentvolume1network volume record without a device
A network volume is registered but its record lost the device to mount.
Recreate the volume with its server and share.
DX-1204invalid argumentvolume1invalid snapshot name
A snapshot name may only use letters, digits, dot, dash and underscore, with no slash or double dot.
Pick a name made of [A-Za-z0-9._-].
DX-1205invalid argumentvolume1hard quota on a volume with data
A hard quota (loopback) can only be set on an empty volume: it would hide the data already there.
Create the volume with --quota, or empty it first.
DX-1206invalid argumentvolume1quota below current usage
The new quota is smaller than what the volume already holds.
Free space in the volume first, or ask for a larger quota.
DX-1207invalid argumentvolume1volume in use
Shrinking a quota needs the volume unmounted, and a container is using it.
Stop the containers that mount it, then change the quota.
DX-1208invalid argumentvolume1ambiguous volume name
The name is both a volume in the workload's namespace and a global volume.
Rename one of the two.
DX-1209invalid argumentvolume1invalid volume spec
A -v value is not source:/target[:options].
Write it as source:/target, optionally with :ro.
DX-1210invalid argumentvolume1unsupported bind option
The third field of -v names an option this engine does not implement (SELinux :z/:Z, :U).
Use :ro, :rw or a propagation option (:rprivate, :rslave, :rshared).
DX-1211invalid argumentvolume1mount target is not absolute
The path inside the container must start with a slash.
Write the target as an absolute path, like /data.
DX-1212invalid argumentvolume1quota below TrueNAS' minimum
TrueNAS refuses a quota under 1 GiB on a dataset; asking for less does not get rounded up, it gets refused.
Ask for at least 1 GiB, or drop the quota to leave the dataset unlimited.
DX-1213invalid argumentvolume1invalid TrueNAS url
The provisioning target's url has no scheme, an unsupported scheme, or no host.
Write it as https://<host>[:port], with no path.
DX-1214invalid argumentvolume1credential in the TrueNAS url
The url carries a username or password (userinfo), which is a credential hidden in the manifest instead of a kind: Secret.
Remove the userinfo and pass the credential as apiKeySecret or passwordSecret.
DX-1215invalid argumentvolume1credential over plain http
Sending an API key or password to a plain http:// TrueNAS target would put it on the wire in the clear.
Use https://, with insecureTLS: true if the appliance serves its own self-signed certificate.
DX-1216invalid argumentvolume1invalid TrueNAS dataset name
A ZFS dataset name has to be <pool>/<name>, with no '..', no empty component and no leading '-'.
Write the dataset as <pool>/<name>, e.g. tank/projects.
DX-1301invalid argumentnetwork1invalid WireGuard key
A string given as a WireGuard key is not 44 characters of base64 ending in '='.
Pass a key exactly as `wg genkey`/`wg pubkey` produced it.
DX-1302invalid argumentnetwork1invalid CNI configuration
A CNI config/conflist file, or a plugin's input built from it, is not valid JSON or has the wrong shape.
Check the `*.conflist`/`*.conf` file the message names; validate it with a JSON linter.
DX-1303invalid argumentnetwork1could not encode a CNI plugin's input
Building the JSON a CNI plugin reads on stdin failed.
Check the plugin entry in the conflist for a value JSON cannot represent.
DX-1304invalid argumentnetwork1invalid CNI plugin result
A CNI plugin's own stdout did not parse as the result the CNI spec expects.
Check the plugin binary the message names is the version this host's conflist expects.
DX-1305invalid argumentnetwork1CNI plugin not found
A plugin named in the CNI chain (or its `ipam.type`) is not a binary in CNI_PATH.
Install the plugin binary the message names into CNI_PATH (default /opt/cni/bin).
DX-1306invalid argumentnetwork1invalid netns sysctl key
A sysctl key given to be set inside a netns is not a plain `net.*` name.
Use a dotted `net.*` key, as `sysctl` itself would accept.
DX-1307invalid argumentnetwork1invalid publish spec
A `-p`/`--publish` spec has a protocol other than tcp/udp, a non-numeric port, or a host address that is not an IPv4 literal.
Write it as [hostIp:]hostPort:contPort[/tcp|udp], e.g. 8080:80 or 0.0.0.0:8080:80/tcp.
DX-1308invalid argumentnetwork1invalid publish port range
A `-p` port RANGE has a non-numeric bound, an out-of-order/out-of-range port, or mismatched host/container widths.
Use hostStart-hostEnd:contStart-contEnd with both sides the same width, within 1-65535.
DX-1309invalid argumentnetwork1invalid network rate spec
A `--net-bps`/`--net-burst` value does not parse, is zero, or is out of range.
Use a number with an optional k/m/g/t suffix, e.g. 10mbit or 512k.
DX-1310invalid argumentnetwork1network record is corrupted
A NetworkStore record on disk is missing a field its driver needs (parent, subnet, vni, or the base octet).
Remove the network and recreate it (`delonix network rm`, then `delonix network create`).
DX-1311invalid argumentnetwork1reserved network name
The name asked for is `bridge` (the implicit default network) or a reserved driver name (`host`/`none`).
Pick a different name.
DX-1312invalid argumentnetwork1invalid network name
A network name may only use letters, digits, dash and underscore.
Pick a name made of [A-Za-z0-9_-].
DX-1313invalid argumentnetwork1unsupported bridge subnet
A --subnet for the bridge driver is not a 10.<workload-range>.0.0/16 this engine's IPAM can realize.
Pass a 10.<lo>-<hi>.0.0/16 in the workload range, or omit --subnet to let the engine pick a free one.
DX-1314invalid argumentnetwork1invalid subnet
An arbitrary --subnet CIDR is not a private prefix (RFC 1918) of a usable length.
Use a private range (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) with a prefix between /8 and /28.
DX-1315invalid argumentnetwork1invalid network gateway
A declared gateway is outside the network's prefix, or is the network/broadcast address.
Pick an address inside the network's prefix that is not the network or broadcast address.
DX-1316invalid argumentnetwork1invalid /16 base octet
A /16 base octet for a bridge network is outside the workload address space.
Pick a base octet inside the workload range this engine reports.
DX-1317invalid argumentnetwork1no record to annotate
The implicit default `bridge` network has no record on disk, so there is nothing to label/annotate.
Annotate a user network instead; the default network cannot carry labels.
DX-1318invalid argumentnetwork1invalid network metadata key or value
A label/annotation key is empty or contains '=' or a newline, or its value contains a newline.
Use a key/value with no '=' and no newline.
DX-1319invalid argumentnetwork1invalid VNI
An overlay network's VNI does not parse, or is outside 1..16777215.
Pass a VNI between 1 and 16777215.
DX-1320invalid argumentnetwork1not an overlay network
An overlay-peer operation was asked of a network whose driver is not `overlay`.
Target a network created with `--driver overlay`.
DX-1321invalid argumentnetwork1invalid overlay peer
An overlay peer spec has no node_ip.
Write the peer as <node_ip> or <node_ip>=<pubkey>=<wg_ip>.
DX-1322invalid argumentnetwork1unknown network driver
A `create_lan` driver is neither `macvlan` nor `ipvlan`.
Use --driver macvlan or --driver ipvlan.
DX-1323invalid argumentnetwork1parent NIC not found
A macvlan/ipvlan network's parent NIC does not exist on this host.
Pass a NIC that `ip link` on this host actually shows.
DX-1324invalid argumentnetwork1invalid macvlan/ipvlan subnet
A macvlan/ipvlan subnet does not parse as a CIDR.
Write it as e.g. 192.168.1.0/24.
DX-1325invalid argumentnetwork1invalid holder control command
A line sent on the holder's control socket is not one this build recognises.
Check the CLI and the holder are from the same build; an old holder may need a respawn.
DX-1326invalid argumentnetwork1invalid hex payload
A hex-encoded payload on the holder control socket (a CNI conflist, a firewall spec) does not decode.
This is an internal protocol error between the CLI and the holder; check they are the same build.
DX-1327invalid argumentnetwork1invalid FDB/overlay peer destination
An FDB or overlay-peer destination is not a bare IP address.
Pass a plain IPv4 address, with no other characters.
DX-1328invalid argumentnetwork1the default ingress bridge cannot be removed
An attempt was made to remove the default ingress bridge, which every other network path depends on.
Remove a user network instead; the default bridge is not removable.
DX-1329invalid argumentnetwork1VIP outside the ingress address space
A load-balancer VIP is outside the ingress address space (10.200-254.x).
Use an address inside the ingress range this engine reports.
DX-1330invalid argumentnetwork1invalid load-balancer spec
An `lbset` backend list has a bad weight, a backend with no port, an invalid backend, or is empty.
Write backends as ip:port[#weight], comma-separated, with at least one entry.
DX-1331invalid argumentnetwork1invalid port
A port string given to the ingress dataplane (publish/unpublish/lbset) is not 1..65535.
Pass a numeric port between 1 and 65535.
DX-1332invalid argumentnetwork1invalid protocol
A protocol other than tcp/udp was given to a publish/unpublish call.
Use tcp or udp.
DX-1333invalid argumentnetwork1invalid egress policy
An egress policy is not allow, deny, or allowlist:<cidrs>.
Use allow, deny, or allowlist:<comma-separated CIDRs>.
DX-1334invalid argumentnetwork1invalid egress hostname
An `egress host` suffix is not a plain DNS name.
Use a plain hostname/domain suffix, e.g. example.com.
DX-1335invalid argumentnetwork1IP outside the ingress address space
A container/publish IP is outside the ingress address space (10.200-254.x).
Attach the container to a network inside the ingress range this engine reports.
DX-1336invalid argumentnetwork1firewall applied with no IP
apply_firewall/apply_firewall_all was called with an empty IP list.
This is an internal call error; report it if you see it from the CLI.
DX-1337invalid argumentnetwork1invalid firewall spec
A firewall spec (hex-decoded JSON sent to the holder) does not parse as the expected structure.
Check the CLI and the holder are from the same build.
DX-1338invalid argumentnetwork1could not encode a firewall spec
Encoding a container's firewall to send over the control socket failed.
This is an internal call error; report it if you see it from the CLI.
DX-1339invalid argumentnetwork1no free ingress prefix
No /16 prefix is left in the ingress address space for a new network.
Remove an unused network (`delonix network rm`) to free a prefix.
DX-1340invalid argumentnetwork1IP does not belong to network
A fixed IP given to attach a container is not inside the target network's subnet.
Pass an address inside the network's own subnet (`delonix network inspect <name>`).
DX-1341invalid argumentnetwork1invalid gateway provider registration
A GatewayProvider registration (ADR-0051) had no id, or claimed a name another provider already has.
Fix the registration the message describes; this is a programming error in the process that registered it, not a manifest/flag.
DX-1344invalid argumentnetwork1network zone provider registration refused
A process tried to register a SegmentProvider with an empty id, or one whose id/alias already belongs to a different provider.
Fix the registration (an internal call error unless a third-party provider crate is involved).
DX-1380invalid argumentnetwork1the network intent cannot be served as written
What a network document or providers.yaml asks for cannot be served as written: nothing names a provider for the role and nothing else decides (zero or several registered, or a providers.yaml without networkDefaults.<role>), or the provider rejected the fields sent (OPNsense answers with per-field validations). ADR-0059 D5 reason `invalid_intent`.
Read the message: name the provider (networkDefaults.<role> in providers.yaml, or spec.provider where the Kind has it), or fix the fields the provider listed.
DX-1401invalid argumentimage1empty SBOM
The image has no apk or dpkg package database, so there is nothing to scan for vulnerabilities.
Scan an image built on a distribution with a package manager, or scan its base image instead.
DX-1402invalid argumentimage1invalid advisory database
The advisory database the scanner loaded is not valid JSON.
Sync it again with `delonix image scan --update --feed <url>`.
DX-1403invalid argumentimage1OSV feed is not JSON
The feed given to the scanner could not be parsed as JSON.
Check the --feed URL points at an OSV JSON export, not an HTML page.
DX-1404invalid argumentimage1OSV feed has the wrong shape
The feed is JSON but neither an array of advisories nor an object with a vulns array.
Point --feed at an OSV export: an array of advisories, or an object with a vulns array.
DX-1405invalid argumentimage1not an Odoo module
The directory named as a module has no __manifest__.py.
Point the scan at the module's own directory, the one holding __manifest__.py.
DX-1406invalid argumentimage1no Odoo module found
No directory under the path given has a __manifest__.py.
Point the scan at the directory that contains the modules.
DX-1407invalid argumentimage1invalid Dockerfile
The build file does not parse, or asks for an instruction or flag this engine does not support. The message names the line.
Fix the line the message names; `delonix build --help` lists what is supported.
DX-1408invalid argumentimage1invalid image archive
The archive being loaded is incomplete or corrupt: a missing manifest, or a blob that does not hash to its name.
Export the archive again from its source and load the new file.
DX-1409invalid argumentimage1a layer could not be packed or unpacked
Reading, compressing or extracting a layer or a root filesystem failed. The message carries the underlying error.
Read the error in the message; check free space in the state root (`delonix system df`) and try again.
DX-1410invalid argumentimage1image has no layers
The image record has no layers to mount as a root filesystem.
Pull or build the image again.
DX-1411invalid argumentimage1the state root cannot back an overlay
The state root path contains a character (':') that the overlay mount options cannot express.
Move the state root to a path without ':' (DELONIX_ROOT).
DX-1412invalid argumentimage1invalid signing key
A signing or verification key is not a valid P-256 key in PEM, or could not be generated.
Pass a cosign-compatible ECDSA P-256 key in PEM.
DX-1413invalid argumentimage1image not signed
The registry has no cosign signature for the image's digest.
Sign it with `delonix image sign`, or pull a signed image.
DX-1414invalid argumentimage1invalid signature
A signature exists but does not verify against the given key, or its manifest or payload is malformed.
Check the key is the one the image was signed with; do not run an image whose signature fails.
DX-1415invalid argumentimage1signature state unknown
The registry did not answer the signature lookup, so whether the image is signed could not be decided. This is not a verdict.
Retry when the registry is reachable; the message carries the registry's error.
DX-1416invalid argumentimage1image already signed
A signature for this digest already exists.
Pass --force to sign it again.
DX-1417invalid argumentimage1could not sign
Producing or uploading the signature failed.
Read the error in the message and check the registry login (`delonix image login`).
DX-1501invalid argumentvm1not supported on this backend
The pause, unpause, snapshot, restore or delete-snapshot verb asked for is not implemented by this VM's backend.
Use a backend that supports it (libvirt supports the most), or drop the verb.
DX-1502invalid argumentvm1invalid VM backend registration
A backend registration had no id, claimed auto-selection from outside this crate, or claimed a name another backend already has.
Fix the registration the message describes; this is a programming error in the process that registered it, not a manifest/flag.
DX-1503invalid argumentvm1unknown VM backend
The --backend/DELONIX_VM_BACKEND value does not name a registered backend.
Use one of the backends the message lists.
DX-1504invalid argumentvm1VM record names an unregistered backend
The VM's own record names a backend this process has no registration for.
Run a build/process that registers that backend, or recreate the VM with one that is registered here.
DX-1505invalid argumentvm1requires the libvirt backend
The VM's spec.volumes need virtio-9p, which the Cloud Hypervisor backend does not implement.
Remove `backend: cloud-hypervisor`, or drop the volumes.
DX-1506invalid argumentvm1VM socket path too long
The VM's api-socket or console socket path would not fit in a UNIX socket's sun_path (108 bytes on Linux).
Use a shorter VM name or a shorter DELONIX_ROOT.
DX-1507invalid argumentvm1invalid VM name
A VM name may only use letters, digits, dot, dash and underscore, with no path traversal.
Pick a name made of [A-Za-z0-9._-] with no '/', '..', or leading '-'.
DX-1508invalid argumentvm1namespace not enforceable on this backend
The VM's backend does not put its VMs on this engine's SDN, so namespace isolation cannot be enforced.
Use `--backend cloud-hypervisor`, or drop `--namespace`.
DX-1509invalid argumentvm1--disk-size smaller than the base image
A qcow2 overlay cannot be smaller than its backing file.
Ask for a --disk-size at least as large as the base image.
DX-1510invalid argumentvm1invalid snapshot name
A VM snapshot name may only use letters, digits, dot, dash and underscore, with no path traversal.
Pick a name made of [A-Za-z0-9._-] with no '/', '..', or leading '-'.
DX-1511invalid argumentvm1--ip requires the libvirt nat mode
A static IP is materialized as a DHCP reservation on the libvirt network, which only the nat/network net mode has.
Drop --net-mode, or set it to nat, to use --ip; on a host bridge, reserve the IP on the LAN's own DHCP instead.
DX-1512invalid argumentvm1invalid static IP
The --ip value does not parse as an IPv4 address.
Pass a dotted-quad IPv4 address.
DX-1513invalid argumentvm1could not reserve the static IP
virsh net-update refused the DHCP host reservation for this MAC/IP pair.
Read the virsh reason in the message; the IP may be outside the network's subnet.
DX-1514invalid argumentvm1live disk backup needs the libvirt backend
A live (running-VM) disk backup uses virsh blockcommit, which only the libvirt backend has.
Stop the VM and take an offline snapshot instead, or recreate it on the libvirt backend.
DX-1515invalid argumentvm1VM not in the right state for this verb
pause needs a running VM and unpause needs a paused one; the VM is in neither state.
Check `delonix vm status <name>` and use the verb that matches its current state.
DX-1516invalid argumentvm1could not copy the cloud-init user-data
The file a --user-data override names could not be copied into the VM's seed directory.
Check the path exists and is readable by this user.
DX-1517invalid argumentvm1no such Proxmox node
The node named in the target is not part of the cluster this url answers for.
Point the target at a node `GET /nodes` on this cluster actually reports, or fix the url.
DX-1518invalid argumentvm1invalid Proxmox url
The target url has no scheme, a scheme other than https, or no host.
Write it as https://<host>:8006, with no path.
DX-1519invalid argumentvm1credential in the Proxmox url
The url carries a username or password (userinfo), which is a credential hidden in the manifest instead of a kind: Secret.
Remove the userinfo and pass the credential as a Proxmox API token or password secret.
DX-1520invalid argumentvm1invalid Proxmox bridge name
A bridge name is interpolated into the VM's net0 property, and has to be a valid Linux interface name.
Use a name like vmbr0: letters, digits, '-', '_' or '.', up to 15 characters.
DX-1521invalid argumentvm1invalid Proxmox node name
A node name goes into a URL path on every call, and has to be what Proxmox itself accepts.
Use letters, digits, '-' and '.', matching the node's name in `pvecm status`.
DX-1522invalid argumentvm1invalid Proxmox disk spec
A VM's disk on this backend has to name a template to clone or a storage and size on the node; a local path has no meaning there.
Write `template:<vmid>` to clone a template, or `<storage>:<size-in-GiB>` for a fresh disk, e.g. local-lvm:8.
DX-1523invalid argumentvm1invalid Proxmox snapshot name
A snapshot name goes into a URL path and into Proxmox's own namespace, and 'current' is reserved for the live state.
Use letters, digits, '-' and '_', and not 'current'.
DX-1524invalid argumentvm1unsupported field on the Proxmox backend
The manifest asks for a local kernel/initrd/seed/device, a QEMU tuning knob the node owns, or a libvirt-only escape hatch — none of which this remote backend can honour.
Remove the field the message names, or use a local backend (`--backend libvirt`).
DX-1525invalid argumentvm1VM has no Proxmox handle
The VM's record carries no Proxmox handle, so it was not created by this backend and this backend does not know its vmid.
Manage this VM with the backend that created it.
DX-1526invalid argumentvm1Proxmox rejected the request
The node answered HTTP 400/422: a parameter of the request is not acceptable to it; the message carries the node's own reason.
Read the node's reason in the message and correct the field it names.
DX-1527invalid argumentvm1unknown capability
A `required_capabilities` entry (`vm create --require`, `spec.requiredCapabilities`) names something the capability catalog does not have — a typo, or a name from another catalog version. It is refused before any backend is asked.
Use a name from `delonix provider ls` (the catalog version is in its header).
DX-1528invalid argumentvm1invalid Proxmox firewall rule
A rule of the node's OWN firewall (not this engine's SDN firewall) named a `type` other than 'in'/'out', or an `action` other than ACCEPT/DROP/REJECT — a firewall group's name is a different kind of value this client does not validate and does not accept.
Use 'in' or 'out' for the type, and ACCEPT, DROP or REJECT for the action.
DX-1529invalid argumentvm1invalid Proxmox cloud-init dump type
cloudinit_dump's `type` has to be one of the three the node's cloud-init route accepts, and is refused here before any request goes to the node.
Ask for 'user', 'network' or 'meta'.
DX-1530invalid argumentvm1invalid Proxmox SDN zone or vnet id
A zone or vnet id goes into a URL path and into the node's own SDN namespace, which Proxmox limits to a lowercase letter followed by up to 7 more lowercase letters or digits (8 characters total).
Pick an id of at most 8 characters, starting with a lowercase letter, the rest lowercase letters or digits.
DX-1531invalid argumentvm1invalid Proxmox firewall alias or ipset name
An alias or IP-set name of the VM's OWN firewall (not this engine's SDN firewall) goes into a URL path and into the node's own namespace, which Proxmox limits to a letter followed by one or more letters, digits, '-' or '_' (at least 2 characters total).
Pick a name that starts with a letter and has at least one more letter, digit, '-' or '_' after it.
DX-1532invalid argumentvm1invalid Proxmox firewall address
A CIDR/address given to a firewall alias or to one entry of a named IP set is not an IPv4/IPv6 address, optionally with a '/<prefix>' — the node's own alias/ipset routes reject it before anything else would.
Give an IPv4 or IPv6 address, or a CIDR range such as '10.0.0.0/8'.
DX-1533invalid argumentvm1invalid Proxmox SDN subnet CIDR
An SDN subnet is named by a CIDR network (an IPv4 or IPv6 address with a prefix length), refused here before it goes into a request body or, with its `/` swapped for `-`, into a URL path.
Give a CIDR like '10.0.0.0/24' or 'fd00::/64', with a prefix length valid for the address family.
DX-1534invalid argumentvm1invalid Proxmox SDN address
A plain IPv4/IPv6 address (a DHCP range end, a DNS server, an IPAM reservation, a fabric node's router address) or a MAC address that an SDN field takes did not parse as one, refused before it goes into a request body or a URL.
Give the address without a prefix length ('10.0.0.50', 'fd00::5'), or the MAC as XX:XX:XX:XX:XX:XX.
DX-1535invalid argumentvm1invalid Proxmox shutdown timeout
A guest-driven shutdown or reboot was asked to wait longer than this client waits for any node task, so the client would give up while the node was still inside the task.
Give a timeout shorter than the client's task deadline (600 seconds by default), or omit it to take the node's own default.
DX-1536invalid argumentvm1invalid VM resize
`vm resize` needs `--vcpus` and/or `--memory`; vCPUs have to be at least 1 and memory a number with an optional M/G suffix (`512M`, `4G`, `4Gi`). A value that does not parse is refused rather than read as a default.
Pass `--vcpus <n>` (n ≥ 1) and/or `--memory <size>`, e.g. `--memory 4G`.
DX-1537invalid argumentvm1invalid cloud-init change
`vm cloud-init` needs `--hostname`, `--user` and/or `--ssh-key`; the hostname has to be a DNS label (letters, digits, '-', at most 63), the user a login name, each key one line. An appliance image does not run cloud-init and is refused.
Give at least one of the three, in the form the guest accepts — e.g. `--hostname web-1 --ssh-key @~/.ssh/id_ed25519.pub`.
DX-1538invalid argumentvm1invalid node to move the VM to
`vm move --node` names the node of the VM's cluster the VM goes to. The name has to be a member of that cluster, online, and not the node the VM is already on; the engine never picks one.
Pass another member of the cluster that is online — the node's own list is `pvecm nodes`, or `delonix provider describe proxmox --probe`.
DX-1539invalid argumentvm1the local image could not be read
A Proxmox VM created from an image of the engine's store is uploaded to the node first (ADR-0057). The file the image resolved to could not be opened or read, or it is empty.
Check the image with `delonix image vm ls` and `delonix image vm describe <name>`; pull or build it again if the file is missing.
DX-1540invalid argumentvm1the system container asks for something the node cannot hold
A system container on a Proxmox node is always unprivileged: a privileged one would be a privilege decision on a remote host, with its own spike (ADR-0058). Its entrypoint is stored as one line split on spaces, so an argument with a space or a control character cannot be kept as written; its environment is a list of NAME=value, where the name is letters, digits and underscores.
Leave `unprivileged` true, write the entrypoint as arguments without spaces (or wrap it in a script inside the image), and name each variable with letters, digits and underscores only.
DX-1550invalid argumentvm1invalid Proxmox SDN controller, prefix list or route map
A BGP/EVPN controller, prefix list or route map of the cluster's own SDN (not this engine's) was refused before any request: an id outside Proxmox's own format (a controller id starts with a letter; a prefix-list or route-map id is 1 to 32 letters, digits, '-' or '_', and the node reserves some), a missing field the controller type needs (EVPN: an ASN and exactly one of peers/fabric; BGP: a node, an ASN and peers), or an entry field the node would not accept (action other than permit/deny, a prefix length past the address family, an unknown match/set key).
Correct the field the message names; the node's own `apidoc.js` lists the formats.
DX-1551invalid argumentvm1invalid Proxmox vnet firewall rule
A vnet's firewall filters traffic FORWARDED through the vnet and takes only 'forward' rules — the node refuses 'in' and 'out' there — with an action of ACCEPT, DROP or REJECT (a security group's name is not accepted by this client).
Use the rule type 'forward' (the default) and ACCEPT, DROP or REJECT; for traffic to or from one VM, use the VM's own firewall.
DX-1801invalid argumentsecurity1invalid secret name
A secret name may only use lowercase letters, digits, dot, dash and underscore, up to 64 characters.
Pick a name made of [a-z0-9._-].
DX-1802invalid argumentsecurity1invalid secret key
A secret key must be a valid environment variable name: a letter or underscore, then letters, digits or underscores.
Rename the key, for example DB_PASSWORD.
DX-1803invalid argumentsecurity1invalid credential name
A credential name may only use lowercase letters, digits, dot, dash, underscore and colon.
Pick a name made of [a-z0-9._:-].
DX-1804invalid argumentsecurity1corrupted master key
The host's master key file has the wrong size, so nothing encrypted with it can be read.
Restore the key from a node snapshot (`delonix system snapshot restore`); without it the encrypted secrets are lost.
DX-1805invalid argumentsecurity1the secret vault could not encrypt or decrypt
Encryption or decryption failed: a blob that is corrupt, or a key that is not the one it was sealed with.
Check the master key is the host's own; recreate the secret if its file is corrupt.
DX-1901invalid argumenthost1AppArmor profile unavailable
The requested AppArmor profile could not be loaded: AppArmor is not enabled on this host, apparmor_parser is not on PATH, or it refused the profile.
Enable AppArmor on this host, install apparmor_parser, or pass --security-opt apparmor=unconfined.
DX-1902invalid argumenthost1no CDI spec found
A --gpus/--device request named a CDI-qualified device, but this host has no generated CDI spec at all.
Generate one with `nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml` (installing nvidia-container-toolkit first if needed).
DX-2000invalid usageengine2invalid usage
The command line does not parse: an unknown subcommand, a missing argument or a flag this command does not take.
Run the command with --help and follow its usage line.
DX-2601invalid usagestack2the plan has changes
`stack plan --detailed-exitcode` found differences between the manifest and what is running. Not a failure.
Review the plan, then run `delonix stack apply` if the changes are wanted.
DX-3000not runningengine3not running
The resource exists but is not running, and the operation needs it running.
Start it (`delonix container start <name>`, `delonix vm start <name>`) and try again.
DX-3101not runningcontainer3container is not running
The container exists, but the operation needs it running.
Start it first (`delonix container start <name>`).
DX-4000not foundengine4no such resource
Nothing with that name or id exists in this scope.
Check the name and the namespace with the matching `ls`, or create the resource first.
DX-4101not foundcontainer4no such container
No container answers to that id, id prefix or name in this state root.
List them with `delonix container ps -a`.
DX-4102not foundcontainer4CDI device not found
The device name is not declared by any discovered CDI spec.
Check the device name against the spec (`nvidia-ctk cdi list`), or regenerate it.
DX-4201not foundvolume4no such volume
There is no volume with that name in this scope.
List them with `delonix volume ls` (-A for every namespace), or create it with `delonix volume create`.
DX-4202not foundvolume4no such snapshot
The volume has no snapshot with that name.
List its snapshots with `delonix volume snapshot ls <volume>`.
DX-4301not foundnetwork4no such NetworkRoute
There is no NetworkRoute between the given pair of networks.
List routes with `delonix network route ls`, or create one with `delonix network route <from> <to>`.
DX-4302not foundnetwork4no such Service
There is no Service of that name in that namespace.
List services with `delonix get services`.
DX-4303not foundnetwork4ingress network does not exist
The named network has no NetDef on this holder — it was never realized here, or was removed.
Create it with `delonix network create <name>`, or use the default network.
DX-4304not foundnetwork4no such OPNsense API route
The appliance answered HTTP 404 `{"errorMessage":"Endpoint not found"}` — the module/controller/command path does not exist on this OPNsense version.
Check the path against `docs.opnsense.org/development/api.html` for the appliance's own version.
DX-4401not foundimage4no such image
The image is not in the local store and the registry has no such tag.
Check the reference, or pull it first (`delonix image pull`).
DX-4402not foundimage4image or repository not visible
The registry does not show the repository or image to these credentials: it does not exist, or it is private.
Log in with credentials that can see it (`delonix image login <registry>`).
DX-4501not foundvm4no such VM
There is no virtual machine with that name in this state root.
List them with `delonix vm ls`, or create it with `delonix vm create`.
DX-4502not foundvm4no such snapshot
The VM has no snapshot with that name.
List its snapshots with `delonix vm snapshot ls <vm>`.
DX-4503not foundvm4no such snapshot
The VM has no snapshot with that name on the Proxmox node.
List its snapshots with `delonix vm snapshot ls <vm>`.
DX-4504not foundvm4no such resource on the Proxmox node
The node answered HTTP 404, or reported that the VM's configuration file does not exist (which it says with HTTP 500).
Check the VM id in the record against `qm list` on the node; a VM removed on the node side leaves a record with nothing behind it.
DX-4801not foundsecurity4no such secret
There is no secret with that name.
List them with `delonix secret ls`, or create it with `delonix secret create`.
DX-5000conflictengine5conflict: already exists
The name is already taken, or the desired state conflicts with what is there.
Pick another name, remove the existing resource, or use the command's --force/--replace if it has one.
DX-5101conflictcontainer5container already running
The container is running, and the operation would remove or replace it without --force.
Stop it first, or pass --force.
DX-5301conflictnetwork5network already exists
A NetworkStore network with that name already exists.
Pick another name, or remove the existing one first (`delonix network rm <name>`).
DX-5302conflictnetwork5no free subnet left
The workload address space has no /16 left to hand a new network.
Remove an unused network (`delonix network rm <name>`) to free a /16.
DX-5303conflictnetwork5subnet overlaps an existing network
The requested CIDR overlaps an existing network's subnet.
Pick a CIDR that does not overlap any network `delonix network ls` already shows.
DX-5304conflictnetwork5network subnet cannot be changed in place
A network by this name already exists with a different subnet than the one asked for; workloads may already be addressed on it.
Remove the network (`delonix network rm <name>`) and create it again with the new subnet.
DX-5305conflictnetwork5base octet already used by another network
The /16 a create_with_base call was given is already used by a different network.
Pick a different base octet, or remove the network that already has it.
DX-5306conflictnetwork5ingress network already realized on a different prefix
An ingress NetDef is already realized on a prefix different from the one the registry now asks for.
Remove the network (`delonix network rm <name>`) and create it again, or keep the recorded subnet.
DX-5307conflictnetwork5network is in use
The network still has containers, pod members or VMs attached, and removing it would leave them addressed on a bridge that no longer exists.
Remove or disconnect what the message lists (`delonix container rm`, `delonix network disconnect`, `delonix vm rm`), then remove the network.
DX-5308conflictnetwork5address already taken
The address asked for is already leased to another container, or it belongs to the pool the network's DHCP server hands to VMs.
Pick another address (`delonix network ipam ls` shows the leased ones), or leave the address to the engine.
DX-5389conflictnetwork5the network provider holds something this engine will not overwrite
The remote provider (an OPNsense appliance, a Proxmox cluster's SDN) has an object with the identity being ensured or removed and no owner mark of this engine (someone else's: never adopted by name, never deleted); or an object this engine created was edited there and no longer matches the manifest (there is no update in place); or it has staged changes that are not this engine's, and its commit applies everything staged at once. ADR-0059 D5 reason `provider_conflict`. The owner mark is a firewall category named `delonix-owner:<token>` (OPNsense) or `[delonix-owner:<token>]` at the end of a vnet alias (Proxmox).
Read which of the three the message names: rename the object or remove the stale one on the provider; put an edited object back as declared, or replace it (`delonix stack apply --replace <Kind>/<name>`); or have whoever staged the other changes apply or discard them. Then apply again.
DX-5501conflictvm5VM name already used by another VM subsystem
A VM record under this name already exists, created by the other (direct-QEMU) VM subsystem that shares the same vms/ folder.
Remove it first (`delonix vm rm <name>`), or pick another name.
DX-5502conflictvm5VM snapshot name already used
The VM already has a snapshot with that name.
Pick another name, or remove the existing snapshot (`delonix vm snapshot rm`).
DX-5503conflictvm5snapshot name already used
The VM already has a snapshot with that name on the Proxmox node.
Pick another name, or remove the existing snapshot first.
DX-5504conflictvm5the Proxmox node reports a conflict
The node answered HTTP 409, or reported that the resource already exists (which it says with HTTP 500).
Pick another name or id, or remove what is already there.
DX-5505conflictvm5the VM must be stopped to resize it
`vm resize` is a cold resize: it changes the definition a VM boots with. A running or paused guest would not see the change until its next reboot, so the verb refuses instead of reporting a resize that has not happened.
Run `delonix vm stop <name>`, resize, then `delonix vm start <name>`.
DX-5506conflictvm5the VM must be stopped to change its cloud-init
The guest reads cloud-init at boot: a running or paused VM would keep the old hostname and keys until its next reboot, so the verb refuses instead of reporting a change that has not reached the guest.
Run `delonix vm stop <name>`, change it, then `delonix vm start <name>`.
DX-5507conflictvm5the VM cannot be moved as asked
`vm move` was refused before it started: the VM is in the wrong power state for the move asked (`--live` needs it running, a move without `--live` needs it stopped), or the node's own precheck says the target cannot host it — local disks the target would have to copy, a storage the target does not have, or a local device.
Stop or start the VM to match `--live`; for a precheck refusal, put the VM's disks on a storage the whole cluster shares, or remove the local device.
DX-5515conflictvm5the cluster's SDN configuration is locked
Proxmox VE has one global lock over the SDN configuration (`POST /cluster/sdn/lock`). While another holder has it, every staged SDN write and the apply are refused; the node also says this when the token this client carried is no longer the lock's.
Wait for the holder to apply or roll back; if the holder is gone, release the lock with its token (`DELETE /cluster/sdn/lock`), or with `force=1` once you are sure nobody is using it.
DX-5516conflictvm5the cluster has pending SDN changes
The SDN lock was refused because the cluster already carries staged SDN changes nobody applied. Taking the lock anyway and applying would push that other work along with this change.
Find who staged them (`delonix`'s pending-change list, or the node's SDN panel) and have them applied or rolled back first.
DX-5517conflictvm5the system container cannot be moved as asked
`systemcontainer move` was refused before anything moved: the container is running and `--restart` was not given (the node cannot move a running container live), its volumes are on a storage the target does not share and `--with-local-disks` was not given (the node would copy them in full), or the node's own precheck does not list the target.
Pass `--restart` to stop it, move it and start it on the target, or `--with-local-disks` to let the node copy its volumes, or pick a node the precheck allows.
DX-6000unavailableengine69unavailable on this host
A tool, a backend or a kernel feature the operation needs is not present. Nothing about the arguments is wrong.
Install what the message names (`delonix system info` shows what this host has) and run the command again.
DX-6201unavailablevolume69could not build the TrueNAS HTTP client
The local TLS/HTTP stack could not build a client for the request. Nothing about the manifest is wrong.
Check the host's TLS libraries; `delonix system info` reports what this host has.
DX-6202unavailablevolume69unsupported TrueNAS version
This build only speaks one TrueNAS REST API major; the surface moves between majors.
Point the manifest at a TrueNAS SCALE appliance on the supported major, or update this engine.
DX-6301unavailablenetwork69'wg' is not available on this host
WireGuard node keys and encrypted overlay networks need the `wg` binary, which is not on PATH.
Install wireguard-tools (Debian/Ubuntu: apt install wireguard-tools; Fedora/RHEL: dnf install wireguard-tools; Arch: pacman -S wireguard-tools).
DX-6302unavailablenetwork69this management API route no longer changes the network
The route wrote the dataplane without the container's record, so the next reapply undid it and a multi-homed workload kept its other addresses open. The management API is frozen (ADR-0041 D4) and refuses instead of writing half a policy.
Use the CLI, which goes through the record: `delonix net ingress`/`net egress` for firewall and egress, `delonix network connect`/`disconnect` for extra networks, `delonix container rm`/`stop` to detach.
DX-6381unavailablenetwork69no registered provider serves this network capability
The provider that would serve the request is not registered for its role, or does not implement the operation: a document names one that is not registered, networkDefaults.<role> names one, or a resource's record names the provider that created it and that provider is not registered now. A default is never skipped to try another provider, and a recorded resource never moves (ADR-0059 D3). ADR-0059 D5 reason `unsupported_capability`: the remedy is another provider, not another argument.
Configure the provider the message names (`delonix provider ls` lists what is registered), or name one that serves the role.
DX-6383unavailablenetwork69the network provider could not be reached
The request to the remote network provider (an OPNsense appliance) could not be sent or was not answered: connection refused, DNS, TLS, or a connection dropped mid-answer. When it dropped after a write was sent, whether the write landed is unknown; the next plan reads the provider again. ADR-0059 D5 reason `provider_unavailable`.
Check that the provider's url in providers.yaml answers from this host, then plan and apply again.
DX-6501unavailablevm69VM backend not configured
This build knows about the named backend, but nothing in this process has configured it (e.g. Proxmox with no target set).
Configure it as the message describes, or use a backend that is already available.
DX-6502unavailablevm69no VM backend available
Auto-detection found neither Cloud Hypervisor nor libvirt+qemu installed.
Install cloud-hypervisor or libvirt+qemu.
DX-6503unavailablevm69no VM firmware found
Booting a cloud image on Cloud Hypervisor without an explicit kernel needs a firmware, and none was given or found bundled.
Reinstall (curl install.sh) to fetch rust-hypervisor-fw, pass --firmware <path>, or use --backend libvirt.
DX-6504unavailablevm69cloud-localds not found
Generating a cloud-init NoCloud seed needs the cloud-localds tool, which is not on PATH.
Install it (Debian/Ubuntu: cloud-image-utils, Fedora/Rocky: cloud-utils), or pass a ready-made seed.
DX-6505unavailablevm69could not build the Proxmox HTTP client
The local TLS/HTTP stack could not build a client for the request. Nothing about the manifest is wrong.
Check the host's TLS libraries; `delonix system info` reports what this host has.
DX-6506unavailablevm69Proxmox node unavailable
The node answered HTTP 502/503/504: the API is up but cannot serve the request right now (pveproxy without a backend, node restarting).
Retry later; check the node's services (`pveproxy`, `pvedaemon`) and the cluster's quorum.
DX-6507unavailablevm69capability not supported by the backend
The backend this VM would run on does not mark a required capability usable on this host — or, with auto-detection, no available backend does. The message lists each unmet entry with the provider's own state and reason. It is the node contract's FAILED_PRECONDITION with reason CapabilityNotSupported (ADR-0050 D6).
Pick a backend that has it (`delonix provider ls`, `--backend`), fix what the host lacks when the state is `unavailable-on-host`, or drop the requirement.
DX-6508unavailablevm69the Proxmox datacenter firewall is off
A `NetworkPolicy` with `scope: vm` asked for rules on a VM of a Proxmox cluster whose datacenter-level firewall is disabled. With it off, no rule of any VM filters anything, so applying the policy would report protection that does not exist (ADR-0052). The engine never turns it on: that also changes what the cluster's own nodes accept.
Enable the firewall at Datacenter level on the cluster (Datacenter › Firewall › Options, or `pvesh set /cluster/firewall/options --enable 1`), after checking the management rules for the nodes, then apply again.
DX-6509unavailablevm69the backup could not be taken with the guest's filesystem frozen
A quiesced backup freezes the guest's filesystems through the QEMU guest agent for the instant the disk is copied, so the archive holds a consistent filesystem. The guest was not running, its agent did not answer, or the node's own backup log did not show the freeze and the thaw — and a backup that cannot be shown to be quiesced is not reported as one.
Install and start `qemu-guest-agent` in the guest and set `agent=1` on the VM; for a stopped VM, a plain backup is already consistent.
DX-6510unavailablevm69the node's import storage does not accept images
A Proxmox VM created from a local image is uploaded to a dir storage of the node under `import/`, and the node accepts that only on a storage whose content types include `import` (ADR-0057). The engine never changes a storage's content types: that is administering the node.
Enable it on the node (`pvesm set <storage> --content <current types>,import`, or Datacenter › Storage › Edit › Content), or point `DELONIX_PROXMOX_IMPORT_STORAGE` / `storage.import` in providers.yaml at a storage that has it.
DX-6511unavailablevm69the node's import storage has no room for the image
The image would be uploaded to the node's import storage, and that storage has less free space than the image. The upload is refused before it starts, because the node's own refusal would come after the bytes had been sent.
Free space on the storage, or point `DELONIX_PROXMOX_IMPORT_STORAGE` / `storage.import` in providers.yaml at a storage with room.
DX-6512unavailablevm69the SDN apply ended OK but a node did not realize it
An apply of the cluster's SDN configuration (`PUT /cluster/sdn`) forks one `reloadnetworkall` task, and that task ends OK when the entry node's reload succeeds — even if another node's reload failed. The engine then reads each online node's zone content, and at least one vnet was not `available` there. The message names each node, zone and vnet with the node's own reason.
Read that node's 'reload network' task log (`pvesh get /nodes/<node>/tasks --typefilter srvreload`), fix what it names — commonly the `dnsmasq` package for a zone with `dhcp=dnsmasq`, or the `source /etc/network/interfaces.d/*` line in `/etc/network/interfaces` — and apply again.
DX-6513unavailablevm69the node's storage does not accept container archives
A system container on a Proxmox node is created from an OCI archive the engine uploads to a storage of the node as a container template, and the node accepts that only on a storage whose content types include `vztmpl` (ADR-0058). The engine never changes a storage's content types: that is administering the node.
Enable it on the node (`pvesm set <storage> --content <current types>,vztmpl`, or Datacenter › Storage › Edit › Content), or use a storage that has it.
DX-6514unavailablevm69the node's storage has no room for the container archive
The container archive would be uploaded to a storage of the node, and that storage has less free space than the archive. The upload is refused before it starts, because the node's own refusal would come after the bytes had been sent.
Free space on the storage, or use a storage with room.
DX-7000permission deniedengine77permission denied
The operating system refused on a permission: a file, a directory or a capability.
Fix the permission on the path the message names, or run from a session that has it, and repeat.
DX-7385permission deniednetwork77the network provider refused the credential
The remote network provider refused what it was sent: OPNsense answers 401 for a key/secret it does not accept, a 302 to its login page when no credential arrived at all, and 403 for a key without the privilege the route needs (ADR-0051 phase 0). ADR-0059 D5 reason `provider_auth_failed`.
Check the key and secret files named in providers.yaml, and that the API user holds the firewall privileges on the appliance.
DX-8000timeoutengine124timed out
The deadline passed with the work unfinished. Nothing said no; it may still be finishing.
Wait and ask again, or raise the --timeout. Do not recreate the resource on top of one still coming up.
DX-8101timeoutcontainer124container still exiting after SIGKILL
`rm -f` killed the container, but its process had not finished exiting when the deadline passed — usually stuck in the kernel flushing the container's filesystem to a busy disk. The container is still listed, so no live process goes untracked.
Run the same `rm -f` again once the host's disk settles; it removes the container as soon as its process is gone.
DX-8201timeoutvolume124TrueNAS job timed out
An asynchronous job on the appliance (permissions, dataset work) did not reach a terminal state before the deadline.
It may still be finishing on the appliance; check it there before retrying.
DX-8501timeoutvm124Proxmox task timed out
A task on the node (create, start, snapshot, destroy) did not reach a terminal state before the deadline.
It may still be finishing on the node; check the node's task log before retrying.
DX-8502timeoutvm124Proxmox VM config lock stayed busy
The node kept refusing because the VM's config lock was held (usually qmeventd cleaning up after a stop), past the retry window.
Check the node's task log for this VM; something is still holding the lock.
DX-9000system failureengine1a system call failed
The kernel refused an operation (clone, mount, setns…). The message carries the operation and the errno.
Read the errno in the message; `delonix system info` checks the host requirements (user namespaces, cgroup delegation).
DX-9001system failureengine74I/O error
The filesystem said no on a path the engine needs: a full disk, a missing directory, a bad mount.
Check the path in the message and the free space of the state root (`delonix system df`).
DX-9002system failureengine1invalid state record
A state record on disk could not be read or written as JSON: it is corrupt or from an incompatible version.
Inspect the record the message names; restore it from a snapshot (`delonix system snapshot restore`) if it is corrupt.
DX-9003system failureengine1the state lock could not be taken
The lock that serialises a read-modify-write of a state record could not be opened or taken, so the write was refused rather than risk losing a concurrent one.
Check the state root is writable by this user and not on a filesystem without flock.
DX-9004system failureengine1no entropy from the kernel
The kernel did not provide random bytes, which encryption and generated values need.
Check getrandom(2) works on this host (a very old kernel or a restricted seccomp profile).
DX-9201system failurevolume1a storage tool failed
A host tool the volume needs (mount, mkfs.ext4, resize2fs, losetup…) failed or is missing. The message carries its own error.
Read the tool's error in the message; mounting network volumes and hard quotas need CAP_SYS_ADMIN.
DX-9202system failurevolume1TrueNAS request failed
The HTTP request to the appliance could not be sent or answered (network, TLS, DNS).
Check the target url and that the appliance is reachable from this host.
DX-9203system failurevolume1TrueNAS answered with an HTTP error
The appliance's REST API returned a non-2xx status; the message carries its own error body.
Read the body in the message — TrueNAS puts the actionable detail there.
DX-9204system failurevolume1could not read the TrueNAS response
The appliance's answer was not the JSON this client expected.
Check the appliance is on the supported major; the message carries the start of the body.
DX-9205system failurevolume1TrueNAS job failed
An asynchronous job on the appliance finished FAILED or ABORTED; the message carries its own reason.
Read the appliance's reason in the message.
DX-9206system failurevolume1TrueNAS job vanished
The appliance stopped reporting a job before it reached a terminal state, so whether the work happened is unknown.
Check the dataset/permissions on the appliance directly.
DX-9207system failurevolume1TrueNAS dataset has no mountpoint
The appliance reports the dataset with no mountpoint, so it cannot be shared or mounted.
Check the dataset on the appliance; a mountpoint may need to be set explicitly.
DX-9208system failurevolume1TrueNAS state disagreed with its own report
The appliance reported an action as done, but a read-back immediately after disagrees (dataset missing after create, or still there after delete).
Check the dataset on the appliance directly; nothing here was rolled back.
DX-9301system failurenetwork1a network system call failed
A host tool this engine shells out to for networking (ip, nft, wg, bridge, a CNI plugin, newuidmap/newgidmap, or a raw syscall) could not be run or exited badly. The message names the operation and carries the tool's own error.
Read the operation and error in the message; check the tool is installed and the host's network state is sane.
DX-9302system failurenetwork1could not build the OPNsense API client
The local HTTP/TLS stack could not be built from the given Target (a malformed CA certificate, most likely).
Check `ca_cert_pem`/`insecure_tls` on the Target; nothing on the appliance was reached.
DX-9304system failurenetwork1OPNsense answered with an unexpected status
A non-2xx HTTP status this client has no dedicated class for. The message carries the status and body.
Read the status/body in the message; it may be a version this client has not been measured against (ADR-0051).
DX-9307system failurenetwork1OPNsense response too large
A body past the size this client reads into memory (16 MiB) — the appliance, or whatever answered in its name, is not one of the small JSON bodies this API normally returns.
This should not happen against a real OPNsense; check nothing else is answering on that address.
DX-9308system failurenetwork1OPNsense response did not parse
The appliance's response body did not parse as the JSON this call expected.
Read the raw body in the message; the appliance's API may have changed shape in a newer/older release than ADR-0051's Phase 0 measured (26.1.2).
DX-9401system failureimage1registry error
An OCI registry answered with an error, or could not be reached.
Check the image reference, your login (`delonix image login`) and the network path to the registry.
DX-9402system failureimage1a module tree could not be read
Reading the module directory failed: a permission, a missing path or an I/O error.
Check the path in the message is readable by this user.
DX-9403system failureimage1content digest mismatch
What the registry served does not hash to the digest that was pinned or declared. The content was refused.
Do not work around it: the registry, a mirror or the network may be tampering. Pull again from a trusted source.
DX-9404system failureimage1overlay mount failed
Mounting the image's overlay root filesystem failed.
Read the errno in the message; rootless overlay needs a kernel with unprivileged overlayfs (`delonix system info`).
DX-9501system failurevm1VM tool failed
An external tool this VM's lifecycle depends on (virsh, qemu-img, the cloud-hypervisor process) could not be run or exited badly.
Read the tool's own error in the message.
DX-9502system failurevm1Cloud Hypervisor API failed
The running VM's Cloud Hypervisor VMM could not be reached over its local api-socket, or answered with a non-2xx status.
Check the VM is still alive (`delonix vm status`); a vmm that crashed needs `delonix vm start`.
DX-9503system failurevm1VM disk corrupted after stop
qemu-img check found a stopped Cloud Hypervisor VM's disk corrupted (BUG-VM-001) — a post-stop check, not the stop itself failing.
Run `qemu-img check -r all` on the disk the message names; consider --backend libvirt for VMs that need reliable disk snapshots.
DX-9504system failurevm1snapshot needs a stopped VM
The Cloud Hypervisor backend cannot snapshot/restore/delete-snapshot a running VM's disk: the vmm holds it exclusively.
Stop the VM first (`delonix vm stop`), or use --backend libvirt for live checkpoints.
DX-9505system failurevm1no libvirt domain description on disk
A stopped VM has no <name>.xml recorded, so there is nothing to redefine for a snapshot/restore verb.
Start the VM once (`delonix vm start <name>`); the description is written then and stays from then on.
DX-9506system failurevm1VM admission refused
The host-protection check refused to boot a VM whose requested memory does not fit in what the host has available.
Stop other VMs/containers, reduce the memory, or lower DELONIX_VM_RESERVE_MIB (at your own risk).
DX-9507system failurevm1live disk backup failed
A step of the live-disk-backup pipeline (list disks, stage the overlay, snapshot, copy, pivot) failed.
Read the step's own error in the message; the VM is left running either way.
DX-9508system failurevm1could not run cloud-localds
The cloud-localds tool could not be started, for a reason other than being missing.
Read the error in the message; check the host's permissions and free space.
DX-9509system failurevm1cloud-localds failed
The cloud-localds tool ran and exited with a non-zero status while building the seed ISO.
Check the cloud-init user-data/meta-data/network-config it was given are well-formed.
DX-9510system failurevm1Proxmox request failed
The HTTP request to the node could not be sent or answered (network, TLS, DNS).
Check the target url and that the node is reachable from this host.
DX-9511system failurevm1Proxmox answered with an HTTP error
The node's REST API returned a non-2xx status; the message carries its own error body.
Read the body in the message — Proxmox puts the actionable detail there.
DX-9512system failurevm1Proxmox answer had the wrong shape
The node's response parsed as JSON but did not carry what a specific call needed (a VM id, a task id).
Check the node's Proxmox VE version matches what this build expects.
DX-9513system failurevm1Proxmox task failed
A task on the node (create, start, snapshot, destroy) finished with a verdict other than OK; the message carries the node's own reason.
Read the node's reason in the message, or check its task log.
DX-9514system failurevm1could not read the Proxmox response
The node's answer was not the JSON this client expected.
Check the node's Proxmox VE version matches what this build expects; the message carries the start of the body.
DX-9515system failurevm1Proxmox refused the credential
The node answered HTTP 401: the API token is wrong or revoked, or the ticket could not be renewed.
Check the token id and secret (or the account), and that the token is not expired on the node.
DX-9516system failurevm1Proxmox denied the operation
The node answered HTTP 403: the credential is valid but lacks the privilege this route needs (the message names the route).
Grant the role the route needs to the token or account on the node — least privilege, one role per use.
DX-9517system failurevm1Proxmox response exceeded the size bound
The node's answer was larger than this client is willing to read into memory.
Check what the node is serving on that route; an answer this large is not one the engine expects.
DX-9525system failurevm1discarding a failed SDN change failed too
A change inside an SDN transaction failed, and the rollback that should have discarded what it had staged (`POST /cluster/sdn/rollback`) failed as well: pending changes, and possibly the SDN lock, are left on the cluster. The message names both failures and the lock token.
Roll back by hand with the token the message names (`POST /cluster/sdn/rollback` with `lock-token` and `release-lock=1`), then retry the change.
DX-9901system failurehost1a container-runtime system call failed
A kernel operation this crate performs to build or manage a container (clone, mount, setns, a cgroup or /proc write) failed. The message carries the operation and the errno.
Read the errno in the message; `delonix system info` checks the host requirements (user namespaces, cgroup delegation).

Códigos retirados

Um número nunca muda de significado nem é reutilizado. Quando uma falha passa a ter outro número, o antigo fica aqui com o seu texto e o código que o substituiu, e delonix explain continua a responder-lhe. A D5 do ADR-0059 juntou as falhas dos providers de rede no bloco de reasons DX-C380…DX-C399.

Retired codes

A number never changes meaning and is never reused. When a failure gets another number, the old one stays here with its text and the code that replaced it, and delonix explain still answers it. ADR-0059 D5 folded the network provider failures into the reason block DX-C380…DX-C399.

CódigoSubstituído porÚltima releaseMensagem e significado
DX-1342DX-6381v4.5.0não suportado por este provedor de gateway
A operação de alias, regra ou commit pedida não está implementada por este GatewayProvider (ADR-0051) — o provider nativo só responde a id()/available().
DX-1343DX-1380v4.5.0o OPNsense rejeitou os campos enviados
A appliance respondeu HTTP 200 com `{"result":"failed","validations":{...}}` — um erro de validação por campo, não uma falha de transporte (ADR-0051 Fase 0, medido ao vivo).
DX-1345DX-1380v4.5.0nenhum provider de zona de rede configurado
Foi aplicado um `kind: NetworkZone`, não há providers.yaml em vigor e o runtime não tem nenhum SegmentProvider registado — o Kind não nomeia provider nenhum, de propósito, para que decida a configuração do próprio runtime.
DX-1346DX-1380v4.5.0provider de zona de rede ambíguo
Está registado mais de um SegmentProvider, não há providers.yaml em vigor, e o `kind: NetworkZone` não tem campo para escolher um pelo nome.
DX-1347DX-1380—nenhum provider responde a este papel de rede
Nada nomeia um provider para o papel: há um providers.yaml em vigor sem networkDefaults.<papel>, ou um NetworkGateway não nomeia provider e estão registados zero ou vários providers de gateway (ADR-0059 D3).
DX-1348DX-6381—o provider de rede nomeado não está registado
Um documento nomeia um provider que não está registado para o seu papel (ADR-0059 D3).
DX-5340DX-5389v4.5.0objecto remoto que não pertence a este motor
Já existe no provider remoto — um appliance OPNsense, a SDN de um cluster Proxmox — um objecto com o nome (ou a descrição de regra) que se pediu para garantir ou remover, sem a marca de posse deste motor. É de outra pessoa: este motor recusa adoptá-lo pelo nome, e nunca o apaga.
DX-5341DX-5389v4.5.0objecto remoto divergiu do declarado
Um objecto que este motor criou no provider remoto foi editado lá e já não corresponde ao manifesto. Este motor não tem actualização no lugar para esse provider, por isso o objecto nem é sobrescrito nem é dado como presente.
DX-5342DX-5389v4.5.0o provider remoto tem alterações preparadas que não são deste motor
O provider remoto aplica de uma vez tudo o que está preparado (`filter/apply` e `alias/reconfigure` do OPNsense, `PUT /cluster/sdn` do Proxmox). Há outras alterações preparadas à espera, por isso aplicar agora empurraria o trabalho a meio de outra pessoa junto com o deste motor.
DX-6303DX-6381—o default de rede nomeia um provider que não está registado
O networkDefaults.<papel> do providers.yaml nomeia um provider que não está registado para esse papel. Um default nunca é saltado para se tentar outro provider (ADR-0059 D3).
DX-6304DX-6381—o provider que criou este recurso não está registado
O registo do recurso nomeia o provider que o serviu, e esse provider não está registado agora. Um recurso registado nunca muda de provider quando um default muda (ADR-0059 D3).
DX-9303DX-6383v4.5.0o pedido ao OPNsense não pôde ser enviado nem respondido
Uma falha ao nível de transporte (DNS, TCP, TLS) a falar com a API REST da appliance — não é um estado que a própria appliance tenha devolvido.
DX-9305DX-7385v4.5.0o OPNsense recusou a credencial
HTTP 401 (um par key/secret errado) ou HTTP 302 (nenhum cabeçalho Authorization enviado, redireccionado para o login da GUI) — os dois medidos ao vivo contra uma appliance real (ADR-0051 Fase 0).
DX-9306DX-7385v4.5.0o OPNsense recusou a operação
HTTP 403: uma key/secret válida sem o privilégio que esta rota exige.
CodeReplaced byLast releaseMessage and meaning
DX-1342DX-6381v4.5.0not supported by this gateway provider
The alias, rule or commit operation asked for is not implemented by this GatewayProvider (ADR-0051) — the native provider answers only id()/available().
DX-1343DX-1380v4.5.0OPNsense rejected the fields sent
The appliance answered HTTP 200 with `{"result":"failed","validations":{...}}` — a per-field validation error, not a transport failure (ADR-0051 Phase 0, measured live).
DX-1345DX-1380v4.5.0no network zone provider configured
`kind: NetworkZone` was applied, no providers.yaml is in force, and the runtime has no SegmentProvider registered — the Kind names no provider itself, on purpose, so the runtime's own configuration decides.
DX-1346DX-1380v4.5.0ambiguous network zone provider
More than one SegmentProvider is registered, no providers.yaml is in force, and `kind: NetworkZone` has no field to pick one by name.
DX-1347DX-1380—no provider answers this network role
Nothing names a provider for the role: a providers.yaml is in force without networkDefaults.<role>, or a NetworkGateway names no provider while zero or several gateway providers are registered (ADR-0059 D3).
DX-1348DX-6381—the named network provider is not registered
A document names a provider that is not registered for its role (ADR-0059 D3).
DX-5340DX-5389v4.5.0remote object not owned by this engine
An object with the name (or rule description) being ensured or removed already exists on the remote provider — an OPNsense appliance, a Proxmox cluster's SDN — without this engine's owner mark. It belongs to someone else, and this engine refuses to adopt it by name, and never deletes it.
DX-5341DX-5389v4.5.0remote object drifted from the declaration
An object this engine created on the remote provider was edited there, and no longer matches the manifest. The provider has no update in place in this engine, so the object is neither overwritten nor reported as present.
DX-5342DX-5389v4.5.0remote provider has staged changes that are not this engine's
The remote provider applies everything that is staged at once (OPNsense `filter/apply` and `alias/reconfigure`, Proxmox `PUT /cluster/sdn`). Other staged changes are waiting there, so committing now would push someone else's half-finished work along with this engine's.
DX-6303DX-6381—the network default names a provider that is not registered
networkDefaults.<role> in providers.yaml names a provider that is not registered for that role. A default is never skipped to try another provider (ADR-0059 D3).
DX-6304DX-6381—the provider that created this resource is not registered
The resource's record names the provider that served it, and that provider is not registered now. A recorded resource never moves to another provider when a default changes (ADR-0059 D3).
DX-9303DX-6383v4.5.0the request to OPNsense could not be sent or answered
A transport-level failure (DNS, TCP, TLS) talking to the appliance's REST API — not a status the appliance itself returned.
DX-9305DX-7385v4.5.0OPNsense refused the credential
HTTP 401 (a wrong key/secret pair) or HTTP 302 (no Authorization header sent at all, redirected toward the GUI login) — both measured live against a real appliance (ADR-0051 Phase 0).
DX-9306DX-7385v4.5.0OPNsense refused the operation
HTTP 403: a valid key/secret without the privilege this route needs.