Pular para o conteúdo
StrongLinux

Documentação

Atualização da nuvem (strongctl upgrade)

O strongctl upgrade aplica atualizações de correção numa nuvem StrongLinux, ou seja, versões novas dos pacotes dentro da mesma série OpenStack (2026.1). A nuvem continua no ar durante a atualização: as VMs seguem rodando e as APIs continuam atendendo.

Mudança de série (por exemplo 2026.1 → 2027.1, o caminho SLURP) não é coberta: o comando recusa quando o major de algum serviço OpenStack muda.

Canais

Os pacotes vêm do repositório apt da StrongLinux:

CanalConteúdo
stronglinux-1.0versões do lançamento
stronglinux-1.0-updatescorreções aprovadas (passaram pelo M3 e pelo Tempest no pipeline)
stronglinux-1.0-securitycorreções de segurança
stronglinux-1.0-proposedcandidatos, só para teste

Os canais que a nuvem usa ficam em stronglinux_apt_suites no /etc/strongctl/globals.yml. Para testar candidatos, acrescente stronglinux-1.0-proposed à lista.

Passo a passo

  1. Atualize primeiro o próprio strongctl, porque os papéis e modelos novos vêm com ele (o strongctl upgrade recusa rodar se houver versão nova dele):
    apt update && apt install --only-upgrade strongctl
  2. Veja o que muda em cada nó (não altera nada):
    strongctl upgrade --listar
  3. Atualize:
    strongctl upgrade

O que o comando faz

  1. Pré-checagem: roda o verify, e a nuvem precisa estar saudável. Use --sem-verificar só se souber o que está fazendo.
  2. Fontes apt em todos os nós (papel common). Depois levanta, por nó, os pacotes stronglinux-* com versão nova e recusa mudança de série.
  3. Controllers, um de cada vez. Para cada um:
    • atualiza os pacotes, mantendo as configurações locais (--force-confold); o postinst de cada serviço reinicia só as units que já estavam rodando;
    • espera as units habilitadas voltarem ao ar e o Keystone responder;
    • com HA, espera o Galera ficar Synced.

    Com HA, o HAProxy tira do balanceamento o controller que está reiniciando.

  4. Demais nós (computação, rede e armazenamento), em lotes. O tamanho do lote é dado por --serial; o padrão é 25% dos nós.
  5. Deploy: grava a configuração nova, roda as migrações de esquema (db sync, uma vez por nuvem) e reinicia o que mudou.
  6. Migrações online de dados do nova e do cinder (online_data_migrations, até concluir).
  7. Verify final.

Rodar strongctl upgrade de novo sem pacotes novos não altera nada (changed=0).

Pacotes do Ubuntu

O strongctl upgrade cuida dos pacotes da StrongLinux. Os pacotes do Ubuntu (OVS/OVN, MariaDB, RabbitMQ, libvirt, kernel) seguem a política de atualização do sistema. Para atualizações que reiniciam o OVS, o libvirt ou o kernel, atualize um nó por vez e, nos computes, migre as VMs antes.

Validação

O teste tests/lxd/run-smoke.sh strongctl-upgrade faz um ciclo completo:

  1. Implanta uma nuvem all-in-one com o canal estável.
  2. Cria uma VM com IP flutuante e um volume.
  3. Inclui o canal proposed e roda strongctl upgrade, medindo o tempo todo:
    • ping no IP flutuante;
    • emissão de token a cada 5 s.
  4. Confere depois do upgrade:
    • as versões novas instaladas;
    • a VM no ar;
    • uma VM nova;
    • o segundo upgrade sem mudanças;
    • o Tempest smoke.