1.x, 2.x
Please refer to the Add Kernel Versions section of the TCA 2.3 product documentation.
For Telco Cloud Automation (TCA) 2.0, 2.1 and 2.2:
Please use an API platform tool (e.g. postman) to run the commands needed to make updates in TCA 2.X.
Please use this as an example and make changes using the appropriate kernel version and DPDK version as needed.
NOTE: The steps below are written to allow RT kernel 4.19.198-9 and DPDK 20.11.
NOTE: API request using postman requires selecting body type as json.
1. Log into the TCA Manager via the API and obtain the 'x-hm-authorization' token
POST https://<TCA-IP-FQDN>/hybridity/api/sessions
Header: "x-hm-authorization: <x-hm-token>"
Request Body:
{
"username": "<tca_login_username@ssoDomain",
"password": "<password>"
}
Save the cookie or the x-hm-authorization response header for subsequent API calls.
2. Issue a POST call on /hybridity/api/infra/k8s/repodetails with a json payload as noted below:
POST https://<TCA-IP-FQDN>/hybridity/api/infra/k8s/repodetails
Header: "x-hm-authorization: <x-hm-token>"
Request Body:
{
"name": "dpdk",
"kernel": "linux-rt-4.19.198-9.ph3", <----------- kernel version(change this based on version needed)
"artifactName": "dpdk",
"artifactVersion": "20.11", #<----------- dpdk version(change this based on version needed)
"repoFqdn":"vmwaresaas.jfrog.io", #<------------repoFQDN
"repoPath": "registry/dpdk:linux-rt-4.19.198-9.ph3" #<--------------repoPath(change this based on version needed)
}
Note: Run this for all DPDK versions of this kernel.
Please refer to the following links for the list of supported DPDK and Kernel versions for the required release:
2.0
2.1
2.1.1
3. Perform a GET call on /hybridity/api/infra/k8s/repodetails to check if the above change has been applied.
4. Perform a GET call on /hybridity/api/catalog/infra/params/supportedKernelVersions, copy the contents of the GET response body and paste on the next POST call request body and add the new kernel version.
5. Issue a PUT call on /hybridity/api/catalog/infra/params/supportedKernelVersions with a json payload as noted below:
PUT https://<TCA-IP-FQDN>/hybridity/api/catalog/infra/params/supportedKernelVersions
Header: "x-hm-authorization: <x-hm-token>"
Request Body:
{
"items":[
{
"name":"linux-rt",
"version":[
"4.19.132-1.ph3",
"4.19.132-2.ph3",
"4.19.132-3.ph3",
"4.19.132-4.ph3",
"4.19.132-5.ph3",
"4.19.138-1.ph3",
"4.19.138-2.ph3",
"4.19.145-1.ph3",
"4.19.145-2.ph3",
"4.19.145-4.ph3",
"4.19.148-1.ph3",
"4.19.148-3.ph3",
"4.19.148-4.ph3",
"4.19.148-5.ph3",
"4.19.150-1.ph3",
"4.19.154-1.ph3",
"4.19.154-8.ph3",
"4.19.160-1.ph3",
"4.19.160-3.ph3",
"4.19.160-4.ph3",
"4.19.164-1.ph3",
"4.19.174-1.ph3",
"4.19.174-2.ph3",
"4.19.174-3.ph3",
"4.19.174-4.ph3",
"4.19.177-1.ph3",
"4.19.177-2.ph3",
"4.19.177-3.ph3",
"4.19.177-4.ph3",
"4.19.182-1.ph3",
"4.19.182-2.ph3",
"4.19.186-1.ph3",
"4.19.186-2.ph3",
"4.19.186-3.ph3",
"4.19.189-2.ph3",
"4.19.189-3.ph3",
"4.19.189-4.ph3",
"4.19.190-1.ph3",
"4.19.190-2.ph3",
"4.19.190-3.ph3",
"4.19.190-4.ph3",
"4.19.190-5.ph3",
"4.19.191-2.ph3",
"4.19.191-3.ph3",
"4.19.191-4.ph3",
"4.19.191-5.ph3",
"4.19.198-1.ph3",
"4.19.198-2.ph3",
"4.19.198-3.ph3",
"4.19.198-4.ph3",
"4.19.198-5.ph3",
"4.19.198-9.ph3", #<----------- new kernel version for linux-rt
"4.19.205-1.ph3"
]
},
{
"name":"linux",
"version":[
"4.19.112-1.ph3",
"4.19.115-1.ph3",
"4.19.115-10.ph3",
"4.19.115-2.ph3",
"4.19.115-3.ph3",
"4.19.115-5.ph3",
"4.19.115-6.ph3",
"4.19.115-7.ph3",
"4.19.115-9.ph3",
"4.19.124-1.ph3",
"4.19.124-2.ph3",
"4.19.126-1.ph3",
"4.19.126-2.ph3",
"4.19.129-1.ph3",
"4.19.129-2.ph3",
"4.19.129-3.ph3",
"4.19.132-1.ph3",
"4.19.132-2.ph3",
"4.19.132-3.ph3",
"4.19.132-5.ph3",
"4.19.132-6.ph3",
"4.19.138-1.ph3",
"4.19.138-2.ph3",
"4.19.138-4.ph3",
"4.19.145-1.ph3",
"4.19.145-2.ph3",
"4.19.145-4.ph3",
"4.19.148-1.ph3",
"4.19.148-2.ph3",
"4.19.148-3.ph3",
"4.19.148-4.ph3",
"4.19.148-5.ph3",
"4.19.150-1.ph3",
"4.19.154-1.ph3",
"4.19.154-8.ph3",
"4.19.154-9.ph3",
"4.19.154-10.ph3",
"4.19.154-11.ph3",
"4.19.160-2.ph3",
"4.19.160-4.ph3",
"4.19.160-5.ph3",
"4.19.160-6.ph3",
"4.19.164-1.ph3",
"4.19.164-2.ph3",
"4.19.174-2.ph3",
"4.19.174-4.ph3",
"4.19.174-5.ph3",
"4.19.177-1.ph3",
"4.19.177-2.ph3",
"4.19.177-3.ph3",
"4.19.177-4.ph3",
"4.19.182-1.ph3",
"4.19.182-2.ph3",
"4.19.186-1.ph3",
"4.19.186-2.ph3",
"4.19.186-3.ph3",
"4.19.186-4.ph3",
"4.19.189-2.ph3",
"4.19.189-3.ph3",
"4.19.189-4.ph3",
"4.19.189-5.ph3",
"4.19.190-1.ph3",
"4.19.190-2.ph3",
"4.19.190-3.ph3",
"4.19.191-1.ph3",
"4.19.191-2.ph3",
"4.19.191-3.ph3",
"4.19.198-1.ph3",
"4.19.198-2.ph3",
"4.19.198-3.ph3",
"4.19.198-4.ph3"
]
}
]
}
6. Perform a GET call on /hybridity/api/catalog/infra/params/supportedKernelVersions to verify that the updated kernel version is available.
7. Log into the TCA UI (https://<tca_mgr_fqdn>) using the appropriate credentials.
8. Navigate to 'Network functions' → Select the csar → Select the Edit button.
9. Go to 'Infrastructure Requirements' , change the kernel Type → version to 4.19.198-9.ph3 and kernel modules DPDK version to 20.11
10. Click on 'Save' and 'Update Package' from the same UI. Note that 'Update Package' will be deployed if an instance is already deployed using this CSAR. In that case, you can 'SAVE AS NEW' and give an appropriate name for this CSAR.
11. Instantiate the network function based on the modified CSAR from the TCA UI. Provide correct inputs including repoURL, values.yaml, nad files, IP addresses etc. as necessary.
12. Monitor the customize node pool task from CaaS cluster→ Tasks UI view and verify that the corresponding node was upgraded to RT kernel 4.19.198-9.
For additional details on how to upgrade to Photon Kernel versions 198.18 or above, when running Telco Cloud Automation refer to Upgrade Photon Kernel.
For Telco Cloud Automation 1.9.5 and earlier
Follow these steps to make updates for out of band kernel and DPDK versions in TCA 1.9 using API's:
Steps are written to allow RT kernel 4.19.177-7 and DPDK 20.11. Please use this as an example and make changes with the appropriate kernel version and DPDK version as needed.
1. Log into the TCA Manager via API and obtain 'x-hm-authorization' token
For an airgap environment, if the DPDK image is missing from the airgap server, the airgap server needs to sync the image before attempting the steps below.
POST https://<TCA-IP-FQDN>/hybridity/api/sessions
Request Body:
{
"username": "<tca_login_username@ssoDomain",
"password": "<password>"2
}
Save the cookie or the x-hm-authorization response header for subsequent API calls.
2. Issue a POST call on /hybridity/api/infra/k8s/repodetails with a json payload as noted below:
POST https://<TCA-IP-FQDN>/hybridity/api/infra/k8s/repodetails
Header: "x-hm-authorization: <x-hm-token>"
Request Body:
{
"name": "dpdk",
"kernel": "linux-rt-4.19.177-7.ph3", <----------- kernel version(change this based on version needed)
"artifactName": "dpdk",
"artifactVersion": "20.11", #<----------- dpdk version(change this based on version needed)
"repo":"vmwaresaas.jfrog.io/registry/dpdk:linux-rt-4.19.177-7.ph3" #<------------repoPath(change this based on version needed)
}
Note: Run this for all dpdk versions of this kernel.
Please refer to the following link for the list of supported DPDK and Kernel versions for TCA 1.9.X:
1.9
1.9.5
1.8.5
3. Perform a GET call on /hybridity/api/infra/k8s/repodetails to check if the above change has been applied.
4. Perform a GET call on /hybridity/api/catalog/infra/params/supportedKernelVersions, copy the contents of the GET response body and paste on the next POST call request body and add the new kernel version.
5. Issue a PUT call on /hybridity/api/catalog/infra/params/supportedKernelVersions with a json payload as noted below:
PUT https://<TCA-IP-FQDN>/hybridity/api/catalog/infra/params/supportedKernelVersions
Header: "x-hm-authorization: <x-hm-token>"
Request Body:
{
"items":[
{
"name":"linux-rt",
"version":[
"4.19.132-1.ph3",
"4.19.132-2.ph3",
"4.19.132-3.ph3",
"4.19.132-4.ph3",
"4.19.132-5.ph3",
"4.19.138-1.ph3",
"4.19.138-2.ph3",
"4.19.145-1.ph3",
"4.19.145-2.ph3",
"4.19.145-4.ph3",
"4.19.148-1.ph3",
"4.19.148-3.ph3",
"4.19.148-4.ph3",
"4.19.148-5.ph3",
"4.19.150-1.ph3",
"4.19.154-1.ph3",
"4.19.154-8.ph3",
"4.19.160-1.ph3",
"4.19.160-3.ph3",
"4.19.160-4.ph3",
"4.19.164-1.ph3",
"4.19.174-1.ph3",
"4.19.174-2.ph3",
"4.19.174-3.ph3",
"4.19.174-4.ph3",
"4.19.177-1.ph3",
"4.19.177-2.ph3",
"4.19.177-3.ph3",
"4.19.177-4.ph3",
"4.19.177-7.ph3", # <----------- new kernel version for linux-rt
"4.19.182-1.ph3",
"4.19.182-2.ph3",
"4.19.186-1.ph3",
"4.19.186-2.ph3",
"4.19.186-3.ph3",
"4.19.189-2.ph3",
"4.19.189-3.ph3",
"4.19.189-4.ph3",
"4.19.190-1.ph3",
"4.19.190-2.ph3",
"4.19.190-3.ph3",
"4.19.190-4.ph3",
"4.19.190-5.ph3",
"4.19.191-2.ph3",
"4.19.191-3.ph3",
"4.19.191-4.ph3",
"4.19.191-5.ph3",
"4.19.198-1.ph3",
"4.19.198-2.ph3",
"4.19.198-3.ph3",
"4.19.198-4.ph3",
"4.19.198-5.ph3",
"4.19.205-1.ph3"
]
},
{
"name":"linux",
"version":[
"4.19.112-1.ph3",
"4.19.115-1.ph3",
"4.19.115-10.ph3",
"4.19.115-2.ph3",
"4.19.115-3.ph3",
"4.19.115-5.ph3",
"4.19.115-6.ph3",
"4.19.115-7.ph3",
"4.19.115-9.ph3",
"4.19.124-1.ph3",
"4.19.124-2.ph3",
"4.19.126-1.ph3",
"4.19.126-2.ph3",
"4.19.129-1.ph3",
"4.19.129-2.ph3",
"4.19.129-3.ph3",
"4.19.132-1.ph3",
"4.19.132-2.ph3",
"4.19.132-3.ph3",
"4.19.132-5.ph3",
"4.19.132-6.ph3",
"4.19.138-1.ph3",
"4.19.138-2.ph3",
"4.19.138-4.ph3",
"4.19.145-1.ph3",
"4.19.145-2.ph3",
"4.19.145-4.ph3",
"4.19.148-1.ph3",
"4.19.148-2.ph3",
"4.19.148-3.ph3",
"4.19.148-4.ph3",
"4.19.148-5.ph3",
"4.19.150-1.ph3",
"4.19.154-1.ph3",
"4.19.154-8.ph3",
"4.19.154-9.ph3",
"4.19.154-10.ph3",
"4.19.154-11.ph3",
"4.19.160-2.ph3",
"4.19.160-4.ph3",
"4.19.160-5.ph3",
"4.19.160-6.ph3",
"4.19.164-1.ph3",
"4.19.164-2.ph3",
"4.19.174-2.ph3",
"4.19.174-4.ph3",
"4.19.174-5.ph3",
"4.19.177-1.ph3",
"4.19.177-2.ph3",
"4.19.177-3.ph3",
"4.19.177-4.ph3",
"4.19.182-1.ph3",
"4.19.182-2.ph3",
"4.19.186-1.ph3",
"4.19.186-2.ph3",
"4.19.186-3.ph3",
"4.19.186-4.ph3",
"4.19.189-2.ph3",
"4.19.189-3.ph3",
"4.19.189-4.ph3",
"4.19.189-5.ph3",
"4.19.190-1.ph3",
"4.19.190-2.ph3",
"4.19.190-3.ph3",
"4.19.191-1.ph3",
"4.19.191-2.ph3",
"4.19.191-3.ph3",
"4.19.198-1.ph3",
"4.19.198-2.ph3",
"4.19.198-3.ph3",
"4.19.198-4.ph3"
]
}
]
}
6. Perform a GET call on /hybridity/api/catalog/infra/params/supportedKernelVersions to verify that the updated kernel version is available.
7. Log into the TCA UI(https://<tca_mgr_fqdn>) using appropriate credentials.
8. Navigate to 'Network functions' → Select the CSAR → Click on the CSAR → Click on the pencil icon on VNFD.yaml
9. Search for 4.19 and find the key in vnfd.yaml where the kernel version needs to be updated.
10. Modify version to 4.19.177-7.ph3 and click on 'SAVE AS DRAFT'
11. Search for DPDK and find the key in vnfd.yaml where the DPDK version needs to be updated.
12. Modify version to 20.11 and click on 'SAVE AS DRAFT' and 'UPDATE CATALOG'. Note that version is a double quoted string here.
13. Log into the cluster worker nodes(capv/<cluster_password> corresponding to the nodepool which is going to be customized with 4.19.177-7.ph3 kernel version.
14. Add telco-photon-updates.repo using the following commands:
cd /etc/yum.repos.d/
sudo vi photon-telco-updates.repo
[photon-telco-updates]
name=VMware Photon Telco Linux $releasever ($basearch) Updates
baseurl=https://packages.vmware.com/photon/photon_telco/$releasever/photon_updates_$releasever_$basearch
gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
gpgcheck=1
enabled=1
skip_if_unavailable=True
sudo vi photon-telco-debuginfo.repo
[photon-telco-debuginfo]
name=VMware Photon Telco Linux debuginfo $releasever ($basearch)
baseurl=https://packages.vmware.com/photon/photon_telco/$releasever/photon_debuginfo_$releasever_$basearch
gpgkey=file:///etc/pki/rpm-gpg/VMWARE-RPM-GPG-KEY
gpgcheck=1
enabled=1
skip_if_unavailable=True
/etc/yum.repos.d/
folder path.15. Search for 4.19.177-7 kernel version and confirm that it is available. This is to be done from the same node where the repo was added earlier.
16. Repeat steps 11,12 and 13 on every worker node that will be upgraded to 4.19.177-7 kernel version that is available only through telco-updates repo.
17. Instantiate the network function based on the modified CSAR from the TCA UI. Provide correct inputs including repoURL, values.yaml, nad files, IP addresses etc. as necessary
18. Monitor the customize node pool task from CaaS cluster→ Tasks UI view and verify that the corresponding node was upgraded to RT kernel 4.19.177-7.