PowerFlex 3.6 Ontbrekend marionettencertificaat voor PowerFlex Gateway in device_config
Summary: In dit artikel wordt uitgelegd hoe u de problemen kunt identificeren en oplossen die worden veroorzaakt door ontbrekende puppet-cert voor PowerFlex Gateway in de device_config tabel in de database. ...
Symptoms
-
Servicegerelateerde bewerkingen zoals RCM/IC-upgrade, servicemodus openen of afsluiten, enz... zal mislukken.
-
De deployment.log bevat een soortgelijke fout als hieronder.
-
VXOS REST API-fout in post_request: Niet-gedefinieerde methode '[]' voor nil:NilClass
-
We zien twee verschillende namen voor PowerFlex gateway onder resources in PowerFlex Manager.
Voorbeeld:

Cause
De manier waarop PFxM apparaatconfiguratie-informatie ophaalt in 3.7.x en hoger is gewijzigd om de database-items te gebruiken die zijn gecodeerd vanuit de naam van het marionetcertificaat.
Een bewerking heeft ervoor gezorgd dat de gerapporteerde naam van de gateway is gewijzigd in PFxM, of de gateway opnieuw is geïnstalleerd met een andere hostnaam of het SSL-certificaat is gewijzigd.
De tabel Database bevatte alleen een vermelding voor de huidige PowerFlex Gatewaynaam, maar de services zien de oude PowerFlex Gatewaynaam.
Resolution
Verificatie:
1) Ga naar de taak-id onder /opt/Dell/ASM/deployments/Job-xxx<> waar de servicegerelateerde bewerkingen voor het knooppunt zijn mislukt.
Voorbeeld: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Voer de onderstaande opdracht uit om te bepalen welk marionettencertificaat de service probeert te gebruiken.
cat deployment.json|grep -i cert|grep scaleio
Voorbeeld: [delladmin@pfxm-jade Job-913d3f1a-b7cd-4fe9-a4b5-2085d8034d17-0-0]$ cat deployment.json|grep -i cert|grep scaleio.
"puppetCertName": "scaleio-sio_gw",
"puppetCertName": "scaleio-sio_gw",
[delladmin@pfxm-jade Job-913d3f1a-b7cd-4fe9-a4b5-2085d8034d17-0-0]$
3) Maak verbinding met de asm_dev database en controleer op de certificaatnamen die aanwezig zijn voor scaleio gateway.
psql -U orion asm_dev
asm_dev=> selecteer certname uit device_config waarbij certname like 'scaleio-%';
Voorbeeld:
asm_dev=> selecteer certname in device_config waarbij certname 'scaleio-%' is;
CertName
----------------------
ScaleIO-powerflex_gw
(1 rij)
4) Zorg ervoor dat het puppet-certificaat dat we hebben opgemerkt in het deployment.jason-bestand, ontbreekt in de database. In dit voorbeeld is het "scaleio-sio_gw" en ontbreekt het in de database.
Ga alleen verder met de onderstaande stappen als stap 4 waar is.
1) Maak een snapshot van de PowerFlex Manager VM.
2) Voer de onderstaande query uit en noteer de waarden voor velden (certificaatnaam, host, provider, schema credential_id) voor de huidige gateway In dit voorbeeld is de huidige gateway scaleio-powerflex_gw.
asm_dev=> select * van device_config certname als 'scaleio-%' waren;
identiteitskaart | CertName | gastheer | Haven | Pad | aanbieder | Regeling | credential_id | os_credential_id | svm_os_credential_id | os_type | svm_os_connect_ip | svm_os_type | update_time | svm_name | os_connect_ip
----+-------------------------+-----------------+------+--------------------------+----------+--------+----------------------------------+------------------+----------------------+---------+-------------------+-------------+-------------------------------+----------+---------------
49 | Scaleio-powerflex_gw | 192.168.150.100 | | scaleio/bin/ontdekking.rb | Schrift | Schrift | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 2022-04-13 07:01:26974846-04 | |
.
3) Voer de onderstaande query uit om een nieuwe vermelding toe te voegen aan de device_config tabel voor het ontbrekende certificaat.
Notitie:-Vervang in de onderstaande opdracht de velden VALUES door de juiste waarde.
INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES ('<Ontbrekende certificaatnaam>', '<Waarde van huidige gateway genoteerd in vorige stap>', '<Waarde van huidige gateway genoteerd in vorige stap', '<Waarde van huidige gateway genoteerd in vorige stap>', '<Waarde van huidige gateway genoteerd in vorige stap>>');
Voorbeeld: asm_dev=> WAARDEN device_config('scaleio-credential_id sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8257016e8e8257016e8e96df6d00e5');
INSERT 0 1
4) Voer de onderstaande query uit om te bevestigen dat de nieuwe vermelding voor ontbrekend certificaat is toegevoegd.
Selecteer certname in device_config waar certname zoals 'scaleio-%';
Voorbeeld:
asm_dev=> selecteer certname in device_config waarbij certname 'scaleio-%' is;
CertName
----------------------
ScaleIO-powerflex_gw
ScaleIO-sio_gw
(twee rijen)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Probeer de bewerking opnieuw uit te voeren in PowerFlex Manager.