Skip to content

Commit 2ec4b19

Browse files
committed
CNV-74970: Update callouts for DITA
1 parent 03bd7a0 commit 2ec4b19

13 files changed

Lines changed: 93 additions & 88 deletions

modules/virt-adding-kernel-arguments-enable-iommu.adoc

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,9 @@ spec:
3838
- intel_iommu=on
3939
# ...
4040
----
41-
where:
42-
43-
<apiversion>:: Applies the new kernel argument only to worker nodes.
44-
45-
<name>:: Indicates the ranking of this kernel argument (100) among the machine configs and its purpose. If you have an AMD CPU, specify the kernel argument as `amd_iommu=on`.
46-
47-
<intel_iommu=o>:: Identifies the kernel argument as `intel_iommu` for an Intel CPU.
41+
** `metadata.labels.machineconfiguration.openshift.io/role` specifies that the new kernel argument is applied only to worker nodes.
42+
** `metadata.name` specifies the ranking of this kernel argument (100) among the machine configs and its purpose. If you have an AMD CPU, specify the kernel argument as `amd_iommu=on`.
43+
** `spec.kernelArguments` specifies the kernel argument as `intel_iommu` for an Intel CPU.
4844

4945
. Create the new `MachineConfig` object:
5046
+

modules/virt-assigning-pci-device-virtual-machine.adoc

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ spec:
2626
- deviceName: nvidia.com/TU104GL_Tesla_T4
2727
name: hostdevices1
2828
----
29-
+
30-
where:
31-
+
32-
`deviceName`:: Specifies the name of the PCI device that is permitted on the cluster as a host device. The virtual machine can access this host device.
29+
** `spec.template.spec.domain.devices.hostDevices.deviceName` specifies the name of the PCI device that is permitted on the cluster as a host device. The virtual machine can access this host device.
3330
3431
.Verification
3532

modules/virt-attaching-vm-to-primary-udn.adoc

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
//
33
// * virt/vm_networking/virt-connecting-vm-to-primary-udn.adoc
44

5-
:_mod-docs-content-type: PROCEDURE
6-
[id="virt-attaching-vm-to-primary-udn_{context}"]
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="virt-attaching-vm-to-primary-udn_{context}"]
77
= Attaching a virtual machine to the primary user-defined network by using the CLI
88

99
[role="_abstract"]
1010
You can connect a virtual machine (VM) to the primary user-defined network (UDN) by using the CLI.
1111

1212
.Prerequisites
13-
* You have installed the OpenShift CLI (`oc`).
13+
14+
* You have installed the {oc-first}.
1415
1516
.Procedure
17+
1618
. Edit the `VirtualMachine` manifest to add the UDN interface details, as in the following example:
1719
+
1820
Example `VirtualMachine` manifest:
@@ -23,26 +25,26 @@ apiVersion: kubevirt.io/v1
2325
kind: VirtualMachine
2426
metadata:
2527
name: example-vm
26-
namespace: my-namespace # <1>
28+
namespace: my-namespace
2729
spec:
2830
template:
2931
spec:
3032
domain:
3133
devices:
3234
interfaces:
33-
- name: udn-l2-net # <2>
34-
binding:
35-
name: l2bridge # <3>
35+
- name: udn-l2-net
36+
binding:
37+
name: l2bridge
3638
# ...
3739
networks:
38-
- name: udn-l2-net # <4>
40+
- name: udn-l2-net
3941
pod: {}
4042
# ...
4143
----
42-
<1> The namespace in which the VM is located. This value must match the namespace in which the UDN is defined.
43-
<2> The name of the user-defined network interface.
44-
<3> The name of the binding plugin that is used to connect the interface to the VM. The possible values are `l2bridge` and `passt`. The default value is `l2bridge`.
45-
<4> The name of the network. This must match the value of the `spec.template.spec.domain.devices.interfaces.name` field.
44+
** `metadata.namespace` specifies the namespace in which the VM is located. This value must match the namespace in which the UDN is defined.
45+
** `spec.template.spec.domain.devices.interfaces.name` specifies the name of the user-defined network interface.
46+
** `spec.template.spec.domain.devices.interfaces.binding.name` specifies the name of the binding plugin that is used to connect the interface to the VM. The possible values are `l2bridge` and `passt`. The default value is `l2bridge`.
47+
** `spec.template.spec.networks.name` specifies the name of the network. This must match the value of the `spec.template.spec.domain.devices.interfaces.name` field.
4648

