Delen via


Connectiviteits- en registratieproblemen oplossen voor VM's van SUSE Linux Enterprise Server

Van toepassing op: ✔️ Virtuele Linux-machines

In dit artikel wordt een probleem besproken waarbij een virtuele Machine (VM) van Microsoft Azure is ingesteld met behulp van een SUSE Linux Enterprise Server-installatiekopieën (SLES), maar de VM kan geen verbinding maken met de SUSE Subscription Management Tool (SMT)-opslagplaats. Dit artikel bevat enkele eenvoudige stappen en acties voor het oplossen van problemen voor specifieke scenario's (zoals fouten in het opdrachtregelprogramma Zypper voor het beheren van pakketten in SUSE). Linux-specialisten bij Microsoft hebben deze informatie samengesteld op basis van ondersteuningservaring en documentatie van SUSE.

Het is belangrijk om de uitvoer van elke opdracht te lezen voor meer aanwijzingen. U wordt aangeraden de resultaten en berichten op te slaan voor verdere probleemoplossing.

Voorwaarden

Opmerking

Als uw SLES-VM zich achter een proxyserver bevindt, raden we u aan de technische overwegingen te bekijken die worden besproken bij het openen van de infrastructuur voor openbare cloudupdates via een proxy. Voor SLES-VM's in Azure zijn de volgende voorwaarden van toepassing:

  • Verbinding maken met updateservers van een SLES-VM is afhankelijk van hostnaamomzetting die niet kan worden omgezet door openbare DNS-servers. Voor sommige implementaties van Linux-/Unix-proxyservers moet u daarom mogelijk handmatig een record in /etc/hosts aan de proxyserverzijde plaatsen, zodat de naam 'smt-azure' kan worden omgezet.

    Hier volgt een voorbeeldrecord:

    52.165.88.13 smt-azure.susecloud.net smt-azure

    De beschikbare IP-adressen variëren per Azure-regio. Zie de IP-adreslijst in dit SMT XML-bestand voor meer informatie.

  • De IP-adressen 168.63.129.16 en 169.254.169.254 die worden gebruikt door de ImDS (Instance Metadata Service) moeten proxytoegang overslaan. Deze speciale IP-adressen kunnen niet worden geopend via een proxyserver en SLES-VM's hebben informatie nodig van IMDS om de cloudomgeving te herkennen waarop ze worden uitgevoerd en om een geschikte SUSE-updateserver te vinden.

    De variabele in NO_PROXY moet bijvoorbeeld worden geconfigureerd op SLES-VM's, zoals:

    NO_PROXY="localhost, 127.0.0.1, 168.63.129.16, 169.254.169.254"

Controlelijst voor probleemoplossing

Stap 1: Een diagnostisch script voor een opslagplaats uitvoeren

Voer het SUSEcloud-repocheckscript uit dat wordt geleverd door Rich Paredes, een SUSE-engineer. Dit Python-script voert de volgende taken uit:

  1. Controleer of er verbinding is met de openbare cloudopslagplaatsen van SUSE.

  2. Probeer eventuele bestaande problemen op te lossen.

  3. Maak een logboekarchief in de /var/log/ map en geef deze de naam sc-repocheck_<YYMMDD_hhmmss>.tar.xzq. Dit logboek kan nuttig zijn als de verbinding of registratieproblemen zich blijven voordoen.

Als u het script wilt starten, voert u de volgende opdracht uit om het script over te dragen van de GitHub-locatie naar de Python-interpreter:

