Skip to content

Releases: yoroyarell/KaldrivonMiniSMO

Kaldrivon MiniSMO 0.3.1

Choose a tag to compare

@yoroyarell yoroyarell released this 01 Oct 23:26
e601dee

Windows 11 x64. Installer: Kaldrivon-MiniSMO-0.3.1-Setup.exe (checksum in .sha256). Upgrades 0.3.0 (and 0.2.0) in place; your data, NFs and license are kept. No database schema change (schema 16).

The installer is not code-signed yet, so Windows SmartScreen may warn on first run. The EULA is still a draft for legal review.

New

  • Reset MiniSMO (SYSTEM > Settings, bottom): returns MiniSMO to a fresh installation. You confirm three times by typing RESET, DELETE ALL DATA and MINISMO, and choose whether to keep the installed license. MiniSMO restarts and deletes the data folder before it opens anything. A pending reset can be cancelled. Nothing is sent to any NF.
  • Deleting an NF:
    • The confirmation has the option Stop this NF sending VES to MiniSMO (on by default). MiniSMO restores the NF's previous VES destination, or, when that is not known, sets it to the NF's own loopback address (127.0.0.1).
    • A progress window shows each step (VES destination, monitoring stopped, history deleted with row count, NF removed) and closes only when the deletion has finished. A second delete of the same NF is refused while one runs.
    • Events that still arrive from a deleted NF are dropped, not stored, and listed on the VES Collector tab under Deleted NFs still sending.
  • PURGE DATA… (Capacity & Storage > Storage) has three more groups: BACKUPS (configuration backups of all NFs, including ones marked KEEP), OPS (audit log, notifications, automation runs, jobs, webhook deliveries, approvals) and FILES (exports, temporary files, database backup copies). Each group shows how many rows or files it would delete.
  • Storage tab: PM from external NFs, file-based PM, VES events, configuration snapshots and backups, and operations data are counted in their own categories (new: NETCONF & VES Logs, Operations & Audit), so Inventory & Other is only the remainder. The tab updates by itself within about 5 seconds when files are added or deleted in the data folder (for example backups deleted in File Explorer); storage is measured again only when something changed.

Fixes

  • "An error occurred while sending the request" after deleting NFs: deleting an NF with a long history could hold the database for a long time. NF data is now deleted in small batches, VES events of an NF being deleted no longer fail, app and backend keep-alive times are aligned, and a failed read is retried once.
  • "Unspecified alarm" entries after adding an NF: 3GPP AlarmList records that carry only an alarmId and a severity appeared when the first list read ran before VES was set up. VES is now pointed at MiniSMO before monitoring starts, an NF pointed at the collector counts as reporting its faults by VES, and such entries already shown are removed at the next list read. An NF that has only an AlarmList still shows them (they are its only fault data).
  • Dialogs: wider (up to 960 px); long titles, check box and toggle labels, field headers and texts wrap instead of being cut off, and tall dialogs scroll.
  • Backups: database backup copies kept a file handle open, so on Windows the limit on automatic backups could fail to delete the oldest copy.

Known limitations

Unchanged from 0.3.0 (see the User Guide, About MiniSMO > Known limitations).

SHA-256: 6bf4fa2d5b5bbe38a777d9049d1fd263694b8a91cc75aaf71e1309c6aa76cc7f

Documentation: User Guide and Quick Start (PDF) are attached below; the same guide is built into the app (Help).

Kaldrivon MiniSMO 0.3.0

Choose a tag to compare

@yoroyarell yoroyarell released this 01 Oct 16:14

Windows 11 x64. Installer: Kaldrivon-MiniSMO-0.3.0-Setup.exe (checksum in .sha256). Upgrades 0.2.0 in place. The database is backed up and migrated on first start (schema 9 → 16). The only data removed is the "Unspecified alarm" duplicates described under Fixes.

The installer is not code-signed yet, so Windows SmartScreen may warn on first run. The EULA is still a draft for legal review.

