En este documento, se describe cómo resolver problemas que puedes encontrar cuando conectas instancias de máquina virtual (VM) de Compute Engine que ejecutan SUSE Linux Enterprise Server (SLES) de pago por uso (PAYG) al repositorio de la herramienta de administración de suscripciones (SMT) de SUSE.
Antes de comenzar
- Asegúrate de que la VM tenga una cuenta de servicio asociada.
- Asegúrate de que se pueda acceder a la API de metadatos del servicio desde la VM.
- Usa la herramienta de sc-repocheck para solucionar los problemas de forma automática.
- Consulta los pasos descritos en la guía Solución de problemas de PAYG de SUSE.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:
gcloud init
- Set a default region and zone.
Busca una dirección IP que corresponda a la región de la VM de la lista de direcciones IP de SMT de SUSE.
cambia el archivo para agregar la dirección IP de SMT de SUSE y cualquier otra información que falte.
Respuesta correcta:
Response code (>0 is OK): 200
Error de tiempo de espera de la solicitud:
Response code (>0 is OK): 000 curl: (28) Connection timed out after 5001 milliseconds
Error de dominio que no se puede resolver:
Response code (>0 is OK): 000 curl: (6) Could not resolve host: smt-gce.susecloud.net
Instala el paquete obligatorio
sudo zypper install python3-susepubliccloudinfo
Usa el siguiente comando con una región específica
pint google servers --region us-central1
El resultado correcto contiene una lista de entradas en 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>
Error
SUSEConnect
:SUSEConnect error: Errno::ETIMEDOUT: Connection timed out - connect(2) for "smt-gce.susecloud.net" port 443
Error
zypper
:Error retrieving metadata for 'SLE-Module-Adv-Systems-Management12-Pool': Not ready to read within timeout. ...
Confirma que la VM tenga una dirección IP externa o que la subred de la nube privada virtual use una NAT (ya sea Cloud NAT o una solución personalizada).
Si modificaste las reglas de enrutamiento de red predeterminadas, como limitar el acceso público a Internet o enrutar el tráfico a través de una red local, agrega rutas de forma manual para las IP de SMT a través de la puerta de enlace predeterminada de Compute Engine, de la siguiente manera:
Ve a la página Rutas en la consola de Google Cloud.
En la pestaña Administración de rutas, busca una ruta que incluya las direcciones IP de SMT de SUSE y verifica que tenga la puerta de enlace predeterminada de Compute Engine configurada como el siguiente salto.
Si falta la ruta, puedes agregarla haciendo clic en Crear ruta e ingresando la información necesaria.
Si usas un balanceador de cargas de red de paso interno, por ejemplo, con software de red intermedio adicional (como firewalls, NAT personalizadas, etc.), asegúrate de que el balanceador de cargas se use como el siguiente salto para el tráfico de VM, haz lo siguiente:
Ve a la página Instancias de VM en la consola de Google Cloud.
Haz clic en el nombre de la VM que deseas cambiar. Se abrirá la página de detalles de la VM.
En la sección Interfaces de red, haz clic en Ver detalles.
En la sección Detalles de firewall y rutas, busca la ruta que define la ruta de acceso al rango de direcciones IP deseado.
Haz clic en el nombre de la ruta y confirma que el balanceador de cargas de red interno o su dirección IP de paso sea la siguiente.
Si no hay una ruta que defina la ruta de acceso al rango de direcciones IP deseado o si el siguiente salto de la ruta es diferente del balanceador de cargas de red de transferencia, configura el balanceador de cargas de transferencia interno como el siguiente salto.
Si usas un balanceador de cargas de red de transferencia interno, confirma que se encuentre en la misma región que la VM.
Ve a la página Instancias de VM en la consola de Google Cloud.
Ubica la VM que deseas verificar y toma nota de su región.
Ve a la página Balanceo de cargas en la consola de Google Cloud.
Ubica el balanceador de cargas de red de transferencia interno que se usó y verifica si está en la misma región que la VM.
Si la VM y el balanceador de cargas de red de transferencia interno no están en la misma región, habilita el acceso global.
Navega al directorio de
/etc/products.d
cd /etc/products.d
Ejecuta el siguiente comando y reemplaza
SLES.prod
porSLES_SAP.prod
si SLES para SAP está instalado:sudo ln -sf SLES.prod baseproduct
Detén la VM:
gcloud compute instances stop VM_NAME
Agrega una cuenta de servicio a la VM:
gcloud compute instances set-service-account VM_NAME \ --service account SERVICE_ACCOUNT \ --no-scopes
Inicia la VM:
gcloud compute instances start VM_NAME
Después de agregar la cuenta de servicio que falta, ejecuta el siguiente comando desde la VM para volver a registrar SLES:
sudo registercloudguest --force-new
Consulta los detalles en la sección Registro nuevo.
Quita el módulo de herramientas cliente de SUSE Manager, como se describe en la guía Borra módulos y extensiones.
Cancela el registro de SUMA con la guía Cómo cancelar el registro de un cliente de SUSE Manager.
Ejecuta los siguientes comandos desde la VM para limpiar el registro anterior:
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
Ejecuta el siguiente comando para volver a registrar el sistema:
sudo registercloudguest --force-new
Consulta los detalles en la sección Registro nuevo.
Cuando finalice el proceso de registro, actualiza los servicios y los repositorios, y verifica si todos los repositorios esperados para el sistema que proporciona el servidor de SMT están presentes:
sudo zypper ref -s && \ sudo zypper ls && \ sudo zypper lr -U
Problemas de red
Nombre de dominio que no se puede resolver
Es posible que encuentres los siguientes problemas si la VM no se puede conectar al servidor SMT
smt-gce.susecloud.net
:SUSEConnect error: SocketError: getaddrinfo: Name or service not known
ping: unknown host smt-gce.susecloud.net
Es probable que estos problemas se deban a una resolución incorrecta del nombre de dominio del servidor de SMT
smt-gce.susecloud.net
. Este dominio no se puede resolver de forma global, por lo que debes configurar su dirección IP de acuerdo con la región de VM, mediante los siguientes pasos:Verifica el archivo
/etc/hosts
para asegurarte de que contenga una entrada con el dominiosmt-gce.susecloud.net
.cat /etc/hosts | grep -i smt
El resultado es similar al siguiente, pero la dirección IP puede ser diferente:
# Added by SMT registration do not remove, retain comment as well 108.59.80.221 smt-gce.susecloud.net smt-gce
Si el archivo
/etc/hosts
no contiene las mismas líneas que en el ejemplo anterior, haz lo siguiente:Falta de disponibilidad de la red
Es posible que encuentres los siguientes errores debido a la falta de disponibilidad de la red, incluso si la VM puede resolver el nombre de dominio del servidor de actualización de 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.
Los siguientes son algunos ejemplos de errores en el archivo de registro
/var/log/cloudregister
que puedes encontrar durante la investigación: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 obtener más información sobre la causa del problema, realiza una prueba de conectividad de red. En el siguiente ejemplo, se muestra cómo probar una conexión HTTPS mediante
cURL
:curl -sSI -m 5 -o /dev/null \ -w 'Response code (>0 is OK): %{http_code}\n' \ 'https://smt-gce.susecloud.net'
El resultado del comando contiene un código de respuesta HTTP o un mensaje de error. Las siguientes son respuestas y errores comunes:
En ciertas situaciones, como las reglas de firewall de host estrictas, es posible que la dirección IP predeterminada asociada con el dominio
smt-gce.susecloud.net
no esté disponible. Para asegurarte de que el problema no solo esté relacionado con la dirección IP actual, realiza las pruebas de conectividad de red para servidores regionales alternativos. Para recuperar la lista de servidores regionales, haz lo siguiente:IU web
Ve a IU web de SUSE para obtener la lista de servidores de actualización regionales.
CLI
Usa la herramienta de
pint
para obtener la lista de servidores de actualización regionales a través de la CLI.Para encontrar la lista completa de las IP del servidor de SUSE para Google Cloud, consulta los siguientes documentos:
La falta de disponibilidad de la red puede deberse a una configuración incorrecta de la VM. En caso de que haya problemas, es necesario realizar diagnósticos de red para identificar la causa raíz.
Falló el registro
Es posible que encuentres el siguiente error si tienes VM que tienen una dirección IP privada en 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 este problema, revisa la configuración de Cloud NAT a fin de verificar que el parámetro puertos mínimos por instancia de VM esté configurado en al menos 160.
Si quieres obtener más información, consulta el boletín de asistencia de SUSE Registro y zypper con errores para instancias de Compute Engine detrás de Cloud NAT.
No respondió
Si tu VM tiene problemas para comunicarse con los servidores de actualización y región, es posible que observes los siguientes errores:
Estos errores pueden deberse a la ausencia de una respuesta de los servidores de actualización y de región. Para verificar si este es el caso, revisa los registros de
/var/log/cloudregister
y busca contenido similar: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 este problema, prueba una o más de las siguientes opciones:
Problemas de configuración del SO
Estado desconocido del registro
Si no sabes si se registró tu SUSE Linux Enterprise Server (SLES) de pago por uso (PAYG), ejecuta el siguiente comando:
sudo SUSEConnect --status-text
El resultado contiene la versión y el estado de registro de los productos de SUSE, incluido SUSE Linux Enterprise Server.
Installed Products: ------------------------------------------ SUSE Linux Enterprise Server 12 SP5 (SLES/12.5/x86_64) Registered ------------------------------------------ ...
Si el estado es
Not Registered
, comienza desde el proceso de registro nuevo para solucionar el problema.symlink de producto base incorrecto
Es posible que encuentres los siguientes errores si el vínculo del producto base apunta a un archivo de producto incorrecto:
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 error se debe a un archivo de producto incorrecto (es decir,
sle-module-toolchain.prod
) al que apunta el vínculo simbólico/etc/products.d/baseproduct
.Para resolver este problema, actualiza el symlink en
/etc/products.d/baseproduct
a fin de que apunte al archivo de producto base apropiado, de la siguiente manera:Falta de disponibilidad de información de identidad de la instancia
Es posible que encuentres los siguientes errores si la información de identidad de la instancia no está disponible para la VM:
ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'"
Para acceder a los metadatos de la instancia de los tokens de identidad, todas las VM deben estar asociadas con una cuenta de servicio.
Para obtener más información, lee la Actualización de la infraestructura de nube pública.
Para verificar que la VM sea relevante en esta situación, ejecuta el siguiente comando en la VM:
curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'
Ejemplo de una respuesta correcta con un token de identidad:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjkzOTd0MDQxSHQ2NDNxNzkzUjY1MDIwNzEyMjZPNnppaTdqNTl3eTciLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ0ZXN0IiwiYXpwIjoiMjY1MDIwMDUyMzgzMjYyNTk0ODU2IiwiZXhwIjoxNjgzNzEyNTQzLCJpYXQiOjE2ODM3MTI4NjQsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjQ1NjA2MzQ5MDg5Mzc0Njg3ODI5NyJ9.EpzQ3NZ8mKStdpH10fL34qsKG0rjQEflzvLJLm2tVNX4xBJAkMhi8lcs5InUEY-QMK3njgbzdzNtD1fXoIfKoeWsqkA8vG3NkBz5zqRrtaB2STcO14H5tjIdTBsrCtET447tRXlGG5cvgMcWnRDZG92-jUZEpWki_Ri4T69X5-bBWkfE2Thm3oSUW4fScdeVOEmOgWnzD2jeVqQ_2YniywvpkT-rLzKfN-5AgN66zgBfXqJVTC90KFMebfiaOoL7z6ZSM9AjZGf45QEMZjxjd-Xzyee6ZWK8s0RE3hJlytb3zYcLt3tJwQ1WhnrC2ToJ-ZmKxxK3xKDLCvCQ6Ny5to
Si los metadatos que se muestran no son un token, sino un mensaje de error como el siguiente, la VM se ve afectada:
{ "error": "invalid_request", "error_description": "Service account not enabled on this instance" }
Para resolver este problema, realiza los siguientes pasos:
Registro detrás de proxies
Es posible que tengas un problema si las VM están configuradas para usar cualquier tipo de software de proxy. En el siguiente ejemplo, se muestra un intento de registrar SLES a través de un 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"
SUSE en Compute Engine no proporciona asistencia oficial para el registro del sistema operativo cuando se realiza a través de intermediarios que modifican la comunicación original, como los proxies de intermediarios (MITM) o los tipos no transparentes.
La solución oficial para resolver este problema es configurar Cloud NAT y enrutar el tráfico de VM a través de este.
Soluciones alternativas comunes
Registro nuevo
En algunos casos, se puede usar un enfoque de registro nuevo para solucionar problemas de registro.
Para forzar un registro nuevo, usa el siguiente comando:
sudo registercloudguest --force-new
Si se ejecuta de forma correcta, se mostrará la siguiente línea.
Registration succeeded
Los detalles del proceso de registro nuevo se pueden encontrar en
/var/log/cloudregister
.Ejemplo exitoso
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
Ejemplo con errores
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
Cancelación del registro
En algunos casos, como una actualización de versión principal, es posible que encuentres los siguientes errores porque el sistema ya está registrado en 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.
Para resolver el problema, haz lo siguiente:
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-05-29 (UTC)
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema de traducción" },{ "type": "thumb-down", "id": "otherDown", "label":"Otro" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Fácil de comprender" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Resolvió mi problema" },{ "type": "thumb-up", "id": "otherUp", "label":"Otro" }] -