@@ -41,11 +41,11 @@ service Controller {
41
41
}
42
42
43
43
service Node {
44
- rpc NodePublishDevice ( NodePublishDeviceRequest )
45
- returns (NodePublishDeviceResponse ) {}
44
+ rpc NodeStageVolume ( NodeStageVolumeRequest )
45
+ returns (NodeStageVolumeResponse ) {}
46
46
47
- rpc NodeUnpublishDevice ( NodeUnpublishDeviceRequest )
48
- returns (NodeUnpublishDeviceResponse ) {}
47
+ rpc NodeUnstageVolume ( NodeUnstageVolumeRequest )
48
+ returns (NodeUnstageVolumeResponse ) {}
49
49
50
50
rpc NodePublishVolume (NodePublishVolumeRequest )
51
51
returns (NodePublishVolumeResponse ) {}
@@ -331,8 +331,8 @@ message ControllerPublishVolumeRequest {
331
331
332
332
message ControllerPublishVolumeResponse {
333
333
// The SP specific information that will be passed to the Plugin in
334
- // the subsequent `NodePublishDevice ` and `NodePublishVolume` calls
335
- // for the given volume.
334
+ // the subsequent `NodeStageVolume ` and `NodePublishVolume` calls
335
+ // for the given volume.
336
336
// This information is opaque to the CO. This field is OPTIONAL.
337
337
map <string , string > publish_volume_info = 1 ;
338
338
}
@@ -503,7 +503,7 @@ message ControllerServiceCapability {
503
503
}
504
504
////////
505
505
////////
506
- message NodePublishDeviceRequest {
506
+ message NodeStageVolumeRequest {
507
507
// The API version assumed by the CO. This is a REQUIRED field.
508
508
Version version = 1 ;
509
509
@@ -519,20 +519,38 @@ message NodePublishDeviceRequest {
519
519
520
520
// The path to which the volume will be published. It MUST be an
521
521
// absolute path in the root filesystem of the process serving this
522
- // request. The CO SHALL ensure uniqueness of global_target_path per
522
+ // request. The CO SHALL ensure uniqueness of staging_target_path per
523
523
// volume.
524
524
// This is a REQUIRED field.
525
- string global_target_path = 4 ;
525
+ string staging_target_path = 4 ;
526
526
527
527
// The capability of the volume the CO expects the volume to have.
528
528
// This is a REQUIRED field.
529
529
VolumeCapability volume_capability = 5 ;
530
+
531
+ // End user credentials used to authenticate/authorize node
532
+ // publish request.
533
+ // This field contains credential data, for example username and
534
+ // password. Each key must consist of alphanumeric characters, '-',
535
+ // '_' or '.'. Each value MUST contain a valid string. An SP MAY
536
+ // choose to accept binary (non-string) data by using a binary-to-text
537
+ // encoding scheme, like base64. An SP SHALL advertise the
538
+ // requirements for credentials in documentation. COs SHALL permit
539
+ // users to pass through the required credentials. This information is
540
+ // sensitive and MUST be treated as such (not logged, etc.) by the CO.
541
+ // This field is OPTIONAL.
542
+ map <string , string > user_credentials = 6 ;
543
+
544
+ // Attributes of the volume to publish. This field is OPTIONAL and
545
+ // MUST match the attributes of the VolumeInfo identified by
546
+ // `volume_id`.
547
+ map <string ,string > volume_attributes = 7 ;
530
548
}
531
549
532
- message NodePublishDeviceResponse {}
550
+ message NodeStageVolumeResponse {}
533
551
////////
534
552
////////
535
- message NodeUnpublishDeviceRequest {
553
+ message NodeUnstageVolumeRequest {
536
554
// The API version assumed by the CO. This is a REQUIRED field.
537
555
Version version = 1 ;
538
556
@@ -542,10 +560,10 @@ message NodeUnpublishDeviceRequest {
542
560
// The path at which the volume was published. It MUST be an absolute
543
561
// path in the root filesystem of the process serving this request.
544
562
// This is a REQUIRED field.
545
- string global_target_path = 3 ;
563
+ string staging_target_path = 3 ;
546
564
}
547
565
548
- message NodeUnpublishDeviceResponse {}
566
+ message NodeUnstageVolumeResponse {}
549
567
////////
550
568
////////
551
569
message NodePublishVolumeRequest {
@@ -562,13 +580,13 @@ message NodePublishVolumeRequest {
562
580
// this capability. This is an OPTIONAL field.
563
581
map <string , string > publish_volume_info = 3 ;
564
582
565
- // The path to which the device was mounted by `NodePublishDevice `.
583
+ // The path to which the device was mounted by `NodeStageVolume `.
566
584
// It MUST be an absolute path in the root filesystem of the process
567
585
// serving this request.
568
586
// It MUST be set if the Node Plugin implements the
569
- // `PUBLISH_UNPUBLISH_DEVICE ` node capability.
587
+ // `STAGE_UNSTAGE_VOLUME ` node capability.
570
588
// This is an OPTIONAL field.
571
- string global_target_path = 4 ;
589
+ string staging_target_path = 4 ;
572
590
573
591
// The path to which the volume will be published. It MUST be an
574
592
// absolute path in the root filesystem of the process serving this
@@ -615,13 +633,13 @@ message NodeUnpublishVolumeRequest {
615
633
// The ID of the volume. This field is REQUIRED.
616
634
string volume_id = 2 ;
617
635
618
- // The path to which the device was mounted by `NodePublishDevice `.
636
+ // The path to which the device was mounted by `NodeStageVolume `.
619
637
// It MUST be an absolute path in the root filesystem of the process
620
638
// serving this request.
621
639
// It MUST be set if the Node Plugin implements the
622
- // `PUBLISH_UNPUBLISH_DEVICE ` node capability.
640
+ // `STAGE_UNSTAGE_VOLUME ` node capability.
623
641
// This is an OPTIONAL field.
624
- string global_target_path = 3 ;
642
+ string staging_target_path = 3 ;
625
643
626
644
// The path at which the volume was published. It MUST be an absolute
627
645
// path in the root filesystem of the process serving this request.
@@ -682,7 +700,7 @@ message NodeServiceCapability {
682
700
message RPC {
683
701
enum Type {
684
702
UNKNOWN = 0 ;
685
- PUBLISH_UNPUBLISH_DEVICE = 1 ;
703
+ STAGE_UNSTAGE_VOLUME = 1 ;
686
704
}
687
705
688
706
Type type = 1 ;
0 commit comments