PowerFlex 3.6 缺少 device_config 中的 PowerFlex 网关的 puppet 证书

Summary: 本文介绍如何识别和修复由于数据库的 device_config 表中缺少 PowerFlex Gateway 的 puppet-cert 而导致的问题。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

  • 与服务相关的作,例如 RCM/IC 升级、进入或退出服务模式等...将失败。

  • deployment.log包含类似于以下错误的内容。

  • 在post_request中遇到 VXOS REST API 错误:undefined method '[]' for nil:NilClass

  • 我们可以看到,在 PowerFlex Manager 中的资源下列出了两个不同的 PowerFlex 网关名称。

示例:

GW_Screenshot.png

Cause

在 3.7.x 及更高版本中,PFxM 检索设备配置信息的方式已更改为使用与 puppet 证书名称无关的数据库条目。
某些作导致报告的网关名称在 PFxM 中更改,或者使用不同的主机名重新安装网关或更改了 SSL 证书。
数据库表仅具有当前 PowerFlex Gateway名称的条目,但服务会查看旧的 PowerFlex Gateway名称。

Resolution

验证:
1) 转至 /opt/Dell/ASM/deployments/Job-xxx<> 下的作业 ID,其中节点的服务相关作失败。
示例:cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) 运行以下命令以确定服务尝试使用的 puppet 证书。

cat deployment.json|grep -i cert|grep scaleio
例:
[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) 连接到 asm_dev 数据库并检查 scaleio 网关存在的证书名。

psql -U orion asm_dev
asm_dev=> select certname from device_config where certname like 'scaleio-%';

示例:

asm_dev=> select certname from device_config where certname like 'scaleio-%';
     certname
----------------------
scaleio-powerflex_gw
(1 row)


4) 确保数据库中缺少我们从 deployment.jason 文件中注意到的 puppet 证书。在此示例中,它是scaleio-sio_gw ,数据库中缺少它。


仅当步骤 4 为 true 时,才继续执行以下步骤。

1) 拍摄 PowerFlex Manager 虚拟机的快照。

2) 运行以下查询并记下当前网关的字段(certname、host、provider、scheme、credential_id)的值。在此示例中,当前网关为
scaleio-powerflex_gw

asm_dev=> select * from device_config are certname like 'scaleio-%';
编号 |       证书名称 |     主持人 |端口 |          路径 |提供者 |方案 |         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 |脚本 |脚本 |ff8080816e8e8257016e8e96df6d00e5 |                 |                     |        |                  |            |2022-04-13 07:01:26974846-04 |         |


3) 运行以下查询以在device_config表中为缺少的证书添加新条目。
注意:-在以下命令中,将 VALUES 字段替换为正确的值。

 

INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('<Missing cert name>', '<Value from current gateway noted in previous step>', '<value from current gateway noted in previous step>', '<value from current gateway noted in previous step>', '<value from current gateway noted in previous step>');

例: 
asm_dev=> INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8e96df6d00e5');
插入 0 1


4) 运行以下查询以确认添加了缺少证书的新条目。

从 device_config 中选择 certname,其中 certname like 'scaleio-%';

示例:

asm_dev=> select certname from device_config where certname like 'scaleio-%';
     certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(two rows)

asm_dev-> \q
[delladmin@pfxm-jade ~]$


5) 在 PowerFlex Manager 中重试此作。

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000198386
Article Type: Solution
Last Modified: 09 Jun 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.