У меня ниже ANSI Playbook для запуска определенных команд на удаленных кластерах Cassandra
---
- hosts: newcass
become: yes
become_user: root
become_method: sudo
gather_facts: True
serial: 1
tasks:
- name: Execute CQLSH
# shell: 'cqlsh -f /home/ubuntu/abc.cql'
shell: 'cqlsh -f abc.cql'
# command: "export CQLSH_NO_BUNDLED=true && cqlsh -f /home/ubuntu/abc.cql"
# command: "cqlsh -f abc.cql"
args:
chdir: /home/ubuntu/
register: cqlsh_result
- debug:
msg: "{{ cqlsh_result }}"
После запуска этой книги мы получаем ошибку ниже ошибки
{"changed": true, "cmd": "cqlsh -e abc.cql", "delta": "0:00:00.001835",
"end": "2019-03-22 02:13:41.799578", "failed": true, "rc": 127, "start":
"2019-03-22 02:13:41.797743", "stderr": "/bin/sh: 1: cqlsh: not found",
"stdout": "", "stdout_lines": [], "warnings": []}
Попытка с использованием модуля command
какхорошо, но это не сработало. Однако, когда попытался cqlsh -f abc.cql
на серверах cassandra вручную, это сработало.
Что можно сделать, чтобы запустить его через ANSIBLE PlayBook?