Andor
Vilgelm_skavr
господа ? а кто подскажет кто-нить управляет Suse Server через ансибле ? есть манчик по установке ?
Andor
Kirill
вот так делаю)
- chmod -R 0700 ~/.ssh
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
Andor
Victor
Victor
Andor
ваще это всё от лукавого, проще сделать переменную ANSIBLE_PRIVATE_KEY_FILE типа file и дёрнуть chmod 0400 "${ANSIBLE_PRIVATE_KEY_FILE}"
Andor
и всё
Victor
Andor
не будет
Anonymous
скажите, каким образом задать inventory прямо в playbook или параметром консоли?
Victor
не будет
вместо
chmod ~/.ssh/id_rsa
сделать
```
export ANSIBLE_PRIVATE_KEY_FILE= ~/.ssh/id_rsa
chmod ~/.ssh/id_rsa
```
Victor
Andor
Victor
Anonymous
конкретно мне нужно выполнить playbook 1) для локалхоста
2) для одноразового хоста
в обоих случаях иметь отдельный файл не хочется
Victor
Anonymous
-i
можно полную строку? по-моему аргументом к -i бывает только файл
Victor
Victor
любой валидный инвентори для анзибла
Anonymous
Директория тоже
мне нужно без использования отдельного файла и тем более директории
Andor
ты можешь в плейбук себе напихать добавление хостов в инвентори
Anonymous
чтоб прямо ip/fqdn
Andor
через add_host
Anonymous
Victor
Anonymous
а не отдельная сущность специфичная для ансибла
UglyKoyote
ну.. мы же не знаем о чем ты думаешь. мы то обсуждаем ансибловую сущность
Anonymous
Victor
можно сделать общий плей и его импортить
general.yml
- hosts: "{{ playhosts | d('whatever') }}"
localhost.yml
- import_playbook: general.yml playhosts=localhost
other.yml
- import_playbook: general.yml playhosts=other
UglyKoyote
Anonymous
Victor
ну и соответственно ad-hoc это будет -e "playhosts=some_hosts"
Anonymous
не очень понятно, почему hosts не принимает непосредственно ip адрес например
Anonymous
Victor
Victor
спасибо
через add_host это перекладывание проблемы, тебе все равно нужно разбиратсья в каком случае какие хосты добавлять
Victor
Victor
Victor
Типо у тебя там может быть что угодно - файл с хостами, целое дерево с хостами и переменными, динамический скрипт, aws
Andor
Andor
получится 100% то же самое
Victor
Victor
Но там и задача другая немного была
Павел П.
Добрый день!
Вроде ничего странного не хочу, вопрос синтаксиса больше. Три роли, вторую роль нужно выполнить на "центральном" сервере.
Не могу нагуглить как на уровне плейбука указать для роли delegate_to?
Andor
просто укажи ей свой хост, без delegate_to
Павел П.
Victor
Павел П.
[IPT] Dmitry
ребят, а длинные строки в shell \
я же могу для читаемости \
переносить?
Victor
Victor
Но башзибл не очень нужен
Andor
[IPT] Dmitry
Но башзибл не очень нужен
ага, если только не управлять проприетарным ПО. начнёшь писать модуль под него - и в конце концов упрёшься в ограничения аппликухи и вынужденно будешь писать говно, которое гораздо проще написать сразу и забыть
Victor
|-
cat ./test_multiline.yml 0 < 13:30:40
#!/usr/bin/env ansible-playbook
- hosts: localhost
tasks:
- name: test multiline
shell: >
echo
some-text
Dennis
Добрый день Подскажите пжл что не так
- name: Install gstatus
shell: "python /opt/setup.py install"
tags: gstatus-install
TASK [zabbix-glusterfs : Install gstatus] ***************************************************************************************************************
fatal: [rfs2.eqhe6.relex.fi]: FAILED! => {"changed": true, "cmd": ["python", "/opt/setup.py", "install"], "delta": "0:00:00.111217", "end": "2020-01-28 12:28:32.088986", "msg": "non-zero return code", "rc": 1, "start": "2020-01-28 12:28:31.977769", "stderr": "Traceback (most recent call last):\n File \"/opt/setup.py\", line 7, in <module>\n f = open('README')\nIOError: [Errno 2] No such file or directory: 'README'", "stderr_lines": ["Traceback (most recent call last):", " File \"/opt/setup.py\", line 7, in <module>", " f = open('README')", "IOError: [Errno 2] No such file or directory: 'README'"], "stdout": "", "stdout_lines": []}
Victor
TASK [test multiline] **********************************************************************************
changed: [localhost] => {"changed": true, "cmd": "echo some-text\n", "delta": "0:00:00.003117", "end": "2020-01-28 13:30:39.982521", "rc": 0, "start": "2020-01-28 13:30:39.979404", "stderr": "", "stderr_lines": [], "stdout": "some-text", "stdout_lines": ["some-text"]}
Dennis
ll
total 84
drwxr-xr-x. 5 root root 62 Jan 28 12:24 build
drwxr-xr-x. 2 root root 36 Jan 28 12:24 dist
drwxr-xr-x. 3 root root 22 Jan 28 12:21 docs
drwxr-xr-x. 6 root root 95 Jan 28 12:21 gstatus
-rwxr-xr-x. 1 root root 4234 Jan 28 12:20 gstatus.8
drwxr-xr-x. 2 root root 90 Jan 28 12:24 gstatus.egg-info
-rwxr-xr-x. 1 root root 9579 Jan 28 12:20 gstatus.py
-rwxr-xr-x. 1 root root 5739 Jan 28 12:20 gstatus.spec
-rwxr-xr-x. 1 root root 35141 Jan 28 12:20 LICENSE
-rwxr-xr-x. 1 root root 7929 Jan 28 12:20 README
-rwxr-xr-x. 1 root root 1107 Jan 28 12:20 setup.
Victor
Добрый день Подскажите пжл что не так
- name: Install gstatus
shell: "python /opt/setup.py install"
tags: gstatus-install
TASK [zabbix-glusterfs : Install gstatus] ***************************************************************************************************************
fatal: [rfs2.eqhe6.relex.fi]: FAILED! => {"changed": true, "cmd": ["python", "/opt/setup.py", "install"], "delta": "0:00:00.111217", "end": "2020-01-28 12:28:32.088986", "msg": "non-zero return code", "rc": 1, "start": "2020-01-28 12:28:31.977769", "stderr": "Traceback (most recent call last):\n File \"/opt/setup.py\", line 7, in <module>\n f = open('README')\nIOError: [Errno 2] No such file or directory: 'README'", "stderr_lines": ["Traceback (most recent call last):", " File \"/opt/setup.py\", line 7, in <module>", " f = open('README')", "IOError: [Errno 2] No such file or directory: 'README'"], "stdout": "", "stdout_lines": []}
No such file or directory: 'README'"
Victor
[IPT] Dmitry
А ansible умеет java keytool -genkey?
[IPT] Dmitry
Я что-то не нашёл ничего приличного, поэтому пилю через shell 🤷♂
Victor
>The Java Keytool is a command line tool
Как и любую консольную утилиту, вангую
[IPT] Dmitry
Нашёл java_cert и java_keystore, но не особо то они могут
Andor
openssh != java
Lamobot
openssh != java
Это понятно. Но пары ключей одинаковые, отличия только в формате хранения