Frontend Update
Information
-
Frontend is responsible for: communication with Orchestrator(s), Accept deltas, Prepare Model, Control switches on LAN, Get all configuration from all DTNs/Agents. Minimum one Frontend is required for a single domain.
- Installation type supported: Docker, Podman, Kubernetes
- Certificates: Frontend requires cert, key certificates for its services. (Let’s Encrypt/InCommon)
- Networking: Frontend requires some ports open (Can be limited to a specific list of nodes. See list here
SiteRM-FE Installation First time (Docker/Podman)
- Prerequisites:
- Make sure you have docker/podman installed and service is up and running.
- Configuration files are present in Git Repo for your Site (Take a note of SiteName and MD5 Hash for Frontend Service). MD5 is optional - and if not specified, SiteRM will compute md5(hostname) by default
- You have Certificate, Key generated.
- Clone the following repo: https://github.com/sdn-sense/siterm-startup
- It is recomended to use stable tag version. master branch is used as a developement. Look at Readme file here to identify stable version. Use
git fetch --all --tagsandgit checkout <tag> - Modify FE Contig File in cloned repo, path:
fe/conf/etc/siterm.yamland specify the SiteName and MD5 parameters for Frontend (based on yourmapping.yalmfile). - Modify Environment file in cloned repo, path:
fe/conf/environmentand changeMARIA_DB_PASSWORD. This can be anything secure and should not change between redeployments. - Prepare ansible configuration file at
fe/conf/etc/ansible-conf.yaml. For more details, see Supported network devices page - Copy Certificates to correct location:
- Certificate - copy to
fe/conf/etc/httpd/certs/cert.pemandfe/conf/etc/grid-security/hostcert.pem - Key - copy to
fe/conf/etc/httpd/certs/privkey.pemandfe/conf/etc/grid-security/hostkey.pem
- Certificate - copy to
- Start the service:
cd fe/docker/ && ./run.sh -i latest - NOTE -i (image) is
latest(most stable image). - NOTE If your network device use only IPv6 for access, add
-n hostparameter to Start the service command. Full command will be:cd fe/docker/ && ./run.sh -i latest -n host
SiteRM-FE Upgrade (Docker/Podman)
Please check the Release Notes for any configuration changes required for the new version before upgrading.
Upgrading from 1.6.0 or later
Pull the latest image and restart:
cd fe/docker/ && ./restart-new-image.sh -i latest
If you started the service with
-n host, include that flag here too.
Upgrading from 1.5.x or older
The siterm-startup directory structure changed in 1.6.0 (certificate paths, mount names). A simple git pull is not sufficient — re-clone the repo and migrate your configuration:
-
Contact the SENSE team to cancel all active services for your site first.
-
Clean the Frontend config and database state (inside the container or on the host volume):
rm -rf /opt/siterm/config/mysql/ rm -rf /opt/siterm/config/* -
Re-clone siterm-startup and migrate config:
mv siterm-startup siterm-startup-old git clone https://github.com/sdn-sense/siterm-startup cd siterm-startup/fe/conf/etc/ cp ~/siterm-startup-old/fe/conf/etc/siterm.yaml siterm.yaml # Certificates are now under secret-mount/ with new filenames cp ~/siterm-startup-old/fe/conf/etc/grid-security/hostcert.pem secret-mount/tls.crt cp ~/siterm-startup-old/fe/conf/etc/grid-security/hostkey.pem secret-mount/tls.key -
Stop and remove old containers and volumes, then start fresh:
docker ps -a docker stop <old-container-ids> docker rm <old-container-ids> docker volume ls docker volume remove <old-volume-names> cd ../../docker/ ./restart-new-image.sh -i latest -
Create the initial admin user (inside the Frontend container):
siterm-usertool create <USERNAME> # Enter a strong password when prompted (minimum 12 characters) -
Verify the Web UI is accessible and the status panel (top right) shows all services as Ready. See Common Issues if not.
SiteRM-FE Installation First time (Kubernetes cluster with Helm)
- Prerequisites:
- Make sure you have Kubernetes cluster installed. You will need to have Kubernetes config and know namespace you want to use for deployment.
- Configuration files are present in Git Repo for your Site (Take a note of SiteName and MD5 Hash). MD5 is optional - and if not specified, SiteRM will compute md5(hostname) by default
- You have Certificate, Key available and valid (or you can use HELM Chart Certificate section if have cert-manager available).
- Get the following override values file: values.yaml
- Modify the downloaded file and specify the SiteName and MD5 parameters for that Specific Frontend and or any other parameters needed, e.g. Certificate Issuer details.
- If done first time, install helm repo:
helm repo add siterm https://sdn-sense.github.io/helm-charts - Update to latest helm repo charts:
helm repo update - Install the helm chart on your Kubernetes cluster:
helm install siterm siterm/siterm-fe -f values.yaml
SiteRM-FE Upgrade (Using Kubernetes with Helm)
- Please look for any changes required to support new release here: Release Notes
- Update to latest helm repo charts:
helm repo update - Modify the values.yaml file with new parameters or changes as per new release. (if needed)
- Upgrade the helm chart on your Kubernetes cluster:
helm upgrade siterm siterm/siterm-fe -f values.yaml
Note for sites upgrading from 1.5.x: Remove the
haproxy-ingress.github.io/ssl-passthrough: "true"annotation from your Frontend ingress values if present — it is no longer needed and causes issues. Also clean the Frontend config before starting:rm -rf /opt/siterm/config/mysql/ && rm -rf /opt/siterm/config/*. After upgrade, create an admin user inside the Frontend container:siterm-usertool create <USERNAME>(minimum 12-character password).
Check if services are running correctly
After an upgrade, confirm the Frontend is healthy before informing the SENSE team:
# Docker/Podman — enter the container
docker exec -it siterm-fe bash
# Run health checks
siterm-readiness
siterm-liveness
# Kubernetes
kubectl exec -n sense <siterm-fe-pod> -- siterm-readiness
kubectl exec -n sense <siterm-fe-pod> -- siterm-liveness
Verify the Web UI is accessible at https://<your-frontend-fqdn>:<port> and the topology and model sections load correctly.
Check the release notes for any configuration changes required for the new version: Release Notes.
See SiteRM Operations for full details on CLI commands and monitoring.