Este documento descreve como resolver problemas que você pode encontrar ao conectar instâncias de máquina virtual (VM) do Compute Engine que executam o SUSE Linux Enterprise Server (SLES) pré-pago (PAYG) ao repositório da Ferramenta de gerenciamento de assinaturas (SMT) do SUSE.
Antes de começar
- Certifique-se de que a VM tenha uma conta de serviço associada.
- Certifique-se de que a API de metadados de serviço esteja acessível na VM.
- Garanta a conectividade de rede da VM para os respectivos servidores regionais e servidores SMT
- Use a ferramenta sc-repocheck para solucionar os problemas automaticamente.
- Verifique as etapas descritas no guia de solução de problemas do SUSE PAYG .
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Encontre um endereço IP que corresponda à região da sua VM na lista de endereços IP do SUSE SMT .
Edite o arquivo para adicionar o endereço IP do SUSE SMT e qualquer outra informação que esteja faltando.
Resposta bem sucedida:
Response code (>0 is OK): 200
Erro de tempo limite da solicitação:
Response code (>0 is OK): 000 curl: (28) Connection timed out after 5001 milliseconds
Erro de domínio insolúvel:
Response code (>0 is OK): 000 curl: (6) Could not resolve host: smt-gce.susecloud.net
Instale o pacote necessário
sudo zypper install python3-susepubliccloudinfo
Use o seguinte comando com região específica
pint google servers --region us-central1
A saída bem-sucedida contém uma lista de entradas em formato XML
<?xml version='1.0' encoding='UTF-8'?> <servers> <server ip="146.148.73.14" name="" region="us-central1" type="regionserver-sles"/> <server ip="162.222.182.90" name="" region="us-central1" type="regionserver-sap"/> <server ip="108.59.80.221" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.85.41" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.80.58" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> </servers>
Erro
SUSEConnect
:SUSEConnect error: Errno::ETIMEDOUT: Connection timed out - connect(2) for "smt-gce.susecloud.net" port 443
erro
zypper
:Error retrieving metadata for 'SLE-Module-Adv-Systems-Management12-Pool': Not ready to read within timeout. ...
Confirme se a VM tem um endereço IP externo ou se a sub-rede Virtual Private Cloud usa um NAT (Cloud NAT ou solução personalizada).
Se você modificou as regras de roteamento de rede padrão, como limitar o acesso público à Internet ou rotear o tráfego por meio de uma rede local, adicione rotas manualmente para IPs SMT por meio do gateway padrão do Compute Engine, fazendo o seguinte:
Acesse a página Rotas no console do Google Cloud.
Na guia Gerenciamento de rotas, procure uma rota que inclua os endereços IP do SUSE SMT e verifique se ela tem o gateway padrão do Compute Engine definido como o próximo salto.
Se a rota estiver faltando, você pode adicioná-la clicando em Criar Rota e inserindo as informações necessárias.
Se você estiver usando um balanceador de carga de rede de passagem interna, por exemplo, com software de rede intermediário adicional (como firewalls, NATs personalizados etc.), certifique-se de que o balanceador de carga esteja sendo usado como o próximo salto para o tráfego de VM, fazendo o seguinte:
Acesse a página de instâncias de VM no console do Google Cloud.
Clique no nome da VM que você deseja verificar. A página de detalhes da VM é aberta.
Na seção Interfaces de rede , clique em Exibir detalhes .
Na seção Detalhes de firewall e rotas, localize a rota que define o caminho para o intervalo de endereços IP selecionado.
Clique no nome da rota e confirme se o Network Load Balancer de passagem interna ou seu endereço IP está definido como o próximo salto.
Se não houver nenhuma rota que defina o caminho para o intervalo de endereços IP selecionado ou se o próximo salto da rota for diferente do Network Load Balancer de passagem interna, configure o Network Load Balancer de passagem interna como o próximo salto .
Se você estiver usando um Network Load Balancer de passagem interna, confirme se ele está localizado na mesma região que a VM.
Acesse a página de instâncias de VM no console do Google Cloud.
Localize a VM que deseja verificar e anote sua região.
Acesse a página Balanceamento de carga no console do Google Cloud.
Localize o Network Load Balancer de passagem interna usado e verifique se ele está na mesma região que a VM.
Se a VM e o Network Load Balancer de passagem interna não estiverem na mesma região, habilite o acesso global .
Navegue até o diretório
/etc/products.d
cd /etc/products.d
Execute o seguinte comando substituindo
SLES.prod
porSLES_SAP.prod
se o SLES for SAP estiver instalado:sudo ln -sf SLES.prod baseproduct
Pare a VM:
gcloud compute instances stop VM_NAME
Adicione uma conta de serviço à VM:
gcloud compute instances set-service-account VM_NAME \ --service account SERVICE_ACCOUNT \ --no-scopes
Inicie a VM:
gcloud compute instances start VM_NAME
Depois de adicionar a conta de serviço ausente, execute o seguinte comando na VM para registrar novamente o SLES:
sudo registercloudguest --force-new
Verifique os detalhes na seção de recadastramento .
Remova o módulo SUSE Manager Client Tools conforme descrito no guia Adicionando ou excluindo módulos e extensões com SUSEConnect .
Cancele o registro do SUMA seguindo o guia Como cancelar o registro de um cliente SUSE Manager .
Execute os seguintes comandos da VM para limpar o registro antigo:
sudo SUSEConnect --cleanup && \ sudo registercloudguest --clean && \ sudo rm -f /etc/SUSEConnect && \ sudo rm -f /etc/zypp/{repos,services,credentials}.d/* && \ sudo rm -f /var/lib/cloudregister/* && \ sudo rm -rf /var/cache/zypp/* && \ sudo rm -rf /var/cache/cloudregister/* && \ sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts
Execute o seguinte comando para registrar o sistema novamente:
sudo registercloudguest --force-new
Verifique os detalhes na seção de recadastramento .
Terminado o processo de cadastro, atualize os serviços e repositórios e verifique se todos os repositórios esperados para o sistema fornecido pelo servidor SMT estão presentes:
sudo zypper ref -s && \ sudo zypper ls && \ sudo zypper lr -U
Problemas de rede
Nome de domínio insolúvel
Você poderá encontrar os seguintes problemas se a VM não conseguir se conectar ao servidor SMT
smt-gce.susecloud.net
:SUSEConnect error: SocketError: getaddrinfo: Name or service not known
ping: unknown host smt-gce.susecloud.net
Esses problemas provavelmente são causados por uma resolução incorreta do nome de domínio do servidor SMT
smt-gce.susecloud.net
. Este domínio não pode ser resolvido globalmente, portanto você deve definir seu endereço IP de acordo com a região da VM, fazendo o seguinte:Verifique o arquivo
/etc/hosts
para certificar-se de que ele contém uma entrada com o domíniosmt-gce.susecloud.net
.cat /etc/hosts | grep -i smt
A saída é semelhante à seguinte, mas o endereço IP pode ser diferente:
# Added by SMT registration do not remove, retain comment as well 108.59.80.221 smt-gce.susecloud.net smt-gce
Se o arquivo
/etc/hosts
não contiver as mesmas linhas do exemplo anterior, faça o seguinte:Indisponibilidade de rede
Você poderá encontrar os seguintes erros devido à indisponibilidade da rede, mesmo que a VM consiga resolver o nome de domínio do servidor de atualização do Compute Engine:
Unexpected exception. Not ready to read within timeout.
Repository 'SLE-Module-Adv-Systems-Management12-Pool' is invalid. Repository 'SLE-Module-Adv-Systems-Management12-Updates' is invalid.
A seguir estão alguns exemplos de erros no arquivo de log
/var/log/cloudregister
que você pode encontrar durante a investigação:WARNING:Unable to remove client registration from server WARNING:HTTPSConnectionPool(host='smt-gce.susecloud.net', port=443): Max retries exceeded with url: /connect/systems (Caused by NewConnectionError('
: Failed to establish a new connection: [Errno 110] Connection timed out',)) INFO:Region server arguments: ?regionHint=europe-central2 ERROR:No response from: [('34.118.112.80', None), ('34.116.251.218', None), ('34.116.224.144', None)]
Para saber mais sobre a causa do problema, execute um teste de conectividade de rede. O exemplo a seguir mostra como testar uma conexão HTTPS usando
cURL
:curl -sSI -m 5 -o /dev/null \ -w 'Response code (>0 is OK): %{http_code}\n' \ 'https://smt-gce.susecloud.net'
A saída do comando contém um código de resposta HTTP ou uma mensagem de erro. A seguir estão respostas e erros comuns:
Em determinados cenários, como regras rígidas de firewall do host, o endereço IP padrão associado ao domínio
smt-gce.susecloud.net
pode não estar disponível. Para garantir que o problema não esteja relacionado apenas ao endereço IP atual, execute testes de conectividade de rede para servidores regionais alternativos. Recupere a lista de servidores regionais fazendo o seguinte:UI da Web
Acesse SUSE WebUI para obter a lista de servidores de atualização regionais.
CLI
Use a ferramenta
pint
para obter a lista de servidores de atualização regionais por CLI.Para encontrar a lista completa de IPs de servidores SUSE para Google Cloud, visualize os seguintes documentos:
A indisponibilidade da rede pode ser devido à configuração incorreta da VM. Em caso de problemas é necessário realizar diagnósticos de rede para identificar a causa raiz.
Falha no registro
Você poderá encontrar o seguinte erro se tiver VMs com um endereço IP privado no Cloud NAT:
ERROR: Registration failed: Registering system to registration proxy https://smt-gce.susecloud.net command '/usr/bin/zypper --non-interactive refs Python_3_Module_x86_64' failed Error: zypper returned 4 with 'Problem retrieving the repository index file for service 'Python_3_Module_x86_64': Timeout exceeded when accessing 'https://smt-gce.susecloud.net/services/2045/repo/repoindex.xml?credentials=Python_3_Module_x86_64'.
Para resolver esse problema, revise a configuração do Cloud NAT para verificar se o parâmetro mínimo de portas por instância de VM está definido como pelo menos 256 .
Para mais informações, consulte o boletim de suporte do Cloud NAT SUSE com falha no registro e no zypper para instâncias do Compute Engine .
Sem resposta
Se sua VM tiver problemas de comunicação com servidores de atualização e região, você poderá observar os seguintes erros:
Esses erros podem ser causados pela ausência de resposta dos servidores de atualização e região. Para verificar se este é o caso, verifique os logs
/var/log/cloudregister
para conteúdo semelhante:INFO:Region server arguments: ?regionHint=europe-central2 INFO:Using API: regionInfo INFO:Region server arguments: ?regionHint=europe-central2 INFO:Getting update server information, attempt 1 INFO: Using region server: 130.211.242.136 ERROR: No response from: 130.211.242.136 INFO: Using region server: 35.187.193.56 ERROR: No response from: 35.187.193.56 INFO: Using region server: 162.222.182.90 ERROR: No response from: 162.222.182.90 INFO: Using region server: 130.211.88.88 ERROR: No response from: 130.211.88.88 ERROR: None of the servers responded ERROR: Attempted: [IPv4Address('130.211.242.136'), IPv4Address('35.187.193.56'), IPv4Address('162.222.182.90'), IPv4Address('130.211.88.88')] ... ... ... ERROR:Request not answered by any server after 3 attempts ERROR:Exiting without registration
Para resolver esse problema, tente um ou mais dos seguintes procedimentos:
Problemas de configuração do sistema operacional
Status de registro desconhecido
Se você não sabe se o SUSE Linux Enterprise Server (SLES) pré-pago (PAYG) está registrado ou não, execute o seguinte comando:
sudo SUSEConnect --status-text
A saída contém a versão e o status de registro dos produtos SUSE, incluindo o SUSE Linux Enterprise Server.
Installed Products: ------------------------------------------ SUSE Linux Enterprise Server 12 SP5 (SLES/12.5/x86_64) Registered ------------------------------------------ ...
Se o status for
Not Registered
, inicie o processo de novo registro para corrigir o problema.Link simbólico do produto base incorreto
Você poderá encontrar os seguintes erros se o link do produto base apontar para um arquivo de produto incorreto:
ERROR:Unable to obtain product information from server "108.59.85.41,None" Unprocessable Entity {"type":"error","error":"Unmet product dependencies, activate one of these products first: SUSE Linux Enterprise Server 12 x86_64... ... Unable to register modules, exiting.
Este erro é causado por um arquivo de produto incorreto (ou seja,
sle-module-toolchain.prod
) apontado pelo link simbólico/etc/products.d/baseproduct
.Para resolver esse problema, atualize o link simbólico em
/etc/products.d/baseproduct
para apontar para o arquivo do produto base apropriado, fazendo o seguinte:Indisponibilidade de informações de identidade da instância
Você poderá encontrar os seguintes erros se as informações de identidade da instância não estiverem disponíveis para a VM:
ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'"
Para acessar os metadados da instância para tokens de identidade, todas as VMs devem estar associadas a uma conta de serviço .
Para obter mais informações, leia a Atualização da infraestrutura de nuvem pública .
Para verificar se a VM é relevante para esta situação, execute o seguinte comando na VM:
curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'
Exemplo de uma resposta bem-sucedida com um token de identidade:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjkzOTd0MDQxSHQ2NDNxNzkzUjY1MDIwNzEyMjZPNnppaTdqNTl3eTciLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ0ZXN0IiwiYXpwIjoiMjY1MDIwMDUyMzgzMjYyNTk0ODU2IiwiZXhwIjoxNjgzNzEyNTQzLCJpYXQiOjE2ODM3MTI4NjQsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjQ1NjA2MzQ5MDg5Mzc0Njg3ODI5NyJ9.EpzQ3NZ8mKStdpH10fL34qsKG0rjQEflzvLJLm2tVNX4xBJAkMhi8lcs5InUEY-QMK3njgbzdzNtD1fXoIfKoeWsqkA8vG3NkBz5zqRrtaB2STcO14H5tjIdTBsrCtET447tRXlGG5cvgMcWnRDZG92-jUZEpWki_Ri4T69X5-bBWkfE2Thm3oSUW4fScdeVOEmOgWnzD2jeVqQ_2YniywvpkT-rLzKfN-5AgN66zgBfXqJVTC90KFMebfiaOoL7z6ZSM9AjZGf45QEMZjxjd-Xzyee6ZWK8s0RE3hJlytb3zYcLt3tJwQ1WhnrC2ToJ-ZmKxxK3xKDLCvCQ6Ny5to
Se os metadados retornados não forem um token, mas uma mensagem de erro como a seguinte, a VM será afetada:
{ "error": "invalid_request", "error_description": "Service account not enabled on this instance" }
Para remediar esse problema, execute as seguintes etapas:
Registro atrás de proxies
Você poderá encontrar um problema se suas VMs estiverem configuradas para utilizar qualquer tipo de software de proxy. O exemplo a seguir demonstra uma tentativa de registrar o SLES usando um proxy HTTP.
ERROR: Baseproduct registration failed ERROR: Registering system to registration proxy https://smt-gce.susecloud.net Announcing system to https://smt-gce.susecloud.net ... SUSEConnect error: Net::HTTPFatalError: 503 "Service Unavailable"
O SUSE no Compute Engine não oferece suporte oficial para registro de sistema operacional quando realizado por meio de intermediários que modificam a comunicação original, como proxies do tipo man-in-the-middle (MITM) ou tipos não transparentes.
A solução oficial para resolver esse problema é configurar o Cloud NAT e rotear o tráfego de VM por meio dele.
Soluções alternativas comuns
Novo registro
Em alguns casos, uma abordagem de recadastramento pode ser usada para solucionar problemas de registro.
Para forçar um novo registro use o seguinte comando:
sudo registercloudguest --force-new
Se for bem-sucedido, a seguinte linha será exibida.
Registration succeeded
Detalhes do processo de novo registro podem ser encontrados em
/var/log/cloudregister
.Exemplo de sucesso
INFO:Forced new registration INFO:Clean current registration server: ('108.59.80.221', None) ... INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 INFO:Starting new HTTPS connection (1): 108.59.80.58 INFO:Modified /etc/hosts, added: 108.59.80.58 smt-gce.susecloud.net smt-gce ... INFO:Starting new HTTPS connection (1): 108.59.80.58 DEBUG:"GET /api/health/status HTTP/1.1" 200 None INFO:Current update server will be used: "('108.59.80.58', None)" INFO:Starting new HTTPS connection (1): smt-gce.susecloud.net DEBUG:"POST /connect/systems/products/migrations HTTP/1.1" 422 None INFO:Registration: /usr/sbin/SUSEConnect --url https://smt-gce.susecloud.net --product sle-module-containers/12/x86_64 --instance-data /var/lib/cloudregister/9c982106-78de-48fe-a662-20383da4c760
Exemplo de falha
INFO:Forced new registration INFO:Using API: regionInfo INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 ERROR:No response from: 130.211.242.136 INFO:Using region server: 130.211.88.88 INFO:Starting new HTTPS connection (1): 130.211.88.88 ERROR:No response from: 130.211.88.88 INFO:Using region server: 146.148.73.14 INFO:Starting new HTTPS connection (1): 146.148.73.14 ERROR:No response from: 146.148.73.14 ERROR:None of the servers responded ERROR: Attempted: ['130.211.242.136', '130.211.88.88', '146.148.73.14'] ERROR:Exiting without registration
Cancelamento de registro
Em alguns casos, como atualização de versão principal, você poderá encontrar os seguintes erros porque o sistema já está registrado no SUMA:
Can't get available migrations from server: SUSE::Connect::ApiError: The requested products 'SUSE Manager Client Tools for SLE 12 x86_64' are not activated on the system.
This system is managed by SUSE manager.
Resolva o problema fazendo o seguinte:
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-