PowerFlex 3.6 Falta el certificado puppet para el gateway de PowerFlex en device_config
Summary: En este artículo, se explica cómo identificar y corregir los problemas causados por la falta de puppet-cert para el gateway de PowerFlex en la tabla device_config en la base de datos.
Symptoms
-
Operaciones relacionadas con el servicio, como la actualización de RCM/IC, la entrada o salida del modo de servicio, etc. fracasará.
-
El deployment.log contiene un mensaje similar al siguiente error.
-
Se encontró un error de API REST de VXOS en post_request: Método indefinido '[]' para nil:NilClass
-
Podemos ver dos nombres diferentes enumerados para el gateway de PowerFlex en recursos en PowerFlex Manager.
Ejemplo:

Cause
La manera en que PFxM recupera la información de configuración del dispositivo en 3.7.x y versiones posteriores cambió para utilizar las entradas de la base de datos que están separadas del nombre del certificado puppet.
Algunas operaciones hicieron que el nombre informado del gateway cambiara en PFxM, ya sea que el gateway se reinstalara con un nombre de host diferente o que se cambiara el certificado SSL.
La tabla Database solo tenía una entrada para el nombre actual del gateway de PowerFlex, pero los servicios ven el nombre anterior del gateway de PowerFlex.
Resolution
Verificación:
1) Vaya al ID de trabajo en /opt/Dell/ASM/deployments/Job-xxx<> donde fallaron las operaciones relacionadas con el servicio para el nodo.
Ejemplo: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Ejecute el siguiente comando para identificar qué certificado puppet intenta utilizar el servicio.
cat deployment.json|grep -i cert|grep scaleio
Ejemplo: [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) Conéctese a la base de datos de asm_dev y compruebe los nombres de certificado que están presentes para el gateway de ScaleIO.
psql -U orion asm_dev
asm_dev=> seleccione certname de device_config donde certname como 'scaleio-%';
Ejemplo:
asm_dev=> seleccione certname de device_config donde certname como 'scaleio-%';
CertName
----------------------
ScaleIO-powerflex_gw
(1 fila)
4) Asegúrese de que el certificado puppet que observamos en el archivo deployment.jason no esté presente en la base de datos. En este ejemplo, es "scaleio-sio_gw" y falta en la base de datos.
Solo continúe con los pasos que se indican a continuación si el paso 4 es verdadero.
1) Tome una instantánea de la VM de PowerFlex Manager.
2) Ejecute la siguiente consulta y anote los valores de los campos (certname, host, provider, scheme, credential_id) del gateway actual En este ejemplo, el gateway actual es scaleio-powerflex_gw.
asm_dev=> select * de device_config fueran certname como 'scaleio-%';
ID | Certname | Anfitrión | Puerto | Ruta | Proveedor | Esquema | 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 | Guión | Guión | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 13/04/2022 07:01:26974846-04 | |
.
3) Ejecute la siguiente consulta para agregar una nueva entrada en la tabla de device_config para el certificado faltante.
Nota:-En el siguiente comando, reemplace los campos VALORES con el valor adecuado.
INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('<Falta el nombre> del certificado', '<Valor de la puerta de enlace actual anotado en el paso> anterior', '<Valor de la puerta de enlace actual anotado en el paso> anterior', '<Valor de la puerta de enlace actual anotado en el paso> anterior', '<Valor de la puerta de enlace actual anotado en el paso> anterior');
Ejemplo: asm_dev=> INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8257016e8e96df6d00e5');
INSERTAR 0 1
4) Ejecute la siguiente consulta para confirmar que se agregó la nueva entrada para el certificado faltante.
Seleccione certname de device_config en el que certname como 'scaleio-%';
Ejemplo:
asm_dev=> seleccione certname de device_config donde certname como 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(dos filas)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Vuelva a intentar la operación en PowerFlex Manager.