Опитвате се да използвате 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

Някакви идеи за грешката? Потърсих го в Google и прочетох анзибъл документите за използването на 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