Note: Ensure the Telco Cloud Automation system has been enabled with the required Photon-RT kernel versions following the steps in:
Enabling Additional Photon-RT Kernel Versions in Telco Cloud Automation
For air-gapped environments with Internet access:
If the DPDK image is not currently stored on the airg-apped server, it needs to sync the image before attempting the steps in
Enabling Additional Photon-RT Kernel Versions in Telco Cloud Automation
First, run the following commands to sync the DPDK image to the air-gapped server:
docker pull vmwaresaas.jfrog.io/registry/dpdk:imageTag
docker tag vmwaresaas.jfrog.io/registry/dpdk:imageTag airgapFQDN:8043/registry/dpdk:imageTag
docker push airgappedFQDN:8043/registry/dpdk:imageTag
docker rmi airgappedFQDN:8043/registry/dpdk:imageTag
Note: Replace
imageTag and
airgappedFQDN with a valid kernel version
imageTag name as well as the actual FQDN for the airg-apped server.
Next, execute the following commands from the air-gapped server's SSH session, to resync the air-gapped server to the remote repo:
tdnf reposync -v --download-metadata --disablerepo=* --enablerepo=photon-updates --delete --download-path /photon-reps/updates 2>&1
tdnf reposync -v --download-metadata --disablerepo=* --enablerepo=photon-telco-updates --delete --download-path /photon-reps/updates 2>&1
chown -R nobody:nogroup /photon-reps
Then, execute the following commands from any Kubernetes node, including a worker node:
tdnf makecache
For Internet-restricted air-gapped environments:
Updating the air-gapped server with the latest images and RPM files
Update TCA Manager 2.x to enable additional Photon-RT kernel versions
Update the CSAR package with the newly added kernel version from TCA Manager
- Download the required images from the VMware repository. You can use any Linux virtual machine that has docker installed and running.
- Run the following commands to save the images from the public repository:
docker save vmwaresaas.jfrog.io/docker-staging/dpdk:linux-rt-4.19.198-18.ph3 > dpdk:linux-rt-4.19.198-18.ph3.tar.gz
- Run this command to check the size of the tar file:
du -h vmwaresaas.jfrog.io/docker-staging/dpdk:linux-rt-4.19.198-18.ph3
- If issues are encountered with the public repo while saving the file, use the below commands and execute them from the latest air-gapped server:
# docker image list | grep -i 198-13
vmwaresaas.jfrog.io/registry/dpdk linux-rt-4.19.198-18.ph3 51c872b55e0e 3 weeks ago 7.76MB
vmwaresaas.jfrog.io/cnf-airgap-docker-local/dpdk linux-rt-4.19.198-18.ph3 51c872b55e0e 3 weeks ago 7.76MB
# docker save -o /root/dpdk:linux-rt-4.19.198-18.ph3.tar.gz vmwaresaas.jfrog.io/cnf-airgap-docker-local/dpdk
- Transfer the file dpdk:linux-rt-4.19.198-18.ph3.tar.gz to the air-gapped server in the isolated environment using WinSCP or scp.
- Download and copy the following linux-rt kernel binaries onto the air-gapped server, placing them into the /photon-reps/updates/photon-telco-updates/x86_64 folder:
linux-rt-docs-4.19.198-18.ph3.x86_64.rpm
linux-rt-devel-4.19.198-18.ph3.x86_64.rpm
linux-rt-4.19.198-18.ph3.x86_64.rpm
Download and copy the following driver sub-packages required by Photon kernel (ice and iavf are required for 198-18 and later):
linux-rt-drivers-intel-iavf-4.4.2-4.19.198-18.ph3.x86_64.rpm
linux-rt-drivers-intel-ice-1.6.4-4.19.198-18.ph3.x86_64.rpm
These files can be downloaded from: https://packages.vmware.com/photon/photon_telco/3.0/photon_updates_3.0_x86_64/x86_64/ - Transfer other required files like stalld and tuned to the air-gapped server in the isolated environment and ensure that the files are copied into folder /photon-reps/updates/photon-updates/x86_64. These files can be downloaded from: https://packages.vmware.com/photon/3.0/photon_updates_3.0_x86_64/noarch/
- Execute the following commands from the air-gapped server which does not have Internet access:
- SSH into the air-gapped server node and then navigate to the folder where the above images/RPMs were copied to.
- Execute the following commands from the air-gapped server's SSH session. In this example tca-ag.telcocloud.local is the air-gapped server's FQDN:
docker load < dpdk:linux-rt-4.19.198-18.ph3.tar.gz
docker image list | grep 198.*
docker tag vmwaresaas.jfrog.io/docker-staging/dpdk:linux-rt-4.19.198-18.ph3 tca-ag.telcocloud.local:8043/registry/dpdk:linux-rt-4.19.198-18.ph3
Ensure that the newly added image is tagged with the air-gapped server's FQDN:
docker image list | grep 198.*
docker push tca-ag.telcocloud.local:8043/registry/dpdk:linux-rt-4.19.198-18.ph3
- Using a browser, access the air-gapped server's Harbor registry using the air-gapped server's FQDN and ensure that the newly added image is displayed under the registry project.
- Execute the following commands from the air-gapped server's SSH session to update the newly-added RPM binaries in the air-gapped server:
createrepo -po /photon-reps/updates/photon-telco-updates /photon-reps/updates/photon-telco-updates/
createrepo -po /photon-reps/updates/photon-updates /photon-reps/updates/photon-updates
Ensure the permission for all folders under photon-telco-updates (eg. repodata, x86_64) are set to ownership nobody:nogroup:
chown -R nobody:nogroup /photon-reps/updates/photon-telco-updates
Do the same for all folders under photon-updates:
chown -R nobody:nogroup /photon-reps/updates/photon-updates
- Execute the following commands from any Kubernetes node, including a worker node:
tdnf makecache
Note: If any issue is observed in the output, please run the previous two chown commands again from the air-gapped server, then re-execute this command from the Kubernetes worker node.
- Execute this command to verify if the worker node can access the required linuxrt-kernel files from the air-gapped server:
sudo tdnf list linux-rt | grep 4.19.198-18
- Follow Enabling Additional Photon-RT Kernel Versions in Telco Cloud Automation or the step-by-step procedure.
- If there are any issues while executing the API command to fetch the x-hm-authorization token ID with Postman client, please use the TCA API URL: https://TCA-Ip or FQDN/hybridity/docs/index.html and then click on Platform and use the POST method.
- Upload/Onboard the CSAR from the TCA Manager UI.
- Edit the CSAR and then select the appropriate kernel version by editing the Infrastructure tab.
- Add the appropriate packages like stalld, pciutils, tuned and other required packages, including version, under custom packages.
- Make any other changes to the CSAR as required.
- Instantiate the CNF and monitor the status of node customization.
- Once completed, verify node customization from the worker node to ensure all intended settings are applied, packages have been installed, and services are running, as per the applied CSAR.