Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao executar o ansible para criar o arquivo na EC2

Boa noite pessoal, quando tento executar o comando do ansible retorna o erro, estou tentando fazer de uma maquina MV ubuntu, também não estou estou conseguindo acessar via SHH dessa MV o ec2, quando eu tento dá um erro de permissão, mas do meu micro Windws eu acesso sem problemas, alguém pode me ajudar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Esse é o erro retornado, copiei do terminal.

[WARNING]: * Failed to parse /home/karlo/learn-terraform-aws-instance/houts.yml with auto plugin: We were unable to read either as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0) Syntax Error while loading YAML. could not find expected ':' The error appears to be in '/home/karlo/learn- terraform-aws-instance/houts.yml': line 3, column 1, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - hosts: terraform-ansible 35.87.43.216 ^ here [WARNING]: * Failed to parse /home/karlo/learn-terraform-aws-instance/houts.yml with yaml plugin: We were unable to read either as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0) Syntax Error while loading YAML. could not find expected ':' The error appears to be in '/home/karlo/learn- terraform-aws-instance/houts.yml': line 3, column 1, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - hosts: terraform-ansible 35.87.43.216 ^ here [WARNING]: * Failed to parse /home/karlo/learn-terraform-aws-instance/houts.yml with ini plugin: /home/karlo/learn- terraform-aws-instance/houts.yml:1: Expected key=value host variable assignment, got: hosts: [WARNING]: Unable to parse /home/karlo/learn-terraform-aws-instance/houts.yml as an inventory source [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0)

Syntax Error while loading YAML. mapping values are not allowed in this context

The error appears to be in '/home/karlo/learn-terraform-aws-instance/playbook.yml': line 8, column 11, but may be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  • name: criando o servidor shell: "nohup busybox httpd -f -p 8080 &" ^ here Esse é o script dop arquivo playbook.yml - hosts: terraform-ansible

tasks:

  • name: criando o arquivo copy: dest: /home/ubuntu/index.html content:

    esse bilhete e verdade

  • name: criando o servidor shell: "nohup busybox httpd -f -p 8080 &"

Olá Karlo!

Pela imagem que você compartilhou, parece que o erro está ocorrendo porque o Ansible não está conseguindo interpretar corretamente o arquivo YAML do playbook. O Ansible é muito rigoroso com a formatação YAML, então qualquer desvio da estrutura correta pode causar erros.

A mensagem de erro indica um problema na linha 8, coluna 11 do seu arquivo de playbook. O erro menciona "Syntax Error while loading YAML" e "mapping values are not allowed in this context", o que sugere que há um problema com a estrutura do YAML, talvez um espaço ou indentação incorreta.

Aqui estão algumas dicas para corrigir o problema:

  1. Verifique a indentação: YAML utiliza indentação para representar a hierarquia. Certifique-se de que a indentação está consistente em todo o arquivo e que você está usando espaços em vez de tabs.

  2. Verifique os caracteres especiais: Se você estiver usando caracteres especiais em seu YAML, eles podem precisar ser escapados ou colocados entre aspas.

  3. Valide o arquivo YAML: Você pode usar ferramentas online para validar o seu arquivo YAML e garantir que a sintaxe está correta.

Quanto ao problema de SSH, se você consegue acessar a instância EC2 do seu micro Windows sem problemas, mas não da máquina virtual Ubuntu, isso sugere que pode haver uma questão com as chaves SSH ou as configurações de rede da máquina virtual. Aqui estão algumas coisas para verificar:

  1. Chave SSH: Certifique-se de que a chave privada SSH (.pem) está na máquina virtual Ubuntu e que você está especificando o caminho correto para ela ao tentar conectar.

  2. Permissões da chave: A chave privada SSH deve ter permissões restritas. Você pode definir as permissões corretas com o comando chmod 400 sua_chave.pem.

  3. Configuração de rede: Verifique se a máquina virtual Ubuntu tem acesso à Internet e se não há regras de firewall ou configurações de rede que estejam bloqueando a conexão SSH.

Espero que essas dicas ajudem a resolver os problemas que você está enfrentando. Lembre-se de revisar cada passo com cuidado e ajustar as configurações conforme necessário. Qualquer coisa manda aqui de novo. Espero ter ajudado e bons estudos!

solução!

Olá Renan, sobre o ssh eu consegui resolver, tinha copiado a chave faltando caractere, mas irei validar meu arquivo playbook e retorno se deu certo, obrigado pelas dicas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software