Editions: Community and Pro

  • Kaldrivon Mini SMO Community is MiniSMO without a license. It manages up to 5 external NFs and includes all essential FM, PM and CM. Everything that was free in 0.2.0 stays free.
  • Kaldrivon Mini SMO Pro is MiniSMO with any valid signed .klicense (the existing licensing system, unchanged). It adds the licensed NF capacity and removes the limits of the Pro features listed below.
  • Pro features without a license: Community includes a small allowance of every Pro feature (for example 1 READ API token with 1,000 requests a day, 1 webhook, 2 automation rules, 2 templates, 10 correlation or KPI analyses a day, bulk jobs on up to 3 NFs). The allowance and today's use are listed on SYSTEM > License; going past it shows what Community includes. Pro only: NFs above 5, retention of the audit log, configuration backups and automation history (data retention presets for PM, FM and logs stay available in Community), listening for the API beyond this PC, flapping suppression, automation changes without approval.
  • The edition is shown in the title bar chip, on the Dashboard (Community | Managed NFs 3/5) and on SYSTEM > License. Pro features carry a small PRO marker. There are no pop-ups or reminders.
  • Availability has two parts that are shown separately: whether your edition includes a feature (PRO FEATURE) and whether the NF supports it technically (NOT SUPPORTED BY NF, with the reason).
  • Downgrade is non-destructive. When a license is removed, expires or becomes invalid, all data, NFs, backups, templates, rules and schedules are kept. The oldest items within the Community allowance keep running; the rest are paused, not deleted, and resume when a valid license is installed again. NFs already onboarded above 5 stay visible; you cannot add more until you are within the limit or on Pro.
  • Adding a 6th external NF on Community is refused with a clear message; nothing partial is stored.
  • License changes are recorded in the audit log and raise an in-app notification.

