PowerFlex 3.6 Manglende marionetcertifikat for PowerFlex Gateway i device_config
Summary: I denne artikel forklares det, hvordan du identificerer og løser problemer, der skyldes manglende marionetcertifikat for PowerFlex Gateway i device_config-tabellen i databasen.
Symptoms
-
Servicerelaterede operationer såsom RCM/IC-opgradering, aktivering eller udtræden af servicetilstand osv. vil mislykkes.
-
Den deployment.log indeholder ligner nedenstående fejl.
-
VXOS REST API-fejl opstået under post_request: Udefineret metode '[]' for nul:NilClass
-
Vi kan se to forskellige navne angivet for PowerFlex-gateway under ressourcer i PowerFlex Manager.
Eksempel:

Cause
Den måde, hvorpå PFxM henter enhedskonfigurationsoplysninger i 3.7.x og nyere, ændres til at bruge de databaseposter, der er indtastet fra marionetcertifikatets navn.
Nogle handlinger fik det rapporterede navn på gatewayen til at ændre sig i PFxM, enten geninstalleres gatewayen med et andet værtsnavn, eller SSL-certifikatet ændres.
Databasetabellen havde kun en post for det aktuelle PowerFlex Gateway-navn, men tjenesterne ser det gamle PowerFlex Gateway-navn.
Resolution
Kontrol:
1) Gå til job-id'et under /opt/Dell/ASM/deployments/Job-xxx<,> hvor de servicerelaterede handlinger for noden mislykkes.
Eksempel: cd/opt/Dell/ASM/deployments/Job-xxx<
>
2) Kør nedenstående kommando for at identificere, hvilket marionetcertifikat tjenesten forsøger at bruge.
Cat deployment.json|grep -i cert|grep scaleio
Eksempel: [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) Opret forbindelse til den asm_dev database, og kontroller, om der er certnames til stede for ScaleIO-gateway.
psql -U orion asm_dev
asm_dev=> vælg certname fra device_config, hvor certname som 'scaleio-%';
Eksempel:
asm_dev=> vælg certname fra device_config, hvor certname som 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
(1 række)
4) Sørg for, at det marionet-cert, vi bemærkede fra filen deployment.jason, mangler i databasen. I dette eksempel er det "scaleio-sio_gw", og det mangler i databasen.
Fortsæt kun med nedenstående trin, hvis trin 4 gælder.
1) Tag et snapshot af PowerFlex Manager VM.
2) Kør nedenstående forespørgsel, og noter værdierne for felter (certname, host, provider, scheme, credential_id) for den aktuelle gateway I dette eksempel er den aktuelle gateway scaleio-powerflex_gw.
asm_dev=> vælg * fra device_config var certname som 'scaleio-%';
ID | certnavn | Vært | Havn | sti | udbyder | Ordning | 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/discovery.rb | Manuskript | Manuskript | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 2022-04-13 07:01:26974846-04 | |
.
3) Kør nedenstående forespørgsel for at tilføje en ny post i device_config-tabellen for det manglende certifikat.
Seddel:-I nedenstående kommando skal du erstatte felterne VALUES med den korrekte værdi.
INDSÆT I device_config (certname, host, provider, scheme, credential_id) VALUES ('<Manglende certnavn>', '<Værdi fra nuværende gateway noteret ned i forrige trin>', 'Værdi fra aktuel gateway noteret ned i forrige trin>', '<<Værdi fra aktuel gateway noteret ned i forrige trin>', '<Værdi fra aktuel gateway noteret ned i forrige trin>');
Eksempel: asm_dev=> INDSÆT I device_config (certname, host, provider, scheme, credential_id) VALUES ('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8e96df6d00e5');
INDSÆT 0 1
4) Kør nedenstående forespørgsel for at bekræfte, at den nye post for manglende certifikat er tilføjet.
Vælg certname fra device_config, hvor certname som 'scaleio-%';
Eksempel:
asm_dev=> vælg certname fra device_config, hvor certname som 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(to rækker)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Prøv at udføre handlingen igen i PowerFlex Manager.