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 look for any changes required to support new release in release notes: https://github.com/sdn-sense/siterm/tags
- Pull latest runtime version by issuing:
git pullinside siterm-startup repo directory; - 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> - Once all changes are done as noted in a new release description, proceed to restart the service:
cd fe/docker/ && ./restart-new-image.sh -i latest. p.s. if you used-n host- dont forget to add it too.
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: https://github.com/sdn-sense/siterm/releases
- 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 install siterm siterm/siterm-fe -f values.yaml
Check if services are running correctly
siterm-readiness, siterm-liveness, webui-frontend TODO