--- title: Managing the Telco Hub pattern weight: 30 aliases: /telco-hub/managing/ --- :toc: :imagesdir: /images :_mod-docs-content-type: ASSEMBLY include::modules/comm-attributes.adoc[] [id="managing-the-telco-hub-pattern"] = Managing the Telco Hub pattern After the initial deployment, you can use the `pattern.sh` script and standard {ocp} tools to manage, check, and troubleshoot the Telco Hub pattern. [id="pattern-management-cli"] == Pattern management commands The pattern includes a `pattern.sh` script that provides commands for managing the pattern lifecycle. [source,terminal] ---- $ ./pattern.sh make help For a complete guide to these targets and the available overrides, please visit https://validatedpatterns.io/blog/2025-08-29-new-common-makefile-structure/ Usage: make Testing & Development Tasks argo-healthcheck Checks if all argo applications are synced validate-telco-reference Validates telco-hub pattern against telco-reference CRs using cluster-compare super-linter Runs the super-linter locally validate-kustomize Validates kustomization build and YAML format help Print this help message Pattern Install Tasks show Shows the template that would be applied by the `make install` target operator-deploy operator-upgrade Installs/updates the pattern on a cluster (DOES NOT load secrets) install Installs the pattern onto a cluster (Loads secrets as well if configured) load-secrets Loads secrets onto the cluster (unless explicitly disabled in values-global.yaml) Validation Tasks validate-prereq verify pre-requisites validate-origin verify the git origin is available validate-cluster Do some cluster validations before installing ---- [id="day-2-operations"] == Day 2 operations You can change the pattern's configuration after the initial deployment. [id="managing-components"] === Managing components To enable or disable components after deployment: . Edit the `kustomize/overlays/telco-hub/kustomization.yaml` file. . Uncomment the resource URL for a component to enable it, or comment it to disable it. + [source,yaml] ---- resources: # Example: Uncomment to enable Logging Operator # - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/optional/logging ---- + . Apply the changes by running the `operator-upgrade` command: + [source,terminal] ---- $ ./pattern.sh make operator-upgrade ---- [id="customizing-patches"] === Customizing environment patches To change environment-specific configurations, such as Operator sources for disconnected environments: . Edit the `patches:` section in the `kustomize/overlays/telco-hub/kustomization.yaml` file. . Add or change a patch to target the necessary resource. + [source,yaml] ---- # ClusterLogForwarder with hub-specific labelsconfiguration - target: group: observability.openshift.io version: v1 kind: ClusterLogForwarder name: instance namespace: openshift-logging patch: |- - op: replace path: "/spec/outputs/0/kafka/url" value: "tcp://jumphost.inbound.lab:9092/logs" - op: add path: /spec/filters/0/openshiftLabels value: cluster-role: hub environment: production telco-component: hub ---- + . Apply the configuration changes: + [source,terminal] ---- $ ./pattern.sh make operator-upgrade ---- [id="monitoring-the-deployment"] == Monitoring the deployment You can check the health and synchronization status of the pattern components through the {ocp} CLI or the ArgoCD UI. [id="monitoring-cli"] === Monitoring from the CLI . Describe the main `telco-hub` application to view detailed status and synchronization information: + [source,terminal] ---- $ oc describe applications.argoproj.io hub-config -n telco-hub-pattern-hub ---- + . Describe the `clusters` and `policies` application to view status of deployed managed clusters: + [source,terminal] ---- $ oc describe applications.argoproj.io clusters policies -n telco-hub-pattern ---- + . View all the ArgoCD applications managed by the pattern: + [source,terminal] ---- $ ./pattern.sh make argo-healthcheck ---- [id="accessing-argocd-ui"] === Accessing the ArgoCD UI . Retrieve the route for the `telco-hub` application: + [source,terminal] ---- $ echo "ArgoCD UI: https://$(oc get route hub-gitops-server -n telco-hub-pattern-hub -o jsonpath='{.spec.host}')" ---- . Retrieve the default administrator password: + [source,terminal] ---- $ oc extract secret/hub-gitops-cluster -n telco-hub-pattern-hub --to=- ---- . Retrieve the route for the `clusters` and `policies` applications: + [source,terminal] ---- $ echo "ArgoCD UI: https://$(oc get route telco-hub-gitops-server -n telco-hub-pattern -o jsonpath='{.spec.host}')" ---- + . Retrieve the default administrator password: + [source,terminal] ---- $ oc extract secret/telco-hub-gitops-cluster -n telco-hub-pattern --to=- ---- + [NOTE] ==== You can also access the ArgoCD UI from the application launcher (nine-box icon) in the {ocp} console. ==== [id="troubleshooting"] == Troubleshooting This section covers common issues and their resolutions. Component synchronization failures:: * **Problem:** An ArgoCD application in the `telco-hub-pattern-hub` namespace displays a `SyncError` or `Degraded` status. * **Diagnosis:** Check the application's detailed status to identify the failing resource. + [source,terminal] ---- $ oc describe applications.argoproj.io -n telco-hub-pattern-hub ---- + * **Solution:** Verify that the component configuration in `kustomization.yaml` is correct and that all kustomize patches are valid. Ensure that any prerequisite components are enabled and healthy. Git repository access:: * **Problem**: ArgoCD cannot access the `github.com/openshift-kni/telco-reference` repository. * **Diagnosis**: Check the ArgoCD application logs for Git-related errors, such as "repository unavailable" or certificate validation failures. * **Solution**: ** For standard, connected environments, verify that the hub cluster has network connectivity to `github.com`. ** For disconnected (air-gapped) environments, you must verify the following two common issues: ... **Wrong repository URL**: Ensure that the `kustomize/overlays/telco-hub/kustomization.yaml` file is updated to point to the correct location, branch, and path of the mirrored repository. ... **Certificate related errors**: If ArgoCD cannot verify the repository's TLS certificates, you might need to add those certificates to the `argocd-tls-certs-cm` patch in `kustomize/overlays/telco-hub/kustomization.yaml`. Component dependencies:: * **Problem**: A component fails to install because a required operator or custom resource definition (CRD) is missing. * **Diagnosis**: The component's operator logs or the ArgoCD sync status indicates "resource not found" or "missing dependency". * **Solution**: Ensure that all required components, such as {rh-rhacm-first} or {cgu-operator-first}, are enabled (uncommented) in `kustomization.yaml` before enabling optional components that depend on them. [id="additional-resources"] == Additional resources * link:https://github.com/openshift-kni/telco-reference/tree/main/telco-hub/configuration/reference-crs/required/acm[{rh-rhacm} Configuration] * link:https://github.com/openshift-kni/telco-reference/tree/main/telco-hub/configuration/reference-crs/required/gitops[GitOps Setup] * link:https://github.com/openshift-kni/telco-reference/tree/main/telco-hub/configuration/reference-crs/required/talm[{cgu-operator} Management] * link:https://github.com/openshift-kni/telco-reference/tree/main/telco-hub/configuration/reference-crs/optional[Optional Components] * link:https://github.com/openshift-kni/telco-reference/tree/main/telco-hub/configuration/example-overlays-config[Example Overlays] * link:https://docs.redhat.com/en/documentation/red_hat_openshift_gitops/latest/html/understanding_openshift_gitops/about-redhat-openshift-gitops[{rh-gitops-short}] * link:https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/[Advanced Cluster Management] * link:https://docs.openshift.com/container-platform/latest/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-clusters-at-scale.html[Zero Touch Provisioning]