Skip to content

Commit 3d7e16d

Browse files
authored
Merge pull request #700 from redhatci/retries_timeout
Retry eject and increase timeout
2 parents d48c2b0 + 9a494ca commit 3d7e16d

File tree

2 files changed

+89
-107
lines changed

2 files changed

+89
-107
lines changed

roles/vendors/dell/tasks/eject.yml

Lines changed: 44 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,47 @@
11
---
2-
- name: Eject
3-
block:
4-
- name: DELL Eject Virtual Media (if any)
5-
community.general.redfish_command:
6-
category: Manager
7-
command: VirtualMediaEject
8-
baseuri: "{{ bmc_address }}"
9-
username: "{{ bmc_user }}"
10-
password: "{{ bmc_password }}"
11-
virtual_media:
12-
image_url: "{{ boot_iso_url }}"
13-
resource_id: iDRAC.Embedded.1
14-
rescue:
15-
- name: Get Virtual Media information
16-
community.general.redfish_info:
17-
category: Manager
18-
command: GetVirtualMedia
19-
baseuri: "{{ bmc_address }}"
20-
username: "{{ bmc_user }}"
21-
password: "{{ bmc_password }}"
22-
register: result
2+
- name: Get Virtual Media information
3+
community.general.redfish_info:
4+
category: Manager
5+
command: GetVirtualMedia
6+
baseuri: "{{ bmc_address }}"
7+
username: "{{ bmc_user }}"
8+
password: "{{ bmc_password }}"
9+
timeout: 120
10+
retries: 3
11+
register: result
12+
delay: 10
13+
until: result is succeeded
2314

24-
- name: Get blocking virtual_media
25-
ansible.builtin.set_fact:
26-
blocking_virtual_media: "{{ result.redfish_facts.virtual_media.entries
27-
| flatten(levels=2)
28-
| selectattr('ConnectedVia', 'defined') | list
29-
| json_query('[?(
30-
ConnectedVia == `URI`
31-
&& Image != null
32-
&& (
33-
contains(MediaTypes, `CD`)
34-
|| contains(MediaTypes, `DVD`)
35-
|| contains(MediaTypes, `VCD-DVD`)
36-
)
37-
)]'
38-
) | from_yaml
39-
}}"
40-
41-
- name: Debug
42-
ansible.builtin.debug:
43-
var: blocking_virtual_media
44-
verbosity: 1
45-
46-
- name: Attempting to eject blocking media
47-
community.general.redfish_command:
48-
category: Manager
49-
command: VirtualMediaEject
50-
baseuri: "{{ bmc_address }}"
51-
username: "{{ bmc_user }}"
52-
password: "{{ bmc_password }}"
53-
virtual_media:
54-
image_url: "{{ item.Image }}"
55-
resource_id: iDRAC.Embedded.1
56-
loop: "{{ blocking_virtual_media }}"
57-
no_log: true
15+
- name: Attempting to eject blocking media (if any)
16+
vars:
17+
blocking_virtual_media: "{{ result.redfish_facts.virtual_media.entries
18+
| flatten(levels=2)
19+
| selectattr('ConnectedVia', 'defined') | list
20+
| json_query('[?(
21+
ConnectedVia == `URI`
22+
&& Image != null
23+
&& (
24+
contains(MediaTypes, `CD`)
25+
|| contains(MediaTypes, `DVD`)
26+
|| contains(MediaTypes, `VCD-DVD`)
27+
)
28+
)]'
29+
) | from_yaml
30+
}}"
31+
community.general.redfish_command:
32+
category: Manager
33+
command: VirtualMediaEject
34+
baseuri: "{{ bmc_address }}"
35+
username: "{{ bmc_user }}"
36+
password: "{{ bmc_password }}"
37+
timeout: 120
38+
virtual_media:
39+
image_url: "{{ item.Image }}"
40+
resource_id: iDRAC.Embedded.1
41+
loop: "{{ blocking_virtual_media }}"
42+
retries: 3
43+
delay: 10
44+
until: result is succeeded
45+
register: result
46+
no_log: true
5847
...

