Вопросы с тегами [ansible]

0

голосов
1

ответ
11

Просмотры

Как разрешить предупреждение «Не удается соответствовать прилагающегося шаблону хоста, не обращая внимания: ?

Я пытаюсь использовать анзибль автоматизировать свою рабочую станцию. Я после этого учебника, как введение. Но я получаю предупреждение с помощью команды анзибля-тянуть. После этого Суд анзибль тянуть -U https://github.com/plsergent/setup-user-friendly.git я получаю [ПРЕДУПРЕЖДЕНИЕ]: Не удались соответствовать прилагаемому шаблону хоста, не обращая внимание: Вот мой / и т.д. / анзибль / файл хостов: [локальный] 127.0.0.1 [локальный: вары] ansible_connection = местные и мой local.yml файл: - хосты: локальный стали: истинные pre_tasks: - название: обновление репозиториев склонный: update_cache = да changed_when: Ложные задачи: - включают в себя : задачи / packages.yml - включают в себя: задачи / users.yml - включают в себя: задачи / cron.yml есть ли способ, чтобы избавиться от этого предупреждения? Спасибо Примечание: У меня нет никакого предупреждения, когда я бег моего сборника пьес с использованием анзибля-пьес:
PL Sergent
1

голосов
1

ответ
1.2k

Просмотры

Ожидать тайм-аут и возвращают результаты без выполнения оставшихся команд

Я пытаюсь запустить скрипт с анзибль ожидать модуль, который требует «п» число ответ будет дано, в какой-то момент я даю имя файла деготь, который нужно извлечь с помощью сценария, так что требуется некоторое время, а затем только я буду получать следующую строку, но ожидать, возвращает результат, не дожидаясь его завершения и не в состоянии выполнить команды, которые следуют его. Если это происходит из-за тайм-аута, есть ли способ увеличить это? Пожалуйста, помогите мне решить эту проблему. Заранее спасибо.
1

голосов
1

ответ
502

Просмотры

Заменить символ в строке с анзибль

У меня есть этот анзибль как строку: FUBAR = {{PREFIX}} _ {{CNAME}} {{VERSION}} Я хочу, чтобы заменить все. в сцепленной строки с '', как это: FUBAR = {{{{PREFIX}} _ {{CNAME}} {{VERSION}} | заменить (, „«“»)}} Я получаю сообщение: ожидаемый лексема „:“, получил „}“ Может кто-нибудь дать мне предложение, что случилось?
Stefan Beike
1

голосов
0

ответ
285

Просмотры

анзибль прогрессбар Ури задачи

После прочтения документации, кажется, что анзибль не поддерживает do_until для нескольких задач, в блоках, а также include_task. Мой случай использования, чтобы сделать запись на успокоительную URL, а затем получить статус этого успокоительного ответа и продолжает это делать. Успокоительный ответ, для краткости имеет статус двух атрибутов и За ходом процесса. Легко достаточно, чтобы опрашивать и повторить на один атрибут, но как отобразить ход процесса? - Имя: получить команду {{command_id}} статус URI: URL: "myrestfulurl / статус / {{command_id}}" метод: GET пользователь: "Foo" пароль: "бар" body_format: JSON validate_certs: нет force_basic_auth: да return_content: да заголовки: X-Requested-By: Foo регистра: rest_response до: rest_response.content | from_json | json_query ( 'Requests.request_status') == " IN_PROGRESS «повторит: 3 прогрессбар может быть представлен в следующем ходе:» ​​{{rest_response.content | from_json | json_query ( «Requests.progress_percent»)}}»Как я могу получить, что сказать, в названии части задачи Обратите внимание, что зарегистрированный ответ не доступен в первый раз, например - название:.? получить команду {{}} command_id статус {{{rest_response.content определяется | тройная (...)}} Покушение это так же - set_fact: Темп: "{\" просит \ ": {\ "request_status \": \ "ЗАВЕРШЕНА \"}}" - отладка: сбщ: «{{темп | from_json | json_query ( 'Requests.request_status')}}»- имя: получить команду {{command_id}} {{статус rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}}, которые привели к следующим ; значения не решаются FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (3 повторных попыток слева). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (2 повторных попыток слева). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (1) повторные попытки левых. нота ; У меня есть мой in_progress и полностью отменены для тестирования; надеюсь, что не бросает никому прочь. )}} (3 повторов влево). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (2 повторных попыток слева). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (1) повторные попытки левых. нота ; У меня есть мой in_progress и полностью отменены для тестирования; надеюсь, что не бросает никому прочь. )}} (3 повторов влево). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (2 повторных попыток слева). FAILED - повтор: получить команду {{}} command_id статус {{rest_response.content | по умолчанию (темп) | from_json | json_query ( 'Requests.request_status')}} (1) повторные попытки левых. нота ; У меня есть мой in_progress и полностью отменены для тестирования; надеюсь, что не бросает никому прочь. нота ; У меня есть мой in_progress и полностью отменены для тестирования; надеюсь, что не бросает никому прочь. нота ; У меня есть мой in_progress и полностью отменены для тестирования; надеюсь, что не бросает никому прочь.
sunny
1

голосов
1

ответ
319

Просмотры

v # недействительное выражение \ nsre_constants.error: плохой диапазон символов, анзибль

Я использую анзибль писать контент в файл, который выглядит как: [локальный] локальный [эс-мастер] [эс-данные] [эс-клиент] Спектакль: - название: отладить имя переменной отладку: тзд = { {ec2_details | type_debug}} - имя: Добавить экземпляры в локальную local_action файла инвентаризации: lineinfile пути = "~ / анзибль-среды / хосты" RegExp = "^ [эс-мастер]" InsertAfter = "^ # [эс-мастер]" строка = «{{item.private_ip}}» состояние = «Present» with_items: «{{ec2_details.instances}}» Я вижу, что результат является словарем и значение присутствует, но я не в состоянии выбрать конкретные ключи и написать это файл. Теперь я не уверен, если я правильно используя REG-ех, но вот что я вижу полное отслеживающий это:
1

голосов
1

ответ
629

Просмотры

Что с переменными средами выполнения анзибля в?

