упаковщик не может использовать провайдера ansible .. выдает ошибку ansible-playbook: error: нет такой опции: - - PullRequest
0 голосов
/ 06 мая 2019

Я использую Anisble Provider. Во время выполнения ANSIBLE Provider он говорит, что нет такой опции

     {
"variables":
{
"aws_access_key": "",
"aws_secret_key": "",
"revision": "0",
"ansible_host":""
},
"builders":[{
    "type": "amazon-ebs",
    "access_key": "{{user `aws_access_key`}}",
    "secret_key": "{{user `aws_secret_key`}}",
    "region": "us-east-2",
    "instance_type": "t2.micro",
    "source_ami": "ami-09e1c6dd3bd60cf2e",
    "source_ami_filter": {
        "filters": {
          "virtualization-type": "hvm",
          "name": "ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*",
          "root-device-type": "ebs"
  }},
    "ssh_username": "ubuntu",
    "ami_name":"honebackend {{ isotime | clean_ami_name }}"
}],
"provisioners":[
    {
    "type":"shell",
    "script":"scripts/ssh_agent.sh"
    },
    {
    "type":"ansible",
    "playbook_file":".././ansible/nodejs.yml",
    "extra_arguments": [ "-vvv --extra-vars 'ansible_host={{user `host`}} ansible_python_interpreter=/usr/bin/python3'"]

    }

]

}

После выполнения этой команды: сборщик упаковщика -var 'aws_access_key = ...' -var 'aws_secret_key = ...' packer.json

выдает следующую ошибку:

  ==> amazon-ebs: Provisioning with Ansible...
  ==> amazon-ebs: Executing Ansible: ansible-playbook --extra-vars    packer_build_name=amazon-ebs packer_builder_type=amazon-ebs -i /tmp/packer-provisioner-ansible845262359 /var/honmanagement/ansible/nodejs.yml -e ansible_ssh_private_key_file=/tmp/ansible-key022072728 -vvv --extra-vars 'ansible_host= ansible_python_interpreter=/usr/bin/python3'
amazon-ebs: Usage: ansible-playbook [options] playbook.yml [playbook2 ...]
amazon-ebs:
amazon-ebs: ansible-playbook: error: no such option: -

1 Ответ

2 голосов
/ 06 мая 2019

Ваш extra_arguments не прав. Должно быть:

"extra_arguments": [ 
  "-vvv",
  "--extra-vars",
  "'ansible_host={{user `host`}} ansible_python_interpreter=/usr/bin/python3'"
]
...