4749
. Optional: If you are using the Plug a Simple Socket Transport (passt) network binding plugin, set the `hco.kubevirt.io/deployPasstNetworkBinding` annotation to `true` in the `HyperConverged` custom resource (CR) by running the following command:
4850
+

modules/virt-attaching-vm-to-sriov-network.adoc

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,25 @@ spec:
2727
domain:
2828
devices:
2929
interfaces:
30-
- name: nic1 <1>
30+
- name: nic1
3131
sriov: {}
3232
networks:
33-
- name: nic1 <2>
33+
- name: nic1
3434
multus:
35-
networkName: sriov-network <3>
35+
networkName: sriov-network
3636
# ...
3737
----
38-
<1> Specify a unique name for the SR-IOV interface.
39-
<2> Specify the name of the SR-IOV interface. This must be the same as the `interfaces.name` that you defined earlier.
40-
<3> Specify the name of the SR-IOV network attachment definition.
38+
** `spec.template.spec.domain.devices.interfaces.name` specifies a unique name for the SR-IOV interface.
39+
** `spec.template.spec.networks.name` specifies the name of the SR-IOV interface. This must be the same as the `interfaces.name` that you defined earlier.
40+
** `spec.template.spec.networks.multus.networkName` specifies the name of the SR-IOV network attachment definition.
4141

4242
. Apply the virtual machine configuration:
4343
+
4444
[source,terminal]
4545
----
46-
$ oc apply -f <vm_sriov>.yaml <1>
46+
$ oc apply -f <vm_sriov>.yaml
4747
----
48-
<1> The name of the virtual machine YAML file.
48+
+
49+
where:
50+
+
51+
`<vm_sriov>`:: Specifies the name of the virtual machine YAML file.

modules/virt-autoupdate-custom-bootsource.adoc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,24 @@ spec:
3737
- metadata:
3838
name: centos-stream9-image-cron
3939
annotations:
40-
cdi.kubevirt.io/storage.bind.immediate.requested: "true" <1>
40+
cdi.kubevirt.io/storage.bind.immediate.requested: "true"
4141
spec:
42-
schedule: "0 */12 * * *" <2>
42+
schedule: "0 */12 * * *"
4343
template:
4444
spec:
4545
source:
46-
registry: <3>
46+
registry:
4747
url: docker://quay.io/containerdisks/centos-stream:9
4848
storage:
4949
resources:
5050
requests:
5151
storage: 30Gi
5252
garbageCollect: Outdated
53-
managedDataSource: centos-stream9 <4>
53+
managedDataSource: centos-stream9
5454
----
55-
<1> This annotation is required for storage classes with `volumeBindingMode` set to `WaitForFirstConsumer`.
56-
<2> Schedule for the job specified in cron format.
57-
<3> Use to create a data volume from a registry source. Use the default `pod` `pullMethod` and not `node` `pullMethod`, which is based on the `node` docker cache. The `node` docker cache is useful when a registry image is available via `Container.Image`, but the CDI importer is not authorized to access it.
58-
<4> For the custom image to be detected as an available boot source, the name of the image's `managedDataSource` must match the name of the template's `DataSource`, which is found under `spec.dataVolumeTemplates.spec.sourceRef.name` in the VM template YAML file.
55+
** `spec.dataImportCronTemplates.metadata.annotations` specifies a required annotation for storage classes with `volumeBindingMode` set to `WaitForFirstConsumer`.
56+
** `spec.dataImportCronTemplates.spec.schedule` specifies the schedule for the job, specified in cron format.
57+
** `spec.dataImportCronTemplates.spec.template.spec.source.registry` specifies the registry source to use to create a data volume. Use the default `pod` `pullMethod` and not `node` `pullMethod`, which is based on the `node` docker cache. The `node` docker cache is useful when a registry image is available via `Container.Image`, but the CDI importer is not authorized to access it.
58+
** `spec.dataImportCronTemplates.spec.managedDataSource` specifies the name of the managed data source. For the custom image to be detected as an available boot source, the name of the image's `managedDataSource` must match the name of the template's `DataSource`, which is found under `spec.dataVolumeTemplates.spec.sourceRef.name` in the VM template YAML file.
5959

