minor fixes for local-hostpath, documentation
Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
parent
4d215968d7
commit
6345c53a4e
12
CHANGELOG.md
12
CHANGELOG.md
|
|
@ -1,6 +1,16 @@
|
|||
# v1.5.0
|
||||
|
||||
Released 2022-02-
|
||||
|
||||
- massive ci overhaul
|
||||
- introduce `zfs-local-dataset` driver
|
||||
- introduce `zfs-local-zvol` driver
|
||||
- introduce `local-hostpath` driver
|
||||
- support manually provisioned `oneclient` volumes
|
||||
|
||||
# v1.4.4
|
||||
|
||||
Release 2021-12-11
|
||||
Released 2021-12-11
|
||||
|
||||
- better adherence to expected csi behavior when volume request for less than
|
||||
minimum volume size is requested (see #137)
|
||||
|
|
|
|||
10
README.md
10
README.md
|
|
@ -33,8 +33,9 @@ have access to resizing, snapshots, clones, etc functionality.
|
|||
for all volumes)
|
||||
- `smb-client` (crudely provisions storage using a shared smb share/directory
|
||||
for all volumes)
|
||||
- `node-manual` (allows connecting to manually created smb, nfs, lustre, and
|
||||
iscsi volumes, see sample PVs in the `examples` directory)
|
||||
- `local-hostpath` (crudely provisions node-local directories)
|
||||
- `node-manual` (allows connecting to manually created smb, nfs, lustre,
|
||||
oneclient, and iscsi volumes, see sample PVs in the `examples` directory)
|
||||
- framework for developing `csi` drivers
|
||||
|
||||
If you have any interest in providing a `csi` driver, simply open an issue to
|
||||
|
|
@ -159,6 +160,11 @@ provision `MULTI_NODE` / `RWX` volumes, any workloads using the volume will
|
|||
always land a single node and that node will always be the node where the
|
||||
volume is/was provisioned.
|
||||
|
||||
### local-hostpath
|
||||
|
||||
This `driver` provisions node-local storage. Each node should and an
|
||||
identically name folder where volumes will be created.
|
||||
|
||||
## Server Prep
|
||||
|
||||
Server preparation depends slightly on which `driver` you are using.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
driver: local-hostpath
|
||||
instance_id:
|
||||
local-hostpath:
|
||||
# generally shareBasePath and controllerBasePath should be the same for this
|
||||
# driver, this path should be mounted into the csi-driver container
|
||||
shareBasePath: "/var/lib/csi-local-hostpath"
|
||||
controllerBasePath: "/var/lib/csi-local-hostpath"
|
||||
dirPermissionsMode: "0777"
|
||||
dirPermissionsUser: root
|
||||
dirPermissionsGroup: root
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
const _ = require("lodash");
|
||||
const { CsiBaseDriver } = require("../index");
|
||||
const { GrpcError, grpc } = require("../../utils/grpc");
|
||||
const cp = require("child_process");
|
||||
|
|
@ -570,14 +571,20 @@ class ControllerClientCommonDriver extends CsiBaseDriver {
|
|||
* @param {*} call
|
||||
*/
|
||||
async GetCapacity(call) {
|
||||
const driver = this;
|
||||
|
||||
if (
|
||||
!driver.options.service.controller.capabilities.rpc.includes(
|
||||
"GET_CAPACITY"
|
||||
)
|
||||
) {
|
||||
// really capacity is not used at all with nfs in this fashion, so no reason to enable
|
||||
// here even though it is technically feasible.
|
||||
throw new GrpcError(
|
||||
grpc.status.UNIMPLEMENTED,
|
||||
`operation not supported by driver`
|
||||
);
|
||||
|
||||
const driver = this;
|
||||
}
|
||||
|
||||
if (call.request.volume_capabilities) {
|
||||
const result = this.assertCapabilities(call.request.volume_capabilities);
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ class ControllerLocalHostpathDriver extends ControllerClientCommonDriver {
|
|||
"service.identity.capabilities.service",
|
||||
false
|
||||
);
|
||||
|
||||
const c_caps = _.get(options, "service.controller.capabilities", false);
|
||||
super(...arguments);
|
||||
|
||||
if (!i_caps) {
|
||||
|
|
@ -26,6 +28,16 @@ class ControllerLocalHostpathDriver extends ControllerClientCommonDriver {
|
|||
"VOLUME_ACCESSIBILITY_CONSTRAINTS",
|
||||
];
|
||||
}
|
||||
|
||||
if (!c_caps) {
|
||||
this.ctx.logger.debug("setting local-hostpath controller service caps");
|
||||
|
||||
if (
|
||||
!options.service.controller.capabilities.rpc.includes("GET_CAPACITY")
|
||||
) {
|
||||
options.service.controller.capabilities.rpc.push("GET_CAPACITY");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getConfigKey() {
|
||||
|
|
|
|||
|
|
@ -125,6 +125,9 @@ class NodeManualDriver extends CsiBaseDriver {
|
|||
driverResourceType = "filesystem";
|
||||
fs_types = ["oneclient", "fuse.oneclient"];
|
||||
break;
|
||||
case "hostpath":
|
||||
driverResourceType = "filesystem";
|
||||
break;
|
||||
case "iscsi":
|
||||
driverResourceType = "volume";
|
||||
fs_types = ["ext3", "ext4", "ext4dev", "xfs"];
|
||||
|
|
|
|||
Loading…
Reference in New Issue