Release Notes
SiteRM 1.6.3 Feature Release
Status: Production/stable release (
latesttag), promoted Thursday, September 10, 2026 from the1.6.3-prepre-production build (published September 4, 2026). SiteRM 1.6.3 is now the official production release — sites should upgrade from1.6.2.
Changes since 1.6.2 (2026-08-10 → 2026-09-04), across siterm and related repositories.
🚀 New Features
Debugger: ethr and expanded transfer-test options
SiteFE/REST/Frontend.py,SiteRMLibs/Validator.py,src/html/newdebug.html: Addedethr-server/ethr-clientdebug actions (with astreamsfield, validated against site min/max and defaulted from site config when omitted).iperf-server/fdt-server/ethr-servernow allocate ports from a configurableminport/maxportsrange instead of one fixed port.rapid-ping/rapid-pingnetgain highermaxtimeoutceilings and saner defaults (packetsize,count,timeout).
Delta submit/commit open to Write permission (was Admin-only)
SiteFE/REST/Delta.py:POST .../deltas(submit) and thecommit/forcecommit/forceapplydelta actions now requirewrite(oradmin) permission instead ofadminonly. This lets a write-level credential (e.g. the SENSE Orchestrator) submit and act on deltas directly. ⚠️ Review your site’s credential permission levels if you were relying onadmin-only being required here.
SENSE-O Keycloak token trust (read access)
SiteRMLibs/Auth.py: New optional validator accepts access tokens issued by an external SENSE-O Keycloak realm as authenticated SiteRM users with a fixed (default:read) permission level, alongside the existing local user/pass + JWT flow. Configured viaSENSEO_AUTH_ENABLED,SENSEO_ISSUER,SENSEO_CLIENT_ID, and related env vars.
Stable, machine-readable service error codes (exccode)
SiteRMLibs/CustomExceptions.py,DBModels.py,Daemonizer.py,SiteFE/REST/Service.py, plus call sites acrossLookUpService,Validator,SNMPMonitoring,Backends, andSiteRMAgent: Service state reporting now carries a permanent numericexccode(and the fullexccodeslist for a cycle) alongside the existing free-text exception message, exposed via a newsiterm_error_eventsPrometheus gauge (servicename/hostnamelabels). (Contributed bykvasu20, PR #1002.)
Non-operational switch ports excluded from the model + alerted (SWITCH_PORT_OPER_DOWN, -119)
SiteRMLibs/Backends/main.py,generalFunctions.py,CustomExceptions.py: A port (or whole port channel) that is a valid switchport but is not operationally up —operstatusnotup/connected(notconnect,errdisabled,disabled,down,lowerLayerDown) orlineprotocoldown — is now left out of the published model until it recovers, instead of being modeled as a live link. SENSE path computation assumes every infrastructure port present is active, so a dead link (e.g. a port channel brought down by a loop) must not appear there. For ports explicitly listed under the switch’sportsconfig this also raises aWARNINGwith code-119(servicestates/siterm_error_events) so admins see it; ports pulled in only viaallportsare dropped silently. Previously only port-channel members were checked (-116) and the port itself going down was modeled silently. Vendor-agnostic (AristaEOS, Dell, Cisco NX, Junos, SONiC, Nokia SROS, FRR, FreeRTR); a device that does not reportoperstatus, and VLAN/SVI interfaces, are unaffected. The port returns automatically onceoperstatusisup/connectedagain.
HTTP outage escalation
SiteRMLibs/Daemonizer.py,DefaultParams.py: A daemon that keeps gettingHTTPServerNotReadyfrom the Frontend now escalates to a reportedFAILEDstate after 10 minutes of continuous outage (HTTP_SERVER_NOT_READY_ALERT_TIMEOUT), instead of logging and retrying silently forever.
Faster first-run provisioning using live device facts
SiteFE/ProvisioningService/provisioningService.py,modules/VirtualSwitchingService.py: On first run, ProvisioningService now refreshes live switch facts up front and skips re-applyingvsw/singleportdeltas the device already carries (VLAN, tagged members, IPs all match), instead of force-applying every delta blindly. Falls back to force-apply on any error or missing facts.
IPv6 minimum prefix enforcement
SiteFE/PolicyService/deltachecks.py: Deltas requesting an IPv6 address or route prefix (L2, L3, or BGP next-hop/routeFrom/routeTo) more specific than/64are now rejected at conflict-check time.
SwitchWorker first-run handshake (replaces blind sleep)
SiteFE/LookUpService/lookup.py,SwitchWorker.py: When starting a SwitchWorker for the first time, LookUpService now waits (bounded, up to 5 minutes) for the worker to signal it has actually pulled data from the device, instead of unconditionally sleeping 60 seconds.
Web UI login reliability
src/html/assets/js/bootstrap-html.js,main.js: The login overlay is now guaranteed to show on every page — previously a page whose scripts asked for it before the header template had mounted could silently miss it. Login/logout/tab click handlers are delegated so they survive template remounts.
🐛 Bug Fixes
Model-update warning never cleared
SiteFE/LookUpService/lookup.py:modelDiffCounteronly ever reset via an unrelated “refresh DB after 1h idle” branch, so once 60+ real model updates landed in a burst, the"Model has updated more than 60 times"WARNING(with traceback) fired on every LookUpService loop — sometimes for up to an hour — even though the model itself had stabilized. The counter now tracks diffs within a rolling 1-hour window and self-clears.
newdebug page: ReferenceErrors and dead code
src/html/assets/js/main.js,page/newdebug.js: FixedReferenceError: data is not definedindoSiteUpdateN(usedconfigdata). Removed dead/unreachabledoSiteUpdate/doDTNUpdatefunctions that referenced undefined globals and raneval()on server JSON. Removed a similar strayeval()inpage/index.js. Delta/debug detail pages now show a warning instead of throwing when the API returns no data.
traceroutenet debug action always rejected
SiteFE/REST/Debug.py,SiteRMLibs/Validator.py: The action was registered astraceroute-netingetactionkeys/the validator, but the REST endpoint and Web UI usedtraceroutenet, so every request was rejected. Also fixed an incorrectly nestedonetimekey under thearp-tableaction schema.
Debug submit hardening
src/html/assets/js/page/newdebug.js,SiteRMLibs/Validator.py:streamsis now coerced tointwith a clearBadRequestErroron invalid input (was a silent comparison against a string). Empty optional fields in the debug submit form are no longer sent as empty strings, so backend defaults apply. The request payload is built from validated fields only, separate from thesitenameused for the URL.
Leaking ansible_facts_*.json temp files
SiteRMLibs/Backends/Ansible.py,MainUtilities.py: Large ansible-facts output (handed back via a temp file) was never deleted after being read._getFactsnow cleans up stale (>1h) leftover files on each call and deletes the file immediately after parsing it.getTempDir()now tries a list of candidate directories (TMPDIR/TEMP/TMPenv vars,/tmp,/var/tmp,/usr/tmp, a local fallback) and verifies each is actually writable, rather than assuming/tmpalways works.
Model directory cleanup could delete the live model
SiteFE/LookUpService/lookup.py:cleanModelDirectory()’s 7-day age-based pruning could delete the model file(s) the database currently points at (served by the REST API), forcing repeated regeneration. The current model (and its turtle/json-ld/n-triples siblings) is now excluded from pruning.
First-run provisioning could abort on error
SiteFE/ProvisioningService/provisioningService.py:_deviceRunningMatches(the first-run “already matches device” check) now catches any exception and falls back to applying the delta, instead of letting an unexpected error abort the whole provisioning cycle.
Switchport misdetection when switchport field is absent
SiteRMLibs/Backends/main.py: A device port with no explicitswitchportfield but with real physical-port data (operstatus,lineprotocol,mtu,speed,channel-member) is no longer misclassified as “not a switchport” and dropped from the model.
Log archiver
packaging/general/siterm-log-archiver: Fixedtarfile.add()producing a brokenarcnamedue to a trailing slash, and stopped deleting the archive immediately after creating it.
Misc
- Log message typo fixes (
continous→continuous,Catched→Caught,get's→gets).
⚠️ Breaking / Upgrade Notes
ansible_paramsgit config key removed. Per-switchansparamsare now read exclusively from the preparedhost_varsfile (sourced from/etc/ansible-conf.yaml) — the undocumentedansible_paramskey previously supported in the SiteRM git switch config is no longer consulted at all. If any site relied on that key, move the settings into/etc/ansible-conf.yamlbefore upgrading.- Delta submit/commit/forceapply now accept
writecredentials, not justadmin. If your deployment depends on this being admin-gated, review credential permission levels before upgrading (see above).
🔗 Related Repository Changes
Ansible Collections & Templates (facts-collection performance + Junos MX/PTX follow-through)
sense-junos-collection,sense-cisconx9-collection,sense-dellos10-collection: Facts modules accept a newansparams.subset_configto request a specific, deterministic subset of device facts (reducesgetfactsruntime);dumpFactsToTmpnow honors$TMPDIRinstead of a hardcoded/tmp.sense-junos-collection: Junos MX/PTX Flexible-Ethernet ports are now detected as switchports; MAC table collection is skipped on PTX (not available on that platform);junos_factsnow fails loudly (logging the raw device response) on unparsable output instead of silently returning empty facts.ansible-templates:getfactsplaybooks passansparams.subset_configthrough to the Dell/Arista/Cisco/Junos facts modules;junos.j2gains an opt-invstp-per-vlanflag for MX; test-runner supports test-topology VLAN create/delete;host_varsexample updated to reflect thatansparamscomes only from/etc/ansible-conf.yaml(matches the SiteRM-side change above).
Monitoring
autogole-monitoring: Grafana/monitoring templates updated to surface the new SiteRMexccodeerror codes end-to-end.
Helm Charts
helm-charts: Fixed thegiturlexample in chart documentation.
Site-specific configuration/deployment repositories (
rm-configs,vpp-frr,helm-deployments) and unrelated-org projects (esnet/sense-rtmon) were checked but intentionally excluded from this list as they carry per-site data rather than SiteRM software changes.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
Note: EL8 is no longer supported for the Frontend or Agent from 1.6.0 onwards.
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- 🔗 Authentication Setup: Authentication Configuration
- Recommended Version: Always use
latest. - This particular release is
1.6.3-<el9|el10|u22>version (1.6.3).
Docker Versions
- Agent:
sdnsense/siterm-agent:1.6.3-<el9|el10|u22>(or uselatest) - Debugger:
sdnsense/siterm-debugger:1.6.3-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:1.6.3(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.6.3
- Debugger: Chart version siterm/siterm-debugger 1.6.3
- Frontend: Chart version siterm/siterm-fe 1.6.3
SiteRM 1.6.2 Feature Release
🚀 New Features
Juniper MX / PTX support
- SiteRM can now provision VLANs on Juniper MX and PTX routers through a
virtual-switchrouting-instance, in addition to the existing EX/QFX standard mode. Select it per-device withansparams.vlanmode: mxorptx. See Juniper Junos — MX / PTX Virtual-Switch Mode for configuration, rendering details, and current limitations (no L3/IRB termination, no QoS in this mode). - Optional per-VLAN Juniper VSTP (spanning tree) on MX/PTX, for loop protection on virtual-switch members. Opt-in via
ansparams.stp_enabled: true(defaults tofalse; existing sites are unaffected). See Spanning Tree (VSTP) per VLAN.
Disable DSCP marking per agent
- A new
nodscp: trueflag can be set underagent:inmain.yamlto skip DSCP rule application on a host, mirroring the existingnoqostoggle. See DSCP Marking.
Manual (non-Git) configuration files
- Frontend, Agent, and Debugger can now read their configuration directly from local YAML files instead of a Git-backed repository, via
MAIN_CONFIG_FILE,AUTH_CONFIG_FILE,AUTH_RE_CONFIG_FILE, andMAPPING_TYPE. This is useful for sites that manage configuration through their own automation instead of the rm-configs Git repository. See Configuration Layout — Manual configuration files.
Per-credential allowed IP restrictions
- X.509 M2M credentials in
auth.yaml/auth-re.yamlcan now be restricted to specific client networks with an optionalallowed_ipslist (IPv4/IPv6 CIDR). Enforced on token challenge, verification, and refresh; unrestricted if omitted. See Frontend Configuration — allowed_ips.
Delta requestor information in the Web UI
- The delta detail view now shows who submitted a request (name, email, organization, originating host), sourced from a new
GET /api/{sitename}/deltas/{delta_id}/requestinfoendpoint.
Portability improvements
- Agent falls back to a
psutil-based network interface listing when theipbinary isn’t available. - Frontend static asset directory, SiteRM config file path, and config-fetcher state path are now overridable via
SITERM_STATIC_DIR,SITERM_CONFIG_FILE, andCONFIG_FETCHER_COUNTERenv vars. - New
agent.disabled_pluginsconfig option to skip individual recurring-action plugins (CertInfo,KubeInfo,NetInfo,ArpInfo).
Documentation
- Added Node Exporter install and security hardening guides, covering the passthrough-via-Frontend pattern that avoids exposing
/debug/pprofon agents.
🐛 Bug Fixes
Certificate chain verification
- Host and M2M certificate verification now validates the full chain (leaf + embedded intermediates), not the leaf certificate alone. Previously, certificates issued through an intermediate CA could fail validation even though the chain was valid.
Token refresh reliability
- Fixed a bug where a successful token refresh could still be reported as a failure due to a missing early return in the HTTP client.
Stale device state detection
- Fixed an inverted time comparison that prevented SiteRM from ever refreshing device state after a stale-warning condition persisted for over an hour.
API readiness check
checkReadyStatenow correctly requires both LookUpService and ProvisioningService to complete their first run before reporting the API ready (previously either one was enough).
Configuration defaults
- Fixed a bug where falsy config defaults (
False,[],0) were treated as “no default provided,” causing incorrect errors instead of returning the intended default.
Delta tracking and state
- The delta
submitaction is now recorded before processing instead of after, preserving the audit trail even if processing later fails. - Default delta global state corrected from
activatedtodeactivatedwhen no sub-delta states are present.
Database connection string
- Database URLs are now built with SQLAlchemy’s URL builder so usernames/passwords containing special characters are escaped correctly.
Host stats collection
- Hardened disk/process stats collection against malformed rows, missing filesystem values, and
psutil.AccessDeniederrors.
Juniper MX/PTX switchport detection
- Fixed MX/PTX ports being dropped from the topology model. Facts collection only recognized a port as a switchport via the
ethernet-switchingfamily, which MX/PTX never configures (they usevirtual-switchbridging instead) — every MX/PTX VLAN member was being excluded with an “Its status not switchport” warning. Detection now also recognizesLink-level type: Flexible-Ethernet, which is what MX/PTX actually reports on ports safe for L2 use. See Juniper Junos — Switchport Detection.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
Note: EL8 is no longer supported for the Frontend or Agent from 1.6.0 onwards.
🔌 Supported Network Devices
No new device types were added in this release. Juniper Junos gains an additional VLAN rendering mode for MX/PTX routers — see Supported Network Devices and Juniper Junos for the full device matrix and MX/PTX details.
🚨 Upgrade Instructions
No configuration changes are required to upgrade from 1.6.1. Simply pull the new image:
Docker/Podman (siterm-startup):
# Frontend
cd fe/docker/ && ./restart-new-image.sh -i latest
# Agent
cd agent/docker/ && ./restart-new-image.sh -i latest
# Debugger
cd debugger/docker/ && ./restart-new-image.sh -i latest
Kubernetes (Helm):
helm repo update
helm upgrade siterm siterm/siterm-fe -f values.yaml
helm upgrade siterm siterm/siterm-agent -f values.yaml
helm upgrade siterm siterm/siterm-debugger -f values.yaml
New optional features (nodscp, allowed_ips, manual configuration files) are opt-in and do not require any changes to existing site configuration.
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- 🔗 Authentication Setup: Authentication Configuration
- Recommended Version: Always use
latest. - This particular release is
latest-<el9|el10|u22>version (1.6.2).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20260810-<el9|el10|u22>(or uselatest) - Debugger:
sdnsense/siterm-debugger:latest-20260810-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20260810(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.6.2
- Debugger: Chart version siterm/siterm-debugger 1.6.2
- Frontend: Chart version siterm/siterm-fe 1.6.2
SiteRM 1.6.1 Bug Fix Release
Bug Fixes
FRR VLAN sub-interface identification fix
Backends/Ansible.py: VLAN ID extraction now handles dot-notation sub-interfaces (e.g.,eth0.100). Previously, FRR sub-interfaces using dotted port naming were not recognized, causing VLAN check failures.
Base64 encode/decode type safety
MainUtilities.py:encodebase64anddecodebase64rewritten to correctly handle bothstrandbytesinputs without type errors. Previously, passing the wrong type caused silent failures or exceptions during model serialization and data transport.
Switch error recording in database
Backends/main.py: Switch-side errors are now correctly recorded in the database. Previously, certain error paths in the Ansible backend did not persist error state, making switch failures invisible in the Web UI and Prometheus output.
Debug request table name fixes
SiteFE/Debugger/Debugger.py,SiteFE/REST/Debug.py: Fixed incorrect database table names (debugrequestsworker→debugrequests,debugrequestsfull→debugrequests). This prevented debug request state updates from being recorded, leaving debug operations stuck.DBBackend.py: DB update now skipsNonevalues to avoid overwriting valid fields with null.
Docker startup: secret-mount directory name corrected
siterm-startup: Agent and Debugger Docker startup scripts and directory layout corrected fromsecrets-mounttosecret-mount, matching the mount path documented in 1.6.0 release notes. Sites that have already updated to the correctsecret-mountpath are unaffected.
🚨 Upgrade Instructions
Upgrading from 1.6.0
No configuration changes required. Simply pull the new image:
Docker/Podman (siterm-startup):
# Frontend
cd fe/docker/ && ./restart-new-image.sh -i latest
# Agent
cd agent/docker/ && ./restart-new-image.sh -i latest
# Debugger
cd debugger/docker/ && ./restart-new-image.sh -i latest
Kubernetes (Helm):
helm repo update
helm upgrade siterm siterm/siterm-fe -f values.yaml
helm upgrade siterm siterm/siterm-agent -f values.yaml
helm upgrade siterm siterm/siterm-debugger -f values.yaml
Upgrading from 1.5.x or older
Sites on 1.5.x must follow the full 1.6.0 upgrade path. The steps below incorporate both:
-
Contact the SENSE team to cancel and clean up all active services for your site before proceeding.
-
Clean the Frontend config and database state (inside the Frontend container or on the host volume):
rm -rf /opt/siterm/config/mysql/ rm -rf /opt/siterm/config/* -
Docker/Podman users — re-clone siterm-startup (directory structure changed in 1.6.0):
mv siterm-startup siterm-startup-old git clone https://github.com/sdn-sense/siterm-startupCopy your existing configuration and certificates, adapting to the new certificate filenames (
tls.crt/tls.key):# Agent example — repeat equivalently for Frontend and Debugger cd siterm-startup/agent/conf/etc/ cp ~/siterm-startup-old/agent/conf/etc/siterm.yaml siterm.yaml cp ~/siterm-startup-old/agent/conf/etc/grid-security/hostcert.pem secret-mount/tls.crt cp ~/siterm-startup-old/agent/conf/etc/grid-security/hostkey.pem secret-mount/tls.keyStop 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 - Kubernetes (Helm) users:
- Update Helm repositories:
helm repo update - Remove the
haproxy-ingress.github.io/ssl-passthrough: "true"annotation from your Frontend ingress values if present — it is no longer needed. -
Use
latestfor image tags, or remove explicit image definitions and let Helm set them. To check available chart versions:helm repo update helm search repo siterm/siterm-fe --versions helm search repo siterm/siterm-agent --versions helm search repo siterm/siterm-debugger --versions -
Apply the upgrade:
helm upgrade siterm siterm/siterm-fe -f values.yaml helm upgrade siterm siterm/siterm-agent -f values.yaml
- Update Helm repositories:
-
Create the initial admin user (inside the Frontend container):
siterm-usertool create <USERNAME> # Enter a strong password when prompted (minimum 12 characters) -
Verify the deployment: Access the Frontend Web UI at
https://<your-frontend-fqdn>. The status panel (top right) should show all services as Ready. If not, refer to SiteRM Operations and Common Issues. - Notify the SENSE team once all services are ready so your site can be re-added to SENSE Orchestrators.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
Note: EL8 is no longer supported for the Frontend or Agent from 1.6.0 onwards.
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- 🔗 Authentication Setup: Authentication Configuration
- Recommended Version: Always use
latest. - This particular release is
latest-<el9|el10|u22>version (1.6.1).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20260406-<el9|el10|u22>(or uselatest) - Debugger:
sdnsense/siterm-debugger:latest-20260406-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20260406(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.6.1
- Debugger: Chart version siterm/siterm-debugger 1.6.1
- Frontend: Chart version siterm/siterm-fe 1.6.1
SiteRM 1.6.0 Production Release
⚠️ Breaking Release — Authentication system fully replaced. Sites upgrading from 1.5.63 must follow the upgrade steps below before starting the new image.
🔐 New Authentication System (auth-new)
The most significant change in this release is a complete replacement of the authentication layer. The previous X.509-certificate-only authentication for the REST API has been superseded by a multi-method system supporting human users (username/password + JWT), machine-to-machine services (X.509 certificate challenge-response + JWT), and standard token refresh flows.
New authentication methods:
- Username/password login (
POST /auth/login) — for human users and the Web UI. Passwords are stored with Argon2 hashing. Returns a short-lived Bearer token (60 minutes) and a 12-hour refresh token. - X.509 certificate M2M (
POST /m2m/token→POST /m2m/token/{challenge_id}) — for Agents, Debuggers, and automated services. The server issues a challenge; the client signs it with its private key; the signed challenge is verified against the certificate and returns tokens. Supports both RSA (PSS/SHA-256) and EC (ECDSA/SHA-256) keys. - Token refresh (
POST /m2m/token/refresh) — tokens are refreshed using a session-bound refresh token. Refresh tokens are rotated on each use and bound to the client IP address. - JWKS / OpenID Configuration —
GET /.well-known/jwks.jsonandGET /.well-known/openid-configurationendpoints enable standard OIDC-compatible token verification by third-party tools.
User management:
A new command-line tool siterm-usertool is included in the Frontend container for managing local user accounts:
siterm-usertool --action create --username admin --permissions admin
siterm-usertool --action list
siterm-usertool --action disable --username someuser
siterm-usertool --action setpassword --username someuser
Permission levels: read (1), write (2), readwrite (3), admin (4). Minimum password length is 12 characters.
JWT key generation:
The Frontend container now auto-generates an RSA-3072 key pair for JWT signing at startup (/opt/siterm/jwt_secrets/). Apache HTTPD uses these keys to sign and verify tokens. No manual key setup is needed for new deployments.
Trust store:
A new build-keystore.py script builds a minimal CA trust store from /etc/grid-security/certificates, filtering to only allowed issuers (Let’s Encrypt, InCommon RSA, CERN Grid CAs by default). Sites can override the allowed issuers via /etc/grid-security/allowed_truststore.yaml. Only CAs in this trust store are accepted for X.509 M2M authentication.
New database tables:
Two new tables are added via Alembic migration: users (local user accounts) and refresh_tokens (active sessions with IP binding and rotation tracking). The migration runs automatically on Frontend startup.
See the full documentation: Authentication Configuration
🔧 Other Changes
Security & Hardening:
- HTTP methods are now restricted at the Apache HTTPD level — only
GET,POST,PUT,DELETE,OPTIONS,HEADare allowed - Rate limiting on auth endpoints: 1 request/second per client; 429 responses are caught and held with random backoff
- Certificate field length increased; token input is validated on receipt
- OpenTelemetry distributed tracing support added (disabled by default; enable via
OPENTELEMETRY_ENABLED=true)
Web UI:
- Swagger UI now shows a login button; Bearer tokens are sent automatically after login
- Bootstrap JS/CSS updated
- Ajax error handling improved across all pages
- Token-based authentication is used for all Web UI API calls
Bug Fixes:
- State machine: model-add transition now correctly handled
- SQLAlchemy: field type enforcement on all model updates
- Policy service: accepted deltas are correctly included in delta comparison
- FRR router: VLAN identification now resolves correctly for sub-interface naming
- BGP templates: duplicate route-map keys no longer cause silent drops
- Bandwidth calendar: overlap detection and scheduling fixes
- Token expiry:
expires_atandexpires_invalues now correctly computed and returned - DB cleanup: auth queries reduced from ~30 calls to 1 per request
Build & Container:
- EL8 (AlmaLinux 8) removed from Frontend build — AlmaLinux 8 reached end-of-active-support May 2024
- Debugger now has an EL10 Dockerfile
- Gunicorn worker startup rate increased for faster container readiness
- Kubernetes HTTPD config split into a dedicated
sitefe-httpd-kube.conffile - DSCP marking via
nftables/iptablesadded to startup scripts - OSG CA certificates updated to the osg-25 release
- Agent and Debugger containers no longer require a host certificate — they authenticate to the Frontend using the new M2M token flow
- Log rotation: all processes write to log files capped at 2 files × 25 MB
- VPP monitoring rewritten as a Python process (resolves single-thread issue)
- Certificate mount path changed — host/grid certificates for Docker and Kubernetes are now mounted under
/etc/secret-mount/(previously/etc/grid-security/). Certificate files are renamed:hostcert.pem→tls.crt,hostkey.pem→tls.key. This enables automatic certificate rotation without a service restart. - Kubernetes Helm deployments: certificates are also expected under
/etc/secret-mount/(tls.crt/tls.key)
Helm Chart Changes:
siterm-fe:ssl-passthroughannotation removed fromvalues.yaml— it is not required and caused confusionsiterm-agent: clarified thatNET_ADMINcapability must be uncommented for the agent to create VLAN interfaces and apply QoS rulessiterm-agent: corrected LLDPD socket path documentation — Ubuntu systems use/var/run/lldpd.socket(.socketsuffix), not/var/run/lldpd.sock
Ansible Collections:
sense-aristaeos-collection: MAC address normalization fix for LLDP parsing
🚨 Upgrade Instructions
-
Cancel all SENSE Services. Contact SENSE team to clean up your site
-
Database migration runs automatically on Frontend startup, but new release requires full removal of /opt/siterm/config/mysql. In futurem, no manual SQL changes are needed.
-
Review your trust store if your site uses X.509 M2M auth with non-standard CAs. Check
/etc/grid-security/allowed_truststore.yaml(or create it) to ensure your site’s CA is included. -
Docker users: update certificate mount paths. Certificates are now read from
/etc/secret-mount/instead of/etc/grid-security/(or/etc/httpd/certs/). Rename your files:hostcert.pem→tls.crt,hostkey.pem→tls.key, and update yourdocker runordocker-composevolume mounts accordingly. -
Helm users: Update image tags. The
ssl-passthroughannotation has been removed fromsiterm-fe/values.yaml. If you had overridden this annotation locally, remove it from your site values. Also verify thatNET_ADMINis uncommented in your agent values if it was not already set.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
Note: EL8 is no longer supported for the Frontend. Agent EL8 images are also discontinued from this release.
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- 🔗 Authentication Setup: Authentication Configuration
- Recommended Version: Always use
latest. - This particular release is
pre-<el9|el10|u22>version (1.6.0).
Docker Versions
- Agent:
sdnsense/siterm-agent:pre-20260326-<el9|el10|u22>(or uselatest) - Debugger:
sdnsense/siterm-debugger:pre-20260326-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:pre-20260326(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.6.0
- Debugger: Chart version siterm/siterm-debugger 1.6.0
- Frontend: Chart version siterm/siterm-fe 1.6.0
SiteRM 1.5.63 Bug fix release
New features and fixes
- Increase Daemonizer logging for Configuration refresh
- Break loop during alive/readiness check if service is fully ready
- Add version information inside the model
- Clean ServiceStates if host is deleted from Frontend (previously raised False Alarms)
- Fix bug that allows fake ports specified, if allports is set to True.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.63).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20251204-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20251204-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20251204(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.63
- Debugger: Chart version siterm/siterm-debugger 1.5.63
- Frontend: Chart version siterm/siterm-fe 1.5.63
SiteRM 1.5.62 Bug fix release
New features and fixes
- Retry implementation for failed instance apply.
- Expand OIDC support and configuration via custom provider.
- Improve logging and and review warnings, errors raise.
- Fix recurring time override for provisioned instances (if time not specified for start/end)
- Fix QoS apply for L3.
- Allow to cancel kube and singleport instances (mainly for instances without switchingservice)
- Use HTTP Retries for HTTP calls and not override git configuration.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.62).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20251126-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20251126-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20251126(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.62
- Debugger: Chart version siterm/siterm-debugger 1.5.62
- Frontend: Chart version siterm/siterm-fe 1.5.62
SiteRM 1.5.61 Bug fix release
New features and fixes
- Always check VLAN and IP Overlap, not only if IP address was requested
- Fix port scanning, when there is no Switch. e.g. Node connects to another domains via isAlias
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.61).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20251009-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20251009-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20251009(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.61
- Debugger: Chart version siterm/siterm-debugger 1.5.61
- Frontend: Chart version siterm/siterm-fe 1.5.61
SiteRM 1.5.60 Production release
New features and fixes
- VPP/DPDK In Kubernetes with NIC passthrough. SENSE now builds containers for VPP/FRR/DPDK Router, that is preconfigured for SENSE.
- RTMon and SiteRM full workflow: Automatically issue Iperf3, FDT, ETHR. Ping, traceroute from Host and Network devices;
- Junos devices queries moved to use XML. Improvement to get configuration from ~2m to 30sec.
- VLAN Identitification and conflict resolution. SiteRM checks all ports and vlan ranges to ensure that it is not used in any other port.
- VRF Support in Arista devices
- Node Exporter Passthrough via Frontend. Sites are not required anymore to open node_exporter port to autogole monitoring.
- Ansible runtime output store in files. Hit a limit of Subprocess and AsyncIO (>500kb messages are not guaranteed to work.)
- Container images built and uploaded to Quay.io (default registry). Dockerhub - as a fallback. Only last 2 stable containers are kept
- And many other small fixes: No lldpd is not an error, monitor disk usage, snmp mac table for vpp/dpdk, Network status in the model fix…
Full list of issues resolved: https://github.com/sdn-sense/siterm/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A1.5.50 And all changes diff 1.5.52 and 1.5.60 releases in any of the repos: https://github.com/sdn-sense
New Sites
- Internet2 and NRP (40 nodes) - all connected to one of Internet2 ports.
- UChicago running VPP/DPDK Software based router on Kubernetes
- KIT (2 Servers + 1 Router) connected via Surfnet
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.60).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20251006-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20251006-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20251006(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.60
- Debugger: Chart version siterm/siterm-debugger 1.5.60
- Frontend: Chart version siterm/siterm-fe 1.5.60
SiteRM 1.5.51 Bugfix release
Fixes
- Add Ansible operation timeout. Issue with Edgecore devices during cleanup after operation
- FastAPI documentation update. Defaults for Debug actions.
- Fix DebugService and ServiceStates FastAPI calls.
- Frontend accept ethr-server/ethr-client
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.51).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20250823-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20250823-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20250823(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.51
- Debugger: Chart version siterm/siterm-debugger 1.5.51
- Frontend: Chart version siterm/siterm-fe 1.5.51
SiteRM 1.5.50 Production release
⚠️ Breaking Release This version introduces a new REST framework (FastAPI), database layout changes, and configuration simplification. Sites upgrading from v1.5.43 must follow the upgrade procedure below and clean activated resources
🚨 Upgrade Instructions
- Download the following script inside SiteRM FE Container: https://raw.githubusercontent.com/sdn-sense/siterm/refs/heads/master/packaging/siterm-site-fe/scripts/siterm-fe-helper
- Run script inside SiteRM FE Container:
python3 siterm-fe-helper. Select option cancel-all - Inform the SENSE team about cleaned resources.
- Wait a few minutes (or monitor the LookupService log file for cleanup progress).
- Update your git configuration file (see example here: https://github.com/sdn-sense/rm-configs/blob/master/NRM_CENICDEV/FE/main.yaml or for agent here: https://github.com/sdn-sense/rm-configs/blob/master/T2_US_Caltech_DEV/Agent01/main.yaml) If you are unsure of changes, please contact SENSE team.
- Remove the existing MySQL database and perform a full upgrade to the new image. (rm -rf /opt/siterm/config/mysql/)
🚀 New Features & Improvements
- QoS Enhancements (Arista)
- Introduced default QoS policy handling for guaranteedCapped, softCapped, and bestEffort allocations for Arista devices.
- SiteRM now ensures correct bandwidth sharing between guaranteed, soft-capped, and best-effort traffic.
- Guarantees at least 100 Mbps to bestEffort traffic even during contention.
- REST API Change
- Migrated SiteRM API to FastAPI framework. Documentation of all available api calls is under each Sites FE: https://
/docs#/ - Introduced new calls for application readiness: /api/alive, /api/ready, /api/liveness, /api/readiness, and etc.
- Migrated SiteRM API to FastAPI framework. Documentation of all available api calls is under each Sites FE: https://
- Configuration simplification
- Many parameters are now embedded in the codebase. Sites no longer need to manually specify them.
- Agent’s and FEs specify site as str (not list)
- New OS Release
- SiteRM agent is now built also for Ubuntu 22. Image tag
latest-u22.
- SiteRM agent is now built also for Ubuntu 22. Image tag
- Other fixes
- Automatic cleanup of old models based on timestamp (instead of database state).
- Improved handling of database failures: readiness/liveness probes now correctly fail and trigger restarts.
- Docker startup scripts enable modprobes auatomatically (if SELinux in use).
- Fixed SSH connection issue when establishing sessions with remote nodes (seen issue with Edgecore devices).
- Status check logic improved: now validates if the process is alive, not just if the PID exists.
- Readiness probe now restarts crashed MySQL instances instead of leaving them in a broken state.
- Fixed warnings in Ansible cleanup when running in parallel.
- Certificates: readiness and liveness checks now fail if a certificate is expired.
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- U22
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10|u22>version (1.5.50).
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20250820-<el8|el9|el10|u22>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10|u22> - Debugger:
sdnsense/siterm-debugger:latest-20250820-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20250820(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.50
- Debugger: Chart version siterm/siterm-debugger 1.5.50
- Frontend: Chart version siterm/siterm-fe 1.5.50
SiteRM 1.5.43 Bug fix Production release
SiteRM fixes and improvements
- Do not apply IP Route rules on the host if host uses private network namespaces for transfer containers
- Increase logging for Network Status identification and log each state change
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10>version (1.5.43) as candidate for production release.
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20250722-<el8|el9|el10>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10> - Debugger:
sdnsense/siterm-debugger:latest-20250722-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20250722(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.43
- Debugger: Chart version siterm/siterm-debugger 1.5.43
- Frontend: Chart version siterm/siterm-fe 1.5.43
SiteRM 1.5.42 Bug fix Production release
SiteRM fixes and improvements
- Fix docker startup to use correct image
- Remove version update inside the model.
- Clean up models in batch of 10 (many updates at once overload memory usage)
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10>version (1.5.42) as candidate for production release.
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20250720-<el8|el9|el10>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10> - Debugger:
sdnsense/siterm-debugger:latest-20250720-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20250720(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.42
- Debugger: Chart version siterm/siterm-debugger 1.5.42
- Frontend: Chart version siterm/siterm-fe 1.5.42
SiteRM 1.5.41 Production release
Production release after 1.5.40 pre-release validation
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
latest-<el8|el9|el10>version (1.5.41) as candidate for production release.
Docker Versions
- Agent:
sdnsense/siterm-agent:latest-20250718-<el8|el9|el10>(or uselatest), optionally, can specify os versionlatest-<el8|el9|el10> - Debugger:
sdnsense/siterm-debugger:latest-20250718-el10(or uselatest) - Frontend:
sdnsense/siterm-fe:latest-20250718(or uselatest)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.41
- Debugger: Chart version siterm/siterm-debugger 1.5.41
- Frontend: Chart version siterm/siterm-fe 1.5.41
SiteRM 1.5.40 Staging Release
SiteRM fixes and improvements
- Frontend
- Support 3 RDF types for delta and model: turtle, json-ld, n-triples. In the backend, SiteRM moved from turtle to n-triples, which gives 10x improvement for model serialization #218
- Support iPerf, FDT, Traceroute, Ping from L3 actions #860
- Agents will not accept delta if the Ruler service is disabled #777
- Liveness and Readiness status reported in Prometheus and raise warnings #792
- Policy Service and LookupService will not accept deltas while the first run not finished. This allows SiteRM to ensure that the SiteRM has up to date model based on the real-time network information #793, #795
- Check that the Delta request does not allow overlapping IP Requests #890
- Allow control of Traffic classes for network devices via configuration. Defaults are: 1 - bestEffort; 4 - softCapepd, 7 - guaranteedCapped. #440
- Frontend migrated to EL9 as the default image
- Install and export Apache stats in Prometheus format
- Agent
- Agent and Debugger processes are split into separate containers. Debugger can be deployed on any Host or Public IP Range to allow L3 actions #860
- Debugger support for iPerf and FDT actions under L2/L3 Addresses. #860
- Missing Routing service information in the model for hosts # 870
- Identify the routing table ID dynamically in case no routing table file is available #877
- Junos devices issue rollback 0 in case of apply failures #721
- Allow to use LLDP Daemon socket or enable running the LLDP Daemon inside the container #881
- SiteRM Agent releases EL8, EL9, EL10 containers. This is required to select the proper release if the LLDP Daemon socket is used. #881
- Ansible improvements
- Junos devices issue rollback 0 in case of apply failures #721
- Junos identifies switchport and raises a warning if the interface state is incorrect #869
Deployment (Docker, Kubernetes) fixes and improvements
- Helm
- Support of StatefulSet for deployment type
- Helm charts migrated to a single repository: https://github.com/sdn-sense/helm-charts This includes 3 charts now: agent, debugger, fe
- Allow control LLDP socket, rt_tables file location
- Remove the need to mount network namespaces inside a container
- Improve helm checks before deployment: Volume name, claims, deployment type
- Allow control of hostPID and hostNetwork flags
- Allow choosing the EL release tag for deployment
- Docker
- Remove the requirement to have a privileged container.
- Build automatically EL8, EL9, EL10 images for Agent; Debugger - EL10; Frontend - EL9;
- Enhance Docker startup and satisfy requirements for file mount if SELinux is enabled.
- Default all images to Python 3.12
🔧 Supported OS Releases
- Frontend (x86_64)
- EL9
- Agent (x86_64)
- EL8
- EL9
- EL10 Default for release
- Debugger (x86_64)
- EL10
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
- This particular release is
stage-<el8|el9|el10>version (1.5.40) as candidate for production release.
Docker Versions
- Agent:
sdnsense/siterm-agent:stage-20250710-<el8|el9|el10>(or usestage), optionally, can specify os versionstage-<el8|el9|el10> - Debugger:
sdnsense/siterm-debugger:stage-20250710-el10(or usestage) - Frontend:
sdnsense/siterm-fe:stage-20250512(or usestage)
Helm versions
- Agent: Chart version siterm/siterm-agent 1.5.40
- Debugger: Chart version siterm/siterm-debugger 1.5.40
- Frontend: Chart version siterm/siterm-fe 1.5.40
SiteRM 1.5.32 BugFix Release
SiteRM Codebase Fixes
- Record Disk Usage in Database
- The previous release did not record disk usage in the database, which prevented it from being displayed in Grafana/Prometheus. This has been fixed.
- Fix Debugger to Use New API Format
- The Debugger service (on agents) used an outdated API to retrieve debug information (e.g., ping) and was unable to execute actions. This update enables the debugger service to function correctly on agents.
- Fix Misleading Validation Errors
- Dell OS10 showed misleading validation errors when comparing MAC addresses with LLDP info. This has been corrected to compare the appropriate keys for Dell OS10.
Kubernetes Helm Fixes
- Allow CPU Requests/Limits Below 1 Core (e.g., 600m)
- Support Custom Volume Name for Storage Mounting
- Update Documentation in
values.yamlfor All Certificate Options
🔧 Supported Architectures
- x86_64 ✅ (Stable)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latest. - If enforcing a specific version is needed, refer to the following details for tag or chart version below.
Docker Versions
- Agent:
sdnsense/site-agent-sense:latest-20250512(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250512(or uselatest)
Helm versions
- Agent: Chart version siterm-agent/siterm-agent 1.5.32
- Frontend: Chart version siterm-fe/siterm-fe 1.5.32
SiteRM 1.5.3 Release
Networking and Routing Enhancements
-
BGP Multipath Support (ECMP Equivalent) Added support for BGP Multipath to allow the same BGP peering over multiple paths, similar to Equal-Cost Multi-Path (ECMP).
- Juniper BGP Control Support
Initial Juniper BGP control integration added.
Note: VRF support is not yet available and will be included in the next release.
- Cisco Nexus 9/10 Fixes Resolved an issue with neighbor peerings not being removed during path deletion.
Deployment and Environment Separation
- Separated Development and Production Environments New developments are deployed only on select Development Sites, reducing risk to Production environments.
Containerization and Kubernetes Improvements
- Docker Startup Script Enhancements Startup parameters are now recorded and reused on container restarts. This resolves issues with incorrect startup or changes to networking (e.g., switching to host networking).
- Init Containers for Directory Creation Kubernetes deployments now use init containers to pre-create required directories.
- Disk Usage Monitoring Frontend now records and exposes disk usage metrics to Prometheus. Alerts are triggered when usage exceeds 80%.
- Database Optimization on Container Restart On each container restart, all database tables are optimized to improve performance.
- Persistent Logging Volume Option to use a persistent volume for logs is now supported (except when using Kubernetes DaemonSet, due to dynamic PVC limitations).
Stability and Error Detection
- LLDP Consistency Checks
Errors are raised if the switch LLDP information does not match the MAC address of the interface.
This prevents issues when switch ports are changed without updating SiteRM configuration.
- Correct Agent Warnings In case Agent unable to communicate with Frontend, error message will show this in the logs (without proceeding further).
Memory and Performance Improvements
- Resolved Memory Leaks. Memory usage remains stable (< 2GB for 2 switches and 10 nodes Site)
- Migrated from
MariaDBPython connector toMySQLconnector. - Prometheus output generation moved to a background process. Memory usage remains stable
- Removed use of
ast.literal_evalto prevent excessive memory usage.
- Migrated from
- QoS Handling Update
BestEffort QoS will not limit traffic for Layer 3 (L3) requests. Instead, it sets a committed rate of 1 Gbps or
max_interfacecapacity. In case of Multipath-BGP, QoS requests are summed on the Agent.
Backend and Application Architecture
-
Longtext Storage Optimization Longtext entries are now stored on disk rather than within the database.
-
Migrated from WSGI to ASGI Application backend migrated from synchronous WSGI to asynchronous ASGI (using
gunicornanduvicorn) for improved concurrency.
Debugging and Observability
- Memory Debugging Controls
- All processes now source
/etc/environment. - Enabling
SITERM_MEMORY_DEBUG=1triggers memory snapshots and displays the top 10 memory-holding objects usingtracemalloc.
- All processes now source
- Liveness and Readiness Probes
- Kubernetes deployments can now fully control parameters for liveness and readiness probes.
New Feature Flags
bgpmp: Instructs the SENSE Orchestrator that BGP Multipath is supported.Default:
Falsenoqos: Tells agents not to apply any QoS settings on host systems.Default:
False
Please refer to the official documentation for upgrade or installation instructions:
📖 Documentation: SiteRM Documentation
All sites managed by the SENSE Team will be updated automatically.
🔧 Supported Architectures
- x86_64 ✅ (Stable)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latestorlatest-ppc64le. - If enforcing a specific version is needed, refer to the following details:
Docker Versions
- x86_64:
- Agent:
sdnsense/site-agent-sense:latest-20250508(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250508(or uselatest)
- Agent:
SiteRM 1.5.23 Bugfix release for 1.5.22
Bandwidth static based on documentation and vlan-range for ports static too.
Peering nml:BidirectionalPort instances should have nml:LabelGroup with matching label ranges. We use nml:LabelGroup range to represent available labels and use individual nml:Label instances to represent labels that have been allocated under nml:BidirectionalPort. See: https://github.com/esnet/SENSE-Orchestrator/wiki/Modeling-Guide https://github.com/esnet/StackV/wiki/Clarification-for-BandwidthService-and-lifetime-modeling
Please refer to the official documentation for upgrade or installation instructions:
📖 Documentation: SiteRM Documentation
All sites managed by the SENSE Team will be updated automatically.
🔧 Supported Architectures
- x86_64 ✅ (Stable)
- ppc64le ⚠️ (Beta)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latestorlatest-ppc64le. - If enforcing a specific version is needed, refer to the following details:
Docker Versions
- x86_64:
- Agent:
sdnsense/site-agent-sense:latest-20250328(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250328(or uselatest)
- Agent:
SiteRM 1.5.22 Bugfix release for 1.5.21
Modeling fix. Remove vlan-range-filtered from Model (remains in database and processes)
Peering nml:BidirectionalPort instances should have nml:LabelGroup with matching label ranges. We use nml:LabelGroup range to represent available labels and use individual nml:Label instances to represent labels that have been allocated under nml:BidirectionalPort. See: https://github.com/esnet/SENSE-Orchestrator/wiki/Modeling-Guide https://github.com/esnet/StackV/wiki/Clarification-for-BandwidthService-and-lifetime-modeling
Please refer to the official documentation for upgrade or installation instructions:
📖 Documentation: SiteRM Documentation
All sites managed by the SENSE Team will be updated automatically.
🔧 Supported Architectures
- x86_64 ✅ (Stable)
- ppc64le ⚠️ (Beta)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latestorlatest-ppc64le. - If enforcing a specific version is needed, refer to the following details:
Docker Versions
- x86_64:
- Agent:
sdnsense/site-agent-sense:latest-20250327(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250327(or uselatest)
- Agent:
SiteRM 1.5.21 Bugfix release for 1.5.2
We have identified new issue with scheduled allocations and excluding vlan from allowed vlan-range list. SiteRM was patched to not exclude vlan from vlan-range - which is used by SENSE-O to compute paths.
Please refer to the official documentation for upgrade or installation instructions:
📖 Documentation: SiteRM Documentation
All sites managed by the SENSE Team will be updated automatically.
🔧 Supported Architectures
- x86_64 ✅ (Stable)
- ppc64le ⚠️ (Beta)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latestorlatest-ppc64le. - If enforcing a specific version is needed, refer to the following details:
Docker Versions
- x86_64:
- Agent:
sdnsense/site-agent-sense:latest-20250327(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250327(or uselatest)
- Agent:
SiteRM 1.5.2 Stable Production Release
We are pleased to announce the release of SiteRM 1.5.2 as a Stable Production version. Please refer to the official documentation for upgrade or installation instructions:
📖 Documentation: SiteRM Documentation
All sites managed by the SENSE Team will be updated automatically.
🚀 New Features and Enhancements
- 🔹 VLAN & IP Management
- Exclude provisioned VLANs from allowed VLAN range if used by system or delta.
- Track all used IPs on network devices and hosts.
- Exclude IPs from allowed list inside the model.
- 🔹 Configuration Warnings & Health Monitoring. Grafana and kube/docker health status reporting for:
- IP configured from SENSE Range, but request is not from any delta.
- VLAN used from SENSE range, but request is not from any delta.
- Remaining bandwidth below 1Gbps.
- Switchport misconfiguration (e.g., missing trunk flag).
- 🔹 QoS Policy Rewrite
-
Guaranteed Capped: Requested 1Gbps, rules set **max min == 1Gbps**. - Soft Capped: Requested 1Gbps, rules set min = 1Gbps, max = remaining bandwidth.
- Best Effort: Requested 1Gbps, rules set min = 1Gbps, max = fraction (incremental order: 1/10, 1/9, 1/8, etc.).
- Minimum QoS request granularity decreased to 100Mbps.
-
- 🔹 Improved Request Handling
- Auto-add start and end time if not provided in the SENSE request:
- Default Start: +10s
- Default End: +3 months (configurable per site).
-
Modification only allowed from the original request intent.
- 🔹 Custom Ansible Commands
- Site Configuration now allows custom commands for Ansible.
- First supported command: Juniper devices control to use
irborvlanfor configuring L3 interfaces.
- 🔹 Model Optimization & Debugging Improvements
- Model minimized to exclude non-SENSE range VLANs and IPs.
- Ensure
tagandtypeare always displayed for debugging IP requests. - Liveness and Readiness state recorded in the database and exposed in Prometheus format.
- Enable/Disable Liveness and Readiness checks for debugging purposes.
- 🔹 Database Improvements
- Modify requests only from the original intent request (prevents overrides by new requests on the same VLAN).
- Automatic database backups:
- Every hour. Keeping the last 72 backups.
- 🛠 Fixes and Improvements
- For a complete list of fixes and changes, check the detailed comparison:
🔧 Supported Architectures
- x86_64 ✅ (Stable)
- ppc64le ⚠️ (Beta)
📥 Installation Details
- 🔗 Installation Guide: Installation Instructions
- Recommended Version: Always use
latestorlatest-ppc64le. - If enforcing a specific version is needed, refer to the following details:
Docker Versions
- x86_64:
- Agent:
sdnsense/site-agent-sense:latest-20250326(or uselatest) - Frontend:
sdnsense/site-rm-sense:latest-20250326(or uselatest)
- Agent:
SiteRM 1.5.1
SiteRM Frontend 1.5.1 release:
- Ansible Juniper Junos collection first version. This collection is used to manage Juniper devices; Plugin here: https://github.com/sdn-sense/sense-junos-collection
- Support to add Debug IP on Network devices;
- Support for Multipoint Deltas inside SiteRM;
- Control ansible repo for development with
ANSIBLE_REPOenv variable; - Liveness and Readiness enable/disable flag. In case of any error, error will be shown via docker logs or kubectl describe pod;
- WebUI Changes: Allow modify delta start/end; Allow force commit delta; Allow change any active request state;
- Database updgrades and automatic migrations from old version to new version;
- Monitor memory usage if
SITERM_MEMORY_DEBUGenv variable is set totrue; Memory usage decreased for most processes 50%; - Allow control httpd ports via env variables;
- Delta check improvements: Host alive, port available and up, vlans, ips not used by other services;
- Helm updates: Auto add SSH key, Include version and app in yaml;
Agent 1.5.1 release:
- Support Prometheus federate for Autogole monitoring (in case Site already run’s Node Exporters and Prometheus);
- Report any exceptions back to Frontend;
- Liveness and Readiness enable/disable flag. In case of any error, error will be shown via docker logs or kubectl describe pod;
- Delta check improvements: port available and up, vlan not used, ips not used by other services;
- Ping Fixes for splitting netmask and allow to use IPv6;
- Support Prometheus federate endpoints for Autogole monitoring (in case Site already run’s Node Exporters and Prometheus).
For all fixes and improvements, see the difference here: https://github.com/sdn-sense/siterm/compare/1.5.1…1.4.62
Supported systems: x86_64 and ppc64le(beta) Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged to always use the “latest” or “latest-ppc64le” version. If there is a need to enforce a specific version, please see the details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20250123 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20250123 (Or use latest)
SiteRM 1.4.62
This release includes:
SiteRM Frontend 1.4.62 release:
- Allow to control HTTP Port dynamically via environment variable;
- Allow to issue PING and Traceroute from Network devices;
- Fix Kubernetes isAlias labels and also update PolicyService to including information inside model;
- DBCleaner and AnsibleCleaner for Sites (Feature for reinstallation)
Agent 1.4.62 release:
- Ping Fixes for splitting netmask and allow to use IPv6;
- Support Prometheus federate endpoints for Autogole monitoring (in case Site already run’s Node Exporters and Prometheus)
Supported systems: x86_64 and ppc64le(beta) Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged to always use the “latest” or “latest-ppc64le” version. If there is a need to enforce a specific version, please see the details below:
Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20240812 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20240812 (Or use latest)
SiteRM 1.4.61
This release includes:
SiteRM Frontend bugfix for 1.4.6 release:
- BGP Removal requires
state: presentfor ansible templates to initiate removal, if not present BGP configuration remains on network devices; - Force reapply during service restart, or first FE start.
- Do not apply empty statements, unneeded ansible apply run;
Supported systems: x86_64 and ppc64le(beta) Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged to always use the “latest” or “latest-ppc64le” version. If there is a need to enforce a specific version, please see the details below:
Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20240625 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20240625 (Or use latest)
SiteRM 1.4.6
This release includes:
IMPORTANT: There are changes required to run a new version. Please make sure you do the following: Ask the SENSE team to cancel all provisioned services to your Site. (optional, if Change 1 is done) Modify Configuration Files for a new release. See the ‘Changes needed’ section. Depending on your installation - update the docker image or restart Kubernetes with a new release.
Changes needed:
- (Frontend) Modify database schema to support new features. Run the following command to update the database schema:
# mysql -u root use sitefe; alter table deltas drop column reduction; alter table deltas drop column addition; alter table deltas drop column reductionid; alter table deltas drop column connectionid; commit; - (Frontend) supports auth_re.yaml file for wildcard certificate authentication and authorization.
# By adding the following line inside the configuration file, you can enable wildcard certificate authentication and authorization for all *.nrp-nautilus.io clients. agent: full_dn: "/C=US/O=Let's Encrypt/CN=R3/CN=*.nrp-nautilus.io " permissions: w
SiteRM Improvements: SiteRM Helm charts updates (0.1.46):
- Release for Frontend deployment Helm chart.
- Liveness/Readiness/Test probes added to the Helm charts. In case of issues with SiteRM Frontend/Agent - pods will be restarted.
- Use of predefined image tags for Frontend/Agent - based on latest stable release;
- Allow to control CPU/Mem Requests/Limits for Frontend/Agent pods.
- Allow adding nodeAffinity for Frontend/Agent pods via helm values.yaml.
- Minimized helm charts for Frontend/Agent (without including previous versions of the charts).
- Agent Helm chart requires ClusterRole/ClusterRoleBinding for the agent to work properly. Permissions needed: apiGroups: [””], resources: [“nodes”], verbs: [“get”, “list”]. If using official Helm charts it will apply automatically. SiteRM Frontend updates:
- (Beta) Metadata Service to expose metadata information about the SiteRM services, e.g. Kuberenetes isAlias and Multus;
- Allow adding SiteRM agent without Switch control via Kubernetes label isAlias:
. It can connect to any other NSI domain URN. - Support for ssh_common_args in ansible configuration. This allows to set the ssh options for all ansible connections.
- Full rewrite of LookupService. In case there are multiple devices at Site, each device for retrieving configuration or applying will use a separate thread.
- LookupService rewrite stability improvements and better error handling, reporting in the logs, web ui.
- Fix allowed vlan check at global level and or port level (depending on Site’s configuration).
- New ServiceState page to view the state of all SiteRM services. Can be seen under https://
/servicestates.html - Moved to pip3 installation for SiteRM Frontend and Agent. (PEP420)
- Docker auto restart and healthcheck for Frontend and agent. In case of issues, the container will be restarted.
- Support querying IPv6 SNMP Endpoints.
- Allow to specify external SNMP exporter url for SNMP monitoring.
- Fix ARP information reporting (in case of multiple entries under the switch)
- soft-reconfiguration added for BGP peering.
- API to allow re-add delta to the model. (only if the delta is in one of the final states)
- No restarts every hour for configuration changes. Restart of services will happen every hour only if there are changes in the configuration on git.
- Ansible retries in case of communication failures. (default 3 times, after which activate-error is reported).
- Support for Kubernetes yaml apply installation dropped. Please use HELM Charts for Frontend/Agent installation.
Supported systems: x86_64 and ppc64le(beta) Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged to always use the “latest” or “latest-ppc64le” version. If there is a need to enforce a specific version, please see the details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20240614 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20240614 (Or use latest)
SiteRM 1.4.3
This release includes (highlight main items):
IMPORTANT: There are changes required to run a new version. Please make sure you do the following: Ask the SENSE team to cancel all provisioned services to your Site. Modify Configuration Files for a new release. See the ‘Changes needed’ section. Depending on your installation - update the docker image or restart Kubernetes with a new release.
Changes needed:
- (Frontend) Port naming changed. Ports in the configuration are now listed without special character changes. Old way:
ports:
- "Ethernet1/49"
- "Ethernet1/51"
- "Ethernet1/52"
port_Ethernet1-49_capacity: 100000
port_Ethernet1-49_desttype: switch
port_Ethernet1-49_isAlias: "isAliasLink"
port_Ethernet1-49_wanlink: "Ethernet1/49"
New way:
ports:
"Ethernet1/49":
"capacity": 100000
"desttype": switch
"isAlias": "isAlias"
"wanlink": true
"Ethernet1/51": {}
"Ethernet1/52": {}
- (Agent) Agents will use Bandwidth Parameters from the configuration. Old way:
intf_max: 40000
max_bandwidth: 40000
min_bandwidth: 1000
New way:
bwParams:
unit: mbps # Unit type
type: guaranteedCapped | bestEffort # Indicates type for Bandwidth Service
priority: 0 # Indicates priority compared to other interfaces
reservableCapacity: <0%-100%> # (Optional) Reservable capacity for siterm on that interface (Default 100%)
minReservableCapacity: <VAL_IN_UNIT> # Indicates minimum Reservable Capacity (1G suggested, no default)
maximumCapacity: <VAL_IN_UNIT> # Indicates maximum Capacity of interface
granularity: <VAL_IN_UNIT> # Indicates granularity
reservableCapacity: <0%-100%> # (Optional) Reservable capacity for all siterm interfaces (Default 100%)
- (Frontend) Allows to control reservable Capacity under port/device. This can be set with the parameter
reservableCapacityeither under the device or port. It must be a percentage: <0%-100%> (Default 100%).
SiteRM Improvements:
SiteRM Agent Moved to HELM deployment. See here for details: https://sdn-sense.github.io/Installation.html
Web UI allows us to see the state of all SiteRM services. Can be seen under https://
Network Device improvements:
(ALL) Implement functionwrapper/classwrapper with verbose logging (log timings, function parameters, output).
(ALL) Separate VLAN and BGP apply in separate calls. Change order for VLAN/BGP Configuration. Order is now: VLAN, PREFIX-LIST, ROUTE-MAP, BGP.
(SONiC,DellOS9) Enabled soft-reconfiguration for peering.
(SONiC) Fix byte/str/int - diff versions of SONiC Release Python output returns either bytes/str/int for ASN Number.
(SONiC) VRF Support.
(SONiC) Retry any SONiC command in case of failure (up to 3 times). Visible if 2 modifications happen at the same time.
(Arista EOS) Older Arista EOS Bandwidth reporting fixed.
(Dell OS 10) VRF Support, BGP Fix, split prefix-list creation.
(Dell OS9)(Beta feature) Support traffic police, based on service request if rate_limit: True|False is set under device port. (Default False)
Supported systems: x86_64 and ppc64le(beta) Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged to always use the “latest” or “latest-ppc64le” version. If there is a need to enforce a specific version, please see the details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20240429 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20240429 (Or use latest)
SiteRM 1.3.12
This release includes (highlight main items):
IMPORTANT: There are changes required to run a new version. Please make sure you do the following: Ask SENSE team to cancel all provisioned services to your Site; Make sure you update your deployment scripts to use new way to define network devices: https://sdn-sense.github.io/NetControlAnsible.html Depending on your installation - use to update docker image or restart kubernetes with new configuration.
SiteRM Improvements: Support VirtualPorts (Fake Ports and is Alias) Improved SNMP Monitoring and Mac information parsing Support QoS allowOvercommit flag. Allow site’s to control overcommit or not for L3 QoS. Delta Timing and Overlap check imporvements; Report Network Status of any configuration (L2,L3,Server Vlan, IP, MTU, QoS). Reporting done inside the model and in Prometheus output. Report QoS Requests in a Prometheus output. Allow sites to control allvlans flag - either report all vlans from network/host devices or only controlled ones. WebUI improvements (delta show, topology map) Separation of Ansible-templates and simplification for sites to specific controlled devices. Please look documentation here https://sdn-sense.github.io/NetControlAnsible.html - for a new way to configure control of network devices. Before start docker container (either FE or Agent) check all Certificates, configuration files and make sure they are valid. FE and Agent use docker volume. Upgrade osg-ca-certs (Needed to support Incommon V3)
Network Device improvements:
New NOS Support: Cisco Nexus 9 (Support Vlan creation/deletion, IPv4/6 assignment, BGP Configuration)
SONiC: Use set ipv6 next-hop prefer-global and not add link-local address in the routing table. This issue is visible only between Cisco and SONiC BGP Peering.
AristaEOS: Catch errors and report back to SiteRM.
Code improvement: Any new code or modified code - requires to run linter.sh This includes for Python: black, isort, pylint. For yaml - yamllint, For bash - bashlint.
Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20231207 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20231207 (Or use latest)
SiteRM 1.3.0
This release includes (highlight main items):
- Conflict Check for rst, exclude vlans from modelling #169
- Debugger check improvements; # 205
- Allow configure mtu and txqueuelen via config #206
- Dell OS 10 Vlan and BGP Control #173
- Log and report ansible errors #216 #194
- Report cert validity to FE and in prometheus #226
- Rewrite Ansible SoNIC plugin #292
- Minimal support for Cisco NX 9 #291 -Full list of issues solved are here: https://github.com/sdn-sense/siterm/issues?q=is%3Aissue+milestone%3A%221.3.0+Release%22+is%3Aclosed Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20230929 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20230929 (Or use latest)
SiteRM 1.1.0
This release includes: All: Config parameters (for FE/Agent/Ansible) must be in YAML format. No INI format support. Gentle stop for all containers (using trap) - so services are stopped nicely (not hard Switches: FreeRTR Ansible Module and support FreeRTR for visualization (no control support yet) Sonic route-map clean up fix. It was not deleting routing maps during cancelation. Arista EOS templates updated SN3700 - Check for ASN in INT (no str == int comparisons) Frontend: Compute path between switches using lldp information; Multiple Delta’s support in single request or from multiple separate Orchestrators; IP and Vlan Normalization for diff Ansible modules. (e.g. Dell uses Vlan 3600, Arista wants Vlan3600, FreeRTR - sdn5.3600) Add IPv6 Routing information to Model from agents(DTNs). Add Version, Name, Sitename to Model. HTML GUI Update to fix visualization (normal dates, Desc order to list deltas/models) UnitTests for Frontend Add RST Ports. (Double split issue) Check delta with config and not allow conflicts. Agent: Apply IPv6 Routing for BGP Requests (if DTN has IPv6 in range of BGP Requested override, it will add specific rules to redirect traffic to mavlan) Use new formatting for defining vlan_range and ip4/6 list RuleDB Check just IP without Range (no multitime apply of rules) Formatting ‘f’ use in ip rule commands, QoS fix (either list or str for IP range)
Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20220920 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20220920 (Or use latest)
1.1.0-dev1 This release includes bugfixes for 1.1.0-dev release: Switches: SN3700 - Check for ASN in INT (no str == int comparisons) Frontend: Add RST Ports. (Double split issue) Check delta with config and not allow conflicts. Agent: Use new formatting for defining vlan_range and ip4/6 list RuleDB Check just IP without Range (no multitime apply of rules) Formatting ‘f’ use in ip rule commands, QoS fix (either list or str for IP range)
Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:dev-20220912 (Or use dev) Frontend: sdnsense/site-rm-sense:dev-20220912 (Or use dev)
SiteRM 1.1.0-dev
This release includes: ALL: Config parameters (for FE/Agent/Ansible) must be in YAML format. No INI format support. Gentle stop for all containers (using trap) - so services are stopped nicely (not hard kill) Switches: FreeRTR Ansible Module and support FreeRTR for visualization (no control support yet) Sonic route-map clean up fix. It was not deleting routing maps during cancelation. Arista EOS templates updated Frontend: Compute path between switches using lldp information; Multiple Delta’s support in single request or from multiple separate Orchestrators; IP and Vlan Normalization for diff Ansible modules. (e.g. Dell uses Vlan 3600, Arista wants Vlan3600, FreeRTR - sdn5.3600) Add IPv6 Routing information to Model from agents(DTNs). Add Version, Name, Sitename to Model. HTML GUI Update to fix visualization (normal dates, Desc order to list deltas/models) UnitTests for Frontend Agent: Apply IPv6 Routing for BGP Requests (if DTN has IPv6 in range of BGP Requested override, it will add specific rules to redirect traffic to mavlan)
Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:dev-20220830 (Or use dev) Frontend: sdnsense/site-rm-sense:dev-20220830 (Or use dev)
SiteRM 1.0.0
First major release of Site Resource Manager. This includes model generation, communication with SENSE Orchestrator. Layer2 and Layer3 Control on Host and switches (Dell OS 9, Arista EOS, Sonic) using ansible. BGP control for Dell OS9 and Sonic using ansible. Fractional and Static QoS control per VLAN and or IPv[46] Range. More details: https://github.com/sdn-sense/siterm/blob/master/src/python/SiteRMAgent/Ruler/QOS.py#L5-L60 Code base moved to Python 3.8. Templates ready for Kubernetes and Docker installation. More details: https://github.com/sdn-sense/siterm-startup
Supported systems: x86_64 and ppc64le Installation details: https://sdn-sense.github.io/Installation.html
Sites are encouraged always use “latest” or “latest-ppc64le” version. If there is need to enforce specific version, please see details below: Docker version for this release: x86_64: Agent: sdnsense/site-agent-sense:latest-20220729 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-20220729 (Or use latest) ppc64le: Agent: sdnsense/site-agent-sense:latest-ppc64le-20220729 (Or use latest) Frontend: sdnsense/site-rm-sense:latest-ppc64le-20220729 (Or use latest)