diff --git a/README.md b/README.md index bcbeefc6a0..ac0e653fdf 100644 --- a/README.md +++ b/README.md @@ -109,13 +109,12 @@ Docker\* Hub. Those images contain license texts under ## Content -- [PMEM-CSI for Kubernetes](#pmem-csi-for-kubernetes) - - [Supported Kubernetes versions](#supported-kubernetes-versions) - - [Design and architecture](docs/design.md) - - [Installation and Usage](docs/install.md) - - [Prerequisites](docs/install.md#prerequisites) - - [Installation and setup](docs/install.md#installation-and-setup) - - [Filing issues and contributing](docs/install.md#filing-issues-and-contributing) - - [Develop and contribute](docs/DEVELOPMENT.md) - - [Automated testing](docs/autotest.md) - - [Application examples](examples/readme.rst) +- [Supported Kubernetes versions](#supported-kubernetes-versions) +- [Design and architecture](docs/design.md) +- [Installation and Usage](docs/install.md) + - [Prerequisites](docs/install.md#prerequisites) + - [Installation and setup](docs/install.md#installation-and-setup) + - [Filing issues and contributing](docs/install.md#filing-issues-and-contributing) +- [Develop and contribute](docs/DEVELOPMENT.md) +- [Automated testing](docs/autotest.md) +- [Application examples](examples/readme.rst) diff --git a/conf.json b/conf.json index 573223e120..da5f177b18 100644 --- a/conf.json +++ b/conf.json @@ -18,6 +18,11 @@ "sphinx_md", "sphinx_copybutton" ], + "linkcheck_anchors_ignore": [ + "^!", + "^L[0-9]+-L[0-9]+$", + "^discussion_r[0-9]+$" + ], "copybutton_prompt_text": "$ ", "html_theme": "sphinx_rtd_theme", "project": "PMEM-CSI", diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 3588f47b2f..b0bcad8946 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -4,7 +4,7 @@ ### Build PMEM-CSI -1. Use `make build-images` to produce Docker\* container images. +1. Use `make build-images` to produce Docker\* container images.g180 2. Use `make push-images` to push Docker container images to a Docker image registry. The default is to push to a local @@ -177,7 +177,7 @@ Network ports are opened as configured in manifest files: - metrics endpoint: typical port values 10010 (PMEM-CSI) and 10011 (external-provisioner) -- webhook endpoint: disabled by default, port chosen when [enabling the scheduler extensions](../README.md#enable-scheduler-extensions) +- webhook endpoint: disabled by default, port chosen when [enabling the scheduler extensions](install.md#enable-scheduler-extensions) ### Local sockets @@ -191,8 +191,8 @@ The Kubernetes CSI API is used over a local socket inside the same host. ### Command line arguments See the `main.go` files of the -[pmem-csi-driver](./pkg/pmem-csi-driver/main.go) and -the [pmem-csi-operator](./pkg/pmem-csi-operator/main.go) commands. +[pmem-csi-driver](/pkg/pmem-csi-driver/main.go) and +the [pmem-csi-operator](/pkg/pmem-csi-operator/main.go) commands. ### Environment variables @@ -248,7 +248,7 @@ make test_e2e TEST_E2E_FOCUS=lvm-production.*late.binding.*stress.test ``` Alternatively, one can run the -[`hack/stress-driver.sh`](hack/stress-driver.sh) +[`hack/stress-driver.sh`](/hack/stress-driver.sh) helper script to generate load on the driver ```console ROUNDS=500 VOL_COUNT=5 ./hack/stress-driver.sh diff --git a/docs/autotest.md b/docs/autotest.md index 8f4966257b..fcf5efdd6b 100644 --- a/docs/autotest.md +++ b/docs/autotest.md @@ -82,7 +82,7 @@ the master node. After `make start`, PMEM-CSI is *not* installed yet. Either install manually as [described for a normal -cluster](#run-pmem-csi-on-kubernetes) or use the +cluster](install.md#installation-and-setup) or use the [setup-deployment.sh](/test/setup-deployment.sh) script. ## Configuration options diff --git a/docs/design.md b/docs/design.md index 8ac056d5b1..7ed2cec3a0 100644 --- a/docs/design.md +++ b/docs/design.md @@ -278,7 +278,7 @@ volumes](https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic- which are an alpha feature in Kubernetes 1.19 and supported by PMEM-CSI because they use the normal volume provisioning process. -See [exposing persistent and cache volumes](install.md#expose-persistent-and-cache-volumes-to-applications) for configuration information. +See [volume parameters](install.md#volume-parameters) for configuration information. ## Volume Size diff --git a/docs/install.md b/docs/install.md index 390678dde4..6328057b7a 100644 --- a/docs/install.md +++ b/docs/install.md @@ -274,8 +274,8 @@ PMEM-CSI operator or by using reference yaml files provided in source code. #### Install using the operator -[PMEM-CSI operator](./design.md#operator) facilitates deploying and managing -the [PMEM-CSI driver](https://github.com/intel/pmem-csi) on a Kubernetes cluster. +The [PMEM-CSI operator](./design.md#pmem-csi-operator) facilitates deploying and managing +the PMEM-CSI driver on a Kubernetes cluster. ##### Installing the operator from Operator Hub @@ -942,7 +942,7 @@ This is the original implementation of ephemeral inline volumes for CSI drivers in Kubernetes. It is currently available as a beta feature in Kubernetes. -Volume requests [embedded in the pod spec](https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html#example-of-inline-csi-pod-spec) are provisioned as +Volume requests [embedded in the pod spec with the `csi` field](https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html) are provisioned as ephemeral volumes. The volume request could use below fields as [`volumeAttributes`](https://kubernetes.io/docs/concepts/storage/volumes/#csi): @@ -1564,7 +1564,7 @@ deployment is in the `Failed` state, then one can look into the event(s) using > has to take extreme care of such deployments by ensuring that not more than > one driver ends up running on the same node(s). Nodes on which a PMEM-CSI > driver could run can be configured by using `nodeSelector` property of -> [`DeploymentSpec`](#deployment-crd-api). +> [`DeploymentSpec`](#pmem-csi-deployment-crd). #### Operator metrics data diff --git a/examples/gce.md b/examples/gce.md index 33b393cd90..a314cfa398 100644 --- a/examples/gce.md +++ b/examples/gce.md @@ -8,7 +8,7 @@ form](https://docs.google.com/forms/d/e/1FAIpQLSeX1tN6Qt-aQUK2iVVioClFX5N-061jqO This document explains how to bring up Kubernetes on those machines with the [scripts from -Kubernetes](https://kubernetes.io/docs/setup/production-environment/turnkey/gce/) +Kubernetes](https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh) and how to install PMEM-CSI. It was written for and tested with the v0.5.0 release of PMEM-CSI, but @@ -157,7 +157,7 @@ $ qemu-system-x86_64 -enable-kvm -machine accel=kvm,usb=off -nographic \ As for the `debian-9` image on a GCE VM, this machine will have a `/dev/pmem0`. Now build a normal image ("base" or "dev") and [create a GCE image -from it](https://cloud.google.com/container-optimized-os/docs/how-to/building-from-open-source#running_on_compute_engine). +from it](https://cloud.google.com/container-optimized-os/docs/how-to/building-from-open-source). ### Starting and stopping Kubernetes @@ -206,7 +206,7 @@ To stop the cluster, use the same env variables for the After the previous step, `kubectl` works and is configured to use the new cluster. What follows next are the steps explained in more details in the top-level README's [Run PMEM-CSI on -Kubernetes](../docs/install.md#run-pmem-csi-on-kubernetes) section. +Kubernetes](../docs/install.md#install-pmem-csi-driver) section. First the worker nodes need to be labeled: diff --git a/examples/memcached.md b/examples/memcached.md index fa2cae60fb..f78dd22dae 100644 --- a/examples/memcached.md +++ b/examples/memcached.md @@ -184,7 +184,7 @@ deployment](/deploy/kustomize/memcached/persistent/memcached-persistent.yaml) uses a stateful set because that can automatically create persistent volumes for each instance. The shell wrapper around memcached translates the normal [`SIGTERM` shutdown -signal](https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods) +signal](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) into `SIGUSR1`. Deploying like that becomes less flexible because the memcached pods