Skip to content

Releases: sdn-sense/siterm

Comet 1.4.6

14 Jun 14:08
Compare
Choose a tag to compare

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:

  1. (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;
  1. (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)

Bonefish 1.4.3

29 Apr 18:35
Compare
Choose a tag to compare

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:

  1. (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": {}
  1. (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%)
  1. (Frontend) Allows to control reservable Capacity under port/device. This can be set with the parameter reservableCapacity either 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:///servicestates.html
Web UI allows to refresh configuration, and or delete hosts from SiteRM's database.
Report NetworkStatus with data plane type status inside the model. This allows Orchestrator/Admins/Users to identify and know dataplane activation status.
Report NetworkStatus with data-plane type status inside Prometheus output. New dashboards (under each site) deployed here: https://autogole-grafana.nrp-nautilus.io, which allows you to see the status of the data plane over time.
Report BandwidthService requests inside Prometheus output. New dashboards (under each site) are available here: https://autogole-grafana.nrp-nautilus.io
Support multiple lifetime scheduling requests for non-overlapping times, but the same VLANs or IP ranges.
New APIs, which allow to deletion of old Debug calls, hosts, network devices.
Routing information (received from Network devices) was removed from the model.
A New Service, DBCleaner added to cleanup database of old entries.
Any request is checked for conflicts. Checks are done: vlan overlap, ip overlap, bandwidth exceeding availability.
The Debugger Service was rewritten to use threading (non-blocking execution). This allows to run multiple Debug services at the same time.
Frontend introduced a new Debug service (still beta) with an idea to allow issue ping/traceroute from network devices for debugging purposes. (Expected in next release)
Default txqueulen/mtu same as the master interface, if not specified in the agent configuration.
If the port is not switchport type - it will be ignored by SiteRM and will not be added to the model.
Allow to control site which VLANs to put inside model. Parameter allvlans: True|False indicates if the device should model all VLANs or only SENSE VLANs inside the model; (Default False)
Docker/Podman startup script updates: check certificates and configuration files for validity.
Documentation for all SiteRM Frontend and Agent parameters. See https://sdn-sense.github.io/Configuration.html

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.
(ALL) New feature to allow split any commands on device (if needed). This is controlled by ansible templates (used for now only by Dell OS 10)
(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)

Angelshark (1.3.12) SiteRM Production Release

07 Dec 21:26
Compare
Choose a tag to compare

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.
  • Other small bug fixes and compliance with py3 linters;

Full changes are visible here: 1.3.0...1.3.12

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)

Release cycle and new features:

  • Current list of features expected are here: https://github.com/sdn-sense/siterm/milestone/3
  • If you have any new feature request - please open a github issue.
  • Alpha release, Bonefish (1.4.3-alpha) is expected Jan 2024;
  • Beta release, Bonefish (1.4.3-beta) is expected Feb 2024;
  • Release candidate, Bonefish (1.4.3-candidate) is expected beg of March 2024;
  • Next Production release, Bonefish (1.4.3) is expected by the end of Q1 2024.