Did you notice the long list of changelog entries for version 2.0.15? The openATTIC team worked hard to include several new features and also fixed some important bugs.
This release includes a number of Ceph-related improvements, but also several other noticeable changes.
One big Ceph highlight is likely the handling of erasure code profiles in openATTIC. Different erasure code profiles can now be selected when creating an erasure-coded Ceph pool. The creation and removal of EC profiles is supported as well.
In a Ceph pool's detail view in the web UI, we've now added performance data graphs, to visualize the data collected by the Nagios backend for each pool.
Nagios monitoring for Ceph also evolved and now contains a new plugin to collect the performance data of RADOS block devices (RBDs). The data can already be queried via the REST API, visualizing it on the Web UI will be added next.
On the "traditional" storage management side, it's now possible to create a new initiator host during the creation of an iSCSI or Fibre Channel target via the block storage wizard. This makes this workflow more straight-forward, as one does not have to remember to create a host first before creating a new share.
We also fixed a small "gotcha": now, it's no longer possible to accidentally lock yourself out of the UI by removing your own privileges.
Due to increasing demand, we added preliminary support for Ubuntu Linux 16.04 LTS (aka "Xenial Xerus") and with it support for Django 1.8 as well as Django REST framework 3. This support will be further refined and improved in upcoming releases. We look forward to hearing about your experiences with installing openATTIC on Ubuntu 16.04 - let us know how it went!
On the backend side, the logging mechanism of the Django backend and the error responses generated by the REST API were also revised. In case of an error, you will receive a more precise status code and an error message, if possible. The reasons for internal server errors are written into the log file /var/log/openattic/openattic.log now. Also, many backend modules were refactored to adhere to the PEP8 coding style proposed by the Python project.
To download and install openATTIC, please follow the installation instructions in the documentation.
Please note that 2.0.15 is still a beta version. As usual, handle with care and make sure to create backups of your data!
We would like to thank everyone who contributed to this release.
Your feedback, ideas and bug reports are very welcome. If you would like to get in touch with us, consider joining our openATTIC Users Google Group, visit our #openattic channel on irc.freenode.net or leave comments below this blog post.
See the list below for a more detailed change log and further references. The OP codes in brackets refer to individual Jira issues that provide additional details on each item. You can review these on our public Jira instance.
Changelog for 2.0.15:
- Backend: Improved custom error messages in the REST API (OP-497)
- Backend: Code cleanup (PEP8) for the following apps: DRBD, volumes, lvm and nagios (OP-838)
- Backend: Performance data for non existing Ceph clusters is no longer returned (OP-1406)
- Backend: The used_size of an RBD is now given by the get_rbd_performance_data task and not directly from the RbdApi. This should prevent the 504 error that sometimes occurred by getting RBDs (OP-1411)
- Backend: Added Nagios plugin to collect performance data of RBDs (OP-1444)
- Backend: The empty values at the end of the performance data collections are filtered now (OP-1470)
- Backend: Fixed compatibility issues with Django 1.8 and Django REST Framework 3 (OP-1210, OP-1490, OP-1486)
- Backend: Added support for Ubuntu 16.04 in our Vagrantfile (OP-1492)
- Backend: Fixed code-style for the following Django apps: samba, sysutils, nfs, cmdlog, ifconfig and http (OP-1503, OP-1505, OP-1506, OP-1511, OP-1517, OP-1519)
- Backend: The 'check_cephpool' Nagios plugin does return the correct outputs and exit codes (per the Nagios plugin development guidelines) in error and success case now (OP-1521)
- Backend: The Nagios plugins check_cephcluster and check_cephpool are now ending with the correct exit codes (as per the Nagios plugin development guidelines) for invalid arguments (OP-1522)
- Backend: Moved general graphbuilder functionalities (get RRD, get Graph, get sources list) from the Ceph to the Nagios module (OP-1542)
- Backend: Fixed browsable REST API for Ceph Pools (OP-1549)
- Backend: The check_cephcluster Nagios plugin does log into the openattic.log logfile if the conf file and/or the keyring do not exist or are not accessible (OP-1572)
- Backend: Fixed creation of Ceph erasure code profiles (OP-1574)
- Backend: Use osd metadata instead of osd tree to get the hostname of Ceph OSDs (OP-1573)
- Backend: Added read-only REST API returning DeepSea minions (OP-1469)
- Backend: Nagios config files including a dot (.) in filename are now deleted too (OP-1534)
- Backend: Fixed two Internal Server Errors when accessing Ceph resources (OP-1569)
- Backend: Fixed internal server error when creating invalid Erasure Code Profiles or deleting used ones (OP-1578)
- Backend/Installation: Fixed misleading debug message during oaconfig install (OP-1580)
- Backend: The check_cephcluster plugin now prints the correct message and returns the correct exit code in case of an error (OP-1586)
- Backend: Fixed oaconfig install on CentOS 7 (OP-1368)
- Backend: Fixed HEALTH_ERR not handled in ceph.models.Pool#get_status (OP-1593)
- WebUI: Blockstorage wizard can create a new host (OP-1150)
- WebUI: Added functionality to delete existing erasure code profiles (OP-1297)
- WebUI: Added functionality to add erasure code profiles when creating new Ceph pools (OP-1298)
- WebUI: Added performance data to the extended view of a ceph pool (OP-1405)
- WebUI: Bugfix - It's no longer possible to remove his own privileges (OP-1497)
- WebUI: Show Salt Minions plus DeepSea Pillar Data (OP-1571)
- WebUI/QA: Blockstorage wizard host creation tests (OP-1496)
- WebUI/QA: Adds missing condition to filter test categories (OP-1551)
- Installation: Fixed NAGIOS_PLUGIN_DIR path in in the SUSE sysconfig file to point to the Icinga plugin directory. Thanks to Abhishek Lekshmanan. (PR-457)
- Packaging/Installation: Fixed installation issues on Ubuntu 16.04 (OP-1012, OP-1484, OP-1494)
- Packaging/Installation: fixed permission problems for Nagios plugins that require writing to openattic.log or reading the Ceph key ring and configuration (OP-1320)
- Packaging/Installation: Added openattic-module-ceph-deployment RPM and DEB Packages for the DeepSea integration backend module. (OP-1566)
- Packaging: Fixes a bug with piped tarball paths to build_deb_packages.py (OP-1536)
- Packaging: Allow to override the default GPG key or disable the signing completely using build_deb_packages.py (OP-1435)
- Packaging: Separated the Ceph related Nagios commands into their own configuration file openattic-ceph.cfg (OP-1548)
- Documentation: Updated Vagrant installation instructions (OP-1467), added chapter about customizing the WebUI (OP-1541)
- Documentation: Updated Ceph installation chapter, emphasizing the requirement of openATTIC and Nagios being able to read the Ceph config file and keyring (OP-1572). Emphasized the requirement of Ceph Jewel on both the Ceph cluster and the openATTIC node. Added a note to the EL7 installation instructions to perform a check of the Nagios configuration after editing it.
- Documentation: Fixed bug in the SUSE installation instructions (thanks to Kenneth Wimer for reporting this).
- Documentation: Improved the Debian/Ubuntu package installation chapter by removing some duplicate content and clarifying how to enable the nightly builds (OP-1603)