6060
. Save the file.

modules/virt-binding-devices-vfio-driver.adoc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ To bind PCI devices to the VFIO (Virtual Function I/O) driver, obtain the values
1212
The `MachineConfig` Operator generates the `/etc/modprobe.d/vfio.conf` on the nodes with the PCI devices, and binds the PCI devices to the VFIO driver.
1313

1414
.Prerequisites
15+
1516
* You added kernel arguments to enable IOMMU for the CPU.
1617
* You have installed the {oc-first}.
1718
1819
.Procedure
20+
1921
. Run the `lspci` command to obtain the `vendor-ID` and the `device-ID` for the PCI device.
2022
+
2123
[source,terminal]
@@ -46,7 +48,7 @@ version: {product-version}.0
4648
metadata:
4749
name: 100-worker-vfiopci
4850
labels:
49-
machineconfiguration.openshift.io/role: worker <1>
51+
machineconfiguration.openshift.io/role: worker
5052
storage:
5153
files:
5254
- path: /etc/modprobe.d/vfio.conf
@@ -61,9 +63,9 @@ storage:
6163
contents:
6264
inline: vfio-pci
6365
----
64-
<1> Applies the new kernel argument only to worker nodes.
65-
<2> Specify the previously determined `vendor-ID` value (`10de`) and the `device-ID` value (`1eb8`) to bind a single device to the VFIO driver. You can add a list of multiple devices with their vendor and device information.
66-
<3> The file that loads the vfio-pci kernel module on the worker nodes.
66+
** `metadata.labels.machineconfiguration.openshift.io/role: worker` specifies that the new kernel argument is applied only to worker nodes.
67+
** `storage.files.contents.inline`, where the path is `/etc/modprobe.d/vfio.conf`, specifies the previously determined `vendor-ID` value (`10de`) and the `device-ID` value (`1eb8`) to bind a single device to the VFIO driver. You can add a list of multiple devices with their vendor and device information.
68+
** `storage.files.path`, where the `contents.inline` is `vfio-pci`, specifies the file that loads the `vfio-pci` kernel module on the worker nodes.
6769

6870
. Use Butane to generate a `MachineConfig` object file, `100-worker-vfiopci.yaml`, containing the configuration to be delivered to the worker nodes:
6971
+
@@ -102,6 +104,7 @@ NAME GENERATEDBYCONTROLLER IGNI
102104
----
103105

104106
.Verification
107+
105108
* Verify that the VFIO driver is loaded.
106109
+
107110
[source,terminal]

modules/virt-configuring-storage-class-bootsource-update.adoc

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,19 @@ spec:
4444
template:
4545
spec:
4646
storage:
47-
storageClassName: <storage_class> <1>
48-
schedule: "0 */12 * * *" <2>
49-
managedDataSource: <data_source> <3>
47+
storageClassName: <storage_class>
48+
schedule: "0 */12 * * *"
49+
managedDataSource: <data_source>
5050
# ...
5151
----
52-
<1> Define the storage class.
53-
<2> Required: Schedule for the job specified in cron format.
54-
<3> Required: The data source to use.
52+
** `spec.dataImportCronTemplates.spec.template.spec.storage.storageClassName` specifies the storage class.
53+
** `spec.dataImportCronTemplates.spec.schedule` is a required field that specifies the schedule for the job in cron format.
54+
** `spec.dataImportCronTemplates.spec.managedDataSource` is a required field that specifies the data source to use.
5555
+
56-
--
5756
[NOTE]
58-
----
57+
====
5958
For the custom image to be detected as an available boot source, the value of the `spec.dataVolumeTemplates.spec.sourceRef.name` parameter in the VM template must match this value.
60-
----
61-
--
59+
====
6260