roles/vendors/hpe/tasks/eject.yml

Lines changed: 45 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,48 @@
11
---
2-
- name: Eject
3-
block:
4-
- name: HPE Eject Virtual Media (if any)
5-
community.general.redfish_command:
6-
category: Manager
7-
command: VirtualMediaEject
8-
baseuri: "{{ bmc_address }}"
9-
username: "{{ bmc_user }}"
10-
password: "{{ bmc_password }}"
11-
virtual_media:
12-
image_url: "{{ boot_iso_url }}"
13-
resource_id: 1
14-
rescue:
15-
- name: Get Virtual Media information
16-
community.general.redfish_info:
17-
category: Manager
18-
command: GetVirtualMedia
19-
baseuri: "{{ bmc_address }}"
20-
username: "{{ bmc_user }}"
21-
password: "{{ bmc_password }}"
22-
register: result
2+
- name: Get Virtual Media information
3+
community.general.redfish_info:
4+
category: Manager
5+
command: GetVirtualMedia
6+
baseuri: "{{ bmc_address }}"
7+
username: "{{ bmc_user }}"
8+
password: "{{ bmc_password }}"
9+
timeout: 120
10+
register: result
11+
retries: 3
12+
delay: 10
13+
until: result is succeeded
2314

24-
- name: Get blocking virtual_media
25-
ansible.builtin.set_fact:
26-
blocking_virtual_media: "{{ result.redfish_facts.virtual_media.entries
27-
| flatten(levels=2)
28-
| selectattr('ConnectedVia', 'defined') | list
29-
| json_query('[?(
30-
ConnectedVia == `URI`
31-
&& Image != null
32-
&& (
33-
contains(MediaTypes, `CD`)
34-
|| contains(MediaTypes, `Floppy`)
35-
|| contains(MediaTypes, `USBStick`)
36-
|| contains(MediaTypes, `DVD`)
37-
)
38-
)]'
39-
) | from_yaml
40-
}}"
41-
42-
- name: Attempting to eject blocking media
43-
community.general.redfish_command:
44-
category: Manager
45-
command: VirtualMediaEject
46-
baseuri: "{{ bmc_address }}"
47-
username: "{{ bmc_user }}"
48-
password: "{{ bmc_password }}"
49-
timeout: 60
50-
virtual_media:
51-
image_url: "{{ item.Image }}"
52-
resource_id: 1
53-
loop: "{{ blocking_virtual_media }}"
54-
no_log: true
15+
- name: Attempting to eject blocking media (if any)
16+
vars:
17+
blocking_virtual_media: "{{ result.redfish_facts.virtual_media.entries
18+
| flatten(levels=2)
19+
| selectattr('ConnectedVia', 'defined') | list
20+
| json_query('[?(
21+
ConnectedVia == `URI`
22+
&& Image != null
23+
&& (
24+
contains(MediaTypes, `CD`)
25+
|| contains(MediaTypes, `Floppy`)
26+
|| contains(MediaTypes, `USBStick`)
27+
|| contains(MediaTypes, `DVD`)
28+
)
29+
)]'
30+
) | from_yaml
31+
}}"
32+
community.general.redfish_command:
33+
category: Manager
34+
command: VirtualMediaEject
35+
baseuri: "{{ bmc_address }}"
36+
username: "{{ bmc_user }}"
37+
password: "{{ bmc_password }}"
38+
timeout: 120
39+
virtual_media:
40+
image_url: "{{ item.Image }}"
41+
resource_id: 1
42+
loop: "{{ blocking_virtual_media }}"
43+
retries: 3
44+
delay: 10
45+
until: result is succeeded
46+
register: result
47+
no_log: true
5548
...

0 commit comments

Comments
 (0)