Repository navigation
Commit 31e1a64
committed
CSTACKEX-127: Primary storage-pool is getting created even if desired data LIFs are not reachable (#76)
Choosing IpInterface based on its status and affinity to the chosen
aggregate
This PR...
1. Fixed an issue in picking an unavailable IP while creating the
storage pool.
2. When CloudStack creates an ONTAP primary storage pool, it now picks
the best available network interface (LIF) using a priority-based
selection:
- Best case: Uses a LIF homed on the same node as the storage aggregate
— optimal I/O, no warning
- Degraded case: All home-node LIFs are down but a failover LIF is
running on that node — pool is created, admin is warned
- Fallback case: No LIF at all on the aggregate's node, pool is created
using a LIF from a different node, admin is warned with a latency note
- Failure case: No usable LIF anywhere, pool creation fails with a clear
error
<!---
*******************************************************************************
-->
<!--- NOTE: AUTOMATION USES THE DESCRIPTIONS TO SET LABELS AND PRODUCE
DOCUMENTATION. -->
<!--- PLEASE PUT AN 'X' in only **ONE** box -->
<!---
*******************************************************************************
-->
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [X] Bug fix (non-breaking change which fixes an issue)
- [ ] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
- [ ] Build/CI
- [ ] Test (unit or integration test code)
- [X] Major
- [ ] Minor
- [ ] BLOCKER
- [ ] Critical
- [X] Major
- [ ] Minor
- [ ] Trivial
Note: The following images have been captured for NFS3, the same would
be the case for iSCSI.
<img width="487" height="661" alt="Screenshot 2026-07-08 at 6 55 32 AM"
src="https://github.com/user-attachments/assets/e48a42c7-9914-4563-bc27-f1ad6501629c"
/>
Clearly, by the virtue of free space available, the plugin would choose
`sti246_vsim_ocvs040d_aggr1` by default.
**Scenario-1 [pool_P1]: Happy path; No LIFs were down.**
<img width="1122" height="742" alt="Screenshot 2026-07-07 at 10 26
34 PM"
src="https://github.com/user-attachments/assets/8b748425-c548-4d03-8265-2b86a568f45b"
/>
<img width="1122" height="419" alt="Screenshot 2026-07-07 at 10 26
49 PM"
src="https://github.com/user-attachments/assets/45177fc2-4e87-4ead-928e-659e50504d9d"
/>
<img width="1032" height="432" alt="Screenshot 2026-07-07 at 10 27
48 PM"
src="https://github.com/user-attachments/assets/6bbe3533-2081-429d-ba1f-fa1a8731dd3f"
/>
The first best available LIF with current node and home node matching
with the chosen node has been picked.
**Scenario-2 [pool_P2_1]: LIFs on `040d` node were down; with one LIF
whose current node: `040d`, while its home node: `040c`**
<img width="1032" height="765" alt="Screenshot 2026-07-07 at 10 28
38 PM"
src="https://github.com/user-attachments/assets/adb8e4ff-670b-49d2-b8ca-1d7558f34643"
/>
<img width="1032" height="415" alt="Screenshot 2026-07-07 at 10 28
50 PM"
src="https://github.com/user-attachments/assets/6d982076-adba-4458-960b-dc0066d1c5a6"
/>
<img width="1032" height="380" alt="Screenshot 2026-07-07 at 11 05
22 PM"
src="https://github.com/user-attachments/assets/c73957ec-a82b-4093-bf88-43da515d8663"
/>
<img width="1032" height="220" alt="Screenshot 2026-07-07 at 11 05
43 PM"
src="https://github.com/user-attachments/assets/f179e0b7-808f-4643-9d89-7ebb52fa1d33"
/>
**Scenario-3 [pool_P3]: None of the `040d` node LIFs are UP. First best
available LIF is picked from `040c`.**
<img width="867" height="764" alt="Screenshot 2026-07-07 at 11 07 00 PM"
src="https://github.com/user-attachments/assets/59a05c54-e4f7-468a-9682-9fc392ba45c9"
/>
<img width="867" height="420" alt="Screenshot 2026-07-07 at 11 07 22 PM"
src="https://github.com/user-attachments/assets/87c4a008-17d8-4bff-9335-14e0707f9ddd"
/>
<img width="1029" height="425" alt="Screenshot 2026-07-07 at 11 08
30 PM"
src="https://github.com/user-attachments/assets/2f2888d0-0a7a-4e29-91d4-d03f1bf4440e"
/>
<img width="1029" height="228" alt="Screenshot 2026-07-07 at 11 08
54 PM"
src="https://github.com/user-attachments/assets/5cf00e5f-0a46-4010-899d-14c605b676d2"
/>1 parent c027e2d commit 31e1a64
10 files changed
Lines changed: 899 additions & 142 deletions
File tree
- plugins/storage/volume/ontap/src
- main/java/org/apache/cloudstack/storage
- feign
- client
- model
- lifecycle
- listener
- service
- utils
- test/java/org/apache/cloudstack/storage
- lifecycle
- service
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
| 26 | + | |
24 | 27 | | |
25 | 28 | | |
| 29 | + | |
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
| |||
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
36 | | - | |
| 40 | + | |
| 41 | + | |
37 | 42 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
26 | 28 | | |
27 | 29 | | |
28 | | - | |
29 | | - | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
80 | 91 | | |
81 | 92 | | |
82 | 93 | | |
| |||
107 | 118 | | |
108 | 119 | | |
109 | 120 | | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
110 | 125 | | |
111 | 126 | | |
112 | 127 | | |
113 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
114 | 133 | | |
115 | 134 | | |
116 | 135 | | |
| |||
148 | 167 | | |
149 | 168 | | |
150 | 169 | | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
151 | 185 | | |
152 | 186 | | |
153 | 187 | | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
154 | 196 | | |
155 | 197 | | |
156 | 198 | | |
| |||
160 | 202 | | |
161 | 203 | | |
162 | 204 | | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
163 | 213 | | |
164 | 214 | | |
165 | 215 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
47 | 56 | | |
48 | 57 | | |
49 | 58 | | |
| |||
85 | 94 | | |
86 | 95 | | |
87 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
88 | 121 | | |
89 | 122 | | |
90 | 123 | | |
| |||
98 | 131 | | |
99 | 132 | | |
100 | 133 | | |
101 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
102 | 137 | | |
103 | 138 | | |
104 | 139 | | |
105 | 140 | | |
106 | | - | |
| 141 | + | |
107 | 142 | | |
108 | 143 | | |
109 | 144 | | |
| |||
114 | 149 | | |
115 | 150 | | |
116 | 151 | | |
| 152 | + | |
| 153 | + | |
117 | 154 | | |
118 | 155 | | |
119 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
120 | 198 | | |
121 | 199 | | |
122 | 200 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
36 | 31 | | |
37 | 32 | | |
38 | 33 | | |
39 | 34 | | |
40 | 35 | | |
41 | 36 | | |
42 | 37 | | |
| 38 | + | |
43 | 39 | | |
44 | 40 | | |
45 | | - | |
46 | 41 | | |
| 42 | + | |
47 | 43 | | |
48 | 44 | | |
49 | 45 | | |
| |||
59 | 55 | | |
60 | 56 | | |
61 | 57 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
69 | 73 | | |
70 | 74 | | |
71 | 75 | | |
| |||
76 | 80 | | |
77 | 81 | | |
78 | 82 | | |
| 83 | + | |
79 | 84 | | |
80 | 85 | | |
81 | 86 | | |
| |||
135 | 140 | | |
136 | 141 | | |
137 | 142 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | 143 | | |
146 | 144 | | |
147 | 145 | | |
| |||
160 | 158 | | |
161 | 159 | | |
162 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
163 | 170 | | |
164 | 171 | | |
165 | 172 | | |
| |||
275 | 282 | | |
276 | 283 | | |
277 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
278 | 305 | | |
279 | 306 | | |
280 | 307 | | |
| |||
0 commit comments