AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1143713
Accepted
motorbass
motorbass
Asked: 2023-09-14 22:29:07 +0800 CST2023-09-14 22:29:07 +0800 CST 2023-09-14 22:29:07 +0800 CST

Como solucionar problemas de solicitações de API enviadas pelo módulo Ansible?

  • 772

Aqui está o contexto:
O manual a seguir (simplificado para uma tarefa para este tópico stackoverflow e para facilidade de uso) obteve resultados diferentes dependendo de onde eu o iniciei. Ele usa a coleção galaxy nutanix.ncp (testada com versão 1.9.0, 1.8.0, 1.7.0...)

O ntnx_subnets_infométodo é chamado para recuperar toda a lista de sub-redes existentes em uma instância central do prisma e é filtrado através do parâmetro name para recuperar apenas detalhes de uma VLAN específica.

---
- name: test-get-subnet-info
  hosts: localhost

  vars:
    nutanix_host: "{{ XXXXXXX }}"
    nutanix_username: "{{ XXXXXXX }}"
    nutanix_password: "XXXXXXX "

  collections:
    - nutanix.ncp
  module_defaults:
    group/nutanix.ncp.ntnx:
      nutanix_host: "{{ XXXXXXX }}"
      nutanix_username: "{{ XXXXXXX }}"
      nutanix_password: "XXXXXXX "

  tasks:
  - name: Retrieve subnet info
    ntnx_subnets_info:
      filter:
        name: "my-VLAN"

Em um servidor Debian 11, esta tarefa funciona perfeitamente, como você pode ver abaixoinsira a descrição da imagem aqui

Considerando que no meu AWX EE personalizado (testado com o docker e depois no K8s), recebi o seguinte erro que não é muito explícitoFailed to convert API response to json
insira a descrição da imagem aqui

Etapas de solução de problemas:

  • tente fazer o downgrade da coleção nutanix.ncp de 1.9.0 para 1.8.0 e 1.7.0 => ainda os mesmos resultados (funciona no debian, não no docker)
  • compare a versão ansible => ambos os ambientes são executados no núcleo ansible 2.15.4
  • compare a versão python => o ambiente de imagem do docker está em 3.9.17 e o servidor debian em 3.9.2
  • iniciar solicitações curl manuais de ambos os ambientes => tudo funciona em ambos os ambientes
  • inicie o playbook com a opção -vvvvvv e compare as diferenças no log => nutanix.ncp não é tão falador, não recebo nenhum outro erro como você pode ver na imagem abaixo.

Questões

  • Existe uma maneira de "analisar" solicitações de API Ansible? como um wireshark/fiddler para Ansible?
  • como posso prosseguir para solucionar e corrigir esse problema? como funciona de um lado, mas não dos outros, posso comparar algumas coisas e espero encontrar uma diferença?

Obrigado

docker
  • 1 1 respostas
  • 32 Views

1 respostas

  • Voted
  1. Best Answer
    motorbass
    2023-09-18T22:53:30+08:002023-09-18T22:53:30+08:00

    Depois de muitos testes e investigações, acabei de encontrar o entidade.py nos arquivos da coleção nutanix.ncp. Foi o arquivo responsável pela mensagem "Falha ao converter a resposta da API para json"

    • Uma função envia a mensagem de erro quando o código recebido da resposta do URL é >300. Entrei em uma captura wireshark e descobri que havia um erro nos fluxos da rede: insira a descrição da imagem aqui

    • Em seguida, preciso verificar a conexão da minha imagem docker / pod K8s com o Prism Central.

      O comando openssl s_client -connect fqdn_prism_central:9440mostra a mensagem de erro

    “Verifique o código de retorno: 20 (não foi possível obter o certificado do emissor local)"

    • Por fim, acabei de atualizar a cadeia de certificados na minha imagem do Docker (por meio do meu Dockerfile) e agora está tudo bem no AWX.

      No meu caso, como a imagem AWX EE é baseada no awx-ee oficial ( https://quay.io/repository/ansible/awx-ee?tab=tags&tag=latest ), adiciono as seguintes etapas ao meu dockerfile (nota: o caminho e o comando podem ser diferentes se você estiver usando algo diferente da imagem do CentOS):

    COPY ./certificate_chain.pem /etc/pki/ca-trust/source/anchors/certificate_chain.pem
    RUN chmod 644 /etc/pki/ca-trust/source/anchors/certificate_chain.pem && update-ca-trust extract
    

    Muito difícil, mas funciona muito bem! :)

    • 1

relate perguntas

  • Ainda confuso por que o docker funciona quando você faz um processo ouvir 0.0.0.0, mas não 127.0.0.1

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve