PowerFlex 3.6 Certificado de fantoche ausente para o PowerFlex Gateway no device_config
Summary: Este artigo explica como identificar e corrigir os problemas causados pela falta do certificado de fantoche do PowerFlex Gateway na tabela a device_config do banco de dados.
Symptoms
-
Operações relacionadas ao serviço, como upgrade de RCM/IC, entrada ou saída do modo de serviço etc... vai falhar.
-
O deployment.log contém um erro semelhante ao abaixo.
-
Erro da API REST do VXOS encontrado no post_request: Método indefinido '[]' para nil:NilClass
-
Podemos observar dois nomes diferentes listados para o gateway do PowerFlex em recursos no PowerFlex Manager.
Exemplo:

Cause
A maneira como o PFxM recupera informações de configuração do dispositivo na versão 3.7.x e posterior é alterada para usar as entradas do banco de dados que são chaveadas com o nome do certificado do Puppet.
Algumas operações causaram a alteração do nome relatado do gateway no PFxM, ou o gateway foi reinstalado com um nome de host diferente ou o certificado SSL foi alterado.
A tabela Database tinha apenas uma entrada para o nome atual do PowerFlex Gateway, mas os serviços veem o nome antigo do PowerFlex Gateway.
Resolution
Verificação:
1) Acesse o ID do trabalho em /opt/Dell/ASM/deployments/Job-xxx<> em que as operações relacionadas ao serviço do nó apresentam falha.
Exemplo: cd /opt/Dell/ASM/deployments/Job-xxx<
>
2) Execute o comando abaixo para identificar qual certificado do Puppet o serviço está tentando usar.
cat deployment.json|grep -i cert|grep scaleio
Exemplo: [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) Conecte-se ao banco de dados asm_dev e verifique os nomes de certificado presentes para o gateway scaleio.
psql -U orion asm_dev
asm_dev=> selecione certname de device_config onde certname como 'scaleio-%';
Exemplo:
asm_dev=> selecione certname em device_config onde certname like 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
(1 linha)
4) Verifique se o certificado do fantoche que notamos no arquivo deployment.jason está ausente no banco de dados. Neste exemplo, ele é "scaleio-sio_gw" e está ausente no banco de dados.
Somente prossiga com as etapas abaixo se a etapa 4 for verdadeira.
1) Faça um snapshot da VM do PowerFlex Manager.
2) Execute a consulta abaixo e anote os valores dos campos (certname, host, provider, scheme, credential_id) do gateway atual Neste exemplo, o gateway atual é scaleio-powerflex_gw.
asm_dev=> select * de device_config eram certname como 'scaleio-%';
Id | certname | anfitrião | porto | caminho | provedor | 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 | | escalaio/bin/discovery.rb | roteiro | roteiro | ff8080816e8e8257016e8e96df6d00e5 | | | | | | 13/04/2022 07:01:26974846-04 | |
.
3) Execute a consulta abaixo para adicionar uma nova entrada na tabela device_config para o certificado ausente.
Nota:-No comando abaixo, substitua os campos VALUES pelo valor adequado.
INSERIR EM device_config (certname, host, provedor, esquema, credential_id) VALORES ('<Nome do certificado> ausente', '<Valor do gateway atual anotado na etapa> anterior', '<Valor do gateway atual anotado na etapa> anterior', '<Valor do gateway atual anotado na etapa> anterior', '<Valor do gateway atual anotado na etapa> anterior');
Exemplo: asm_dev=> INSERT INTO device_config (certname, host, provider, scheme, credential_id) VALUES('scaleio-sio_gw', '192.168.150.100', 'script', 'script', 'ff8080816e8e8257016e8e96df6d00e5');
INSERIR 0 1
4) Execute a consulta abaixo para confirmar se a nova entrada para certificado ausente foi adicionada.
Selecione certname em device_config em que certname like 'scaleio-%';
Exemplo:
asm_dev=> selecione certname em device_config onde certname like 'scaleio-%';
certname
----------------------
scaleio-powerflex_gw
scaleio-sio_gw
(duas linhas)
asm_dev-> \q
[delladmin@pfxm-jade ~]$
5) Repita a operação no PowerFlex Manager.