Инструменты пользователя

Инструменты сайта


service:ansible

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:ansible [19.03.2025 21:46] – [Выборка из словаря по значениям из списка] viacheslavservice:ansible [26.03.2025 13:33] (текущий) – [Литература] viacheslav
Строка 915: Строка 915:
  
 ===== Выборка из словаря по значениям из списка ===== ===== Выборка из словаря по значениям из списка =====
-В зависимости от набора работающих служб получать набор строк для формирования API-запроса.+В зависимости от набора работающих служб получать набор строк для формирования API-запроса. Если есть работающие службы, которые отсутствуют в словаре, они будут пропущены по условию.
  
 <file yaml services_status.yml> <file yaml services_status.yml>
Строка 923: Строка 923:
   vars:   vars:
     services:     services:
-      project-service1: first +      project-service1: main 
-      project-service2: second +      project-service2: thingy 
-      project-service3: third+      project-service3: bonanza
 </file> </file>
  
 <file yaml roles/services_status/tasks/main.yml> <file yaml roles/services_status/tasks/main.yml>
-- name: Gather services status+- name: Gather running services
   shell:   shell:
-    cmd: systemctl --user --type service --state running --legend false |grep project- |sed -E 's#^ +(.*)\.service.*#\1#'+    cmd: systemctl --user --type service --state running --plain --quiet |grep ^project- |sed -E 's#\.service.*##'
   register: running_services   register: running_services
  
-debug+# В curl body это --data '{"dataSources": ["main","thingy","bonanza"]}' 
-    msg"Values are: {{ services[item] }}"+- name: Update API 
 +  uri
 +    urlhttps://localhost/admin/api/update_metadata 
 +    user: admin 
 +    password: {{ pass }} 
 +    force_basic_auth: true 
 +    method: POST 
 +    validate_certs: false 
 +    body_format: json 
 +    body: 
 +      dataSources: 
 +        - "{{ services[item] }}"
   with_items:   with_items:
-    - "{{ running_services.stdout_lines }}"+    - "{{ running_services['stdout_lines'}}" 
 +  when: item in services | list
 </file> </file>
  
-Работают 1-я и 3-я службы, 2-я не работает. Значения получаются first и third соответственно.+Работают 1-я и 3-я службы, 2-я не работает. Значения получаются main и bonanza соответственно.
 <code bash> <code bash>
 ansible-playbook services_status.yml  ansible-playbook services_status.yml 
Строка 946: Строка 958:
 TASK [services_status : debug] ********************************************************************************************************** TASK [services_status : debug] **********************************************************************************************************
 ok: [k3] => (item=project-service1) => { ok: [k3] => (item=project-service1) => {
-    "msg": "Values are: first"+    "msg": "Values are: main"
 } }
 ok: [k3] => (item=project-service3) => { ok: [k3] => (item=project-service3) => {
-    "msg": "Values are: third"+    "msg": "Values are: bonanza"
 } }
- 
 </code> </code>
  
Строка 985: Строка 996:
 [[https://www.youtube.com/playlist?list=PLg5SS_4L6LYufspdPupdynbMQTBnZd31N|ADV-IT - Уроки Ansible на Русском]]\\ [[https://www.youtube.com/playlist?list=PLg5SS_4L6LYufspdPupdynbMQTBnZd31N|ADV-IT - Уроки Ansible на Русском]]\\
 [[https://www.youtube.com/playlist?list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70|Getting started with Ansible (Learn Linux TV)]]\\ [[https://www.youtube.com/playlist?list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70|Getting started with Ansible (Learn Linux TV)]]\\
 +[[https://ezhvsalate.ru/posts/ansible-peredaem-json-v-tele-zaprosa-ispolzuia-modul-uri|Ansible: передаем json в теле запроса, используя модуль uri]]\\
  
  
service/ansible.1742420771.txt.gz · Последнее изменение: 19.03.2025 21:46 — viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki