v0.8.0
Highlights
Breaking Changes
- Breaking change: Removed obsolete API method Ping
Bug Fixes
- Fixed .conf suffix check for conf.d files
- Fixed memory leaks in bluechi-agent and bluechictl
- Fixed bluechictl when fetching status of multiple services
- Fixed segfault when calling set-loglevel API with invalid loglevel
- Cleanup controller when start fails to prevent memory leaks
New Features
- Added watch option to bluechictl status
- Implemented D-Bus API for cancelling a Job
- Added IP to of registered nodes as D-Bus property and to the ListNodes API
- Added D-Bus properties for LogLevel and LogTarget of bluechi-controller and bluechi-agent
- Added D-Bus on bluechi-agent to switch the bluechi-controller
- Improved the output of bluechictl list-units
- Improved the formatted output of the dumped config of bluechi-controller and bluechi-agent on startup
- bluechictl monitor flushes stdout for each iteration
- Changed output of bluechictl status from stderr to stdout
- BlueChi's SELinux policy has been extended by a tunable policy to dis-/allow any port
Testing
- Improved and stabilized the generation of the coverage report
- Integrated coverage reporting with coveralls.io
- Implemented multihost mode to run integration tests on multiple machines
- Introduced dedicated classes for bluechictl, systemctl and systemd services
- Introduced library for python scripts on the testing machines accessing the BlueChi API
- Added a lot of unit and integration tests
Documentation
- Added BlueChi logo to architecture diagram
- BlueChi Ansible Collection
- Converted the MAN page for the SELinux policy from roff and to markdown format
- Added Security section with SELinux policy of BlueChi
Miscellaneous
- Added GH workflow for automatic generation of runtime SBOMs
- Added GH workflow for manually triggering mulithost integration tests on testing farm
- Added meson option for building with SELinux policy
- Use project version from centralized script
- Aligned RPM release with release reported by command line tools
- Fedora's latest stable version has been chosen for packit's integration tests
- Badges for unit and integration tests as well as the combined coverage have been added to README
Detailed commit log
- Post Relese v0.7.0 by @engelmi in #715
- fixed workflow for publishing to pypi by @engelmi in #717
- Add Fedora spec changes to upstream by @mwperina in #718
- Retrieve the version from script on publish by @engelmi in #720
- removed unused function from libbluechi by @engelmi in #721
- Merge the info file inside the container by @ArtiomDivak in #719
- Unify unit and integration tests coverage report by @mwperina in #711
- remove unit test file coverage by @engelmi in #728
- Ordered output for python bindings generator by @engelmi in #724
- Add LogLevel and LogTarget properties for controller and agent by @ArtiomDivak in #727
- cleanup controller when start fails by @engelmi in #731
- pin tmt version to 1.30 by @engelmi in #733
- doc: add information about firewall in the docs by @dougsland in #735
- Test for loglevel for controller and agent by @ArtiomDivak in #723
- Tests set-loglevel with invalid input by @ArtiomDivak in #736
- Report to test coverage to Coveralls by @ygalblum in #708
- Add code coverage badge to README.md by @mwperina in #737
- Fix various meson warnings by @mwperina in #738
- Split up parse config function by @engelmi in #739
- changed naming for container to machine by @engelmi in #740
- Update GH actions to latest releases by @mwperina in #742
- introduced a client class in integration tests by @engelmi in #743
- load config from cli option as part of load complete config by @engelmi in #744
- Fix warning about changelog date by @mwperina in #747
- Generate coverage info file for unit test during package build by @mwperina in #746
- dedicated classes for systemctl and bluechictl commands by @engelmi in #745
- Improve logging in integration tests by @mwperina in #750
- Test validity of -h/--help option by @mwperina in #751
- Test validity of -v/--version option by @mwperina in #752
- Add test for disable service in bluechictl by @mwperina in #754
- Test metrics enable and then disable by @mkemel in #755
- Test if bluechictl version is aligned with RPM version by @mwperina in #758
- Remove unused command_ref method by @mwperina in #757
- Detect systemctl operation result for stop action by @mwperina in #756
- Test bluechictl status by @mwperina in #759
- Test that bluechictl list-units aligns with systemctl output by @mwperina in #760
- Remove unused client_ref method by @mwperina in #762
- Add test for bluechictl execution without parameters by @mwperina in #763
- implemented ssh client and test suite by @engelmi in #749
- Test agent connect via ControllerAddress by @ArtiomDivak in #741
- doc: Add BlueChi Ansible Collection information by @dougsland in #764
- added file cleanup for multihost tests by @engelmi in #765
- Test bluechictl restart properly restarts a service by @mwperina in #766
- Always print full service name in bluechictl list-units by @mwperina in #768
- added code of conduct by @engelmi in #771
- added security.md by @engelmi in #770
- replaced pytest-timeout with custom timeout by @engelmi in #773
- added contributing.md by @engelmi in #774
- Add a test for bluechictl monitor by @mwperina in #776
- Remove unit_list_ref method from method-list-units.c by @mwperina in #782
- Remove controller_ref function from controller/controller.c by @mwperina in #789
- added bluechi-proxy to help option test by @engelmi in #809
- Fix unit test code coverage generation by @mwperina in #811
- added unit test for log_target_to_str by @engelmi in #810
- ReloadUnit test by @ArtiomDivak in #775
- removed obsolete API ping method by @engelmi in #814
- added unit tests for cli/command by @engelmi in #813
- added unit tests for lot to stderr and stderr-full by @engelmi in #812
- added integration test for internal hello method by @engelmi in #815
- added integration test for proxy on non-existing node by @engelmi in #816
- Increase inotify limits for integration tests in GH CI by @mwperina in #820
- Remove workaround for podman-py #350 by @mwperina in #817
- Test DaemonReload by @ArtiomDivak in #818
- Assign default values for copy_systemd_service parameters by @mwperina in #823
- Implement job cancel by @engelmi in #821
- added peer ip to node by @engelmi in #824
- Add micros to millis test by @engelmi in #826
- re-enable list units on all nodes integration test by @engelmi in #827
- Test that bluechictl monitor receives UnitCreated/UnitRemoved signals by @mwperina in #822
- Introduce Service classes to minimize code duplication by @mwperina in #828
- Update testing documentation with flake8 by @mkemel in #832
- integration tests: python machine lib by @mkemel in #831
- Increase test coverage by @engelmi in #833
- Agent request cancel test by @engelmi in #834
- added unit and integration test badges to README by @engelmi in #837
- Refactor integration tests with FileFollower by @mkemel in #838
- Make controller/agent config properly logged on startup by @mwperina in #843
- Make ps command available for tests on nodes by @mwperina in #844
- Fix finding process listening on a port by @mwperina in #845
- Update GH actions to latest versions by @mwperina in #847
- added meson option for building selinux policy by @engelmi in #848
- Add an API method to switch controller for agent by @dofmind in #839
- Wait until process listens on specific port by @mwperina in #849
- Add bluechi-proxy to version provided test by @mwperina in #851
- Add integration test for unsupported option by @mwperina in #852
- Propagating the failure of the requested service by @ArtiomDivak in #842
- Check the dbus_address to set by @dofmind in #854
- Improve build container script and add Python development dependencies to build-base container by @mwperina in #856
- moved base container images to root directory by @engelmi in #859
- Use flake8 from bluechi virtual env by @mwperina in #862
- Make skipper use build-base image for build container by @mkemel in #863
- test bluechictl status -w by @mkemel in #860
- add test to cover passing command line argument -p/--port for bluechi-controller by @dracher in #825
- Service class improvements by @mwperina in #835
- Enforce unified Python formatting for the project by @mwperina in #855
- add flag for building bluechi-selinux with any port by @engelmi in #850
- Verify that source files contains a valid copyright header by @mwperina in #866
- Upgrade python black dep by @engelmi in #867
- fixed URL in rpm spec by @engelmi in #868
- Multiple services in bluechi status by @ArtiomDivak in #871
- Use latest tmt version 1.32 by @mwperina in #876
- Use Eclipse branding and trademarks by @mwperina in #873
- Add integration test for agent controller switching by @dofmind in #872
- Add multihost workflow by @engelmi in #878
- Disable compiler optimizations when code coverage is enabled by @mwperina in #880
- enable multihost test for branch by @engelmi in #882
- Change selinux policy to permissive by @engelmi in #885
- Added BlueChi logo to architecture diagram by @engelmi in #886
- Fix multihost tests by @engelmi in #888
- Add watch option for bluechi status by @ArtiomDivak in #865
- Added workflow to create SBOMs for BlueChi by @engelmi in #890
- Convert SELinux policy man pages to md and move to doc/man (#875) by @schastlivcev in #877
- Updated maintainer README about SBOM generation by @engelmi in #891
- Fix conf suffix check by @engelmi in #893
- Test agent cmd options by @mkemel in #894
- Fix release number generation by @mwperina in #896
- Release BlueChi v0.8.0 by @engelmi in #895
New Contributors
- @dofmind made their first contribution in #839
- @dracher made their first contribution in #825
- @schastlivcev made their first contribution in #877
Full Changelog: v0.7.0...v0.8.0