PowerFlex 3.6: certificato puppet mancante per il gateway PowerFlex in device_config
Summary: Questo articolo spiega come identificare e risolvere i problemi causati dal certificato puppet mancante per il gateway PowerFlex nella tabella device_config nel database.
Symptoms
-
Operazioni relative ai servizi, come upgrade RCM/IC, accesso o uscita dalla modalità di servizio e così via. fallirà.
-
La deployment.log contiene un errore simile al seguente.
-
Errore API REST VXOS riscontrato in post_request: Metodo non definito '[]' per nil:NilClass
-
Possiamo notare due nomi diversi elencati per il gateway PowerFlex nelle risorse in PowerFlex Manager.
Esempio:

Cause
Il modo in cui PFxM recupera le informazioni di configurazione del dispositivo nella versione 3.7.x e successive è stato modificato per utilizzare le voci del database codificate con il nome del certificato puppet.
Un'operazione ha causato la modifica del nome segnalato del gateway in PFxM. Il gateway viene reinstallato con un nome host diverso o il certificato SSL viene modificato.
Nella tabella Database è presente solo una voce per il nome corrente del gateway PowerFlex, mentre i servizi visualizzano il nome del gateway PowerFlex precedente.
Resolution
Verifica:
1) Passare all'ID del lavoro in /opt/Dell/ASM/deployments/Job-xxx<> dove le operazioni relative al servizio per il nodo hanno esito negativo.
Esempio: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Eseguire il comando riportato di seguito per identificare il certificato puppet che il servizio sta tentando di utilizzare.
cat deployment.json|grep -i cert|grep scaleio
Esempio: [delladmin@pfxm-giada 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-giada Job-913d3f1a-b7cd-4fe9-a4b5-2085d8034d17-0-0]$
3) Connettersi al database asm_dev e verificare i nomi dei certificati presenti per il gateway ScaleIO.
psql -U orion asm_dev
asm_dev=> seleziona certname da device_config dove certname come 'scaleio-%';
Esempio:
asm_dev=> seleziona certname da device_config dove certname come 'scaleio-%';
Nome cert----------------------
ScaleIO-powerflex_gw
(1 riga)
4) Assicurarsi che il certificato puppet rilevato nel file deployment.jason non sia presente nel database. In questo esempio è "scaleio-sio_gw" e non è presente nel database.
Procedere con i passaggi riportati di seguito solo se il passaggio 4 è true.
1) Eseguire un'istantanea della VM di PowerFlex Manager.
2) Eseguire la query seguente e annotare i valori per i campi (nome certificato, host, provider, schema credential_id) per il gateway corrente In questo esempio, il gateway corrente è scaleio-powerflex_gw.
asm_dev=> select * da device_config erano certname come 'scaleio-%';
Documento d'identità | Nome certificato | Ospite | porto | percorso | fornitore | Schema | 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 | sceneggiatura | sceneggiatura | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 2022-04-13 07:01:26974846-04 | |
.
3) Eseguire la query seguente per aggiungere una nuova voce nella tabella device_config per il certificato mancante.
Nota:-Nel comando seguente, sostituisci i campi VALUES con il valore corretto.
INSERT INTO device_config (nome certificato, host, provider, schema, credential_id) VALUES('<Nome certificato> mancante', '<Valore del gateway corrente annotato nel passaggio> precedente', '<Valore del gateway corrente annotato nel passaggio> precedente', '<Valore del gateway corrente annotato nel passaggio precedente', '<Valore del gateway corrente annotato nel passaggio>> precedente');
Esempio: asm_dev=> INSERT INTO device_config (nome certificato, host, provider, schema, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8e96df6d00e5');
INSERTO 0 1
4) Eseguire la query seguente per confermare che sia stata aggiunta la nuova voce per il certificato mancante.
Selezionare certname da device_config where certname come 'scaleio-%';
Esempio:
asm_dev=> seleziona certname da device_config dove certname come 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(due righe)
asm_dev-> \q
[delladmin@pfxm-giada ~]$
5) Riprovare l'operazione in PowerFlex Manager.