PowerFlex 3.6でdevice_configにPowerFlex Gatewayの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エラー: nil:NilClass の未定義のメソッド '[]'

  • PowerFlex Managerの[resources]の下にあるPowerFlexゲートウェイには、2つの異なる名前がリストされています。

Example:

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-翡翠ジョブ-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-%';

Example:

asm_dev=> certname where certname like 'scaleio-%';device_configからcertnameを選択します
     certname
----------------------
scaleio-powerflex_gw
(1行)


4) deployment.jasonファイルから検出したpuppet証明書がデータベースにないことを確認します。この例ではscaleio-sio_gw であり、データベースに存在しません


手順4が該当する場合にのみ、次の手順に進みます

1) PowerFlex Manager VMのスナップショットを作成します。

2) 次のクエリーを実行し、現在のゲートウェイのフィールド(certname、host、provider、scheme、credential_id)の値を書き留めます。この例では、現在のゲートウェイは
scaleio-powerflex_gwです。

asm_dev=> select * from device_config were certname like 'scaleio-%';
ID番号 |       証明書名 |     ホスト |ポート |          パス |プロバイダー |スキーム |         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 note down in previous step>', '<Value from current gateway note down in previous step>', '<Value from current gateway note down in previous step>', '<Value from current gateway note down 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', 'ff8080816e8e8e8257016e8e96df6d00e5');
挿入 0 1


4) 以下のクエリーを実行して、見つからない証明書の新しいエントリーが追加されていることを確認します。

certname like 'scaleio-%'のdevice_configからcertnameを選択します。

Example:

asm_dev=> certname where certname like 'scaleio-%';device_configからcertnameを選択します
     certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(2 行)

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.