标签:逻辑 git 重试 ansible BASIC disk
背景
经常出现访问某个git,或者 url的时候,会出现 失败,需要 重试逻辑
方案
- name: "[BASIC] [05_disk] handle disk mount logic for all spec"
tags: mre-disk
block: <<==0. 先搞一个block,在一个block里,所有register的变量作用域
- name: "[BASIC] [05_disk] fetch machine spec from cmdb api"
uri:
url: "{{ devops_api.host }}/xxxxxxxxx"
method: POST
body: { "ip_query_condition": {"ip_scope": "bk_host_innerip", "exact_match": "1", "ip_list": ["{{ ansible_host }}"]} }
body_format: json
register: host_search <<== 1. 将url的结果存到变量: host_search
- debug: var= host_search <<== 2. 打印host_search 的结果,做调试, 后面才知道 应该如何 写判断条件
- name: "[BASIC] [05_disk] check if the server is [H14 Server]"
shell: "echo This is H14"
register: machine_spec
when:
- host_search.json.data.info[0].host.spec == "H14"
- debug: var=machine_spec
- name: "[BASIC] [05_disk] copy auto-init script"
copy:
src: files/init_disk_for_spec.sh
dest: /tmp/init_disk_for_spec.sh
owner: root
group: root
mode: '0644'
- name: "[BASIC] [05_disk] init disk [H14 Server]"
shell: "bash /tmp/init_disk_for_spec.sh H14"
register: H14_output
until: H14_output.rc == 0 <<== 4.你需要先知道H14_output 是啥? 可以通过- debug: var=H14_output 来看
retries: 3
delay: 3 <<== 重试间隔3s
when: host_search.json.data.info[0].host.spec == "H14" <<== 3.根据变量写判断条件,python风格
- debug: var=H14_output
- debug: var=H14_output.rc
```
测试方法:
```
ansible-playbook -i inventory/ahao.mu.D2_V2.ip playbooks/infra_init_new.yml --tags slow_jobs
```
标签:逻辑,git,重试,ansible,BASIC,disk 来源: https://www.cnblogs.com/muahao/p/15239468.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。