6361
. Wait for the HyperConverged Operator (HCO) and Scheduling, Scale, and Performance (SSP) resources to complete reconciliation.
6462

modules/virt-creating-a-primary-cluster-udn.adoc

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
You can connect multiple namespaces to the same primary user-defined network (UDN) to achieve native tenant isolation by using the CLI.
1111

1212
.Prerequisites
13+
1314
* You have access to the cluster as a user with `cluster-admin` privileges.
1415
* You have installed the {oc-first}.
1516
1617
.Procedure
18+
1719
. Create a `ClusterUserDefinedNetwork` object to specify the custom network configuration.
1820
+
1921
Example `ClusterUserDefinedNetwork` manifest:
@@ -23,28 +25,28 @@ Example `ClusterUserDefinedNetwork` manifest:
2325
apiVersion: k8s.ovn.org/v1
2426
kind: ClusterUserDefinedNetwork
2527
metadata:
26-
name: cudn-l2-net # <1>
28+
name: cudn-l2-net
2729
spec:
28-
namespaceSelector: # <2>
29-
matchExpressions: # <3>
30+
namespaceSelector:
31+
matchExpressions:
3032
- key: kubernetes.io/metadata.name
31-
operator: In # <4>
33+
operator: In
3234
values: ["red-namespace", "blue-namespace"]
3335
network:
34-
topology: Layer2 # <5>
36+
topology: Layer2
3537
layer2:
36-
role: Primary # <6>
38+
role: Primary
3739
ipam:
3840
lifecycle: Persistent
3941
subnets:
4042
- 203.203.0.0/16
4143
----
42-
<1> Specifies the name of the `ClusterUserDefinedNetwork` custom resource.
43-
<2> Specifies the set of namespaces that the cluster UDN applies to. The namespace selector must not point to `default`, an `openshift-*` namespace, or any global namespaces that are defined by the Cluster Network Operator (CNO).
44-
<3> Specifies the type of selector. In this example, the `matchExpressions` selector selects objects that have the label `kubernetes.io/metadata.name` with the value `red-namespace` or `blue-namespace`.
45-
<4> Specifies the type of operator. Possible values are `In`, `NotIn`, and `Exists`.
46-
<5> Specifies the topological configuration of the network. The required value is `Layer2`. A `Layer2` topology creates a logical switch that is shared by all nodes.
47-
<6> Specifies whether the UDN is primary or secondary. The `Primary` role means that the UDN acts as the primary network for the VM and all default traffic passes through this network.
44+
** `metadata.name` specifies the name of the `ClusterUserDefinedNetwork` custom resource.
45+
** `spec.namespaceSelector` specifies the set of namespaces that the cluster UDN applies to. The namespace selector must not point to `default`, an `openshift-*` namespace, or any global namespaces that are defined by the Cluster Network Operator (CNO).
46+
** `spec.namespaceSelector.matchExpressions` specifies the type of selector. In this example, the `matchExpressions` selector selects objects that have the label `kubernetes.io/metadata.name` with the value `red-namespace` or `blue-namespace`.
47+
** `spec.namespaceSelector.matchExpressions.operator` specifies the type of operator. Possible values are `In`, `NotIn`, and `Exists`.
48+
** `spec.network.topology` specifies the topological configuration of the network. The required value is `Layer2`. A `Layer2` topology creates a logical switch that is shared by all nodes.
49+
** `spec.network.layer2.role` specifies whether the UDN is primary or secondary. The `Primary` role means that the UDN acts as the primary network for the VM and all default traffic passes through this network.
4850

4951
. Apply the `ClusterUserDefinedNetwork` manifest by running the following command:
5052
+

modules/virt-creating-a-primary-udn.adoc

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,20 @@
22
//
33
// * virt/vm_networking/virt-connecting-vm-to-primary-udn.adoc
44

5-
:_mod-docs-content-type: PROCEDURE
6-
[id="virt-creating-a-primary-udn_{context}"]
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="virt-creating-a-primary-udn_{context}"]
77
= Creating a primary namespace-scoped user-defined network by using the CLI
88