может кто-то любезно объяснить мне, в какой среде анзибль работает в? Я работал с этим продуктом в течение последних трех месяцев, и я найти его очень хрупким, когда речь заходит об использовании его модулей. У меня были проблемы с питоном, MySQL и другие модулями выплевывая ошибка не может найти это или не можешь загрузить его. Я должен был переписать совершенно хорошие примеры (даже с Ansibles собственной документации), и даже пришлось прибегнуть работает анзибль в virtualenv так, что (например) питон-пакет будет признан только иметь другой сборник пьес не признают его. Например. Я пытаюсь работать с БД MySQL модулей и продолжал получать такие ошибки, как это: «MSG»: «Не удалось найти какой-либо из PIP2, пип использовать пип должен быть установлен.» «Сбщ»: «Требуется модуль MySQL-питон.» Я нашел решение (после дней борются с этим), но я остолбенел, почему я должен прибегнуть к следующей методике: РЕШЕНИЕ: - Имя: Выполнить задание с расширенной оболочкой PATH: Эхо $ PATH среды ПУТИ: «/ главный / бродяга / venv / бен: {{ansible_env.PATH}}»Я выполнение playbooks локально. У меня есть пип и установили MySQL-питон по всему миру: $ пип пип --version 9.0.1 из /usr/local/lib/python2.7/site-packages (Python 2.7) [бродяга @ контроллер бен] $ пип шоу MySQL-питон Вы используете пип версии 9.0.1, однако версия 9.0.3 доступна. Вы должны рассмотреть вопрос о повышении через «пункт установить --upgrade для ГПГ» команды. [Бродяга @ контроллер бен] $ пип шоу питона Название: Python Версия: 2.7.4 Резюме: высокоуровневый объектно-ориентированного языка программирования, Home-страница: http://www.python.org/2.7 Автор: Гвидо ван Россум и Python сообщество Автор-почта: [email protected] Лицензия: лицензия PSF Расположение: /usr/local/lib/python2.7/lib-dynload Требуется: Вы используете пип версии 9.0.1, однако версия 9.0.3 доступна. Вы должны рассмотреть вопрос о повышении через «пункт установить --upgrade для ГПГ» команды. [Бродяга @ контроллер бин] $ оборотов в минуту -QA MySQL-питон MySQL-питон-1.2.5-1.x86_64 [бродяга @ контроллер бен] $ python27 --version Python 2.7.4 [бродяга @ контроллер ~] $, который python27 / USR / местные / бен / python27 Я также вышеупомянутый установлен в моем virtualenv, откуда я в настоящее время работает анзибль из: (venv) [бродячего @ контроллер ~] $ пип пип --version 9.0.3 из / дома / бродяга / venv / Библиотека / python2.7 / сайт-пакеты (питон 2.7) (venv) [бродяга @ контроллер ~] $ питон --version Python 2.7. Для пипа я смог пройти мимо ошибки при установке пакета следующим образом: - Имя: Установите модуль Python MySQLB пип: Name = «{{записи}}» extra_args: --index Задает = https: //pypi.python. орг / PyPI / with_items: "{{mysql_dependencies}}", но где же, что установить на? Как уже упоминалось, я уже он установлен во всем мире и в virtualenv. В то время как пип казалось установить MySQL-питон все еще не мог установить. Я понес огромные задержки в доставке моего проекта на работе, и был бы признателен за разъяснение. Я пропускаю что-то очевидное? но где же, что установить на? Как уже упоминалось, я уже он установлен во всем мире и в virtualenv. В то время как пип казалось установить MySQL-питон все еще не мог установить. Я понес огромные задержки в доставке моего проекта на работе, и был бы признателен за разъяснение. Я пропускаю что-то очевидное? но где же, что установить на? Как уже упоминалось, я уже он установлен во всем мире и в virtualenv. В то время как пип казалось установить MySQL-питон все еще не мог установить. Я понес огромные задержки в доставке моего проекта на работе, и был бы признателен за разъяснение. Я пропускаю что-то очевидное?
New2Python
1

голосов
0

ответ
231

Просмотры

EOF occurred in violation of protocol for ansible

Я устанавливаю анзибль на вновь отформатированную машине (Windows 10). Я включил WsL и я установил анзибль используя следующий набор команд. Sudo APT-получить у установить питона-пип питон-DEV libffi-DEV libssl-DEV пип установить анзибль --user эхо `PATH = $ HOME / .local / бен: $ PATH` >> ~ / .bashrc пип установить«pywinrm > = 0.2.2" Я написал простой модуль win_ping и возвращает эту ошибку со следующим многословным. со смертельным исходом: [192.168.6.1]: UNREACHABLE! => { "Изменил": ложные, "сообщение": «SSL: HTTPSConnectionPool (хост = '192.168.6.1', порт = 5986): МАКС.ПОПЫТОК превышены URL: / WSMan (Вызванный SSLError (SSLEOFError (8, и» EOF произошло в нарушение протокола (_ssl.c: 590) ')))», "недоступен": )) Я также использую анзибль для одних и тех же учетных данных пользователя и используя те же сборник пьес. Моя старая машина работает отлично, но моя новая машина отказывается сотрудничать. Я не уверен, что я делаю неправильно здесь. )) Я также использую анзибль для одних и тех же учетных данных пользователя и используя те же сборник пьес. Моя старая машина работает отлично, но моя новая машина отказывается сотрудничать. Я не уверен, что я делаю неправильно здесь.
Chanond Wongpiya
1

голосов
0

ответ
107

Просмотры

Ansible: generate dynamic variables from group_vars

Я использую анзибль для создания конфигурации с именем сервера. Моя цель состоит в том, чтобы генерировать обратные файлы зон DNS для каждого из моих netowrks. Для того, чтобы следовать стандартам я должен разделить мою clasless зону во многих зонах classfull. Например, с помощью сети 172.16.0.0/23 я должен разделить его на две / 24 зон обратного: 0.16.172.in-addr.arpa и 1.16.172.in-addr.arpa. У меня есть данные о сети в group_vars / все / networks.yaml: NetX: подсеть: 172.16.0.0 маска подсети: 255.255.254.0 netmask_short: 23 широковещательного: 172.16.1.255 И я хочу, чтобы генерировать файлы из шаблона: - имя: Генерировать обратные файлы шаблон: ЦСИ: reverse.j2 Dest: "/var/named/reverse.{{item['network_name ']}}" владелец: корневая группа: Режим корня: 0644 with_items: Что лучшая практика для создания структуры данных, что мне нужно в with_items? Мне нужно использовать функцию, которая принимает данные из файла network.yaml и производить выходной сигнал, как это: [{ «network_name»: «NetX», «зона»: «0.16.172.in-addr.arpa»]}, { «network_name»: «NetX», «зона»: «1.16.172.in-addr.arpa»]},] Должен ли я использовать питон скрипт в предыдущей задаче и сохранить результат в переменной для того, чтобы использовать его в with_items?
Thomas B
1

голосов
2

ответ
445

Просмотры

Как запустить пип задачу анзибля, которая использует файл требования по доверенности?

