PowerFlex 3.6 : certificat puppet manquant pour la passerelle PowerFlex dans device_config
Summary: Cet article explique comment identifier et résoudre les problèmes causés par l’absence du certificat puppet-cert pour la passerelle PowerFlex dans la table device_config de la base de données. ...
Symptoms
-
Opérations liées aux services telles que la mise à niveau de RCM/IC, l’entrée ou la sortie du mode maintenance, etc. échouera.
-
Le deployment.log contient une erreur similaire à celle ci-dessous.
-
Erreur de l’API REST VXOS rencontrée dans post_request : Méthode non définie '[]' pour nil :NilClass
-
Nous remarquons que deux noms différents sont répertoriés pour la passerelle PowerFlex sous Ressources dans PowerFlex Manager.
Exemple :

Cause
La façon dont PFxM récupère les informations de configuration de l’appareil dans la version 3.7.x et les versions ultérieures est modifiée pour utiliser les entrées de base de données qui sont découpées du nom du certificat puppet.
Une opération entraîne la modification du nom signalé de la passerelle dans PFxM. La passerelle est soit réinstallée avec un autre nom d’hôte, soit le certificat SSL est modifié.
Le tableau Database ne contenait qu’une entrée pour le nom de la passerelle PowerFlex actuelle, mais les services voient l’ancien nom de la passerelle PowerFlex.
Resolution
Vérification:
1) Accédez à l’ID de tâche sous /opt/Dell/ASM/deployments/Job-xxx<> où les opérations liées au service du nœud échouent.
Exemple : cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Exécutez la commande ci-dessous pour identifier le certificat puppet que le service tente d’utiliser.
cat deployment.json|grep -i cert|grep scaleio
Exemple: [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) Connectez-vous à la base de données asm_dev et vérifiez les noms de certificat présents pour la passerelle scaleio.
psql -U orion asm_dev
asm_dev=> select certname dans device_config où certname like 'scaleio-%' ;
Exemple :
asm_dev=> select certname dans device_config où certname like 'scaleio-%' ;
nom
de certificat ----------------------
scaleio-powerflex_gw
(1 ligne)
4) Assurez-vous que le certificat puppet que nous avons remarqué dans le fichier deployment.jason est manquant dans la base de données. Dans cet exemple, il s’agit de « scaleio-sio_gw » et il est absent de la base de données.
Ne poursuivez les étapes ci-dessous que si l’étape 4 est vraie.
1) Prenez un snapshot de la machine virtuelle PowerFlex Manager.
2) Exécutez la requête ci-dessous et notez les valeurs des champs (certname, host, provider, scheme, credential_id) pour la passerelle actuelle. Dans cet exemple, la passerelle actuelle est scaleio-powerflex_gw.
asm_dev=> select * from device_config étaient certname comme 'scaleio-%' ;
Pièce d’identité | Nom du certificat | Animateur | Port | chemin d’accès | fournisseur | Schéma | 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 | Scénario | Scénario | FF8080816E8E8257016E8E96DF6D00E5 | | | | | | 2022-04-13 07:01:26974846-04 | |
.
3) Exécutez la requête ci-dessous pour ajouter une nouvelle entrée dans le tableau device_config pour le certificat manquant.
Note:-Dans la commande ci-dessous, remplacez les champs VALUES par la valeur appropriée.
INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('<Nom de certificat> manquant', '<Valeur de la passerelle actuelle notée à l’étape précédente', '<Valeur de la passerelle actuelle notée à l’étape>> précédente', '<Valeur de la passerelle actuelle notée à l’étape précédente', '<Valeur de la passerelle actuelle notée à l’étape>> précédente') ;
Exemple: asm_dev=> INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8e96df6d00e5') ;
INSÉRER 0 1
4) Exécutez la requête ci-dessous pour confirmer que la nouvelle entrée pour le certificat manquant a été ajoutée.
Sélectionnez certname dans device_config où certname like 'scaleio-%' ;
Exemple :
asm_dev=> select certname dans device_config où certname like 'scaleio-%' ;
nom
de certificat ----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(deux lignes)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Réessayez l’opération dans PowerFlex Manager.