46 Solucionando problemas no Edge Image Builder (EIB) #
O EIB é usado para criar imagens personalizadas do SUSE Edge.
Código incorreto do SCC: assegure que o código do SCC usado no arquivo de definição do EIB corresponda à versão e arquitetura do SL Micro.
Dependências ausentes: garanta que não falte nenhum pacote ou ferramenta no ambiente do build.
Tamanho da imagem incorreto: para as imagens brutas, o parâmetro
diskSize
é obrigatório e depende significativamente de que as imagens, os RPMs e outros artefatos sejam incluídos na imagem.Permissões: se você armazena um script no diretório personalizado/de arquivos, assegure que ele tenha permissões de execução, já que esses arquivos apenas estão disponíveis no momento da combustão, mas o EIB não faz nenhuma alteração.
Dependências de grupo do sistema operacional: ao criar uma imagem com usuários e grupos personalizados, os grupos definidos como "
primaryGroup
" devem ser explicitamente criados.As chaves SSH dos usuários do sistema operacional requerem uma pasta pessoal: ao criar uma imagem com usuários que têm chaves SSH, também é necessário criar a pasta pessoal com
createHomeDir=true
.Problemas no Combustion: o EIB usa o Combustion para a personalização do sistema operacional e da implantação de todos os outros componentes do SUSE Edge, o que também inclui os scripts personalizados substituídos na pasta custom/scripts. Observe que o processo do Combustion é executado com o
initrd
, portanto, o sistema não é completamente inicializado quando os scripts são executados.Tamanho da máquina podman: conforme explicado na seção de dicas e truques do EIB (Parte IV, “Dicas e truques”), verifique se a máquina podman tem CPU/memória suficiente para executar o contêiner do EIB em sistemas operacionais não Linux.
Saída do EIB: a saída do console do comando
eib build
é fundamental.Registros do contêiner de build: consulte os registros do contêiner de build. Eles são gerados no diretório que foi usado para armazenar os artefatos. Consulte também os
docker logs
ou ospodman logs
para obter as informações necessárias.Diretórios temporários de build: o EIB cria diretórios temporários durante o processo de build. Consulte-os para acessar os registros ou os artefatos intermediários se a saída principal não for suficiente.
Registros do Combustion: se a imagem que está sendo criada com o EIB não for inicializada por algum motivo, um shell root estará disponível. Conecte-se ao console do host (fisicamente, via BMC etc.) e consulte os registros do Combustion com
journalctl -u combustion
e, em geral, todos os registros do sistema operacional comjournalctl
, para encontrar a causa raiz da falha.
Revise a saída de
eib-build
: a mensagem de erro na saída do console costuma ser bem clara.Verifique o ambiente do build: garanta que todos os pré-requisitos para o próprio EIB (por exemplo, docker/podman, espaço em disco suficiente) sejam atendidos na máquina que executa o EIB.
Analise os registros do contêiner de build: revise os registros do contêiner com falha para verificar os erros em mais detalhes (veja acima).
Verifique a configuração do
eib
: revise o arquivo de configuração doeib
para verificar se não há erros de ortografia ou caminhos incorretos para os arquivos de origem ou scripts de build.Teste os componentes individualmente: se o build do EIB envolver scripts ou estágios personalizados, execute-os separadamente para isolar falhas.