Skip to content

CNV-62649: Update CNV modules to pass DITA validation #96074

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions modules/virt-about-aaq-operator.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ The AAQ Operator introduces two new API objects defined as custom resource defin

* `ApplicationAwareResourceQuota`: Sets aggregate quota restrictions enforced per namespace. The `ApplicationAwareResourceQuota` API is compatible with the native `ResourceQuota` object and shares the same specification and status definitions.
+
.Example manifest
Example manifest:
+
[source,yaml]
----
apiVersion: aaq.kubevirt.io/v1alpha1
Expand All @@ -41,7 +42,8 @@ spec:

* `ApplicationAwareClusterResourceQuota`: Mirrors the `ApplicationAwareResourceQuota` object at a cluster scope. It is compatible with the native `ClusterResourceQuota` API object and shares the same specification and status definitions. When creating an AAQ cluster quota, you can select multiple namespaces based on annotation selection, label selection, or both by editing the `spec.selector.labels` or `spec.selector.annotations` fields.
+
.Example manifest
Example manifest:
+
[source,yaml]
----
apiVersion: aaq.kubevirt.io/v1alpha1
Expand Down
4 changes: 2 additions & 2 deletions modules/virt-about-cloning.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ When the requirements for neither Container Storage Interface (CSI) volume cloni

Host-assisted cloning uses a source pod and a target pod to copy data from the source volume to the target volume. The target persistent volume claim (PVC) is annotated with the fallback reason that explains why host-assisted cloning has been used, and an event is created.

.Example PVC target annotation
Example PVC target annotation:

[source,yaml]
----
Expand All @@ -60,7 +60,7 @@ metadata:
cdi.kubevirt.io/cloneType: copy
----

.Example event
Example event:

[source,terminal]
----
Expand Down
2 changes: 0 additions & 2 deletions modules/virt-about-instance-types.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ Because instance types require defined CPU and memory attributes, {VirtProductNa

You can manually create an instance type manifest. For example:

.Example YAML file with required fields
[source,yaml]
----
apiVersion: instancetype.kubevirt.io/v1beta1
Expand All @@ -49,7 +48,6 @@ spec:

You can create an instance type manifest by using the `virtctl` CLI utility. For example:

.Example `virtctl` command with required fields
[source,terminal]
----
$ virtctl create instancetype --cpu 2 --memory 256Mi
Expand Down
6 changes: 1 addition & 5 deletions modules/virt-about-ksm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ You can configure {VirtProductName} to activate kernel samepage merging (KSM) wh

You can enable or disable the KSM activation feature for all nodes by using the {product-title} web console or by editing the `HyperConverged` custom resource (CR). The `HyperConverged` CR supports more granular configuration.

[discrete]
[id="virt-ksm-cr-configuration"]
=== CR configuration

You can configure the KSM activation feature by editing the `spec.configuration.ksmConfiguration` stanza of the `HyperConverged` CR.
You can configure the KSM activation feature by editing the `spec.configuration.ksmConfiguration` stanza of the `HyperConverged` CR:

* You enable the feature and configure settings by editing the `ksmConfiguration` stanza.

Expand Down
2 changes: 1 addition & 1 deletion modules/virt-about-scratch-space.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ CDI requires requesting scratch space with a `file` volume mode, regardless of t
If the origin PVC is backed by `block` volume mode, you must define a storage class capable of provisioning `file` volume mode PVCs.
====

[discrete]
[id="scratch-space-manual-provisioning_{context}"]
== Manual provisioning

If there are no storage classes, CDI uses any PVCs in the project that match the size requirements for the image.
Expand Down
6 changes: 2 additions & 4 deletions modules/virt-about-static-and-dynamic-ssh-keys.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ You can add public SSH keys to virtual machines (VMs) statically at first boot o
Only {op-system-base-full} 9 supports dynamic key injection.
====

[discrete]
[id="static-key-management_{context}"]
== Static SSH key management

Expand All @@ -24,19 +23,18 @@ You can add the key by using one of the following methods:
* Add a key to a single VM when you create it by using the web console or the command line.
* Add a key to a project by using the web console. Afterwards, the key is automatically added to the VMs that you create in this project.

.Use cases
Use cases:

* As a VM owner, you can provision all your newly created VMs with a single key.

[discrete]
[id="dynamic-key-management_{context}"]
== Dynamic SSH key management

You can enable dynamic SSH key management for a VM with {op-system-base-full} 9 installed. Afterwards, you can update the key during runtime. The key is added by the QEMU guest agent, which is installed with Red Hat boot sources.

When dynamic key management is disabled, the default key management setting of a VM is determined by the image used for the VM.

.Use cases
Use cases:

* Granting or revoking access to VMs: As a cluster administrator, you can grant or revoke remote VM access by adding or removing the keys of individual users from a `Secret` object that is applied to all VMs in a namespace.
* User access: You can add your access credentials to all VMs that you create and manage.
Expand Down
1 change: 0 additions & 1 deletion modules/virt-about-storage-pools-pvc-templates.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ A storage pool created with a PVC template can contain multiple HPP volumes. Spl

The PVC template is based on the `spec` stanza of the `PersistentVolumeClaim` object:

.Example `PersistentVolumeClaim` object
[source,yaml]
----
apiVersion: v1
Expand Down
3 changes: 2 additions & 1 deletion modules/virt-about-vm-snapshots.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ Cloning a VM with a vTPM device attached to it or creating a new VM from its sna
* Restore a VM from a snapshot
* Delete an existing VM snapshot

.VM snapshot controller and custom resources
[id="vm-snapshot-controller-and-custom-resources_{context}"]
== VM snapshot controller and custom resources

The VM snapshot feature introduces three new API objects defined as custom resource definitions (CRDs) for managing snapshots:

Expand Down
1 change: 0 additions & 1 deletion modules/virt-about-workload-updates.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ If you enable both `LiveMigrate` and `Evict`:

* VMIs that do not support live migration use the `Evict` update strategy. If a VMI is controlled by a `VirtualMachine` object that has `runStrategy: Always` set, a new VMI is created in a new pod with updated components.

[discrete]
[id="migration-attempts-timeouts_{context}"]
== Migration attempts and timeouts

Expand Down
6 changes: 3 additions & 3 deletions modules/virt-accessing-exported-vm-manifests.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ $ oc get secret export-token-<export_name> -o jsonpath={.data.token} | base64 --
$ oc get vmexport <export_name> -o yaml
----

. Review the `status.links` stanza, which is divided into `external` and `internal` sections. Note the `manifests.url` fields within each section:
. Review the `status.links` stanza, which is divided into `external` and `internal` sections. Note the `manifests.url` fields within each section.
+
For example:
+
.Example output

[source,yaml]
----
apiVersion: export.kubevirt.io/v1beta1
Expand Down
12 changes: 7 additions & 5 deletions modules/virt-accessing-node-exporter-outside-cluster.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,33 +15,35 @@ You can access the node-exporter service outside the cluster and view the expose

.Procedure

. Expose the node-exporter service.
. Expose the node-exporter service:
+
[source,terminal]
----
$ oc expose service -n <namespace> <node_exporter_service_name>
----
. Obtain the FQDN (Fully Qualified Domain Name) for the route.
. Obtain the FQDN (Fully Qualified Domain Name) for the route:
+
[source,terminal]
----
$ oc get route -o=custom-columns=NAME:.metadata.name,DNS:.spec.host
----
+
.Example output
Example output:
+
[source,terminal]
----
NAME DNS
node-exporter-service node-exporter-service-dynamation.apps.cluster.example.org
----
. Use the `curl` command to display metrics for the node-exporter service.
. Use the `curl` command to display metrics for the node-exporter service:
+
[source,terminal]
----
$ curl -s http://node-exporter-service-dynamation.apps.cluster.example.org/metrics
----
+
.Example output
Example output:
+
[source,terminal]
----
go_gc_duration_seconds{quantile="0"} 1.5382e-05
Expand Down
6 changes: 4 additions & 2 deletions modules/virt-accessing-rdp-console.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ $ oc create -f <service_name>.yaml
$ oc get service -n example-namespace
----
+
.Example output for `NodePort` service
Example output for `NodePort` service:
+
[source,terminal]
----
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
Expand All @@ -96,7 +97,8 @@ rdpservice NodePort 172.30.232.73 <none> 3389:30000/TCP 5m
$ oc get node <node_name> -o wide
----
+
.Example output
Example output:
+
[source,terminal]
----
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP
Expand Down
2 changes: 1 addition & 1 deletion modules/virt-add-boot-order-web.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Add items to a boot order list by using the web console.
. Add any additional disks or NICs to the boot order list.

. Click *Save*.

+
[NOTE]
====
If the virtual machine is running, changes to *Boot Order* will not take effect until you restart the virtual machine.
Expand Down
2 changes: 1 addition & 1 deletion modules/virt-add-disk-to-vm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ You can add a virtual disk to a virtual machine (VM) by using the {product-title
.. Optional: You can clear *Apply optimized StorageProfile settings* to change the *Volume Mode* and *Access Mode* for the virtual disk. If you do not specify these parameters, the system uses the default values from the `kubevirt-storage-class-defaults` config map.

. Click *Add*.

+
[NOTE]
====
If the VM is running, you must restart the VM to apply the change.
Expand Down
2 changes: 2 additions & 0 deletions modules/virt-adding-a-boot-source-web.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,6 @@ Provided boot sources are updated automatically to the latest version of the ope
.. Click *Save and import* if you imported content from a URL or the registry.
.. Click *Save and clone* if you cloned an existing PVC.

.Result

Your custom virtual machine template with a boot source is listed on the *Catalog* page. You can use this template to create a virtual machine.
6 changes: 3 additions & 3 deletions modules/virt-adding-public-key-vm-cli.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,8 @@ The key is added to the VM as a cloud-init data source. This method separates th

.Procedure

. Create a manifest file for a `VirtualMachine` object and a `Secret` object:
. Create a manifest file for a `VirtualMachine` object and a `Secret` object, for example:
+
.Example manifest
[source,yaml]
----
include::snippets/virt-static-key.yaml[]
Expand Down Expand Up @@ -50,7 +49,8 @@ $ virtctl start vm example-vm -n example-namespace
$ oc describe vm example-vm -n example-namespace
----
+
.Example output
Example output:
+
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand Down
3 changes: 1 addition & 2 deletions modules/virt-adding-vm-to-service-mesh.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@ To avoid port conflicts, do not use ports used by the Istio sidecar proxy. These

.Procedure

. Edit the VM configuration file to add the `sidecar.istio.io/inject: "true"` annotation:
. Edit the VM configuration file to add the `sidecar.istio.io/inject: "true"` annotation. For example:
+
.Example configuration file
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand Down
9 changes: 6 additions & 3 deletions modules/virt-additional-scc-for-kubevirt-controller.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,21 @@ The `kubevirt-controller` service account is granted additional SCCs and Linux c

The `kubevirt-controller` service account is granted the following SCCs:

* `scc.AllowHostDirVolumePlugin = true` +
* `scc.AllowHostDirVolumePlugin = true`
+
This allows virtual machines to use the hostpath volume plugin.

* `scc.AllowPrivilegedContainer = false` +
* `scc.AllowPrivilegedContainer = false`
+
This ensures the virt-launcher pod is not run as a privileged container.

* `scc.AllowedCapabilities = []corev1.Capability{"SYS_NICE", "NET_BIND_SERVICE"}`

** `SYS_NICE` allows setting the CPU affinity.
** `NET_BIND_SERVICE` allows DHCP and Slirp operations.

.Viewing the SCC and RBAC definitions for the kubevirt-controller
[id="viewing-scc-and-rbac-definitions_{context}"]
== Viewing the SCC and RBAC definitions for the kubevirt-controller

You can view the `SecurityContextConstraints` definition for the `kubevirt-controller` by using the `oc` tool:

Expand Down
3 changes: 0 additions & 3 deletions modules/virt-analyzing-datavolume-conditions-and-events.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ The `Message` indicates which PVC owns the data volume.
long the PVC has been bound (`Age`) and by what resource (`From`),
in this case `datavolume-controller`:
+
.Example output
[source,terminal]
----
Status:
Expand Down Expand Up @@ -64,7 +63,6 @@ From this information, you conclude that an import operation was running,
creating contention for other operations that are
attempting to access the data volume:
+
.Example output
[source,terminal]
----
Status:
Expand All @@ -87,7 +85,6 @@ Status:
to be used, as in the following example. If the data volume is not ready to be
used, the `Status` is `False`:
+
.Example output
[source,terminal]
----
Status:
Expand Down
6 changes: 3 additions & 3 deletions modules/virt-assigning-pci-device-virtual-machine.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@
When a PCI device is available in a cluster, you can assign it to a virtual machine and enable PCI passthrough.

.Procedure
* Assign the PCI device to a virtual machine as a host device.
* Assign the PCI device to a virtual machine as a host device. For example:
+
.Example
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand All @@ -31,7 +30,8 @@ spec:
[source,terminal]
$ lspci -nnk | grep NVIDIA
+
.Example output
Example output:
+
[source,terminal]
----
$ 02:01.0 3D controller [0302]: NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB] [10de:1eb8] (rev a1)
Expand Down
5 changes: 2 additions & 3 deletions modules/virt-assigning-vgpu-vm-cli.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ Assign mediated devices such as virtual GPUs (vGPUs) to virtual machines (VMs).

.Procedure

* Assign the mediated device to a virtual machine (VM) by editing the `spec.domain.devices.gpus` stanza of the `VirtualMachine` manifest:
* Assign the mediated device to a virtual machine (VM) by editing the `spec.domain.devices.gpus` stanza of the `VirtualMachine` manifest. For example:
+
.Example virtual machine manifest
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand All @@ -41,4 +40,4 @@ spec:
[source,terminal]
----
$ lspci -nnk | grep <device_name>
----
----
2 changes: 2 additions & 0 deletions modules/virt-attaching-virtio-disk-to-windows.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ You must attach the VirtIO container disk to the Windows VM to install the neces
. Click the *Customize VirtualMachine parameters*.
. Click *Create VirtualMachine*.

.Result

After the VM is created, the `virtio-win` SATA CD disk will be attached to the VM.
3 changes: 1 addition & 2 deletions modules/virt-attaching-vm-to-primary-udn.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ You can connect a virtual machine (VM) to the primary user-defined network (UDN)
.Procedure
. Edit the `VirtualMachine` manifest to add the UDN interface details, as in the following example:
+
.Example `VirtualMachine` manifest
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand Down Expand Up @@ -47,4 +46,4 @@ spec:
[source,terminal]
----
$ oc apply -f <filename>.yaml
----
----
3 changes: 1 addition & 2 deletions modules/virt-attaching-vm-to-secondary-udn.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ You can connect a virtual machine (VM) to multiple secondary cluster-scoped user
.Procedure
. Edit the `VirtualMachine` manifest to add the CUDN interface details, as in the following example:
+
.Example `VirtualMachine` manifest
[source,yaml]
----
apiVersion: kubevirt.io/v1
Expand Down Expand Up @@ -55,4 +54,4 @@ $ oc apply -f <filename>.yaml
+
where:

<filename>:: Specifies the name of your `VirtualMachine` manifest YAML file.
<filename>:: Specifies the name of your `VirtualMachine` manifest YAML file.
2 changes: 0 additions & 2 deletions modules/virt-automatic-certificates-renewal.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

TLS certificates for {VirtProductName} components are renewed and rotated automatically. You are not required to refresh them manually.

.Automatic renewal schedules

TLS certificates are automatically deleted and replaced according to the following schedule:

* KubeVirt certificates are renewed daily.
Expand Down
Loading