99
[role="_abstract"]
1010
You can create an isolated primary network in your project namespace by using the CLI. You must use the OVN-Kubernetes layer 2 topology and enable persistent IP address allocation in the user-defined network (UDN) configuration to ensure VM live migration support.
1111

1212
.Prerequisites
13+
1314
* You have installed the {oc-first}.
1415
* You have created a namespace and applied the `k8s.ovn.org/primary-user-defined-network` label.
1516
1617
.Procedure
18+
1719
. Create a `UserDefinedNetwork` object to specify the custom network configuration.
1820
+
1921
Example `UserDefinedNetwork` manifest:
@@ -23,23 +25,23 @@ Example `UserDefinedNetwork` manifest:
2325
apiVersion: k8s.ovn.org/v1
2426
kind: UserDefinedNetwork
2527
metadata:
26-
name: udn-l2-net # <1>
27-
namespace: my-namespace # <2>
28+
name: udn-l2-net
29+
namespace: my-namespace
2830
spec:
29-
topology: Layer2 # <3>
30-
layer2:
31-
role: Primary # <4>
31+
topology: Layer2
32+
layer2:
33+
role: Primary
3234
subnets:
3335
- "10.0.0.0/24"
34-
- "2001:db8::/60"
36+
- "2001:db8::/60"
3537
ipam:
36-
lifecycle: Persistent # <5>
38+
lifecycle: Persistent
3739
----
38-
<1> Specifies the name of the `UserDefinedNetwork` custom resource.
39-
<2> Specifies the namespace in which the VM is located. The namespace must have the `k8s.ovn.org/primary-user-defined-network` label. The namespace must not be `default`, an `openshift-*` namespace, or match any global namespaces that are defined by the Cluster Network Operator (CNO).
40-
<3> Specifies the topological configuration of the network. The required value is `Layer2`. A `Layer2` topology creates a logical switch that is shared by all nodes.
41-
<4> Specifies whether the UDN is primary or secondary. The `Primary` role means that the UDN acts as the primary network for the VM and all default traffic passes through this network.
42-
<5> Specifies that virtual workloads have consistent IP addresses across reboots and migration. The `spec.layer2.subnets` field is required when `ipam.lifecycle: Persistent` is specified.
40+
** `metadata.name` specifies the name of the `UserDefinedNetwork` custom resource.
41+
** `metadata.namespace` specifies the namespace in which the VM is located. The namespace must have the `k8s.ovn.org/primary-user-defined-network` label. The namespace must not be `default`, an `openshift-*` namespace, or match any global namespaces that are defined by the Cluster Network Operator (CNO).
42+
** `spec.topology` specifies the topological configuration of the network. The required value is `Layer2`. A `Layer2` topology creates a logical switch that is shared by all nodes.
43+
** `spec.layer2.role` specifies whether the UDN is primary or secondary. The `Primary` role means that the UDN acts as the primary network for the VM and all default traffic passes through this network.
44+
** `spec.layer2.ipam.lifecycle` specifies that virtual workloads have consistent IP addresses across reboots and migration. The `spec.layer2.subnets` field is required when `ipam.lifecycle: Persistent` is specified.
4345

4446
. Apply the `UserDefinedNetwork` manifest by running the following command:
4547
+

modules/virt-creating-udn-namespace-cli.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ kind: Namespace
2525
metadata:
2626
name: my-namespace
2727
labels:
28-
k8s.ovn.org/primary-user-defined-network: "" # <1>
28+
k8s.ovn.org/primary-user-defined-network: ""
2929
# ...
3030
----
31-
<1> This label is required for the namespace to be associated with a UDN. If the namespace is to be used with an existing cluster UDN, you must also add the appropriate labels that are defined in the `spec.namespaceSelector` field of the `ClusterUserDefinedNetwork` custom resource.
31+
+
32+
The `k8s.ovn.org/primary-user-defined-network` label is required for the namespace to be associated with a UDN. If the namespace is to be used with an existing cluster UDN, you must also add the appropriate labels that are defined in the `spec.namespaceSelector` field of the `ClusterUserDefinedNetwork` custom resource.
3233

3334
. Apply the `Namespace` manifest by running the following command:
3435
+

0 commit comments

Comments
 (0)