CNFs Installer¶
Overview¶
The f5nxtctl BIGIP Next Control command line tool is used to:
- Abstract and automate the installation of f5 components such as Cert Manager, CWC etc.
- Ease license verification by automating generation of north bound certificates and abstracting curl commands used for verification.
This document guides you through installing and verifying the f5-specific components and services in demo and production environments.
Install f5nxtctl¶
Use these steps to install the f5nxtctl.
Change into directory with the CNFs Software files, and list the files in the tar directory:
In this example, the CNFs files are in the cnfinstall directory.
cd cnfinstall
ls -1 tar
This procedure requires the f5nxtctl-0.1.19.tgz file.
cnf-docker-images.tgz core-file-manager-0.0.8.tgz csrc-0.5.2-0.0.2.tgz cwc-0.14.15-0.0.8.tgz f5-cert-gen-0.9.2.tgz f5-cert-manager-0.22.22-0.0.4.tgz f5-crdconversion-0.9.4-0.0.3.tgz f5-dssm-0.67.7-0.0.4.tgz f5-toda-fluentd-1.23.36-0.0.1.tgz f5ingress-v0.480.0-0.1.52.tgz f5nxtctl-0.1.19.tgz rabbitmq-0.2.8-0.0.3.tgz
Copy f5nxtctl software image TAR file to /home/[user]/workspace/:
mkdir workspace cp f5nxtctl-0.1.19.tgz workspace/
Extract the f5nxtctl software image TAR file:
tar xvf f5nxtctl-0.1.19.tgz
f5nxtctl/ f5nxtctl/log/ f5nxtctl/deploy-order.yaml f5nxtctl/tmpl/ f5nxtctl/tmpl/resources/ f5nxtctl/tmpl/resources/pod.f5-tools/ f5nxtctl/tmpl/resources/pod.f5-tools/f5tools.tmpl f5nxtctl/tmpl/resources/pod.f5-tools/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-tools/cfg.tmpl f5nxtctl/tmpl/resources/crd.f5-common/ f5nxtctl/tmpl/resources/crd.f5-common/deploy.tmpl f5nxtctl/tmpl/resources/crd.f5-common/cfg.tmpl f5nxtctl/tmpl/resources/ns.f5-utils/ f5nxtctl/tmpl/resources/ns.f5-utils/deploy.tmpl f5nxtctl/tmpl/resources/ns.f5-utils/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-cert-manager/ f5nxtctl/tmpl/resources/pod.f5-cert-manager/cert_values.tmpl f5nxtctl/tmpl/resources/pod.f5-cert-manager/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-cert-manager/cfg.tmpl f5nxtctl/tmpl/resources/crd.f5-product/ f5nxtctl/tmpl/resources/crd.f5-product/deploy.tmpl f5nxtctl/tmpl/resources/crd.f5-product/cfg.tmpl f5nxtctl/tmpl/resources/ns.f5-controller/ f5nxtctl/tmpl/resources/ns.f5-controller/deploy.tmpl f5nxtctl/tmpl/resources/ns.f5-controller/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-dssm/ f5nxtctl/tmpl/resources/pod.f5-dssm/dssm_values.tmpl f5nxtctl/tmpl/resources/pod.f5-dssm/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-dssm/cfg.tmpl f5nxtctl/tmpl/resources/ns.f5-tools/ f5nxtctl/tmpl/resources/ns.f5-tools/deploy.tmpl f5nxtctl/tmpl/resources/ns.f5-tools/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-cwc/ f5nxtctl/tmpl/resources/pod.f5-cwc/production-cpcl-key.tmpl f5nxtctl/tmpl/resources/pod.f5-cwc/gen_api_srvr_certs.sh f5nxtctl/tmpl/resources/pod.f5-cwc/cwc_values.tmpl f5nxtctl/tmpl/resources/pod.f5-cwc/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-cwc/cpcl-key.yaml f5nxtctl/tmpl/resources/pod.f5-cwc/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-cwc/test-cpcl-key.tmpl f5nxtctl/tmpl/resources/none.general/ f5nxtctl/tmpl/resources/none.general/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-rabbitmq/ f5nxtctl/tmpl/resources/pod.f5-rabbitmq/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-rabbitmq/cfg.tmpl f5nxtctl/tmpl/resources/pod.f5-rabbitmq/rabbitmq_values.tmpl f5nxtctl/tmpl/resources/pod.f5-crd-conversion/ f5nxtctl/tmpl/resources/pod.f5-crd-conversion/crdconversion_values.tmpl f5nxtctl/tmpl/resources/pod.f5-crd-conversion/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-crd-conversion/cfg.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/ f5nxtctl/tmpl/resources/deploy.f5-controller/macvlan-bridge-netdev.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/cnf-vlan.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/ocp_f5controller_values.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/macvlan-passthru-netdev.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/robin_f5controller_values.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/deploy.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/cfg.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/sriov-netdev.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/k8s_f5controller_values.tmpl f5nxtctl/tmpl/resources/deploy.f5-controller/spk-vlan.tmpl f5nxtctl/tmpl/resources/pod.f5-fluentd/ f5nxtctl/tmpl/resources/pod.f5-fluentd/fluentd_values.tmpl f5nxtctl/tmpl/resources/pod.f5-fluentd/deploy.tmpl f5nxtctl/tmpl/resources/pod.f5-fluentd/cfg.tmpl f5nxtctl/tmpl/help-strings.yaml f5nxtctl/bin/ f5nxtctl/bin/f5nxtctl f5nxtctl/bin/mac-f5nxtctl
Running f5nxtctl¶
To run f5nxtctl tool, you need the f5nxtctl installation directory path to execute commands.
Set environment variables¶
Set F5NXTDIR end KUBECONFIG environment variable.
export KUBECONFIG=<path to kube config file>[default values is ~/.kube/config]
export F5NXTDIR=$(pwd)/workspace/f5nxtctl
export PATH=$PATH:$(pwd)/workspace/f5nxtctl/bin
f5nxtctl Help commands¶
The supported help command and sub-commands of f5nxtctl are as follows:
f5nxtctl help
This displays help commands of f5nxtctl tool.
config
-i | --interactive To generate configuration interactively
-f | --file <absolute file path> To generate configuration reading from the file passed as argument
deploy
create To deploy the product
delete To delete the product deployment
verify To check the status of product deployment
license
status To check license status
report To download the config report in disconnected/offline mode
submit-report To submit the report to myf5.com in disconnected/offline mode
verify To verify the signed acknowledgment provided by myf5.com in disconnected/offline mode
Use 'f5nxtctl <command> --debug | -d' to enable debugging for a given command (this option should always be provided at the end).
Configurating Product Deployment¶
f5nxtctl supports two types of CNFs deployment:
- Production
- Demo
Production Deployment¶
It is for the customers who already have the configuration and want to use f5nxtctl for deploying the CNFs using existing configuration files.
Demo Deployment¶
It is to bring up CNFs quickly with mostly default values. This is mainly used for demonstration purposes.
Important: Customers should use PRODUCTION mode.
To deploy the CNFs on the cluster, f5nxtctl needs necessary information and configuration files.
Run f5nxtctl config to provide configuration.
Config command supports below options to collects configuration:
- Interactive
- Reading an existing config file
Interactive Configuration¶
For first-time users or those creating new product deployment configurations, f5nxtctl collects configuration inputs interactively from the user, as shown below:
Run the following command for interactive configuration:
f5nxtctl config -i
Enter the configuration details asked by f5nxtctl:
Below example shows configuring CNFs deployment in interactive mode for production deployment.
Configuring in interactive mode ... Enter[install-type]. supported values [demo production]. [default: production] Press return to choose default: production Enter[kubeconfig]. [default: ~/.kube/config]. Press return to choose default: ~/.kube/config Enter[cluster-type]. supported values [ocp robin k8s]. [default: ocp] Press return to choose default: ocp Enter[product-type]. supported values [spk cnf]. [default: cnf] Press return to choose default: cnf Enter[package-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5-cnf-1.3.1.tgz Enter[f5-tools-namespace]. [default: f5-tools]. Press return to choose default: f5-tools Enter[f5-utils-namespace]. [default: f5-utils]. Press return to choose default: f5-utils Enter[cert-manager-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cert_mgr_overrides.yaml Enter[rabbitmq-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/rabbitmq_overrides.yaml Enter[cwc-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cwc_values.yaml Enter[license-type]. supported values [test production]. [default: test] Press return to choose default: Enter[crdconversion-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/crdconversion_values.yaml Enter[f5-controller-namespace]. [default: f5-controller]. Press return to choose default: Enter[fluentd-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/fluentd_values.yaml Enter[dssm-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/dssm_values.yaml Enter[use-watch-namespace]. supported values [yes no]. [default: yes] Press return to choose default: f5-controller Enter[watch-namespaces-comma-separated-list]. [default: f5-app]. Press return to choose default: f5-app Enter[number-of-tmm-interfaces]: 2 Enter[tmm-nad-file-path-1]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-external-netdev.yaml Enter[tmm-vlan-crd-file-path-1]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/external_vlans_crd.yaml Enter[tmm-nad-file-path-2]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-internal-netdev.yaml Enter[tmm-vlan-crd-file-path-2]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/internal_vlans_crd.yaml Enter[f5controller-values-file-path]: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/new_valuesvfio.yaml Configuration Successfull
Verify the generated configuration file:
cat deployment/cfg.yaml
basedir: /home/[user]/workspace/f5nxtctl/git-repos/tar/f5nxtctl ismac: true install_type: production kubeconfig: ~/.kube/config cluster_type: ocp product_type: cnf package_path: /home/[user]/workspace/f5nxtctl/git-repos/f5-cnf-1.3.1.tgz tools_ns: f5-tools tools_pod: f5tools.yaml utils_ns: f5-utils crd_product: f5-cnf-crds-n6lan-0.161.0-0.1.2.tgz img_cert_manager: f5-cert-manager-0.22.22-0.0.4.tgz cert-manager-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cert_mgr_overrides.yaml img_rabbitmq: rabbitmq-0.2.8-0.0.2.tgz rabbitmq-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/rabbitmq_overrides.yaml img_cwc: cwc-0.14.15-0.0.6.tgz cwc-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cwc_values.yaml license_type: test img_crdconversion: f5-crdconversion-0.9.4-0.0.3.tgz crdconversion-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/crdconversion_values.yaml controller_ns: f5-controller img_fluentd: f5-toda-fluentd-1.23.36.tgz fluentd-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/fluentd_values.yaml img_dssm: f5-dssm-0.67.7-0.0.1.tgz dssm-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/dssm_values.yaml img_controller: f5ingress-v0.480.0-0.1.30.tgz use-watch-namespace: yes watch_namespace: f5-app number_of_tmm_interfaces: 2 tmm-nad-file-path_1: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-external-netdev.yaml tmm_vlan_crd_file_path_1: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/external_vlans_crd.yaml tmm-nad-file-path_2: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-internal-netdev.yaml tmm_vlan_crd_file_path_2: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/internal_vlans_crd.yaml f5controller-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/new_valuesvfio.yaml
Similarly, Click here to view the example configuring CNFs deployment in interactive mode for demo deployment.
File-based configuration¶
In this process, instead of the user providing the configuration interactively, f5nxtctl reads an existing configuration file that is passed as an argument.
Example of an existing configuration file for CNFs production deployment:
cat <path-to-exisitng-cfg-file>/cfg.yaml
basedir: /home/[user]/workspace/f5nxtctl/git-repos/tar/f5nxtctl ismac: true install_type: production kubeconfig: ~/.kube/config cluster_type: ocp product_type: cnf package_path: /home/[user]/workspace/f5nxtctl/git-repos/f5-cnf-1.3.1.tgz tools_ns: f5-tools tools_pod: f5tools.yaml utils_ns: f5-utils crd_product: f5-cnf-crds-n6lan-0.161.0-0.1.2.tgz img_cert_manager: f5-cert-manager-0.22.22-0.0.4.tgz cert-manager-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cert_mgr_overrides.yaml img_rabbitmq: rabbitmq-0.2.8-0.0.2.tgz rabbitmq-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/rabbitmq_overrides.yaml img_cwc: cwc-0.14.15-0.0.6.tgz cwc-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cwc_values.yaml license_type: test img_crdconversion: f5-crdconversion-0.9.4-0.0.3.tgz crdconversion-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/crdconversion_values.yaml controller_ns: f5-controller img_fluentd: f5-toda-fluentd-1.23.36.tgz fluentd-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/fluentd_values.yaml img_dssm: f5-dssm-0.67.7-0.0.1.tgz dssm-values-file-path: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/dssm_values.yaml img_controller: f5ingress-v0.480.0-0.1.30.tgz use-watch-namespace: yes watch_namespace: f5-app number_of_tmm_interfaces: 2 tmm-nad-file-path_1: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-external-netdev.yaml tmm_vlan_crd_file_path_1: /home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/external_vlans_crd.yaml tmm-nad-file-path_2: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-internal-netdev.yaml tmm_vlan_crd_file_path_2: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/internal_vlans_crd.yaml f5controller-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/new_valuesvfio.yaml
Run the following command to debug the file:
f5nxtctl config -f <path-to-exisitng-cfg-file>/cfg.yaml -d
2024-01-11T16:07:00.755+05:30 [DEBU] logging/logger.go:65 Logging Level: debug Configuring in file mode ... Configuration Successfull
Verify the generated configuration file:
cat deployment/cfg.yaml
basedir: /home/[user]/workspace/f5nxtctl/git-repos/tar/f5nxtctl ismac: true install_type: production kubeconfig: ~/.kube/config cluster_type: ocp product_type: cnf package_path: /home/[user]/workspace/f5nxtctl/git-repos/f5-cnf-1.3.1.tgz tools_ns: f5-tools tools_pod: f5tools.yaml utils_ns: f5-utils crd_product: f5-cnf-crds-n6lan-0.161.0-0.1.2.tgz img_cert_manager: f5-cert-manager-0.22.22-0.0.2.tgz cert-manager-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cert_mgr_overrides.yaml img_rabbitmq: rabbitmq-0.2.8-0.0.2.tgz rabbitmq-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/rabbitmq_overrides.yaml img_cwc: cwc-0.14.15-0.0.6.tgz cwc-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/cwc_values.yaml license_type: test img_crdconversion: f5-crdconversion-0.9.4-0.0.3.tgz crdconversion-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/crdconversion_values.yaml controller_ns: f5-controller img_fluentd: f5-toda-fluentd-1.23.36.tgz fluentd-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/fluentd_values.yaml img_dssm: f5-dssm-0.67.7-0.0.1.tgz dssm-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/dssm_values.yaml img_controller: f5ingress-v0.480.0-0.1.30.tgz use-watch-namespace: true watch_namespace: f5-app number_of_tmm_interfaces: 2 tmm-nad-file-path_1: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-external-netdev.yaml tmm_vlan_crd_file_path_1: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/external_vlans_crd.yaml tmm-nad-file-path_2: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/f5-controller-internal-netdev.yaml tmm_vlan_crd_file_path_2: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/internal_vlans_crd.yaml f5controller-values-file-path: /home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/ocp5/new_valuesvfio.yaml
Similarly, Click here to view the example of existing configuration file for CNFs demo deployment.
Deploying CNFs¶
The f5nxtctl tool offers deploy commands equipped with options for the creation and deletion of deployments.
Once the Configuration mentioned above is complete, run deploy create command.
Checking License Status¶
The f5nxtctl tool offers license commands to check the license status in disconneted/offline and connected modes.
Connected Mode¶
License Status¶
Run the following command to check the license status in connected mode:
f5nxtctl license status
2023-12-07T09:22:58.691Z [DEBU] logging/logger.go:65 Logging Level: debug
Using the URL: https://10.218.36.51:30881/status
Status: {
"ClusterDetails": {
"Name": "CNFs Cluster"
},
"LicenseDetails": {
"DigitalAssetID": "bf6e07fb-7708-4991-9b33-0f63549c56e7",
"EntitlementType": "paid",
"LicenseExpiryDate": "2024-12-03T00:00:44Z",
"LicenseExpiryInDays": "361"
},
"LicenseStatus": {
"State": "Verification Complete"
}
}
TelemetryStatus: {
"NextReport": {
"StartDate": "2023-12-07 09:16:37.709734284 +0000 UTC m=+72.884051052",
"EndDate": "2023-12-31 09:16:37 +0000 UTC",
"State": "Telemetry In Progress"
}
}
Disconnected Mode¶
License Status¶
Run the following command to check the license status in disconnected mode:
f5nxtctl license status
2024-01-11T20:11:36.378+05:30 [DEBU] logging/logger.go:65 Logging Level: debug
Using the URL: https://10.145.64.5:30881/status
IntiailRegistrationStatus: {
"ClusterDetails": {
"Name": "CNFs Cluster"
},
"LicenseDetails": {
"DigitalAssetID": "25f2a27f-ca24-479c-9b2a-8bf1fb47fbc8",
"EntitlementType": "paid"
},
"LicenseStatus": {
"State": "Config Report Ready to Download"
}
}
TelemetryStatus: {}
Downloading Report in Disconnected/Offline Mode¶
Run the following command to download the config report in disconnected/offline mode:
f5nxtctl license report
2024-01-11T20:11:46.036+05:30 [DEBU] logging/logger.go:65 Logging Level: debug
{"report":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXlsb2FkIjp7ImRvY3VtZW50VHlwZSI6IkNsb3VkLU5hdGl2ZSBUZWxlbWV0cnkiLCJkb2N1bWVudFZlcnNpb24iOiIxIiwiZGlnaXRhbEFzc2V0SWQiOiIyNWYyYTI3Zi1jYTI0LTQ3OWMtOWIyYS04YmYxZmI0N2ZiYzgiLCJkaWdpdGFsQXNzZXROYW1lIjoiQ05FIiwiZGlnaXRhbEFzc2V0VmVyc2lvbiI6IjEuMi4wIiwicmVwb3J0TmFtZSI6IlNQSy0xMzM2MmIzYS03ZmE1LTRiNzItYTFlMS0yYjg2ZGZiYWEzMWIiLCJyZXBvcnRUeXBlIjoiaW5pdGlhbGl6ZSIsImN1c3RvbWVyUHJvdmlkZWRJZCI6IlNQSyBDbHVzdGVyIiwib3JkZXJUeXBlIjoicGFpZCIsImVwb2NoVGltZSI6MTcwNDk4MzE4MSwib2JzZXJ2YXRpb25TdGFydFRpbWUiOiIyMDI0LTAxLTExVDE0OjI2OjIxWiIsIm9ic2VydmF0aW9uRW5kVGltZSI6IjIwMjQtMDEtMTFUMTQ6MjY6MjFaIiwiZW5hYmxlZEZlYXR1cmVzIjpudWxsLCJ0ZWxlbWV0cnlSZWNvcmRzIjpbeyJtZXRyaWNOYW1lIjoiY2x1c3Rlcl9rcnUiLCJ0aW1lc3RhbXAiOiIyMDI0LTAxLTExVDE0OjI2OjE2WiIsIm1vZGVWYWx1ZSI6MTJ9LHsibWV0cmljTmFtZSI6ImNyZF9jbHVzdGVyIiwidGltZXN0YW1wIjoiMjAyNC0wMS0xMVQxNDoyNjoyMVoiLCJjcmRVc2FnZVJlY29yZHMiOltdfSx7Im1ldHJpY05hbWUiOiJjcmRfbnMiLCJ0aW1lc3RhbXAiOiIyMDI0LTAxLTExVDE0OjI2OjIxWiIsImNyZFVzYWdlUmVjb3JkcyI6W119XSwib3BlcmF0aW5nRW52aXJvbm1lbnQiOnsiY2x1c3Rlck5hbWUiOiJTUEsgQ2x1c3RlciIsImt1YmVybmV0ZXNWZXJzaW9uIjoidjEuMjcuMyIsImNvbnRhaW5lclJ1bnRpbWUiOiJjb250YWluZXJkOi8vMS42LjEyIiwiY2x1c3RlcldpZGVDb250cm9sbGVyVmVyc2lvbiI6InY1LjAuOCIsInByb2R1Y3RWZXJzaW9uIjoic3BrLTguMC4xOSJ9fX0.w089Y2I2-gS_vs8Njn_s1AHi-vecq9vVE3uqonE_BoY"}
Submitting the Report in Disconnected/Offline Mode¶
Run the following command to submit the report to myf5.com in disconnected/offline mode:
f5nxtctl license submit-report
2024-01-11T20:18:46.113+05:30 [DEBU] logging/logger.go:65 Logging Level: debug
Using the URL: https://10.145.64.5:30881/status
IntiailRegistrationStatus: {
"ClusterDetails": {
"Name": "CNFs Cluster"
},
"LicenseDetails": {
"DigitalAssetID": "25f2a27f-ca24-479c-9b2a-8bf1fb47fbc8",
"EntitlementType": "paid"
},
"LicenseStatus": {
"State": "Config Report Downloaded"
}
}
TelemetryStatus: {}
Verifying Signed Acknowledgment¶
Run the following commands to verify the signed acknowledgment provided by myf5.com in disconnected/offline mode:
f5nxtctl license verify
f5nxtctl license status
2024-01-11T20:19:58.954+05:30 [DEBU] logging/logger.go:65 Logging Level: debug
Using the URL: https://10.145.64.5:30881/status
Status: {
"ClusterDetails": {
"Name": "CNFs Cluster"
},
"LicenseDetails": {
"DigitalAssetID": "25f2a27f-ca24-479c-9b2a-8bf1fb47fbc8",
"EntitlementType": "paid",
"LicenseExpiryDate": "2025-01-07T00:01:04Z",
"LicenseExpiryInDays": "361"
},
"LicenseStatus": {
"State": "Verification Complete"
}
}
TelemetryStatus: {
"NextReport": {
"StartDate": "2024-01-11 14:49:50.212186318 +0000 UTC m=+1440.362397350",
"EndDate": "2024-01-31 14:49:50 +0000 UTC",
"State": "Telemetry In Progress"
}
}
Debugging¶
In f5nxtctl, use the -d or –-debug argument to enable debugging, ensuring it is the last argument for proper functionality.
Run the following command to enable debugging:
f5nxtctl config -i --debug
2024-01-03T22:56:46.542+05:30 [DEBU] logging/logger.go:65 Logging Level: debug
Configuring in interactive mode ...
Enter [install-type]. supported values [demo production]. [default: production] Press return to choose default: hello
Error: Failed to initialize the configuration. Error: Failed to handle configuration for resource none.general, Error: Failed to validate the configuration parameter install-type in resource none.general
panic: Failed to initialize the configuration. Error: Failed to handle configuration for resource none.general, Error: Failed to validate the configuration parameter install-type in resource none.general
goroutine 1 [running]:
main.f5panic({0x3208440, 0xc000206470}, 0xc0004b6348)
/home/[users]/workspace/f5nxtctl/git-repos/f5nxtctl/src/main.go:102 +0xcc
main.main()
/home/[user]/workspace/f5nxtctl/git-repos/f5nxtctl/src/main.go:172 +0xdab
Logging¶
The f5nxtctl logs transactions in the log/f5nxtctl.log file and important information on the terminal.
Platforms Support in Demo and Production Deployment¶
The table below shows the platform support tested in demo and production deployment:
Platforms | Install Types | Comments |
---|---|---|
K8s | Demo | With 1 tmm interface as macvlan-passthru |
K8s | Production | With 1 tmm interface as macvlan-passthru |
OCP | Demo | With 2 tmm interfaces as sriov |
OCP | Production | With 2 tmm interfaces as sriov |
Feedback¶
Provide feedback to improve this document by emailing cnfdocs@f5.com.