You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: spec.md
+36-33
Original file line number
Diff line number
Diff line change
@@ -165,19 +165,20 @@ capability.
165
165
166
166
```
167
167
CreateVolume +------------+ DeleteVolume
168
-
+------------->| CREATED +--------------+
169
-
| +---+----^---+ |
170
-
| Controller | | Controller v
171
-
+++ Publish | | Unpublish +++
172
-
|X| Volume | | Volume | |
173
-
+-+ +---v----+---+ +-+
174
-
| NODE_READY |
175
-
+---+----^---+
176
-
Node | | Node
177
-
Publish | | Unpublish
178
-
Volume | | Volume
179
-
+---v----+---+
180
-
| PUBLISHED |
168
+
+------------->| CREATED +-------------------------+
169
+
| | <---------+ |
170
+
| +---+----^---+ | |
171
+
| Controller | | Controller | v
172
+
+++ Publish | | Unpublish | +++
173
+
|X| Volume | | Volume | | |
174
+
+-+ +---v----+---+ | Controller +-+
175
+
| NODE_READY | | Unpublish
176
+
+---+----^---+ | Volume
177
+
Node | | Node | (forced)
178
+
Publish | | Unpublish |
179
+
Volume | | Volume |
180
+
+---v----+---+ |
181
+
| PUBLISHED +---------+
181
182
+------------+
182
183
183
184
Figure 5: The lifecycle of a dynamically provisioned volume, from
@@ -186,25 +187,26 @@ creation to destruction.
186
187
187
188
```
188
189
CreateVolume +------------+ DeleteVolume
189
-
+------------->| CREATED +--------------+
190
-
| +---+----^---+ |
191
-
| Controller | | Controller v
192
-
+++ Publish | | Unpublish +++
193
-
|X| Volume | | Volume | |
194
-
+-+ +---v----+---+ +-+
195
-
| NODE_READY |
196
-
+---+----^---+
197
-
Node | | Node
198
-
Stage | | Unstage
199
-
Volume | | Volume
200
-
+---v----+---+
201
-
| VOL_READY |
202
-
+---+----^---+
203
-
Node | | Node
204
-
Publish | | Unpublish
205
-
Volume | | Volume
206
-
+---v----+---+
207
-
| PUBLISHED |
190
+
+------------->| CREATED +--------------------------+
191
+
| | <--------+ |
192
+
| +---+----^---+ | |
193
+
| Controller | | Controller | v
194
+
+++ Publish | | Unpublish | +++
195
+
|X| Volume | | Volume | | |
196
+
+-+ +---v----+---+ | Controller +-+
197
+
| NODE_READY | | Unpublish
198
+
+---+----^---+ | Volume
199
+
Node | | Node | (forced)
200
+
Stage | | Unstage |
201
+
Volume | | Volume |
202
+
+---v----+---+ |
203
+
| VOL_READY +--------+
204
+
+---+----^---+ |
205
+
Node | | Node |
206
+
Publish | | Unpublish |
207
+
Volume | | Volume |
208
+
+---v----+---+ |
209
+
| PUBLISHED +--------+
208
210
+------------+
209
211
210
212
Figure 6: The lifecycle of a dynamically provisioned volume, from
@@ -1318,7 +1320,8 @@ The CO MUST implement the specified error recovery behavior when it encounters t
1318
1320
1319
1321
Controller Plugin MUST implement this RPC call if it has `PUBLISH_UNPUBLISH_VOLUME` controller capability.
1320
1322
This RPC is a reverse operation of `ControllerPublishVolume`.
1321
-
It MUST be called after all `NodeUnstageVolume` and `NodeUnpublishVolume` on the volume are called and succeed.
1323
+
Basically, it MUST be called after all `NodeUnstageVolume` and `NodeUnpublishVolume` on the volume are called and succeed.
1324
+
When control plane retry the `NodeUnstage` / `NodeUnpublish` but it can't reach the node(for example node shut down due to a hardware failure or a software problem), it proceeds on to `ControllerUnpublish`.
1322
1325
The Plugin SHOULD perform the work that is necessary for making the volume ready to be consumed by a different node.
1323
1326
The Plugin MUST NOT assume that this RPC will be executed on the node where the volume was previously used.
0 commit comments