PowerFlex 3.6. Отсутствует сертификат puppet для PowerFlex Gateway в device_config

Summary: В этой статье объясняется, как определить и устранить проблемы, вызванные отсутствием puppet-cert для PowerFlex Gateway в таблице device_config в базе данных.

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 содержится ошибка, аналогичная приведенной ниже.

  • Ошибка API-интерфейса REST vxos в post_request: Неопределенный метод '[]' для nil:NilClass

  • В разделе «Ресурсы» в PowerFlex Manager отображаются два разных имени для шлюза PowerFlex.

Пример:

GW_Screenshot.png

Cause

Способ получения PFxM информации о конфигурации устройства в версии 3.7.x и более поздних версиях изменен для использования записей базы данных, которые не содержат имени сертификата puppet.
Какая-то операция привела к изменению указанного имени шлюза в PFxM: либо шлюз переустанавливается с другим именем хоста, либо изменяется сертификат SSL.
В таблице базы данных содержалась запись только для текущего имени шлюза PowerFlex, но службы видят старое имя шлюза PowerFlex.

Resolution

Проверка:
1. Перейдите к идентификатору задания в разделе /opt/Dell/ASM/deployments/Job-xxx<>, где не удалось выполнить операции, связанные с обслуживанием для узла.
Пример: 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 gateway.

psql -U orion asm_dev
asm_dev=> выберите certname из device_config где certname например 'scaleio-%';

Пример:

asm_dev=> выберите certname из device_config где certname, например 'scaleio-%';
       certname
----------------------
scaleio-powerflex_gw
(1 строка)


4) Убедитесь, что в базе данных отсутствует сертификат puppet, который мы заметили из файла deployment.jason. В данном примере это «scaleio-sio_gw», и он отсутствует в базе данных.


Выполняйте следующие шаги, только если верно выполнение шага 4.

1) Создайте моментальный снимок виртуальной машины PowerFlex Manager.

2. Выполните приведенный ниже запрос и запишите значения полей (certname, host, provider, scheme, credential_id) для текущего шлюза. В этом примере текущий шлюз —
scaleio-powerflex_gw.

asm_dev=> выберите * из device_config были certname вида '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('<Отсутствует имя> сертификата', '<Значение из текущего шлюза, записанное на предыдущем шаге>', '<Значение из текущего шлюза, записанное на предыдущем шаге>', '<Значение из текущего шлюза, записанное на предыдущем шаге>', '<Значение из текущего шлюза, записанное на предыдущем шаге>');

Пример: 
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 в device_config, где certname имеет вид 'scaleio-%';

Пример:

asm_dev=> выберите certname из device_config где certname, например 'scaleio-%';
       certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(две строки)

asm_dev-> \q
[delladmin@pfxm-нефрит ~]$


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.