PowerFlex 3.6 Puppet-certifikat saknas för PowerFlex Gateway i device_config
Summary: I den här artikeln beskrivs hur du identifierar och åtgärdar problem som orsakas av att puppet-cert för PowerFlex Gateway saknas i tabellen device_config i databasen.
Symptoms
-
Tjänsterelaterade åtgärder som RCM/IC-uppgradering, gå in i eller avsluta serviceläge etc. kommer att misslyckas.
-
Den deployment.log innehåller liknande felet nedan.
-
VXOS REST API-fel påträffades i post_request: Odefinierad metod '[]' för nil:NilClass
-
Vi ser två olika namn för PowerFlex-gateway under resurser i PowerFlex Manager.
Exempel:

Cause
Det sätt på vilket PFxM hämtar information om enhetskonfiguration i 3.7.x och senare har ändrats för att använda databasposterna som är inskrivna i puppet-certifikatets namn.
En åtgärd orsakade att det rapporterade namnet på gatewayen ändrades i PFxM, antingen installeras gatewayen om med ett annat värdnamn eller så ändrades SSL-certifikatet.
Databastabellen hade bara en post för det aktuella namnet på PowerFlex Gateway, men tjänsterna ser det gamla namnet på PowerFlex Gateway.
Resolution
Kontroll:
1) Gå till jobb-id:t under /opt/Dell/ASM/deployments/Job-xxx<> där de tjänsterelaterade åtgärderna för noden misslyckades.
Exempel: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Kör kommandot nedan för att identifiera vilket puppet-certifikat tjänsten försöker använda.
cat deployment.json|grep -i cert|grep scaleio
Exempel: [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) Anslut till asm_dev-databasen och kontrollera om det finns certifikatnamn för scaleio-gatewayen.
psql -U orion asm_dev
asm_dev=> välj certname från device_config där certname som 'scaleio-%';
Exempel:
asm_dev=> välj certname från device_config där certname som 'scaleio-%';
certname
----------------------
scaleIO-powerflex_gw
(1 rad)
4) Kontrollera att puppet-certifikatet som vi märkte från deployment.jason-filen saknas i databasen. I det här exemplet är det "scaleio-sio_gw" och det saknas i databasen.
Fortsätt bara med stegen nedan om steg 4 är sant.
1) Ta ett snapshot av PowerFlex Manager VM.
2) Kör frågan nedan och anteckna värdena för fält (certname, värd, provider, schema credential_id) för den aktuella gatewayen I det här exemplet är den aktuella gatewayen scaleio-powerflex_gw.
asm_dev=> välj * från device_config var certname som 'scaleio-%';
Id | certname | Värd | hamn | sökväg | Leverantör | Systemet | 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 | manus | manus | FF8080816E8E8257016E8E96DF6D00E5 | | | | | | 2022-04-13 07:01:26974846-04 | |
. – Herr talman,
3) Kör frågan nedan för att lägga till en ny post i den device_config tabellen för det saknade certifikatet.
Not:-I kommandot nedan ersätter du fälten VALUES med rätt värde.
INSERT I device_config (certname, värd, provider, schema credential_id) VALUES ('<Certifikatnamn> saknas', '<Värde från aktuell gateway noterades i föregående steg>', '<Värde från aktuell gateway noterades i föregående steg>', '<Värde från aktuell gateway noterades i föregående steg>', '<Värde från aktuell gateway noterades i föregående steg>');
Exempel: asm_dev=> INFOGA I device_config (certname, värd, provider, schema, credential_id) VÄRDEN ('scaleio-sio_gw', '192.168.150.100', 'script', 'ff8080816e8e8257016e8e96df6d00e5');
SÄTT IN 0 1
4) Kör frågan nedan för att bekräfta att den nya posten för saknat certifikat har lagts till.
Välj certname från device_config där certname som 'scaleio-%';
Exempel:
asm_dev=> välj certname från device_config där certname som 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(två rader)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Försök utföra åtgärden igen i PowerFlex Manager.