Попытка использовать with_items и когда в Ansible playbook клонировать репо

Привет всем и спасибо, что заглянули. Как следует из названия, я пытаюсь использовать эти модули Ansible следующим образом. Я хочу клонировать репозиторий Wordpress в зависимости от того, является ли переменная «да» или «нет».

Это моя основная игра Ansible (использую ее с Vagrant через vagrant --provision). Я предоставлю только соответствующие части.

vars:
  nginx_server_blocks:
  - { server_name: "dev.simple-site.io", document_root: "simple-site", wordpress: "no" }
  - { server_name: "dev.wordpress-site.io", document_root: "wordpress-site", wordpress: "yes" }
tasks:
 - name: clone Wordpress repo
   git: repo=git:https://github.com/WordPress/WordPress.git
        dest=/var/www/{{ item.document_root }}
   with_items: nginx_server_blocks
   when: item.wordpress == "yes"

Когда я запускаю vagrant provision, я получаю эту ошибку:

fatal: [default] => failed to parse: SUDO-SUCCESS-rtlizwskstbaxddabxlgqtxxqzambxnh
Traceback (most recent call last):
File "/home/vagrant/.ansible/tmp/ansible-tmp-1408592922.35-152092658109200/git", line 2119, in <module>
    main()
File "/home/vagrant/.ansible/tmp/ansible-tmp-1408592922.35-152092658109200/git", line 524, in main
    add_git_host_key(module, repo, accept_hostkey=module.params['accept_hostkey'])
File "/home/vagrant/.ansible/tmp/ansible-tmp-1408592922.35-152092658109200/git", line 1986, in add_git_host_key
fqdn = get_fqdn(module.params['repo'])
File "/home/vagrant/.ansible/tmp/ansible-tmp-1408592922.35-152092658109200/git", line 2022, in get_fqdn
if "@" in result:
TypeError: argument of type 'NoneType' is not iterable

FATAL: all hosts have already failed -- aborting

Любые идеи об ошибке? я погуглил и прочитал доступные документы об использовании whenи with_itemsно не повезло.

Если поможет, мой хост-компьютер — Mac, а гость — Ubuntu 14.04 через Vagrant. Ansible был установлен через pip, и это 1.7.


person Richard-MX    schedule 21.08.2014    source источник


Ответы (1)


Сдача

repo=git:https://github.com/WordPress/WordPress.git

to

repo=https://github.com/WordPress/WordPress.git

Ansible видит префикс git и ожидает синтаксис [email protected]:Wordpress/Wordpress.git, который также будет работать, если вы хотите использовать git-ssh.

person jarv    schedule 21.08.2014
comment
Спасибо! Это сработало просто отлично. Может быть, я неправильно понял пример в Ansible docs, но с корректировкой теперь все работает. Спасибо, @user24364! - person Richard-MX; 21.08.2014