Changelog
1.6.0 (06/06/2022)
New Features
- Add support for shared-nothing clusters
- New pool fencing code
- New MHDC code. Added support for Linux and FreeBSD
- Failfast capabilities added for Linux and FreeBSD
Bug Fixes
- 129 bugs fixed since 1.5.0 release
- Fixed issue where RSF running status was reported incorrectly
- Fixed issue where an already imported unclusterable pool offers import as valid action
- REST API now restarted after initial setup to prevent potential issues with user creation
- Pool actions present either start or auto based on service state
- Fixed pool discovery bug in Linux and FreeBSD when using multipath
- Fixed service with VIPs removal failure
- Fixed service creation failure when VIP was included
- Fixed errors on linux from rsfsyseventd
- Fixed multiple errors related to netplan in Ubuntu
- Fixed heartbeat issues in TrueNAS
Improvements
- New SCSI key structure for disk reservations
- Improved logging system
- Added more detailed information when a pool is not clusterable
- Improved event alerts
- Re-write dashboard page to a new user-friendly design
- Merge cluster control page with new dashboard
- Removed modals for volume, user and cluster actions in favor of flat design
- Password fields now support auto-completion feature on supported browsers
- Providing a hostname when adding a Virtual IP is now optional
- A force import option is provided if an attempt to import a pool fails with an error advising it as an option
- A hosts file message is shown when a hostname is provided when adding a Virtual IP
- FAQ link now directs to the HAC documentation hub
- Upgraded to Angular 13
- Upgrade to Python 3.9.12
Other
- Added support for OpenZFS 2.x
- Added support for Debian 11 Bullseye
- Added support for Alma Linux 8
- Added support for Rocky Linux 8
- Added support for FreeBSD 13.1
- Added support for Ubuntu 22.04 LTS
- Removed support for Centos 8
- Removed support for Debian 10
- Removed support for OpenIndiana Hipster
1.5.0 (19/08/2021)
New Features
- SG-547 Webapp: show modal for netplan on Ubuntu package install
- SG-737 Web App: Add package updates support & improve menu components implementation
- SG-756 Web App: Add multipath switch and prompt for Linux
- SG-768 Create systemd unit for stmfha (RPC)
- SG-773 Web App: Enable support for FQDN vip hostnames
- SG-694 Web App: Add additional volumes management
Bug Fixes
- SG-428 Web App: Investigate renewing session to prevent expiry while in use
- SG-706 Virtual Hostname Page Does Not show VIP's if one node is down
- SG-745 Web App: Boolean properties don't show correct value selector
- SG-748 disk_list does not support active-active multipath configurations
- SG-749 disk_list does not work as expected in Linux
- SG-752 disk_list fails when heartbeat disk replaced
- SG-753 unknown device detected in disk_list must break the service start
- SG-754 S21 tries to use stmfha rsync in Linux/BSD
- SG-761 REST: Typo in property update response
- SG-764 Web App: Update error handling for RSF-1 not running on local node
- SG-767 REST: caching policy needs a paint work
- SG-774 disk_list reserving all drives on zpool causing heartbeats to fail
Improvements
- SG-000 IPS repositories and offiline packages should be served over HTTPS
- SG-740 Web App: Provide a direct link to user management for admins
- SG-744 New shared NetIf
- SG-747 Web App: Add FAQ module
- SG-758 Add rpcbind as a dependency
Other
- SG-562 Webapp: needs to handle Exception reasons from the REST API
1.4.2 (21/05/2021)
New Features
- SG-667 Users can now (un)share NFS and Samba services (ZFS datasets) using the Web App
- SG-673 Web App: Add user management options and support for permissions
- SG-715 Reservation drive configuration files are now sync-ed via Rest API
- SG-718 Linux and FreeBSD clusters have now automated disk heartbeats and SCSI reservations configuration. No user configuration is needed from this release.
- SG-721 Provide product version via Web App
- SG-731 Support latest OmniOS LTS r151038 (released on the 3rd of May 2021)
Bug Fixes
- SG-703 Fixed internal error when listing cluster able ZFS pools
- SG-704 OpenIndiana Hipster - Virtual FQDN IP not getting plumbed
- SG-709 Cannot repair a panicked service from the Web App
- SG-710 FreeBSD - Fixed bug in disked path for disk heartbeats
- SG-724 Web App correctly displays the alert when a service has been blocked because the ZFS pool has been manually imported by the user
- SG-727 Rest API: fixed errors when handling rsfmon restart. This bug fix also covers DNS errors that triggered the same error
- SG-730 Centos 7/8: nawk is required as a dependency
- SG-733 rsfmon.log no longer displays error 'CRUD_rsfdb’
- SG-735 Block service start if ZFS pool has been manually imported. Cluster-wide and node-wide operations are also monitored in this scenario.
Improvements
- SG-685 Selecting and De-selecting heartbeats causes them to be greyed
- SG-702 Web App: Improve handling of intercepted REST errors
- SG-712 Rest API: global code coverage extended with two new engines
- SG-714 Web App: Restructure utility classes
- SG-716 CLI: now compiled with Golang 1.16
- SG-725 Python: upgrade to 3.8.9 (security upgrade)
Other
- SG-713 Web App: Add alias for shared module directory
- SG-722 Web App: Implement GET method for package version in About page
- SG-723 Web App: Upgrade to Angular 11 and ESLint
1.4.1 (18/01/2021)
New Features
- SG-613 Web App: Add option to keep pool imported and vip plumbed after service removal
- SG-644 Add Docker commands to hacli
- SG-665 Web App: Add additional volumes viewer
Bug Fixes
- SG-634 Replace node dialogue box goes blank after querying for available nodes
- SG-635 Web App: Links need to be blocked when RSF-1 isn't running on local node
- SG-651 REST: handle The ZFS modules are not loaded.
- SG-653 Pools with no redundancy cannot be clustered
- SG-669 Web App: Licensing guard incorrectly blocking navigation with no licence
- SG-670 Web App: Optimisation in production build breaks logic for routing guard styling
- SG-671 Unable to select node when trying to move service through GUI
- SG-676 REST: ignore IPv6 discovered nodes if IPv6 connection cannot be stablished
- SG-677 Pools not showing on Pools page in solaris
- SG-678 REST: AUTH: do NOT store the IP in the cookie jar
- SG-682 Disk Heartbeats appear to be failing on OpenIndiana
- SG-683 REST: vip down on active service if system reports FQDN
- SG-686 FreeBSD 12 NEEDS reopen disk hb sockets (like in metroha)
- SG-688 Service create is unable to get vdevs for heartbeats when using multipath
- SG-695 unable to manually move services
- SG-697 OpenIndiana direct io disk hbs
- SG-666 Web App: Cannot go to services page after creating a cluster
- SG-669 Web App: Licensing guard incorrectly blocking navigation with no licence
- SG-670 Web App: Optimisation in production build breaks logic for routing guard styling
- SG-671 Unable to select node when trying to move service through GUI
Improvements
- SG-392 Web App: Tidy up heartbeats code
- SG-398 Web App: Tidy up volumes code [Add ability to import and export pool]
- SG-557 Make disk_list work in FreeBSD
- SG-596 IPv6 Review family=socket.AF_INET in SSL requests
- SG-606 Feature request: Licence support status
- SG-617 Can we present exported pools for clustering on all platforms?
- SG-629 Unable to repair/recover panicked/broken_unsafe services inside of the GUI
- SG-633 Add cache buster to web app
- SG-637 Sync with Docker progress (VMS-SG projects)
- SG-648 SG-647 REST API: create CRUD methods for Docker services
- SG-652 REST: move ZFS methods to its own module
- SG-655 REST: Linux only. Improve device handling in the API for virtual devices
- SG-659 REST: support multipath
- SG-660 REST: change zfs snapshot destruction from DEL to POST (request needs a body)
- SG-675 REST: avoid caching node's private address
- SG-679 REST: ignore QEMU vendor in disks (exported)
- SG-687 REST: ignore diskHeartbeats sent if they are invalid
- SG-690 Config dist is quite slow on Omnios and Solaris on the new bdd nodes
- SG-691 SG: use PGR3 in Solaris and derivatives
- SG-699 BDD: fix pool geoms and test fencing
- SG-701 BSD: resolve MultiPath drives to the underlying devices and use them for heartbeats.
Other
- SG-647 Docker: Shared nothing clusters. Replication
1.4.0 (18/01/2021)
Improvements
- NEX-521 TCP support for IPv6
- SG-596 IPv6 Review family=socket.AF_INET in SSL requests
- SG-617 Present exported pools for clustering on all platforms
- SG-651 REST: handle The ZFS modules are not loaded.
- SG-652 FF rest submodule and define zfs_pool_get in payload
- SG-659 REST: support multipath
- SG-660 FF rest remove zfs snapshots DEL2POST
1.3.5 (10/11/2020)
Bug Fixes
- SG-569 Web App: Error handler should take user back to previous input instead of main screen
- SG-599 OpenIndiana 2020.04 rsfzfslib cannot be built
- SG-602 Can't add vip to a service on eth0 when creating
- SG-603 Null values being passed to node replace from web gui
- SG-604 Error in node replace cause feedback loop when trying to revert
- SG-607 CentOS package upgrade removes systemd services for rsf-1 and rsf-rest
- SG-610 Web App: Upgrade to Angular 10
- SG-612 Web App: Fix build issue that is causing long build time
- SG-616 Improve "no clusterable services found" message. It needs to be more user friendly
- SG-618 Web App: Cannot update properties with limited options
- SG-621 REST: services info does not show preferredNode correctly
- SG-626 Web App: Expired licence doesn't block page links
- SG-630 Centos: upgrade does not work (rsf-1 service is lost)
Improvements
- SG-340 Web App: Add REST health check on login screen
- SG-344 Show 503 complete response in GUI
- SG-391 Make code more Angular friendly
- SG-605 Web App: Display any reported error in cluster discovery panel
- SG-620 Add support for Openindiana 2020
- SG-625 REST + CLI: allow to bypass node discovery if force arg is True (disabled by default)
1.3.4 (21/08/2020)
Bug Fixes
- HI-578 RSFAPI: Core dump on Linux if passwd file is not correctly set
- SG-601 Deadlock in Webapp licensing (clean install)
1.3.3 (07/08/2020)
Bug Fixes
- SG-591 Web App: Blank dashboard when licence has expired
- SG-594 Web App: Endpoint for re-issue licence is missing
Improvements
- SG-567 Update Ubuntu 20.04 dependencies for deb package
- SG-595 Web App: Use browser port as REST API communication port
- SG-597 CLI: add node info method
- SG-598 REST: add node info endpoint
1.3.2 (29/07/2020)
Bug Fixes
- SG-590 New lics - Dump licensing server response to licences.txt
1.3.1 (29/07/2020)
Bug Fixes
- SG-587 Manual Testing - Replace Node option in gui gives errors
1.3.0 (24/07/2020)
New Features
- HI-533 Added IPv6 network heartbeat support to standalone
Bug Fixes
- HI-559 RSFCDB: Port NEX-495 fixes to SQLite
- HI-562 RSFCDB: get_net_heartbeat_link_id() cannot locate existing link ID
- HI-570 Fix the check for OPT_ZFS_MHDC_DISABLE
- SG-574 Abort cluster destruction if any service defined. Can be ignored by force flag.
- SG-570 Kicked out of web gui when rebooting a node
- SG-577 Upgrade to Python 3.8.3
- SG-579 Disable rsfmon start ONLY for FreeBSD on package install
- SG-584 Pull in fix for zfs_mhdc_disable in rest API
- SG-585 mhdc-freebsd can't handle losing .scsi_key
- SG FF NEX-500_NEX-22765-Port-NEX-22674-HA-disk-heartbeats-do-not-recover
Improvements
- HI-565 RSFCDB: Add ability to ignore primary vips
- SG-442 RSFCDB: Port over ability to add custom monitor tags from GDBM version
- SG-575 REST: Add support for IPv6 network heartbeats
- SG-583 Web App: Modify service creation payload to omit options that the user cannot override
1.2.7 (20/03/2020)
Bug Fixes
- SG-551 REST: empty response on active node when remote REST service is disabled
- SG-565 Fix support/failover-scripts/S30ctld
Other
- SG-519 Sync with rsf.git
1.2.6 (05/03/2020)
Improvements
- SG-544 Detect and use netplan for Ubuntu LTS
- SG-550 update rest submodule (db_sync)
1.2.5 (26/02/2020)
Bug Fixes
- SG-000 rsf2 sync: Make S30 python 3 (support fo scripts) Fix checkmount.cc for BSD (getfsstat)
- SG-537 Updated Web App to include fix for cookie expiry issue
- SG-540 Fix swagger location in payload
- SG-540 Global tools REST docs. Updated latest swagger/yaml documentation
- SG-541 Python 3.8.1 reference main repo
- SG-555 Fixes for BSD pool handling. REST commit for close_fds
Improvements
- SG-533 REST API: propagate licensing server errors to final user
- SG-539 Sync Node operation events
- SG-542 Update multi-cluster events
Other
- SG-532 Sometimes rsf-XXX services are not being imported in SMF in Omnios and OI
1.2.4 (10/01/2020)
New Features
- SG-523 New RSF version modal alert in GUI
Bug Fixes
- SG-535 Missing files on RSF-1 for CentOS (maybe other Linux variants)
- SG-536 REST: fix unplumb vip with non-standard netmasks
Improvements
- SG-397 Webapp: improve vips code
- SG-490 Support Centos 8. New cert.pem (4K) as the older was not valid in Centos 8 (key too small)
- SG-524 Find nodes: Alert users when local hostname resolves to 127.x (preface to all nodes resolve to 127.x)
- SG-533 REST API: propagate licensing server errors to final user
Other
- SG-531 Add fmri=pkg:/network/iscsi/target as required dependency for RSF-1 in Solaris/IllumOS packages
- SUP-83 Change package description/summary
1.2.3.2 (26/11/2019)
Bug Fixes
- SG-516 NetIF.py alters the netmask in Linux
Improvements
- SG-517 SSL certificate upgraded to 4K
1.2.3.1 (22/11/2019)
Bug Fixes
- SG-512 GUI can't handle hyphens in VIP hostnames
Improvements
- SG-509 CLI: reuse go get modules if already in repository
1.2.3 (21/11/2019)
New Features
Bug Fixes
- SG-493 Fix local ZFS pools does not work in Centos 7.7
- SG-494 Something is off with destroy cluster in Centos (services defined)
- SG-491 Error when creating a service with a VIP
- SG-492 Web App: Router module not redirecting/refreshing page after creating service or vip
- SG-461 Web App: Dashboard should indicate any errors received from REST
Improvements
- HI-504 RSFCDB: Add storage type property to a service
- HI-517 RSFCDB: Add multiple mount point support
- HI-527 RSFCDB: Add CLI command to list mount points
- HI-526 RSFCDB: Add environment export flag to list_props
Other
- HI-521 RSFCDB: Check build in CentOS 8 with the libnsl library
1.2.2 (8/11/2019)
Bug Fixes
- SG-415 Review disk hb syntax for additional pools
- SG-460 Cannot build webapp in FreeBSD 12
- SG-470 Fixes needed for FreeBSD 12
- SG-471 FreeBSD 12: MOUNT_POINT check failed, "/bsdpool2" is still not mounted
- SG-472 REST: Calls to modify DB properties do not return if cluster is in broken state
- SG-475 Solaris 11.4: cannot create 2-disk services (1 or 3+ is fine)
- SG-476 Ubuntu 18: SCSI reservations fail with 1-disk pool
- SG-477 DB: additional disk heartbeats are left in DB after service removal
- SG-480 RSF: rsfmon stays stopped after Linux upgrade. Need a service rsf-1 start
- SG-485 REST API: Cluster creation with rsfmon stopped on remote node returns bananas
- SG-486 REST API: Node discovery is broken in FreeBSD
- SG-487 Webapp: rsfhttp/webapp/package.json causes the package to be tagged as unstable
Improvements
- SG-394 Web App: Tidy up properties code
- SG-437 Clean debris for SG project
- SG-465 Web App: Highlight "Panicked" status in red background on cluster control page
- SG-469 Web App: Move the template line break to the router outlet
- SG-478 API: FreeBSD add SCSI res to additional pools in service_pool_add
- SG-479 Web App: Automate app version tagging
- SG-481 Web App: Upgrade to Angular 8
- SG-482: REST API: Upgrade to Python 3.7.4
- SG-483 REST API: enforce ACL once admin user has been created