New in Community

  • Topology & Inventory: one page with the topology and the site / region / NF / cell tree. External O-RUs and O-DUs can be placed under their O-DU / O-CU (stored in MiniSMO only).
  • NF identity: vendor, software version, NF type, model, serial number and hardware version, read with <get> from the 3GPP ManagedElement/attributes (the standard O1 location), then o-ran-software-management and ietf-hardware when advertised, with VES pnfRegistration and the VES event header as fallback. Read automatically on connect and on pnfRegistration; shown as unknown only when no source reports it.
  • NF capabilities: a vendor-neutral view of what each NF supports (FM notifications, YANG-Push, PM pull, configuration writes, software management), with "Not discovered yet" instead of guesses.
  • Global search in the title bar across NFs (name, host, vendor, site, region), alarms and cells.
  • Configuration backups: manual backups, compare a backup with the current configuration of the same NF, export.
  • Audit log of every change made in MiniSMO, with the Windows user name. Secrets are never logged.
  • Notifications behind the bell at the top right, and a Needs attention card and system state on the Dashboard.
  • Alarm list EXPORT CSV.
  • O-RU performance data (O-RAN WG4): performance-measurement-objects read with <get> every 60 s: rx-window counters per object unit (RU hardware component, transport flow, eAxC) shown as the change between polls, and transceiver min / max / first / latest. Measurement names are readable (Rx on time (RX_ON_TIME)); the O-RU's measurement settings are shown read-only.
  • Standards-based method choice with fallback: FM, CM and PM methods are chosen from what each NF announces (hello, YANG library, streams), in a fixed standards order. Reads use the namespaces the NF announced. All PM sources the NF offers run side by side (YANG-Push, the NF's PM model, O-RAN PM notifications, VES perf3gpp, measurement files). When a method stops working (stream refused, YANG-Push refused, repeated read failures, notifications not arriving), MiniSMO switches to the next method the NF offers and lists what changed and why on the Monitoring tab (METHODS & FALLBACKS) and in the notifications. You can choose the FM / CM method, turn PM sources off and turn automatic fallback off per NF.
  • O-RU measurements use one naming scheme whether they come from notifications or <get> (for example Rx power (RX_POWER) latest on transceiver 0; window counts from notifications are … per interval).
  • File-based PM: 3GPP measurement files (measCollecFile) signalled by VES fileReady, 3GPP notifyFileReady or the O-RAN file-upload-notification are retrieved over SFTP, FTPES or HTTPS with per-NF credentials (or the NETCONF ones) from allowed hosts only, parsed and stored per object and period. Each file is ingested once. FILES ON NF lists files (retrieve-file-list) and can request an upload (file-upload, after confirmation). IMPORT FILE stores a file from disk.

New in Pro

  • Northbound REST API (/api/v1): its own listener (default 127.0.0.1:8770, HTTPS), bearer tokens with READ or OPERATE scope, stored as hashes and shown once.
  • Webhooks with event and severity filters, HMAC-SHA256 signing, retries with back-off and automatic pause after repeated failures.
  • Automation: event-driven rules and scheduled jobs; actions that change the network always create an approval first (human in the loop), with expiry.
  • Fault: alarm correlation (potential parent alarm and likely related alarms from timing and topology; never presented as a root cause), flapping detection and suppression controls.
  • Performance: KPI rankings, most-alarmed NFs, biggest changes.
  • Configuration: cross-NF and template comparisons with ignore rules, desired state and drift detection (every 15 minutes), templates with pattern matching, bulk backup / health check / template apply as tracked jobs, scheduled backups and rollback orchestration (backup, preview, apply).
  • Software campaigns: planning and pre-checks (target version, per-NF readiness). Execution on NFs is not part of 0.3.0.
  • Reports: health and operations reports (HTML, JSON, CSV), on demand or scheduled.
  • Troubleshooting: Investigate (one view of what was observed around an NF or alarm: alarms, configuration changes, KPI trends, likely related alarms and recommended checks, worded as possibilities) and diagnostic ZIP collection without credentials.
  • Retention and audit: retention for audit, backups and automation history; audit search and CSV export.

All network changes made by Pro features use the same per-NF write enablement, preview and confirmation as manual configuration changes, and a backup is taken first.

Menu

OVERVIEW Dashboard · NETWORK Network Functions (per-NF tabs: Overview, Capabilities, Monitoring), Topology & Inventory · FCAPS Alarms, Configuration (Configuration, Configuration Operations; NETCONF read tab), Performance · TOOLS Automation, Analytics, Software Campaigns, API & Webhooks · LOG NETCONF Log, Audit Log · SIMULATION Demo Network, Scenarios · SYSTEM License, Health & Capacity (Capacity & Storage, Reports), Settings (General, Storage & Retention, VES Collector, YANG Models).

Pages with several sections show them as tabs across the top. The Network Functions toolbar shows as many actions as fit and moves the rest to "…". Notifications are behind the bell at the top right.

Fixes

  • NFs that describe their alarms over VES and also keep a 3GPP AlarmList with only alarmId and severity (the O-RAN-SC NTS simulators) no longer produce "Unspecified alarm" entries. The AlarmList record now only updates or clears the matching VES alarm, and the stored duplicates are removed by the migration.

  • Monitoring no longer drops and reopens the session every 30 s when a device never answers one initial read (seen with the O-RAN active alarm list on O-RAN-SC NTS O-RU simulators). That function is reported as initial sync incomplete; notifications and the other functions keep working.

  • Each NF's Monitoring tab shows what the VES collector actually receives from it (destination, events, heartbeat, pnfRegistration).

  • The Topology page no longer draws the "not under an O-DU" group as if it were a simulated O-RU.

  • Audit entries open with all their fields; adding an NF is recorded with the new NF's name, address and type.

  • Text dialogs (identity, audit, …) no longer show only their first line.

  • The keyboard-shortcut hint (for example "F1") no longer appears over the window.

  • SQLite waits up to 30 s for a busy database instead of 5 s, avoiding "database is locked" on large databases.

  • Stop monitoring now stops everything: VES events from an NF whose monitoring is stopped are logged but create no alarms or PM. A MONITORING column in Network Functions shows the state per NF.

  • Supervision: internal alarm Loss of supervision while an NF's monitoring session is down (cleared on reconnect), VES heartbeat missed, and health alarms (storage, memory, CPU, queues, event bus, failed jobs / webhooks, VES listener) raised and cleared from the System health checks.

  • Alarm resync after every reconnection and on request (RESYNC ALARMS); for NFs that report faults by VES with a 3GPP AlarmList, alarms no longer in the list are cleared. When an NF's list cannot be read,...

Read more

Kaldrivon MiniSMO 0.2.0

Choose a tag to compare

@yoroyarell yoroyarell released this 28 Sep 01:19

Installer: Kaldrivon-MiniSMO-0.2.0-Setup.exe (Windows x64)
SHA-256: 461a7dc89d194a8e6f5325bf843848788aa5445010b0ccb1bbe5a589865a14ba

Not code-signed yet; the EULA is a draft.


Windows 11 x64. Installer: Kaldrivon-MiniSMO-0.2.0-Setup.exe (checksum in .sha256). Upgrades 0.1.0 in place. The database is backed up and migrated on first start (schema 4 → 9).

The installer is not code-signed yet, so Windows SmartScreen may warn on first run. The EULA is still a draft for legal review.

What's new

External NF monitoring (FM, CM, PM)

  • A dedicated notification session per NF. Capability discovery from the server <hello>, the RFC 5277 stream list and the YANG library.
  • States Connected / Subscribed / Receiving / Stale / Reconnecting / Polling / Unsupported / VES. Connection health and data freshness are tracked separately.
  • Reconnect with exponential backoff and jitter, replay from the last event (RFC 5277 / 8639), dedup of replayed events, and recorded gaps when replay is not available.
  • FM:
    • NETCONF alarm notifications for o-ran-fm and ietf-alarms (RFC 8632), plus the 3GPP AlarmList (_3gpp-common-fm, including devices that hold it in the running configuration and signal changes with netconf-config-change).
    • Initial inventory sync, then raise / update / clear.
    • Labels come from the alarm itself: title specificProblem (else the category), category alarmType / VES alarmCondition, faulty object objectInstance / alarmInterfaceA. The alarm ID is shown as an ID, never as a title.
    • Identity is NF + object DN + alarmId. The same alarm seen as a VES fault and in the NETCONF AlarmList is one alarm. An AlarmList entry without objectInstance is merged with the VES alarm of the same alarmId, and an AlarmList read never clears alarms that came by VES.
    • netconf-config-change is never an alarm. It is classified by target path: AlarmList subtree → re-read the AlarmList; PM counter container → dropped; anything else → CM. AlarmList administrativeState LOCKED is shown as maintenance.
    • Immutable event history; out-of-order and unmatched events are recorded, not applied.
    • Local-only notes and acknowledgements.
  • CM:
    • Versioned <get-config> snapshots with secrets masked.
    • RFC 6470 change timeline, net diffs between versions, export.
    • Change-triggered snapshots are coalesced (at most one per 30 s).
    • A 3GPP AlarmList (FM) and PM counter containers (PM) are left out of snapshots.
  • PM:
    • YANG-Push periodic (RFC 8641), O-RAN measurement-result-stats, model-driven pull (O-RAN-SC nts-cell-pm) and VES perf3gpp.
    • Pull reads by data path, not module root: the path to an augmenting PM container (e.g. ManagedElement/GNBDUFunction/NRCellDU/pm-counters) is resolved from the NF's YANG augment targets or the instance tree, with the namespace of each level.
    • Metric and managed object are chosen separately; objects are grouped under their parent (e.g. cells under their O-DU) in a collapsible tree.
    • Counter resets are handled and missing intervals are shown as gaps; charts include compare and CSV export.

VES collector (VES Event Listener 7.2.1)

  • POST /eventListener/v7 and /eventListener/v7/eventBatch over HTTPS (self-signed certificate created on first start, fingerprint shown) and HTTP.
  • Default ports 8443 / 8080. Optional HTTP Basic authentication.
  • Runs on its own listener; the MiniSMO API stays local-only.
  • Domains:
    • fault becomes alarms, keyed by NF + alarmInterfaceA + alarmAdditionalInformation.alarmId (the condition only when there is no alarm ID). NORMAL clears.
    • perf3gpp (TS 28.550) becomes PM series per measObjInstId and measurement name. Each measInfo's own sMeasTypesList names the values by their 1-based p; several measInfo per event are supported; suspectFlag marks values as suspect.
    • heartbeat drives the heartbeat state.
    • pnfRegistration triggers resubscribe and optional re-provisioning.
    • stndDefined 3GPP FaultSupervision becomes alarms.
    • Other domains are stored as not interpreted.
  • Events are attributed by sourceName / sourceId / reporting entity against the NF name and per-NF VES source names. Unattributed sources are listed and can be assigned.
  • The installer adds one Windows Firewall rule (inbound TCP 8443, 8080, backend executable only, Domain and Private profiles). It can be unticked during setup and is removed on uninstall.

Configuration changes on external NFs (off until enabled per NF)

  • In Configuration, ENABLE CHANGES… for one NF, edit values, REVIEW CHANGES…, then APPLY TO NF.
  • The parameters are the NF's running configuration. Types and constraints (ranges, lengths, enumerations, units) come from its YANG modules, read with <get-schema> or imported, with groupings, typedefs and augments resolved. List keys, config false data, secrets, leaf-lists and the alarm list are not editable.
  • The preview re-reads the NF, checks every value and refuses values that changed on the NF in the meantime, and shows the exact edit-config.
  • The transaction: lock candidate → edit-config (merge) → validate → confirmed commit → read back → confirming commit → unlock. A mismatch cancels the commit, or the NF rolls back at the timeout; a failed step discards the candidate. For writable-running NFs: lock → edit-config with test-then-set → read back → unlock.
  • The NF's rpc-error (tag, path, message) is shown as returned. Each change is recorded in History with a new configuration version.
  • The payload is checked on the XML actually sent: only the confirmed leaves and the list keys that address them.

Adding an NF integrates it automatically

  • After SAVE, MiniSMO connects, discovers, starts FM / CM / PM monitoring and points the NF's VES destination at the collector. A dialog shows each step and its result; an unreachable NF is saved and can be connected later. Settings > Integration turns monitoring start and VES pointing off separately.
  • VES pointing is model-driven. In this release MiniSMO recognises the O-RAN-SC NTS VES settings (nts-network-function, simulation/ves-endpoint). The collector address is computed per NF (the local address that routes to it), or set in Settings for NAT or DNS. The values are read back and verified.
  • The NETCONF client checks the payload it actually sends: only leaves of that one container, no delete/replace operations, no second subtree. Everything else stays blocked, including through the API (/api/nfs/{id}/netconf/edit-config still returns 403).
  • MiniSMO keeps the NF pointed here: it re-applies after restart or registration, or after a collector address change, and writes only when the values differ.

NF onboarding

  • SSH authentication: password (with keyboard-interactive fallback), keyboard-interactive (non-standard prompts supported), or SSH private key (Ed25519, ECDSA, RSA; OpenSSH or PEM; optional passphrase).
  • Keys and passwords are stored with Windows DPAPI and masked in all logs.
  • YANG library discovery (RFC 8525, RFC 7895 fallback). Modules found only in the library are listed with the NF's capabilities. A library change triggers rediscovery.

Demo Network and UI

  • Simulated NFs now raise, escalate and clear alarms on their own (Settings: off / low / normal / high).
  • Delete Demo Network, and restore only the missing NFs when some were deleted.
  • New visual design (IBM Plex Sans / Mono, Space Grotesk under the SIL Open Font License, installed into Windows by the installer; the app falls back to Segoe UI / Cascadia Mono without them).
  • New Subscriptions and VES Collector pages (under System). External configuration uses the same parameter view as simulated NFs, plus XML tree and raw XML.
  • Lists that refresh on their own (VES events, alarms, subscriptions, network functions, dashboard, topology) keep their scroll position and selection.
  • Raising a test alarm is a dialog behind RAISE TEST ALARM… instead of a permanent panel.
  • Fixed:
    • Help Center blank on installed builds.
    • Truncated menu and license text.
    • Empty simulated configuration values.
    • Saving Settings could point the app at a different backend port than the one in use.
    • Configuration review listed parameters you had not changed (multi-line values such as keystore entries, or choice fields such as mount-point-addressing-method). Only parameters you edit are reviewed now.
    • Gap above the first entries in the dashboard's Recent NETCONF activity.
    • NETCONF Log refreshes on its own, keeping the open entry and scroll position.
    • Capacity & Storage shows the frontend memory again.
  • New installations use the MINIMAL retention preset (raw PM 6 h, 5-minute 7 d, hourly 30 d, FM 30 d, NETCONF 7 d). Retention values you set yourself are kept.

Security fixes

  • Configuration snapshots and NETCONF payloads now also mask secret leaves with a prefix, such as ves-endpoint-password, controller-password and userPassword. Snapshots taken by 0.1.x dev builds may still contain such values until they age out (50 versions per NF).

Known limitations

  • Only one VES settings model is known for provisioning (O-RAN-SC NTS). For other NFs, set the VES destination with the vendor's tools; the collector accepts their events.
  • File-based PM (fileReady / file download) is detected but not fetched.
  • No configured (persistent) NETCONF subscriptions; subscriptions end with the session.
  • 3GPP AlarmList records that change several times between two reads are seen in their latest state only; every change notification is still counted.
  • Configuration changes cover leaves of existing entries (merge). Creating or deleting list entries, leaf-lists and when / must constraints are left to the NF's validation.
  • No A1 / O2 / E2; single user, single PC.
  • Installer unsigned; EULA draft.