sudo python3 <(curl --location --silent https://raw.githubusercontent.com/rfparedes/susecloud-repocheck/main/sc-repocheck.py)

Voor een succesvolle uitvoering vereist de opdracht internettoegang vanaf de virtuele machine. Anders moet u eerst het script downloaden en vervolgens de opdracht wijzigen zodat het wordt uitgevoerd.

Stap 2: Connectiviteit met IP-adressen van de server controleren op poort 443

De VM moet een TCP-verbinding kunnen openen op poort 443 naar de SUSE-opslagplaatsserver smt-azure.susecloud.net (op basis van de regio waar de VM zich bevindt) samen met de regioservers. De lijst met IP-adressen voor de opslagplaatsserver en de regioservers vindt u op de volgende locaties.

Type IP-adres URL met de IP-adreslijst
IP-adressen van SMT-server voor alle regio's https://susepubliccloudinfo.suse.com/v1/microsoft/servers/smt.xml
IP-adressen van regioserver https://susepubliccloudinfo.suse.com/v1/microsoft/servers/regionserver.xml

Gebruik de opdracht OpenSSL s_client opdracht voor TLS-clients (Secure Sockets Layer) en Transport Layer Security (TLS) om de verbindingen van de opslagplaatsserver en regioserver voor uw regio te controleren. Voeg het juiste IP-adres voor de tijdelijke aanduiding in de volgende syntaxis in:

sudo openssl s_client -connect <IP address>:443

Nadat u deze opdracht hebt uitgevoerd, wordt het servercertificaat weergegeven. Met de opdracht wordt ook een juiste SSL-verbinding gestart.

In het volgende voorbeeld ziet u de uitvoer van de opdracht voor de SUSE-opslagplaatsserver in de regio VS - oost 2 (locatiecode: eastus2, IP-adres: 20.186.112.116):

$ echo "" | openssl s_client -connect 20.186.112.116:443
CONNECTED(00000003)
Can't use SSL_get_servername
depth=1 C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net
verify return:1
depth=0 C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net
verify return:1
---
Certificate chain
 0 s:C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net
   i:C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net
---
Server certificate
-----BEGIN CERTIFICATE-----
<64-character lines of printable ASCII characters>
    .
    .
    .
-----END CERTIFICATE-----
subject=C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net

issuer=C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2538 bytes and written 373 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 4096 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE

Scenario 1: Er wordt geen servercertificaat of SSL-sessie weergegeven

In de uitvoer wordt het servercertificaat of de SSL-sessie niet weergegeven.

Oorzaak

Dit scenario treedt meestal op wanneer de opdracht een NVA (Network Virtual Appliance) doorkruist die SSL-pakketinspectie uitvoert. Deze inspectie zorgt ervoor dat de NVA een eigen SSL-certificaat in de versleutelde sessie injecteert.

Omdat SUSE gebruikmaakt van het vastmaken van certificaten, kan een ander geïnjecteerd SSL-certificaat de vastmakende bewerking verbreken. Als de vergrendeling is losgemaakt, weigert de SUSE-repository de verbinding.

Oplossing

Zorg ervoor dat de NVA niet het volgende doet:

  • Toegang tot de IP-adressen van de SUSE-opslagplaats blokkeren
  • SSL-pakketinspectie uitvoeren op de beveiligde verbinding met de SUSE-opslagplaatsen
  • Het NVA SSL-certificaat invoegen op de server

Scenario 2: Problemen met cloud-regionsrv-client en registratiefouten

Als u dit scenario wilt diagnosticeren, controleert u de status van het geïnstalleerde cloud-regionsrv-client pakket uit de geschiedenis van Zypper of de lijst met geïnstalleerde RPM-pakketten:

  • Uit de geschiedenis van Zypper:

    sudo grep cloud-region /var/log/zypp/history
    
    2021-07-12 08:20:49 cloud-regionsrv-client.rpm installed ok
    
  • In de lijst met geïnstalleerde RPM-pakketten:

    sudo rpm -qa | grep cloud-region
    
    cloud-regionsrv-client-9.1.5-6.43.1.noarch
    cloud-regionsrv-client-plugin-azure-1.0.1-6.43.1.noarch
    

Het hoofdclientpakket moet ten minste versie 10.xzijn.

Zoals wordt weergegeven in het voorbeeld, wordt de volgende uitvoer weergegeven in/var/log/cloudregister:

sudo tail /var/log/cloudregister
2025-01-29 20:20:05,876 INFO:Using API: regionInfo
2025-01-29 20:20:05,981 INFO:Region server arguments: ?regionHint=northcentralus
2025-01-29 20:20:05,981 INFO:Getting update server information, attempt 1
2025-01-29 20:20:05,981 INFO:   Using region server: 104.45.31.195
2025-01-29 20:20:06,184 ERROR:  No response from: 104.45.31.195
2025-01-29 20:20:06,184 INFO:   Using region server: 23.100.36.229
2025-01-29 20:20:06,286 ERROR:  No response from: 23.100.36.229
2025-01-29 20:20:06,286 INFO:   Using region server: 52.187.53.250
2025-01-29 20:20:06,915 INFO:No current registration server set.
2025-01-29 20:20:06,917 ERROR:No response from: [('23.101.171.119', '2603:1030:603::2e9'), ('23.101.164.199', '2603:1030:603::625'), ('23.96.231.74', '2603:1030:603::2e6')]

De uitvoer geeft aan dat er een verbindingsfout bestaat. Deze indicatie is echter niet waar. Dit treedt op omdat in het proces voor foutafhandeling in de registratiescripts de certificaatfouten van de oude bibliotheken niet worden weergegeven.

De scriptuitvoer kan ook per ongeluk aangeven dat een certificaat voor een van de SMT-IP's die worden weergegeven in de sudo tail /var/log/cloudregister opdrachtuitvoer niet kan worden gevonden. Dit probleem is ook een bibliotheekprobleem, niet een probleem dat van invloed is op de CA-lijst op de VIRTUELE machine.

Oorzaak

Als exemplaren niet regelmatig worden bijgewerkt, kunnen ze niet compatibel zijn met de API voor de update-infrastructuur. Deze situatie veroorzaakt een fout in de opslagplaatsen die nodig zijn om een exemplaar bij te werken.

Oplossing

  1. Maak een PAYG-instantie met hetzelfde besturingssysteem als dat met de beschadigde repositories.

  2. Een tijdelijke map maken:

    sudo mkdir -p /root/packages/rpms
    
  3. Download de volgende pakketten op basis van SLES-versies van de betreffende VM:

    SLES 12

    sudo zypper --pkg-cache-dir /root/packages/ download cloud-regionsrv-client cloud-regionsrv-client-plugin-azure regionServiceClientConfigAzure python3-azuremetadata python3-cssselect python3-lxml python3-M2Crypto python3-zypp-plugin python3-dnspython suseconnect-ruby-bindings suseconnect-ng
    

    SLES 15

    sudo zypper --pkg-cache-dir /root/packages/ download cloud-regionsrv-client cloud-regionsrv-client-plugin-azure regionServiceClientConfigAzure python3-azuremetadata suseconnect-ng python3-cssselect python3-toml python3-lxml python3-M2Crypto python3-zypp-plugin python3-dnspython libsuseconnect suseconnect-ruby-bindings docker docker-bash-completion runc containerd libcontainers-common bash-completion
    
  4. Voer de volgende opdrachten uit:

    sudo find /root/packages/ -type f -name "*.rpm" -exec cp {} /root/packages/rpms/ \;
    sudo cd /root/packages
    sudo tar -czvf suse-public-registration.tgz rpms
    
  5. Overdracht suse-public-registration.tgz naar het verbroken exemplaar:

    sudo scp /root/packages/suse-public-registration.tgz user@targetip:/tmp
    

    Opmerking

    Vervang user en targetip indien van toepassing.

  6. Meld u aan bij het verbroken exemplaar om de pakketten te extraheren en te installeren:

    sudo cd tmp
    sudo tar xvfz suse-public-registration.tgz
    sudo cd rpms
    sudo zypper --no-refresh --no-remote --non-interactive install --force *.rpm
    
  7. Registreer de VIRTUELE machine opnieuw:

    sudo registercloudguest --force-new
    

Zie Opslagplaatsen van cloudexemplaren mislukken vanwege verouderde pakketten voor meer informatie.

Scenario 3: Algemene registratieproblemen

Oorzaak

Uw VIRTUELE machine heeft verouderde referenties voor toegang tot de opslagplaats of u ontvangt berichten die aangeven dat uw systeem niet wordt geregistreerd nadat u updates of installaties hebt uitgevoerd.

Oplossing

Als u de meeste registratieproblemen wilt oplossen, geeft u de combinatie van de SUSEConnect-opschoonopdracht en de opdracht registercloudguest op met behulp van de force-new parameter:

sudo SUSEConnect --cleanup
sudo registercloudguest --force-new

Opmerking

Als de VM SLES SAP is, kunt u de opdracht ook uitvoeren met behulp van de naam van het SLES SAP-product:

  1. Voer de SUSEConnect opdracht uit om de huidige registratiestatus op te halen, inclusief de naam van het SLES SAP-product:
    sudo SUSEConnect --url https://smt-azure.susecloud.net --status-text
    
  2. Voer de SUSEConnect opdracht uit met behulp van de productnaam om het product te activeren:
    sudo SUSEConnect --url https://smt-azure.susecloud.net --product <SLES-SAP-product-name>
    

Als deze opdrachten mislukt, schoont u alle gegevens van de opslagplaats op en probeert u de virtuele machine te registreren. Eventuele foutberichten met betrekking tot de certificaten en andere onderdelen moeten verdwijnen. Voer de volgende opdrachten uit:

sudo SUSEConnect --cleanup
sudo rm /etc/zypp/{credentials,services,repos}.d/*
sudo rm --force --recursive /var/cache/zypp/*
sudo rm /var/lib/cloudregister/*
sudo registercloudguest --force-new

Controleer ten slotte de status van de VM-registratie door SUSEConnect opnieuw uit te voeren:

sudo SUSEConnect --status

Zoek in de uitvoer van de JSON-opdracht naar een "status":"Registered" vermelding.

Scenario 4: Geen geteste gegevens geleverd (422)

Nadat u het diagnostische script voor de opslagplaats hebt uitgevoerd, ziet u mogelijk de volgende foutvermelding wanneer het script probeert problemen op te lossen die van invloed zijn op:zypper update

Error: Activating SLES_SAP 12.5 x86_64 ... Error: Registration server returned 'Instance verification failed: No attested data supplied' (422)

Oorzaak

De VM's kunnen geen verbinding maken met SUSE-opslagplaatsen vanwege verouderde SUSE Public Cloud-pakketten.

Oplossing

  1. Voer het diagnostische script van de opslagplaats opnieuw uit.

  2. Als de fout '422' zich blijft voordoen, wijzigt u het /etc/regionserverclnt.cfg configuratiebestand zodat het overeenkomt met de volgende tekst:

    [server]
    api = regionInfo
    certLocation = /var/lib/regionService/certs
    regionsrv = 23.100.36.229,40.121.202.140,52.187.53.250,104.45.31.195,191.237.254.253
    
    [instance]
    dataProvider = /usr/bin/azuremetadata --api latest --subscriptionId --billingTag --attestedData --signature --xml
    instanceArgs = msftazure
    httpsOnly = true
    
  3. Registreer de VM opnieuw:

    sudo registercloudguest --force-new
    

Scenario 5: Fouten voor bepaalde modules bij het registreren bij de SUSE-opslagplaatsen

Wanneer u de VM probeert te registreren bij de SUSE-opslagplaatsen, ziet u de volgende foutvermeldingen in /var/log/cloudregister:

2024-01-31 19:22:44,947 INFO:Registration: /usr/sbin/SUSEConnect --url https://smt-azure.susecloud.net --product sle-module-legacy/12/x86_64 --instance-data /var/cache/cloudregister/0fc8a276-273c-4bd9-838d-6a2a41a637b0
2024-01-31 19:22:45,492 ERROR:  Registration failed: SUSEConnect error: Downloading https://smt-azure.susecloud.net/repo/SUSE/Products/SLE-Module-Legacy/12/x86_64/product.license/directory.yast failed (code: 401): <html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx/1.21.5</center>
</body>
</html>

Oorzaak

Het probleem wordt veroorzaakt door een fout in versie 1.4.0 van het suseconnect-ng pakket.

Deze fouten treden alleen op in de volgende modules:

  • sle-module-legacy
  • sle-module-webscripting
  • sle-module-hpc
  • sle-sdk

Oplossing

  1. Verplaats de volgende bestanden van de /etc/products.d map naar de /tmp map:

    • sle-module-hpc.prod
    • sle-module-legacy.prod
    • sle-module-web-scripting.prod
    • sle-sdk.prod
    sudo cd /etc/products.d 
    sudo mv sle-module-hpc.prod sle-module-legacy.prod sle-module-web-scripting.prod sle-sdk.prod /tmp 
    
  2. Registreer de VM bij de SUSE-opslagplaatsen:

    sudo registercloudguest --force-new
    
    Registration should now be successful.
    
  3. Vernieuw de cache van de opslagplaats:

    sudo zypper ref -s  
    
  4. Werk het suseconnect-ng pakket indien nodig bij naar versie 1.6.0 of een latere versie:

    Opmerking

    Voer de volgende opdracht uit om de versie van suseconnect-ngte controleren:

    sudo  rpm -q suseconnect-ng
    
     suseconnect-ng-1.4.0~git0.b0f7c25bfdfa-3.3.8.x86_64
    
    sudo zypper up suseconnect-ng
    
  5. Nadat suseconnect-ng deze is bijgewerkt, herstelt u de moduledefinitiebestanden naar /etc/products.d:

    sudo cd /tmp  
    sudo mv sle-module-hpc.prod sle-module-legacy.prod sle-module-web-scripting.prod sle-sdk.prod /etc/products.d
    
  6. Voer de registratie opnieuw uit naar de opslagplaatsen:

    sudo registercloudguest --force-new
    
    Registration Successful
    

Scenario 6: Registratie mislukt met de fout 'WAARSCHUWING:Onbekende vermelding gevonden in referentiebestand 'system_token=''

Het waarschuwingsbericht 'Gevonden onbekende vermelding in referentiebestand 'system_token=', wordt geregistreerd in het /var/log/cloudregister logboek en de VIRTUELE machine kan zich niet registreren bij de openbare SUSE-cloudopslagplaatsen:

2023-10-24 17:50:58,140 DEBUG:Starting new HTTPS connection (1): smt-azure.susecloud.net:443
2023-10-24 17:50:58,243 ERROR:Registration with ('52.237.80.2', None) failed. Trying ('52.139.216.51', None)
2023-10-24 17:50:58,244 WARNING:Found unknown entry in credentials file "system_token=
"
2023-10-24 17:50:58,244 INFO:No current registration server set.
2023-10-24 17:50:58,247 INFO:Modified /etc/hosts, added: 52.139.216.51 smt-azure.susecloud.net smt-azure
2023-10-24 17:53:34,841 WARNING:Found unknown entry in credentials file "system_token=
"

Oorzaak

Het probleem treedt op vanwege een verkeerde tijdelijke certificaatbundel, ca-bundle.pem.tmp.

Oplossing

  1. Verwijder het bestand en werk het ca-certificatesvolgende bij:

    sudo registercloudguest --clean
    sudo rm /var/lib/ca-certificates/ca-bundle.pem.tmp
    
  2. Werk de certificaten bij:

    sudo update-ca-certificates
    
  3. Registreer de VIRTUELE machine als volgende:

    sudo registercloudguest --force-new
    

Scenario 7: VM maakt geen verbinding met SMT vanwege een azuremetadata-fout

Wanneer /var/log/cloudregister dit is ingeschakeld, wordt het volgende azuremetadata-foutbericht weergegeven:

sudo tail -10 /var/log/cloudregister
2020-10-30 22:47:43,200 INFO:No current registration server set.
2020-10-30 22:47:43,222 INFO:Modified /etc/hosts, added: 52.147.176.11 smt-azure.susecloud.net smt-azure

2020-10-30 22:48:03,358 ERROR:Data collected from stderr for instance data collection "b'An error occurred when fetching metadata:\ntimed out\nAn error occurred when fetching metadata:\ntimed out\nusage: azuremetadata [-h] [-x] [-j] [-o OUTPUT] [-a API] [--device [DEVICE]]\n [--attestedData [ATTESTEDDATA]]\n [--billingTag [BILLINGTAG]]\nazuremetadata: error: unrecognized arguments: --subscriptionId\n'"
2020-10-30 22:48:04,519 INFO:Writing SMT rootCA: /usr/share/pki/trust/anchors
2020-10-30 22:48:04,526 INFO:Updating CA certificates: update-ca-certificates
2020-10-30 22:48:06,569 INFO:No credentials entry for "*smt-azure_susecloud_net"
2020-10-30 22:48:06,608 ERROR:Unable to obtain product information from server "52.147.176.11,None"
Unprocessable Entity
{"type":"error","error":"The requested product 'SUSE Linux Enterprise Server for SAP Applications 15 SP2 x86_64' is not activated on this system.","localized_error":"The requested product 'SUSE Linux Enterprise Server for SAP Applications 15 SP2 x86_64' is not activated on this system."}
Unable to register modules, exiting.

Vanwege de azuremetadata-fout kan de VM geen verbinding maken met de Azure SUSE Cloud-opslagplaats, zoals wordt weergegeven in de volgende uitvoer:

sudo  SUSEConnect -s
Error: Invalid system credentials, probably because the registered system was deleted in SUSE Customer Center. Check https://scc.suse.com whether your system appears there. If it does not, please call SUSEConnect --cleanup and re-register this system.
sudo zypper repos
Warning: There are no enabled repositories defined. Use 'zypper addrepo' or 'zypper modifyrepo' commands to add or enable repositories.

Oorzaak 1

De --subscriptionId vermelding is aanwezig in het configuratiebestand /etc/regionserverclnt.cfg. Dit veroorzaakt een fout in de azuremetadata opdracht:

sudo cat /etc/regionserverclnt.cfg
[server]
api = regionInfo

certLocation = /var/lib/regionService/certs
regionsrv = 23.100.36.229,40.121.202.140,52.187.53.250,104.45.31.195,191.237.254.253

[instance]
dataProvider = /usr/bin/azuremetadata --api 2019-08-15 --subscriptionId --billingTag --xml
instanceArgs = msftazure

Oplossing 1

  1. Verwijderen --subscriptionId in het configuratiebestand /etc/regionserverclnt.cfg:

    sudo sed -i "s/--subscriptionId //" regionserverclnt.cfg
    
  2. Registreer de VM opnieuw:

    sudo SUSEConnect --cleanup
    sudo rm -f /etc/SUSEConnect
    sudo rm -rf /etc/zypp/credentials.d/\*
    sudo rm /var/lib/cloudregister/*
    sudo rm /var/cache/zypp/*
    sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts
    sudo registercloudguest --force-new
    

Oorzaak 2

Wanneer u de SUSE-server registreert bij de opslagplaats met behulp van de /usr/sbin/registercloudguest --force-new opdracht, treedt er een fout op. De uitvoer van de opdracht geeft niet aan dat de registratie is geslaagd omdat het /etc/zypp/credentials.d/SCCcredentials bestand is beschadigd.

Oplossing 2

  1. /etc/zypp/credentials.d De map verplaatsen naar een tijdelijke map:

    sudo mv /etc/zypp/credentials.d /tmp
    
  2. Registreer de VM opnieuw:

    sudo SUSEConnect --cleanup
    sudo rm -f /etc/SUSEConnect
    sudo rm -rf /etc/zypp/credentials.d/\*
    sudo rm /var/lib/cloudregister/*
    sudo rm /var/cache/zypp/*
    sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts
    sudo registercloudguest --force-new
    

Scenario 8: SUSE-registratie mislukt vanwege compatibiliteitsproblemen met Python 3.11 in SLES 15 SP5

Wanneer u het SUSE-opslagplaatscontrolescript uitvoert, wordt screpocheck.py een ModuleNotFoundError: No module named 'cloudregister' foutbericht weergegeven:

sudo python3 sc-repocheck.py
2024-08-07 13:53:29,261 INFO:sc-repocheck 1.3.1 
2024-08-07 13:53:29,291 INFO: Checking package versions. 2024-08-07 13:53:29,307 INFO: Package versions OK. 2024-08-07 13:53:29,312 INFO: Checking baseproduct.
2024-08-07 13:53:29,316 INFO: SLES baseproduct OK.
2024-08-07 13:53:29,321 INFO: Checking /etc/hosts for multiple records. 2024-08-07 13:53:29,325 WARNING: No rmt records exist.
2024-08-07 13:53:29,325 INFO: Checking metadata access.
2024-08-07 13:53:29,360 INFO: Metadata OK.
2024-08-07 13:53:29,364 INFO: Checking regionserver access.
2024-08-07 13:53:31,160 INFO: Region server access OK.
2024-08-07 13:53:31,165 INFO: Checking RMT server entry is for correct region.
2024-08-07 13:53:31,241 ERROR: Cannot get IP of RMT server entry.
2024-08-07 13:53:31,252 INFO: http check unnecessary.
2024-08-07 13:53:31,246 INFO: Checking http port access to RMT servers.
2024-08-07 13:53:31,257 INFO: Checking https port access to RMT servers.
2024-08-07 13:53:31,337 INFO: https access OK.
2024-08-07 13:53:31,342 INFO: Checking https access using RMT certs.
2024-08-07 13:53:31,442 INFO: An exception of type ConnectionError occurred. Disregarding.
2024-08-07 13:53:31,449 INFO: EVERYTHING OK.
2024-08-07 13:53:31,453 INFO: Collecting debug data. Please wait 1-2 minutes maybe longer, depending on machine type. Traceback (most recent call last):
File "/usr/bin/azuremetadata", line 11, in <module>
from azuremetadata import azuremetadatautils, azuremetadata
ModuleNotFoundError: No module named 'azuremetadata'
2024-08-07 13:53:31,565 ERROR: PROBLEM: Issue with azuremetadata output. Check metadata access. Traceback (most recent call last):
File "/usr/sbin/registercloudguest", line 43, in <module>
import cloudregister.registerutils as utils
ModuleNotFoundError: No module named 'cloudregister'
2024-08-07 13:53:34,656 INFO: Check repositories. An attempt was made to fix.
2024-08-07 13:53:34,659 INFO: Debug data location: /var/log/sc-repocheck_240807_135331.tar.xz
2024-08-07 13:53:34,671 INFO: Report bugs to https://github.com/SUSE/susecloud-repocheck/issues

Oorzaak

Er zijn geen ondersteunde modules beschikbaar in combinatie met Python 3.11.

Tijdelijke oplossing

Volgens SUSE biedt het pakket nog geen ondersteuning voor Python 3.11 op SLES15 SP5. Gebruik Python 3.11 niet als standaard-interpreter python3 op bestaande SLES-systemen omdat deze momenteel niet wordt ondersteund in alle SLES-systemen.

Zie incompatibele wijzigingen voor openbare cloud-sdks voor meer informatie.

Als u het probleem wilt omzeilen, stelt u de VM in op het gebruik van de standaard Python-versie 3.6:

  1. Wijs de Python-versie aan op 3.6.x:

    sudo unlink /usr/bin/python3
    sudo ln -s /usr/bin/python3.6 /usr/bin/python3
    
  2. Controleer de python3 versie op de VM:

    sudo python3 --version
    
    Python 3.6.15
    
  3. Registreer de VM opnieuw:

    sudo /usr/sbin/registercloudguest --force-new
    
    Registration succeeded
    
  4. Controleer of de VM is geregistreerd:

    sudo SUSEConnect -s 
    
    [{"identifier":"SLES", "version":"15.5","arch":"x86_64","status":"Registered"},{"identifier": "sle-module-basesystem", "version":"15.5","arch":"x86_6
    ,"status":"Registered"},{"identifier": "sle-module-containers", "version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-de top-applications","version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-development-tools","version":"15.5"," 64","status":"Registered"},{"identifier":"sle-module-public-cloud", "version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-modu -python3","version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-server-applications","version":"15.5","arch":"x86 64",
    tatus":"Registered"}, {"identifier": "sle-module-web-scripting", "version":"15.5","arch":"x86 64","status":"Registered"}]
    

Volgende stappen

Als uw probleem niet is opgelost, maakt u een ondersteuningsaanvraag en voegt u een kopie van het sc-repocheck_\<YYMMDD_hhmmss>.tar.xzq logboek toe voor verdere probleemoplossing.

Meer informatie

Zie Ondersteuning voor Linux en opensource-technologie in Azure voor meer informatie over goedgekeurde Linux-distributies en opensource-technologieën in Azure.

Disclaimerinformatie van derden

De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.

Disclaimer voor contactgegevens van derden

Microsoft verstrekt contactgegevens van derden om u te helpen bij het vinden van extra informatie over dit onderwerp. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft kan niet instaan voor de juistheid van contactgegevens van derden.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.