2.4. Configure Controller-0¶
Acquire admin credentials:
sysadmin@controller-0:~$ source /etc/platform/openrc
Configure the OAM interface of controller-0 and specify the attached network as “oam”:
[sysadmin@controller-0 ~(keystone_admin)]$ OAM_IF=<OAM-PORT>
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-modify controller-0 $OAM_IF -c platform
[sysadmin@controller-0 ~(keystone_admin)]$ system interface-network-assign controller-0 $OAM_IF oam
Note
use OAM port name that is applicable to your deployment environment
Configure NTP servers for network time synchronization:
[sysadmin@controller-0 ~(keystone_admin)]$ system ntp-modify ntpservers=0.pool.ntp.org,1.pool.ntp.org
Configure PCI-SRIOV Interfaces:
[sysadmin@controller-0 ~(keystone_admin)]$ export NODE=controller-0
List inventoried host’s ports and identify ports to be used as ‘pci-sriov’ interfaces, based on displayed linux port name, pci address and device type.
[sysadmin@controller-0 ~(keystone_admin)]$ system host-port-list ${NODE}
List host’s auto-configured ‘ethernet’ interfaces. Find the interfaces corresponding to the ports identified in previous step, and take note of their UUID.
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-list -a ${NODE}
Modify the configuration for these interfaces. Configuring them as ‘pci-sriov’ class interfaces, MTU of 1500 and named sriov.
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-modify -m 1500 -n sriov0 -c pci-sriov ${NODE} <sriov0-if-uuid> -N <num_vfs>
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-modify -m 1500 -n sriov1 -c pci-sriov ${NODE} <sriov1-if-uuid> -N <num_vfs>
Create Data Networks that the ‘pci-sriov’ interfaces will be connected to.
[sysadmin@controller-0 ~(keystone_admin)]$ DATANET0='datanet0'
[sysadmin@controller-0 ~(keystone_admin)]$ DATANET1='datanet1'
[sysadmin@controller-0 ~(keystone_admin)]$ system datanetwork-add ${DATANET0} vlan
[sysadmin@controller-0 ~(keystone_admin)]$ system datanetwork-add ${DATANET1} vlan
Assign Data Networks to PCI-SRIOV Interfaces.
[sysadmin@controller-0 ~(keystone_admin)]$ system interface-datanetwork-assign ${NODE} <sriov0-if-name> ${DATANET0}
[sysadmin@controller-0 ~(keystone_admin)]$ system interface-datanetwork-assign ${NODE} <sriov1-if-name> ${DATANET1}
Configure the Kubernetes SR-IOV device plugin.
[sysadmin@controller-0 ~(keystone_admin)]$ system host-label-assign ${NODE} sriovdp=enabled
Configure Huge pages:
To set the huge pages, run the following command for each NUMA node:
[sysadmin@controller-0 ~(keystone_admin)]$ system host-memory-modify ${NODE} 0 -2M 16000
[sysadmin@controller-0 ~(keystone_admin)]$ system host-memory-modify ${NODE} 1 -2M 16000
Install the license file:
[sysadmin@controller-0 ~(keystone_admin)]$ system license-install <license_file_path>
Unlock controller-0:
Unlock controller-0 to bring it into service:
[sysadmin@controller-0 ~(keystone_admin)]$ system host-unlock controller-0
Controller-0 will reboot in order to apply configuration changes and come into service. This can take 5-10 minutes, depending on the performance of the host machine.
Apply a workaround about |sr-iov| device plugin
At the time we write this document, in the Wind River Cloud Platform, and so in the 22.12 release, there is no way to specify the needVhostNet parameter in the SR-IOV Network Device Plugin configuration file.
As a workaround, update the file /etc/pcidp/config.json by adding the following line in the ‘resourceList’ section of this file: “needVhostNet”: true
Then, in order for this change to be taken into account, restart the kube-sriov-device-plugin pod in the kube-system namespace.
sysadmin@controller-0:~$ kubectl delete pod -n kube-system kube-sriov-device-plugin-xxx
Note
This point will be fixed in Wind River Cloud Platform next release.
Once the configuration is completed, you should have similar outputs.
[sysadmin@controller-0 ~(keystone_admin)]$ system host-list
+----+--------------+-------------+----------------+-------------+--------------+
| id | hostname | personality | administrative | operational | availability |
+----+--------------+-------------+----------------+-------------+--------------+
| 1 | controller-0 | controller | unlocked | enabled | available |
+----+--------------+-------------+----------------+-------------+--------------+
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-list controller-0
+--------------------------------------+---------+-----------+----------+------+---------------+------+--------+------------+
| uuid | name | class | type | vlan | ports | uses | used | attributes |
| | | | | id | | i/f | by i/f | |
+--------------------------------------+---------+-----------+----------+------+---------------+------+--------+------------+
| 2ec34ff5-af9d-4ad2-bbf3-328f78bf6c80 | sriov1 | pci-sriov | ethernet | None | ['enp75s0f1'] | [] | [] | MTU=1500 |
| 470cc290-e072-4f2b-8ae3-f515c55c2a39 | eno8303 | platform | ethernet | None | ['eno8303'] | [] | [] | MTU=1500 |
| bc68527a-0811-4abd-9997-39e03054308a | sriov0 | pci-sriov | ethernet | None | ['enp75s0f0'] | [] | [] | MTU=1500 |
| e207eb31-a468-4b33-b516-90fb66b55cbb | lo | platform | virtual | None | [] | [] | [] | MTU=1500 |
+--------------------------------------+---------+-----------+----------+------+---------------+------+--------+------------+
[sysadmin@controller-0 ~(keystone_admin)]$ system datanetwork-list
+--------------------------------------+----------+--------------+------+
| uuid | name | network_type | mtu |
+--------------------------------------+----------+--------------+------+
| 8e0f8618-f557-44d4-9160-b57eee0d8750 | datanet0 | vlan | 1500 |
| a1b64581-c64f-4589-8053-ee1413019687 | datanet1 | vlan | 1500 |
+--------------------------------------+----------+--------------+------+
[sysadmin@controller-0 ~(keystone_admin)]$ system kube-cluster-list
+--------------+-----------------+--------------------------+
| cluster_name | cluster_version | cluster_api_endpoint |
+--------------+-----------------+--------------------------+
| kubernetes | v1.24.4 | https://x.x.x.x:6443 |
+--------------+-----------------+--------------------------+