Первый файл инвентаря игнорируется при запуске ansible-playbook с несколькими символами "-i" - PullRequest
0 голосов
/ 09 июля 2019

Ansible-playbook, кажется, игнорирует первый файл инвентаря при запуске, как показано ниже. Он распознает только последний файл.

Не могли бы вы посоветовать, как запустить его на обоих серверах? У меня работает ansible-playbook 2.3.2.0

ansible-playbook -i test1.infrastructure  -i test2.infrastructure deploy_server.yml
PLAY [all] *********************************************

TASK [Gathering Facts] *********************************************
ok: [test2]

TASK [Get release package] *********************************************
 [WARNING]: Consider using unarchive module rather than running tar

changed: [test2]

TASK [Set latest_sourcetree] *********************************************
ok: [test2]
...

Ниже приведены примеры файлов инвентаризации

test1.infrastructure

##################
[test1]
##################
test1hostname
[test1:vars]
# Database
db_server=dbservername
dbschema=test1schema
oracle_sid=test1sid
oracle_port=1521
...

test2.infrastructure

##################
[test2]
##################
test2hostname
[test2:vars]
# Database
db_server=dbservername
dbschema=test2schema
oracle_sid=test2sid
oracle_port=1521
...

deploy_server.yml

  - hosts: all
  pre_tasks:
  - name: Get directory name in server release package
    shell: tar -tzf "{{server_release_package}}" | head -1 | sed -e 's/\/.*//'
    register: server_code_dir

  - name: Set latest_sourcetree variable = "{{server_root_dir}}/{{server_code_dir.stdout}}"
    set_fact:
      latest_sourcetree: "{{server_root_dir}}/{{server_code_dir.stdout}}"

  roles:
   - deploy_source_tree

deploy_source_tree / задачи / main.yml


- name: Create directory {{latest_sourcetree}}
  file:
    path={{latest_sourcetree}}
    state=directory

- name: Unpack server release package to {{latest_sourcetree}}
  unarchive:
    src: "{{server_release_package}}"
    dest: "{{server_root_dir}}"
    remote_src: yes

- name: Write runtime properties file
  template:
    src: "{{playbook_dir}}/environments/{{client_id}}/{{env_id}}/files/server.runtime.properties"
    dest: "{{latest_sourcetree}}/conf/server.runtime.properties.{{dbschema}}"

- name: Generate Cshrc file
  shell: cd {{latest_sourcetree}}/conf/ ; ./generate.sh -p server.runtime.properties.{{dbschema}} -b -d -t -o Cshrc.{{dbschema}}

- name: Replace new Cshrc file
...

EDITED - предложение @itiic работает, помещает файлы инвентаризации в каталог и запускается с "-i dirname", мне все еще интересно, почему использование нескольких -i не работает, если кто-то может посоветовать, Я действительно ценю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...