Vilgelm_skavr
господа ? а кто подскажет кто-нить управляет Suse Server через ансибле ? есть манчик по установке ?
Kirill
пишет же тебе чётко в чём проблема
ну я устанавливал права на чтение файла и директории, но безуспешно
Kirill
вот так делаю) - chmod -R 0700 ~/.ssh - echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa
#Rλatan
ну я устанавливал права на чтение файла и директории, но безуспешно
и на хосте тоже где ваша ансибл крутится и на машине что контролите?
Victor
а перед запуском ансиболи сделай ls -l /root/.ssh/id_rsa
и stat ~/ когда пермишенны ставишь
Andor
ваще это всё от лукавого, проще сделать переменную ANSIBLE_PRIVATE_KEY_FILE типа file и дёрнуть chmod 0400 "${ANSIBLE_PRIVATE_KEY_FILE}"
Andor
и всё
Victor
ваще это всё от лукавого, проще сделать переменную ANSIBLE_PRIVATE_KEY_FILE типа file и дёрнуть chmod 0400 "${ANSIBLE_PRIVATE_KEY_FILE}"
стопятьсот действий направленных непонятно на что, и проблема будет та же
Andor
не будет
Anonymous
скажите, каким образом задать inventory прямо в playbook или параметром консоли?
Andor
стопятьсот действий направленных непонятно на что, и проблема будет та же
у него прямо сейчас есть переменная, но она в джобу попадает не в виде файла, а в виде строки если поменять на файл, то останется лишь сделать ему chmod по-моему всё понятно и чётко, но ты можешь считать, что это "непонятно на что", ок
Victor
не будет
вместо chmod ~/.ssh/id_rsa сделать ``` export ANSIBLE_PRIVATE_KEY_FILE= ~/.ssh/id_rsa chmod ~/.ssh/id_rsa ```
Andor
вместо chmod ~/.ssh/id_rsa сделать ``` export ANSIBLE_PRIVATE_KEY_FILE= ~/.ssh/id_rsa chmod ~/.ssh/id_rsa ```
стопятьсот действий направленных непонятно на что, когда есть простой и прямой способ загружать файл в джобу гитлаба
Anonymous
конкретно мне нужно выполнить playbook 1) для локалхоста 2) для одноразового хоста в обоих случаях иметь отдельный файл не хочется
Victor
стопятьсот действий направленных непонятно на что, когда есть простой и прямой способ загружать файл в джобу гитлаба
вот с этого места по подробнее. Можно засунуть переменную гитлаба сразу в файл?
Andor
вот с этого места по подробнее. Можно засунуть переменную гитлаба сразу в файл?
я именно это дважды cказал да, можно сразу в файл (с оглядкой на https://gitlab.com/gitlab-org/gitlab/issues/30775)
Anonymous
-i
можно полную строку? по-моему аргументом к -i бывает только файл
Victor
любой валидный инвентори для анзибла
Anonymous
Директория тоже
мне нужно без использования отдельного файла и тем более директории
Andor
ты можешь в плейбук себе напихать добавление хостов в инвентори
Anonymous
чтоб прямо ip/fqdn
Andor
через add_host
Anonymous
Ты спрашивал как указать инвентори
в моем понимании инвентори это произвольный список хостов
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
-i
тебе уже ответили
Anonymous
через add_host
спасибо
Victor
ну и соответственно ad-hoc это будет -e "playhosts=some_hosts"
Anonymous
тебе уже ответили
мне выше ответили
Victor
ансибл инвентори не является списком хостов?
список хостов это один из продуктов который можно из него получить
Anonymous
не очень понятно, почему hosts не принимает непосредственно ip адрес например
Victor
спасибо
через add_host это перекладывание проблемы, тебе все равно нужно разбиратсья в каком случае какие хосты добавлять
Anonymous
Потому что это не анзибловский хост
а почему ансибл жёстко привязан к своему инвентори? какие у этого цели?
Victor
Типо у тебя там может быть что угодно - файл с хостами, целое дерево с хостами и переменными, динамический скрипт, aws
Andor
Типо у тебя там может быть что угодно - файл с хостами, целое дерево с хостами и переменными, динамический скрипт, aws
никто не мешает сделать ту же логику что в "динамическом скрипте" но ансиболью через add_host
Andor
получится 100% то же самое
Victor
Но там и задача другая немного была
Victor
получится 100% то же самое
Предположу что мы подошли к одному и тому же, просто с разных концов
Павел П.
Добрый день! Вроде ничего странного не хочу, вопрос синтаксиса больше. Три роли, вторую роль нужно выполнить на "центральном" сервере. Не могу нагуглить как на уровне плейбука указать для роли delegate_to?
Andor
просто укажи ей свой хост, без delegate_to
[IPT] Dmitry
ребят, а длинные строки в shell \ я же могу для читаемости \ переносить?
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.
[IPT] Dmitry
А ansible умеет java keytool -genkey?
[IPT] Dmitry
Я что-то не нашёл ничего приличного, поэтому пилю через shell 🤷‍♂
Victor
>The Java Keytool is a command line tool Как и любую консольную утилиту, вангую
[IPT] Dmitry
Нашёл java_cert и java_keystore, но не особо то они могут
Victor
Я что-то не нашёл ничего приличного, поэтому пилю через shell 🤷‍♂
В кейтуле не разбираюсь, но пары ключей явно можно отдельно генерить. Насчет кейстора сложнее, видимо зависит от того какой именно
Павел П.
- hosts: one roles: - role_one - hosts: other roles: - other - hosts: one roles: - third
skipping: no hosts matched хотя в инвентори файле оба сервера есть. Этот второй "особенный" сервер нужно в отдельную группу определить?
Lamobot
А ansible умеет java keytool -genkey?
https://docs.ansible.com/ansible/latest/modules/openssh_keypair_module.html
Andor
openssh != java
Lamobot
openssh != java
Это понятно. Но пары ключей одинаковые, отличия только в формате хранения