2
respostas

[Dúvida] Erro ao executar o Ansible

Erro quando tento executar o comando ansible-playbook playbook.yml -u ubuntu --private-key ec2-oregon.pem -i houts.yml Estou executando de uma MV ubuntu já pesquisei mas não estou conseguindo encontrar a solução.

karlo@karlosrv:~/learn-terraform-aws-instance$ ansible-playbook playbook.yml -u ubuntu --private-key ec2-oregon.pem -i houts.yml [WARNING]: Failed to load inventory plugin, skipping pem [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details 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 4, column 15, but may be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

   - name: Instalando o python3, virtualenv
       apt:
          ^ here
          
          
          
2 respostas

Olá, Karlo!

Pelo que pude perceber, o erro que você está enfrentando parece estar relacionado ao arquivo YAML que você está tentando executar com o Ansible. O erro sugere que há um problema de sintaxe na linha 4, coluna 15 do seu arquivo playbook.yml.

Aqui está a parte do seu código onde o erro está acontecendo:

- name: Instalando o python3, virtualenv
   apt:
      ^ here

A sintaxe YAML é muito rigorosa quando se trata de espaçamento e indentação. No YAML, a indentação é usada para denotar estrutura, portanto, é muito importante que você use o número correto de espaços ao indentar. Em geral, você deve usar 2 espaços para cada nível de indentação em YAML.

Aqui está um exemplo de como a estrutura do seu código poderia ser corrigida:

- name: Instalando o python3, virtualenv
  apt: 
    name: 
      - python3
      - virtualenv
    state: present

Neste exemplo, eu adicionei a chave 'name' e a chave 'state'. A chave 'name' tem uma lista de pacotes que você quer instalar e a chave 'state' tem o valor 'present', que indica que você quer que esses pacotes estejam presentes no sistema.

Por favor, tente corrigir a indentação e a estrutura do seu arquivo playbook.yml e tente executar o comando novamente. Lembre-se, a indentação correta é crucial em arquivos YAML.

Espero ter ajudado e bons estudos!

Boa tarde, validei tudo e mesmo assim continua dando erro, sinceramente estou um pouco frustrado e não sei mais onde estou errando, validei no site https://www.yamllint.com/ e a validação deu OK, quando executo o comando para rodar o playnbook,yml dá erro de sintaxe, mandei o código abaixo, me ajudar a identificar por favor? Está retornando esse erro:

[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details 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 12, column 11, but may be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  • name: Instalando dependencias com pip Django e DjangoRest pip: ^ here

  • hosts: terraform-ansible tasks:

    • name: Instalando o python3, virtualenv apt: name: - python3 - virtualenv state: present become: yes update_cache: yes
    • name: Instalando dependencias com pip Django e DjangoRest pip: virtualenv: /home/ubuntu/tcc/venv - django - djangorestframework

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