Мы недавно установки коробки развития, которую мы хотим, чтобы иметь возможность установить наше программное обеспечение на. Мы используем анзибль, и все это прекрасно работает на наших местных условиях, но эта новая коробка устанавливается для доступа к внешнему миру через прокси-сервер. Это означает, что для получения всех задач пипсов, работающих в анзибле я, необходимые для установки среды на каждом из них подробно детали прокси (как в http://docs.ansible.com/ansible/latest/user_guide/playbooks_environment. HTML). - название: обновить пип пип: virtualenv: "{{wcsftp_sources_dir}} / {{wcsftp_rev}}" virtualenv_command: virtualenv-2,7 Название: пип версии: "{{pip_version}}" Umask: '0022' окружающая среда: http_proxy: HTTP: //proxy.example.com:8080 https_proxy: http://proxy.example.com:8080 теги: - Зависимость - virtualenv Это работает нормально, но когда я бег задачи пипа, которая использует требования файл я получаю сообщение об ошибке, что я предполагаю, что это к деталям прокси не переходили в вызов для установки каждого из необходимых частей программного обеспечения , - имя: создать virtualenv для wcsftp пип: virtualenv: "{{wcsftp_sources_dir}} / {{wcsftp_rev}}" virtualenv_command: virtualenv-2.7 Требования: "{{wcsftp_sources_dir}} / {{wcsftp_rev}} / wcsftp / requirements.txt" Umask: '0022' окружающая среда: GIT_AUTH: "{{gituser}}: {{}} gitpass" GIT_ASKPASS: /usr/local/bin/git_env_askpass.py http_proxy: http://proxy.example.com:8080 https_proxy: HTTP : //proxy.example.com: 8080 HTTP_PROXY: http://proxy.example.com:8080 https_proxy: http://proxy.example.com: 8080 тегов: - зависимостей - virtualenv Результаты в следующих ошибках: построить 10-Апрель-2018 10:14:56 ЗАДАЧИ [создать virtualenv для wcsftp] ******************* ************************* построить 10-Apr-2018 10:15:00 фатальным: [локальный]: FAILED! => { "Изменил": ложные, "ЦМД": "/ SRV / wcsftp / мастер / бен / PIP2 установить -r /srv/wcsftp/master/wcsftp/requirements.txt", "не": правда, "сообщение" : «стандартный вывод: Сбор мерзавца + https: //github.com/prometheus/client_python.git (от -r /srv/wcsftp/master/wcsftp/requirements.txt (строка 15)) Клонирование https://github.com/ Prometheus / client_python.git к ./pip-VBNsmQ-build\nCollecting витого == 17.5.0 (от -r /srv/wcsftp/master/wcsftp/requirements.txt (линия 1)) Загрузка Витого-17.5.0.tar .bz2 (3.0MB) Полный выход из команды питона setup.py egg_info: Скачать ошибку на https://pypi.python.org/simple/incremental/: [SSL: UNKNOWN_PROTOCOL] неизвестный протокол (_ssl.c: 579) - Некоторые пакеты не могут быть найдены! Не удалось найти страницу индекса для «дополнительных» (может быть, опечатка?) Скачать ошибку на https://pypi.python.org/simple/: [SSL: UNKNOWN_PROTOCOL] неизвестный протокол (_ssl.c: 579) - некоторые пакеты могут не найдены! Никакие местные пакеты или ссылки для скачивания найдено для инкрементного> = 16.10.1 Traceback (самый последний вызов последнего): Файл \ "\", строка 1, в File \ "/ TMP / пип-сборки-HAEyHG / Twisted / setup.py \ », строка 21, в setuptools.setup (** _ настройка [\ "getSetupArgs \"] ()) Файл \ "/ USR / lib64 / python2.7 / Distutils / core.py \", строка 112, в настройки _setup_distribution = DIST = Klass (ATTRS) Файл \ "/ SRV / wcsftp / хозяин / Библиотека / python2.7 / сайт-пакеты / Setuptools / dist.py \", строка 265, Я попытался вручную запустить команду и указав информацию о прокси, используя как пип и PIP2: / SRV / wcsftp / мастер / бен / PIP2 установить -r /srv/wcsftp/master/wcsftp/requirements.txt --proxy = HTTP: / /webproxy.e.corp.services:80 и получить другую ошибку, но она по-прежнему относится к невозможности доступа к внешнему сайту, чтобы загрузить инкрементный пакет: Сбор Twisted == 17.5.0 (от -r / SRV / wcsftp / мастер / wcsftp / requirements.txt (строка 1)) Использование кэшируются Витая 17.5.0.tar.bz2 Полный вывод из команды питон setup.py egg_info: Скачать ошибку на https://pypi.python.org/simple/incremental/ : [Errno 101] Сеть недостижима - Некоторые пакеты не могут быть найдены! Не удалось найти страницу индекса для «дополнительных» (может быть, опечатка?) Скачать ошибку на https://pypi.python.org/simple/: [Errno 101] Сеть недостижима - Некоторые пакеты не могут быть найдены! Нет местные пакеты или ссылки для скачивания найдено для инкрементного> = 16.10.1
BDoherty
1

голосов
0

ответ
203

Просмотры

List of integers to list of strings ANSIBLE

"456654879899", "654897987955"]} Но тогда я получил сообщение об ошибке: "Неверный тип параметра для AccountIds [0], значение: 123456789123, тип:, допустимых типов:", «Invalid тип для AccountIds параметров [1], значение: 456654879899, ​​тип:, допустимые типы:»,„Неверный тип параметра для AccountIds [2], значение: 654897987955, тип:, допустимых типов:“, это означает, что команда AWS требует список строк. Так как бросить все значения в списке member_ids от Int значения к значению строки? Все указатели будут оценены.
Forrest
1

голосов
1

ответ
861

Просмотры

Анзибль: Приращение рассчитывать в плей резюмировать невыполненные задачи при использовании ignore_errors

Я пытаюсь использовать не только анзибль как инструмент конфигурации, но, будучи в состоянии выполнить проверку массовых проверок по ряду разъединяет легко. Таким образом, я схватил кучу разных частей информации в начале пьес, а затем выполняет проверку против них. Видя, как эти проверки достоверности и не конфигурации, я хочу, чтобы все мои неудачи сразу, а не получать один, то Playbook неудачи, имея для ее решения, а затем запустить его снова, снова и снова, чтобы найти мои многочисленные неудачи. Я могу продолжать работать пьес, поставив флаг ignore_errors в него, но это не увеличивает «не удалось» рассчитывать в конце пьес, и я предпочел бы не иметь пользователей приходится прокручивать через все выходные в ищет красный текст, или очистить журналы, чтобы увидеть, если произошла ошибка, особенно видя, как есть счетчик прямо в конце, который работает как идеальный в качестве ссылки взгляд. Я использую версию анзибль 2.4.2.0, на Ubuntu версии 14.04 Вот мой сборник пьес: - имя: Подтверждает конфигурации хостов Preship: - активный - д-р become_user: корень стать: истинно become_method: су роли: - preShipValidation ignore_errors: да и то после импорта задачи в файл main.yml и запустить отдельную задачу, чтобы заполнить мои host_vars, я бегу следующие задачи: - имя: BIOS Version Проверьте Equus или Сенеки 2000/2100 утверждать, что: что: - «2.0a" в dmidecode_bios_ver. стандартный вывод», когда:„2000 "в appliance_model и„X10DRW“в motherboard_model“ Который когда RAN получит меня следующий вывод (отредактированный для удобства чтения) ЗАДАЧА [preShipValidation: Версия BIOS Проверьте Equus или Сенеки 2000/2100] *************************************** ************************************************** ************************* пропуска: [сервер1] => { "изменилось" ложь "skip_reason": "Условный результат был ложное"} пропуск: [server2] => { "изменил" ложь "skip_reason": "Условный результат был ложное"} фатальным: [server3]: FAILED! => { "Утверждение": "\" 2.0a \ "в dmidecode_bios_ver.stdout", "изменил" ложь "evaluated_to" ложь} ... игнорирование нормально: [сервера4] => { "изменил" ложь, «сбщ»: «Все утверждения прошли»
cyclesraptor
1

голосов
2

ответ
615

Просмотры

Dynamic ansible host_vars

У меня есть случай использования для игры, где путь установки для изменения TOMCAT на основе имени хоста и значение переменной. Не знаю, как справиться с этим. Например, у меня есть следующий инвентарь: [сервера] сервер1 server2 сервер3 У меня есть global_var, который определяет тип платформы для моей установки, как так: платформа: обучение Моей переменной платформы может быть установлена ​​на обучение, производство, разработку на основе стоимости платформы и имя хоста, мой кот путь установки будет отличаться, так что я не могу просто: host_vars / server1.yml tomcat_path: / somepath1 host_vars / server2.yml tomcat_path: / somepath2 host_vars / server3.yml tomcat_path: / somepath3 I ищу сделать что-то похожее тоже: server1.yml tomcat_path: / somepath1, когда: "{{платформа}} == обучение" tomcat_path: / somepath2, когда: "{{платформа}} == производства"
gshepherd7
1

голосов
1

ответ
119

Просмотры

Мне нужно заменить содержимое переменной в шаблоне jinja2 использованием анзибль замены модуля, когда он удовлетворяет, когда условие

Мне нужно заменить содержимое переменной в шаблоне jinja2 с помощью анзибль замените модуль. и в том же шаблоне jinja2 мне нужно заменить некоторые значения, когда он удовлетворяет условию когда. , Когда состояние должно быть только в шаблонах jinja2. Я пытался через пару, как показано ниже, но ни один из них не работал для меня, мы должны каким-либо образом использовать при выполнении условия в том же шаблоне jinja2. - set_fact: результат = "{{темп | заменить ( 'агента узла', '' + значение + '') | заменить ( 'nodeServrer', '' + привести + ''), когда: ( '' + ADU + '' ==«вст «)}} "- set_fact: результат ="{{темп | заменить ( 'агента узла', '' + значение + '') | заменить ( 'nodeServrer', '' + привести + '') | когда: ( '' + ADU + '' == 'ADT')}}»
moong
1

голосов
0

ответ
74

Просмотры

Change remote user in custom module

Я занимаюсь разработкой пользовательского сетевого модуля для анзибль 2.5.2 для MikroTik RouterOS. Я хочу изменить имя пользователя удаленного под капотом, например, если в моем инвентаре у меня есть ansible_user: анзибль, я хотел бы изменить его ansible_user: анзибль + СЕТ. Я видел модули, которые делают это в плагинах действия, как здесь: CFSworks / анзибль-RouterOS. Тем не менее, это не кажется, что в анзибле 2.5 с network_cli типом соединения это уже не так. Когда я добавить следующий пример плагина действий для плагинов / каталога действий ничего не происходит - я не вижу плагин RouterOS действие не вызывается в отладочной консоли: класс ActionModule (_ActionModule): Защиту работать (я, TMP = None, task_vars = None): display.debug ( 'плагин RouterOS действие называется') результат = супер (ActionModule, самость) .run (task_vars = task_vars) возвращает результат Это мой сборник пьес:
heuels
1

голосов
1

ответ
44

Просмотры

Получить анзибль Localhost Ipv4.address

Я пытаюсь получить ipv4 адрес локального хоста, пытался тестирование, прежде чем я использовать его в качестве переменной мой j2 шаблон анзибль локальный -m настройка -a «фильтр = ansible_default_ipv4.address» Вывод этой команды локальный | SUCCESS => { "ansible_facts": {}, "изменил" ложь} Так пусто. Зачем? Это какая-то ошибка?
Arsen
1

голосов
1

ответ
512

Просмотры

Я хочу, чтобы оболочка для загрузки bash_profile

Я хочу, чтобы загрузить bash_profile при выполнении команд с анзибль оболочки. Когда я анализирую, я пишу его в сети, что достаточно, чтобы написать следующую настройку в ansible.cfg. [По умолчанию] = исполняемый файл / бен / Баш -l Тем не менее, произошли следующие ошибки при выполнении. { "Изменил": ложные, "ЦМД": " '/ бен / Баш -l' -c '~~~'", "сообщение": "[Errno 2] Нет такого файла или каталога", "RC": 2 } Может быть, кажется, что он распознается как «бен / Баш - л» команды. Что случилось?
user3387068
1

голосов
1

ответ
707

Просмотры

Run python scripts multiple times through Ansible playbook with command line arguments

I am trying to run a Python script multiple times through my Ansible playbook using with_items to take different command line arguments with each iteration, but even though, it iterates through the loop to take different names for the generated files, but the contents of the files remain the same: i.e. it only shows the content of the command output of "show version" NX-OS. How can I iterate over the {{ output }} coming from the previous task? Context: NX-OS CLI commands on Cisco Nexus 3k switches tasks/main.yml: --- - name: Run basic CLI commands on nexus 3k switch nxos_command: provider: "{{ nxos_provider }}" commands: "{{ item.cmd1 }}" with_items: "{{ commands }}" register: output - debug: var=output - name: Run python script and store command output command: python /users/aastha/play/script.py {{ item.name1 }} {{ output }} with_items: "{{ commands }}" vars/main.yml: --- nxos_provider: host: "{{ inventory_hostname }}" username: "{{ un }}" password: "{{ pwd }}" transport: nxapi timeout: 500 commands: - cmd1: show version name1: pre-show-version - cmd1: show interface brief name1: pre-interface script.py: import json import sys arg = sys.argv[2:] print(arg) aas='\n'.join(map(str, arg)) print aas with open(sys.argv[1], 'w') as outfile: outfile.write(aas)
Aastha Maingi
1

голосов
1

ответ
48

Просмотры

Как получить доступ к переменной регистра в задаче

Это мой вывод экземпляра EC2. Я пытаюсь получить доступ к «instance_type». И вот моя задача. ec2: key_name: RedHat Группа: MY_EC2 instance_type: t2.micro изображение: АМИ-cfe4b2b0 регион: нас-восток-1 зона: нас-восток-1a ожидания: правда exact_count: 1 count_tag: Имя: MyProjectInstances instance_tags: Имя: анзибль регистр: ec2 - set_fact: инст: "{{ec2}}" - отладка: сбща: "{{инст}}" Я могу достичь экземпляров через попробовать это. отладки: сообщи: «{{inst.instances}}», но не может идти дальше, получает ошибку неопределенных переменный. # Вывод: нормально: [локальный] => { "сообщение": { "изменено": правда, "не удалось": ложные "instance_ids": [ "я-0be089202b191769e"], "экземпляры":
gaurav bhatt
1

голосов
0

ответ
112

Просмотры

выполнить анзибль петли в соответствии с рассчитывать value.count = 3 следует принимать только три значения остальных этого shouldnot выполнить

Я хочу, чтобы выполнить анзибль пьес по значению счетчика прошло. Если я передать значение счетчика 3, то цикл должен принимать только три значения, присутствующие в цикле. Ниже мой сборник пьес: --- - имя: Наниматель вывода из эксплуатации виртуальных машин хосты: LOCALHOST gather_facts: ложные вары: VMType: "{{}} VMType" vars_files: - vault.yml задачи: - имя: «Удаление Арендатора VM после зная, VM Статус в выключен "vmware_guest: имя хоста: "{{item.hostname1}}" имя пользователя: "{{vault_username}}" пароль: "{{}} vault_pass" validate_certs: нет название:" {{}} item.name1 "состояние: отсутствует Количество: 3 цикла: - {hostname1: "{{v_hostname1}}", имя1: "{{VMName1}}"} - {hostname1:"
cena
1

голосов
1

ответ
335

Просмотры

Анзибль. Программа Удаление Windows

Я пытаюсь удалить программу в Windows 10 с помощью анзибля. Соединение сконфигурировано, клиент доступен и свистит. Задача проходит без ошибок, но ничего не происходит, программа по-прежнему на месте. Я полагаю, что проблема заключается в правах доступа, хотя я уже создал правильный пользователь, я не забочусь. Программа была ранее установлена ​​не через анзибль но локальным пользователем. Если вы удалите его вручную и установить его с нуля через анзибль, это нормально. Буду очень благодарен за помощь. --- - Название: Тест Удаление LibreOffice 6.0.4.2 хостов: все задачи: - Название: Uninstall Libre win_chocolatey: Название: LibreOffice свежее состояние: отсутствует PLAY [Test Удаление LibreOffice 6.0.4.
user3792982
1

голосов
1

ответ
112

Просмотры

OpenStack Получить вновь созданный идентификатор порта, используя анзибль

Я в настоящее время создали один Nic порт с помощью модуля os_port и теперь я пытаюсь получить идентификатор вновь созданного порта и использовать его в следующих задач анзибль. - os_port: состояние: настоящее fixed_ips: - ip_address: 172.30.137.138 allowed_address_pairs: - ip_address: 172.30.137.128/27 Имя: port3 security_groups: sg_default сети: NW1 регистр: port3 теги: neutron_ports Как я могу получить доступ к идентификатору вновь создать порт в анзибле? Я пытался что-то вроде: {{port3.port_id}}, но он не работает. Я должен был бы этот идентификатор в следующей задаче, чтобы использовать его. EDIT1 я обнаружил, что идентификатор порта port3.id, но когда я пытаюсь следующую функцию (создание VM с использованием этого конкретного порта), я получаю сообщение об ошибке: - имя: Создание виртуальной машины os_server: состояние: настоящий вкус : m1. маленькое название: vm1 изображения: cirros availability_zone: внутренние озвучивает: - Порт-ID: port3.id теги: vm1 ошибка: фатальная: [локальный]: FAILED! => { "Изменилось" ложь "extra_data": нулевой, "сообщение": "BadRequestException: 400: Client Error для URL: http://192.168.111.130:8774/v2.1/4f8c49b18a4347df90f28cbe39414f0e/servers, {\" badRequest \ ": {\" сообщение \ ": \" Invalid вход для поля / атрибута порта. Значение: port3.id. u'port3.id»не является действительным при наличии любого из указанных схем \„ \ „код \“: 400}}“} EDIT2: Я не представил переменную внутри„{{}}“. После этого сценарий анзибль побежал, но я получаю сообщение об ошибке с огромным количеством данных JSON при создании экземпляра, но в последнем ряде он говорит: Ошибка при создании сервера Если я ищу в приборную панель, я вижу экземпляр, но его состояние «Ошибка». Внутри виртуальной машины, у меня есть следующее сообщение: «Нет действительный хозяин не был найден» с 500 кодом. Когда я смотрю на хозяев, все они работают и доступны: [Dante @ LOCALHOST ролей (keystone_admin)] $ новы сервис-лист + ----------------------------------- --- + ------------------ + ----------------------- + --- ------- + --------- + ------- + ------------------------ ---- + ----------------- + ------------- + | Id | Двоичный | Хост | Зона | Статус | государство | updated_at | Причина для инвалидов | Принудительный вниз | + -------------------------------------- + ---------- -------- + ----------------------- + ---------- + ------ --- + ------- + ---------------------------- + --------- -------- + ------------- + | 21ac1600-fc5a-481e-a725-3e12265bdb66 | новоподобный проводник | localhost.localdomain | внутренний | включен | вверх | 2018-08-07T17: 08: 38,000000 | - | Ложные | | 6d9393da-42ea-4290-83f6-af4af2c377e3 | новоподобных планировщик | локальный. LOCALDOMAIN | внутренний | включен | вверх | 2018-08-07T17: 08: 40,000000 | - | Ложные | | 6eb82482-d6df-4fb7-ad77-46bdacf442de | новоподобных consoleauth | localhost.localdomain | внутренний | включен | вверх | 2018-08-07T17: 08: 38,000000 | - | Ложные | | 46b5e512-da96-4066-b45e-57336da6cfec | новоподобное вычисление | localhost.localdomain | нова | включен | вверх | 2018-08-07T17: 08: 40,000000 | - | Ложные | Любая идея, что это неправильно? Большое спасибо, Ромны LOCALDOMAIN | нова | включен | вверх | 2018-08-07T17: 08: 40,000000 | - | Ложные | Любая идея, что это неправильно? Большое спасибо, Ромны LOCALDOMAIN | нова | включен | вверх | 2018-08-07T17: 08: 40,000000 | - | Ложные | Любая идея, что это неправильно? Большое спасибо, Ромны
Romain
1

голосов
0

ответ
101

Просмотры

Использование анзибль Playbook Связки с многострочными секретами на OpenShift

В то время как с помощью анзибль Playbook Связки секреты определяются как в https://github.com/openshift/ansible-service-broker/blob/master/docs/secrets.md Однако многострочные секреты не похоже на работу, как обычно. Если секреты добавляются через create_broker_secret.py, многострочный секрет изменит свои новые строки в пробелы, когда он разбирается в параметрах Playbook пучка. Если секреты добавляются вручную, как в: --- apiVersion: v1 рода: Секретные метаданные: имя: тестовое пространство имен: OpenShift-автоматизация-сервис-брокер StringData: "test1": "test1", "test2": "test2" "test_multiline" : | - ----- НАЧАТЬ RSA PRIVATE KEY ----- анзибль Playbook Bundle появится сообщение об ошибке при загрузке YAML файл секретов, как если бы он использовал пустые строки в отдельные секреты: оШИБКА! Синтаксис Ошибка при загрузке YAML. не смог найти ожидаемый «:» появляется ошибка была в «/ TMP / секретах»: строка 6, колонка 1, но может быть в другом месте в файле, в зависимости от конкретной проблемы синтаксиса. Нарушитель Похоже, что строка: ^ здесь этот вопрос довольно сложен при использовании ключей SSH. Есть ли у вас какие-либо идеи, как должны многострочные секреты использоваться с анзиблем Broker? EDIT: Я заметил, что, кажется, ошибка с кодом анзибль Playbook Bundle. На https://github.com/ansibleplaybookbundle/apb-base/blob/cc949ecfeee2e84bd626c73b4cbc54d496fc6738/files/usr/bin/entrypoint.sh#L48 для ключа в $ {mounted_secrets}; сделать для файла в $ (LS $ {SECRETS_DIR} / $ {ключ} / .. данные); делать эхо "$ файла: $ (кошка $ {SECRETS_DIR} / $ {ключ} / .. данные / $ {файл})" >> / TMP / секреты сделаны сделаны, как видно на этой части коды, смонтированные секреты просто скопировали с кошкой, игнорируя тот факт, что некоторые из них могут быть многострочными строковыми блоками. Любая ошибка обходной путь приветствуется.
djuarez
1

голосов
1

ответ
49

Просмотры

How to get specified values from ansbile facts

I'm confused a little bit. I alredy tried jmespath, but didn't help. I need to get a high-level object which contains a specified object. In the example below we see an ansible fact about HDDs. I need to get the disk name (sdf, sdg or dm-0) of the HDD which contains a specified partition, e.g. sdf1. I've got this jmespath query: msg.*.[partitions.sdf1] but it just shows me all inside sdf1. Filters like [?partitions=="sdf1"] don't work here, so the question is: how to preserve the whole sdf object in my example? thanks in advance! { "msg": { "sdf": { "partitions": { "sdf1": { "holders": [], "links": { "ids": [ "17101686F123-part1", "wwn-0x123456-part1" ] }, "sectors": "1875380224" } }, "removable": "0", "rotational": "0" }, "sdg": { "partitions": { "sdg1": { "holders": [], "links": { "ids": [ "164414123CEB-part1", "wwn-0x1233451234831ceb-part1" ] }, "uuid": "F301-FA7F" } }, "removable": "0" }, "dm-0": { "holders": [], "host": "", "links": { "ids": [], "uuids": [] }, "vendor": null, "virtual": 1 } } }
1

голосов
1

ответ
395

Просмотры

Apache Изящные перезапустить анзибль

Что такое идеальный анзибль способ сделать апачскую изящную перезагрузку? - Имя: Перезапустите Apache грациозно команду: apachectl -k изящный анзибль Systemd модуль делает то же самое? Если нет, то в чем разница? Спасибо ! - Имя: Перезапустите Apache службы. Systemd: Имя: apache2 daemon_reload: да состояние: перезапущен
Arky
1

голосов
0

ответ
178

Просмотры

Ansible install and run flask server [duplicate]

Этот вопрос уже есть ответ здесь: исполняемый режим демона в анзибле 5 ответов команды анзибля запустить на удаленном хосте в фоновом режиме 1 ответ Я хочу использовать анзибль настроить свой проект на локальном хосте. Идея позади этого, чтобы дать пользователю анзибль пьес, и как только пользователь непосредственно запускает сборник пьес он должен клонировать мой GIT репозиторий, установить питон модули с использованием пипса в virtualenv и запустите файл питон. Я был в состоянии мерзавец клон, и установить модули питона в virtualenv. Но если я бег моего приложения на Python т.е. его сервер Колбы в режиме разработки, скрипт анзибля блокируется т.е. его блокировка вызовов. Я хочу, чтобы это закончилось и запущена программа управления колба. Потому что как только сервер, я хочу иметь еще один сервер узлов JS работает слишком делает тот же самый процесс, как описано выше. Короче говоря, я хочу анзибль установить несколько модулей и запустить несколько серверов на моем локальном хосте. Я делал это много до сих пор: - хосты: локальное соединение: локальные задачи: - Название: Установка Virtual Env пип: имя: virtualenv - имя: Установка Python модули пипсов: требования: "{{playbook_dir}} / requirements.txt" virtualenv : "{{playbook_dir}} / myenv" virtualenv_python: python3.6 - название: Run Колба App оболочки: "{{playbook_dir}} / myenv / bin / питон /app.py" выше схема игры является то, что я использую сейчас , Анзибль сценарий просто останавливается после запуска app.py, потому что это блокирующий вызов, как он работает сервер. Я хочу, чтобы добавить материал ниже, чтобы запустить свой сервер другого Node.js. - хосты: локальное соединение: локальные задачи: - Название: Установка Virtual Env пип: имя: virtualenv - имя: Установка Python модули пипсов: требования: "{{playbook_dir}} / requirements.txt" virtualenv: «{{playbook_dir}} / myenv»virtualenv_python: python3.6 - название: Run Колба App оболочки: "{{playbook_dir}} / myenv / bin / питон /app.py" выше схема игры является то, что я использую сейчас. Анзибль сценарий просто останавливается после запуска app.py, потому что это блокирующий вызов, как он работает сервер. Я хочу, чтобы добавить материал ниже, чтобы запустить свой сервер другого Node.js. - хосты: локальное соединение: локальные задачи: - Название: Установка Virtual Env пип: имя: virtualenv - имя: Установка Python модули пипсов: требования: "{{playbook_dir}} / requirements.txt" virtualenv: «{{playbook_dir}} / myenv»virtualenv_python: python3.6 - название: Run Колба App оболочки: "{{playbook_dir}} / myenv / bin / питон /app.py" выше схема игры является то, что я использую сейчас. Анзибль сценарий просто останавливается после запуска app.py, потому что это блокирующий вызов, как он работает сервер. Я хочу, чтобы добавить материал ниже, чтобы запустить свой сервер другого Node.js.
Siddharth Pathak
1

голосов
2

ответ
132

Просмотры

Изменение значения списка в анзибле

У меня есть запасы с очень сложной структурой. Для моей конкретной установки я хочу, чтобы переопределить только некоторые значения. Например, у меня есть структура: --- Система: ATR1: 47 конфигурации: - узлы: - регистратор: идентификатор: 'все' УВО: 'МЭН' - База данных: Возведения: 'Логин / передача @ дб' atr2: «какое-то значение "Я хочу, чтобы переопределить тяжесть регистратора, то есть добавить статистическую информацию о УВО: 'IEWS. Я хочу, чтобы обеспечить переопределение в пределах --extra-вары параметра. В ansible.cfg -> hash_behaviour = слияние Я не хочу использовать что-то вроде - SVR: «{{svr_custom | по умолчанию („МЭН“)}}», потому что есть слишком много параметров, и, таким образом, это будет трудно написать весь инвентарь таким образом. Я прочитал о скомбинировать фильтр, но я не могу использовать его, когда мне пришлось переопределить только один элемент в хэш. Как я могу достичь своей цели?
igv
1

голосов
1

ответ
189

Просмотры

When looping through hosts in Ansible task jinja template will not use host_vars of those hosts

In Ansible, I have playbook with task which runs against one nginx server (i.e. nginx.example.com). Purpose is to create as many reverse-proxy config files as needed (or simply: config file per host). Task includes template module. This one template ideally should be reused for many hosts. Task: - name: nginx proxied hosts template: src: proxy-template.j2 dest: /etc/nginx/sites-enabled/{{ item }} with_items: "{{ groups['groupname'] }}" when: hostvars[item].nginx_proxy is defined This task will go through all hosts in group groupname, will use proxy-template.j2 template and create /etc/nginx/sites-enabled/random.example.com config file. Becase host_vars/random.example.com has below yaml config: nginx_proxy: target_fqdn: random.example.com target_resource: http://10.10.0.65 server_ip: 10.10.0.10 When ansible creates config file for that host, I expect it to take values from that host yaml vars file in host_vars/random.example.com one of the lines in proxy-template.j2: server_name {{ vars.nginx_proxy.target_fqdn }}; The problem is, whilst Ansible can successfully check whether host has nginx_proxy attribute (in host_vars/random.example.com), it does not use that hosts's variables in jinja template. Ansible either fails the step for that host, or would take nginx's server variables if they are specified in host_vars (in host_vars/nginx.example.com) which should need to be. Two outcomes: host_vars/nginx.example.com and host_vars/random.example.com have nginx_proxy variables defined. both have different values. Outcome: On nginx server /etc/nginx/sites-enabled/nginx.example.com and /etc/nginx/sites-enabled/random.example.com files created. But both files contain nginx server variables. random's file has nginx's file values. only host_vars/random.example.com have nginx_proxy variables defined. Outcome: ansible fails with item item": "random.example.com", "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'nginx_proxy'" TLDR ansible will check whether any host has nginx_proxy in host_vars but will use only nginx's host host_vars for templating. And if host_vars/nginx.example.com does not have nginx_proxy vars, it fails. {"changed": false, "item": "random.example.com", "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'nginx_proxy'"}
Clear Sky
1

голосов
1

ответ
444

Просмотры

Анзибль: копировать файлы в Докер тома

Я бегу анзибль Playbook, который собирает машины конкретную информацию и хранить дату в пределах файла. Один для каждого хоста. Так что я в конечном итоге с Buch файлов, которые должны теперь быть отправь Docker-приложение для дальнейшей обработки. Actuall Мне нужно хранить его в определенной папке и создать объем, так что контейнер способен считывать файлы. Это требует существования / создания / TMP / входящий ... Теперь, если приложение Monitor получает перемещено или нужен второй экземпляр, вы будете иметь доступ к файловой системе и создать dirctory. Поэтому я хотел бы создать более динамичный объем: объем докер создать --name монитор-вступающий: / вар / WWW / монитор / входящие контейнеры Теперь Докер будет иметь возможность доступа к громкости. Но могу ли я использовать анзибль к «копировать» файлы этого удаленного тома? Отправка их контролировать, входящий вместо / TMP / входящему?
may24x
1

голосов
1

ответ
206

Просмотры

Добавить EC2 экземпляра публичного IP в локальный анзибле файл хостов

Я создаю экземпляр AWS EC2, используя терраформировать, и я хочу поставить публичный IP вновь созданный аппарата к моему локальному / и т.д. / файлу анзибль / хостов. Пытался сделать это с local_file модулем терраформировать, но без успеха. Есть ли у вас какие-либо идеи, как я могу вытащить эту информацию с терраформировать? Это должно быть что-то в этом формате для файла хостов: ABCD ansible_ssh_user = пользователь ansible_ssh_private_key_file = / путь / к / частный / ключ ABCD будет IP-адрес вновь созданного экземпляра.
cyber534
1

голосов
0

ответ
27

Просмотры

Настройка анзибль-хранилища для обработки переменных окружения

Привет спасибо за помощь мне, я пытаюсь безопасными мои переменные окружения (постановка / производство), используя анзибль-хранилище. и мне нужно дать зашифрованные Дейты в knexfile.jslike это: производство: {клиента: «MySQL», подключение: {хост: «xxxxxxxx.xxxxx.us.east.1.rds.amazonaws.com», пользователь: ' образец-приложение-постановка», пароль:„samplefoopass“, база данных:„staging_db“}} здесь вместо того, чтобы дать имя пользователя и пароль непосредственно я пытаюсь зашифровать переменные. Я пытался зашифровать туда файлы, добавив его в credentials.yaml --- Подключение: {DEV_DATABASE: staging_db DEV_HOST: xxxxxxxx.xxxxx.us.east.1.rds.amazonaws.com DEV_PASS: samplefoopass DEV_USER:
sethupathi
1

голосов
1

ответ
68

Просмотры

анзибль строка расщепленный с множеством фактов

Привет Я пытаюсь добиться чего-то ниже. [Корень @ WEBSERVER] # LL / DEV / диск / по-ид / SCSI- * | Grep SDD lrwxrwxrwx. 1 корень корень 9 25 октября 15:26 / DEV / диск / по-ид / SCSI-1234567891123455 -> ../../sdd Я хочу назначить "/ DEV / диск / по-идентификатор / SCSI-1234567891123455" из выше Выход на переменную. Анзибль: Название: Захват вывода команды: LL / DEV / диск / по-ид / SCSI- * | Grep SDD регистр: lsblkoutput Теперь я хочу QUERTY lsblkoutput и / DEV / диск / по-идентификатор / SCSI-1234567891123455 Спасибо,
Rao
1

голосов
0

ответ
94

Просмотры

Вызов несколько анзибля playbooks в питоном скрипте

Как вызвать анзибль playbooks из питона. Могу ли я использовать анзибль апи или питона подпроцесс, который один самый надежный. В Python скрипт я хочу, чтобы выполнить несколько playbooks. В анзибле документации они упоминали Python API только для внутреннего использования. Версии: анзибль 2,7 Python 2.7
Dev Ops Ranga
1

голосов
2

ответ
294

Просмотры

Анзибль gather_facts, как это собрать детали о ОС Linux

Мой вопрос прост, какая команда или как же анзибль внутренне выполняет сбор информации о системе, как ansible_os_family, ansible_distribution_major_version и т.д.
GoF
1

голосов
1

ответ
29

Просмотры

Могу ли я иметь group_vars, используемые в шаблоне Jijnja2?

У меня есть следующая переменная, которую я хочу использовать в шаблоне jinja2 и я не уверен, если это возможно даже тег: пони Это, как я пытался использовать его: {%, если ansible_fqdn в группах [ «машины - {{метка}}» ]%} {% для хоста в группах [ 'машина - {{метка}}']%} эхо "У некоторой магии с моей {{метка}}" {% ENDFOR%} {% ENDIF%} возможно ли это? И как конечно :) Спасибо!
Veselin Hristov
1

голосов
1

ответ
57

Просмотры

анзибль оболочки / командный модуль не выполняет скрипт на удаленном компьютере

При попытке запустить Startup.sh сценарий для Tomcat-8, я получаю ниже ошибки. Playbook успешно выполняет с STDOUT- «Tomcat начал», но это не отражается в удаленной машине. Ошибка существует для обоих модулей - команда и оболочки - имя: Скачать Tomcat версии 8 get_url: URL: http://mirrors.wuchna.com/apachemirror/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat- 8.5.35.tar.gz Dest: /tmp/apache-tomcat-8.5.35.tar.gz - имя: Untar Tomcat в / отказа оболочки: деготь -zxvf апач-кот-8.5.35.tar.gz -C / выбрать арг: ChDir: / TMP / предупреждает: Ложное - имя: Изменить права доступа к файлу Tomcat папки: путь: /opt/apache-tomcat-8.5.35 режима: 0777 рекурсии: да - название: Set Catalina Главной lineinfile: путь: / и т.д. / profile.d / maven.sh регулярное выражение:? (. *) ^ # \ S * экспорт CATALINA_HOME = $ 'строка:'
Swati
0

голосов
0

ответ
4

Просмотры

Как передать динамические роли в анзибль PlayBook

Стандартный способ задания пьес анзибля с ролями: хосты: WebServers роль: общие вебсервер Я хотел бы передать одну переменные командную строку для роли анзибля. Я хочу сказать, там должен быть один анзибль роль, которая будет переменной, и я должен быть в состоянии передать выбор роли (общий или веб-сервер) снаружи. Пожалуйста, дайте мне знать, если и как мы можем достичь этого: роли: - {{выбор}}
Balajee Venkatesh
1

голосов
0

ответ
59

Просмотры

Использование wait_for_connection на вновь созданной виртуальной машины в анзибль PlayBook

Так что я создаю новую виртуальную машину (Machine B) на сервере (машина А) через анзибль пьесы и мне нужно, чтобы быть загрузились (иметь IP-адрес), прежде чем продолжить с PlayBook. Я использую анзибль модуль wait_for_connection, чтобы попытаться достичь этого, но он проверяет подключение машины А вместо машины B. Как использовать модуль wait_for_connection ждать машины B (или проверить его соединение), учитывая, что я не знать IP на компьютере B? Машина B является окно VM, и я использую Libvirt создать виртуальную машину.
user3079474
1

голосов
1

ответ
189

Просмотры

Анзибль как хранить выходной регистр в списке при итерации по инвентаризации

Я бег команды оболочки, эта команда выполняется для всех хостов, перечисленных в моем файле инвентаризации. Я тогда с помощью регистра, чтобы определить переменную, когда я получить эти значения для отладочных сообщений я вижу регистр переменную для всех хостов напечатанных для всех IP в моем инвентаре, но я хочу, чтобы хранить их в списке, так что я могу использовать их в шаблонах. Как мы можем достичь этого? - Имя: Команда оболочки: имя хоста -f регистр: fqdn_name
Nik
1

голосов
1

ответ
440

Просмотры

Как правильно обновить пип с помощью анзибль?

Goal and Environment I am using ansible against Ubuntu 16.04 . The ultimate goal is to use mongodb_user module. This requires pymongo, so this require python-pip What am I doing - name: Package prerequisites for pymongo ansible module apt: force_apt_get: yes name: ['python-pip', 'python-setuptools'] install_recommends: no state: present become: true tags: - mongo register: output - name: Upgrade pip to latest vesion pip: name: pip extra_args: --upgrade register: output - debug: var: output The problem This is actual output; please note: seems pip ignores upgrade instructions the /usr/bin/pip2 binary , while I was expecte "output": { "changed": true, "cmd": [ "/usr/bin/pip2", "install", "--upgrade", "pip" ], "failed": false, "name": [ "pip" ], "requirements": null, "state": "present", "stderr": "You are using pip version 8.1.1, however version 18.1 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\n", "stderr_lines": [ "You are using pip version 8.1.1, however version 18.1 is available.", "You should consider upgrading via the 'pip install --upgrade pip' command." ], "stdout": "Collecting pip\n Using cached https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl\nInstalling collected packages: pip\nSuccessfully installed pip-8.1.1\n", "stdout_lines": [ "Collecting pip", " Using cached https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl", "Installing collected packages: pip", "Successfully installed pip-8.1.1" ], "version": null, "virtualenv": null } The strange thing is that, from command line I got $ /usr/bin/pip2 -V pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) $ /home/mirko/.local/bin/pip -V pip 18.1 from /home/mirko/.local/lib/python2.7/site-packages/pip (python 2.7) A try I tried to manually upgrade pip after install of python-pip and got another strange thing: pip do not want to uninstall old pip... sudo pip install pip --upgrade [sudo] password for mirko: The directory '/home/mirko/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/mirko/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting pip Downloading https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl (1.3MB) 100% |████████████████████████████████| 1.3MB 1.2MB/s Installing collected packages: pip Found existing installation: pip 8.1.1 Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr Question(s) What is the right way to use pip with ansible vs an Ubuntu 16.04? Must/Can I force ansible to use "my" pip? Must/Can I deinstall the "wrong" pip? Have I done something wrong to create this dual-version problem?
realtebo
1

голосов
1

ответ
45

Просмотры

Анзибль вариант архива удалить не WOKING

Я должен заархивировать каталог на удаленном хосте и удалить каталог сразу .tgz файл был успешно создан. У меня есть следующий в моем PlayBook: - - хосты: архив remote_hostName: путь: / тест / folderA Dest: /test/tmp/folderA.tgz удалить: Истинный регистр: результат я могу видеть мою /test/tmp/folderA.tgz создается. Однако, / тест / folderA еще там даже я поставил удалить опцию в True. Я использую анзибль 2.3.
coding

Просмотр дополнительных вопросов

Связанные вопросы