Introducing a new CHANGELOG format

A few days ago, I stumbled over an article on Opensource.com about "How to make release notes count".

The article is worth a read - it contains a number of useful suggestions on how to structure the documentation that summarizes the changes that have taken place in a software project's latest release.

Which was excellent timing, as we just merged a major overhaul of our own project's CHANGELOG file (see OP-1911 for details).

We adapted our CHANGELOG based on suggestions made by the Keep a Changelog project, with the exception of using reStructuredText for markup instead of Markdown.

To describe their impact on the project, changes are now grouped as follows:

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for once-stable features removed in upcoming releases.
  • Removed for deprecated features removed in this release.
  • Fixed for any bug fixes.
  • Security to invite users to upgrade in case of vulnerabilities.

This will hopefully make it easier for our users to get an impression on the changes to expect when updating to a newer version.

How do you like the new structure? Please let us know. Thanks!

Meet the openATTIC Team at Chemnitzer Linuxtage 2017

https://chemnitzer.linux-tage.de/2017/static/img/logo_en.png

This weekend (March 11-12), the Chemnitzer Linuxtage take place again, and it's our great pleasure to attend and represent our project there, this time as a proud member of the growing openSUSE ecosystem.

We'll be showcasing the latest development version of openATTIC, including the latest Ceph management features and a preview of the DRBD mirroring functionality.

In addition to myself, you will be able to meet and talk the following members of the openATTIC team: Kai Wagner (one of the project founders), Volker Theile (maintainer of the OpenMediaVault project and also well-known as one of the early contributors to the FreeNAS project) and Stephan Müller (one of our WebUI developers).

We look forward to the event and good conversations with the general Linux and OSS community. If you are attending CLT, please stop by and say hello!

IMAP: Sync all Folders in Thunderbird

I could be very annoying to use Thunderbird with multiple folders. Everytime you'll create a new subfolder you have to change the properties and click the checkbox to download all emails to this folder without the need to click on this specific folder every time.

I found a global option which made my life much easier. Just use the config editor (about:config) and change the following entry:

mail.server.default.check_all_folders_for_new -> true

That's it.

Speaking at the Vault 2017

For your information, I'll be talking about Ceph and storage management with openATTIC on Wednesday, March 22th at 12:00 EST (19:00 UTC) at the Vault 2017.

Vault brings together the leading developers and users in file systems and storage in the Linux kernel and related projects to forge a path to continued innovation and education.

This presentation will give an overview and update about what has happend in the last year of the development of openATTIC, what has changed since the project has been acquired by SUSE and where we are heading to. A general introduction to openATTIC as well as an outline about new features and impovements to openATTIC with regard to the traditional storage using NFS, CIFS, Samba, iSCSI or FC and distributed storage management and monitoring using Ceph.

Come to my talk and register now to save 20% off your pass with code VLTSP20 - Register

I look forward to see you there!

Deprecating support for Ubuntu 14.04 LTS Trusty

Now with Ubuntu 16.04 LTS "Xenial" being available since quite some time, we intend to slowly drop Ubuntu 14.04 "Trusty" as a supported platform.

This will allow us to reduce the amount of testing required on our end and also makes it possible to remove support for some "legacy" technologies like SysV init (all other supported distributions are based on systemd now), which will help to simplify the code base.

If you still use openATTIC on Ubuntu Trusty, please consider upgrading your operating system to Ubuntu's latest LTS support in the near future.

If you have any troubles with upgrading openATTIC just contact us.

Create a Ceph Cluster with Deepsea

How to setup a ceph cluster with Deepsea on top of SUSE Leap VMs.

  1. Install three VMs and configure "/etc/hosts" -> easiest way to do is to add all nodes in "/etc/hosts" on all VMs

  2. Install "salt-master" on one VM "zypper in salt-master"

  3. Install "salt-minion" on ALL VMs "zypper in salt-minion"

  4. Configure "/etc/salt/minion to point to the right master and restart minions

  5. Accept keys on the salt-master "salt-key -A -y"

  6. Clone the Deepsea repo "git clone deepsea" -> https://github.com/SUSE/DeepSea.git

  7. Edit "Deepsea/srv/pillar/ceph/master_minion.sls" -> to point to the salt master

  8. Inside the Deepsea folder run "make install"

  9. On the salt master run "systemctl restart salt-master"

  10. Run "chown -R salt /srv/pillar/*"

  11. Run "salt-run state.orch ceph.stage.0" or "salt-run state.orch ceph.stage.prep"

  12. Run "salt-run state.orch ceph.stage.1" or "salt-run state.orch ceph.stage.discovery"

  13. Create "/srv/pillar/ceph/proposals/policy.cfg". Example:

    # Cluster assignment
    cluster-ceph/cluster/*.sls
    # Hardware Profile
    profile-*-1/cluster/*.sls
    profile-*-1/stack/default/ceph/minions/*yml
    # Common configuration
    config/stack/default/global.yml
    config/stack/default/ceph/cluster.yml
    # Role assignment
    role-master/cluster/*.sls
    role-mon/cluster/*.sls
    role-mon/stack/default/ceph/minions/*.yml
    
  14. Run "salt-run state.orch ceph.stage.2" or "salt-run state.orch ceph.stage.configure"

  15. Run "DEV_ENV=true salt-run state.orch ceph.stage.3" or "DEV_ENV=true salt-run state.orch ceph.stage.deploy" -> "DEV_ENV is only needed if you have <=3 VMs"

  16. You should change the pg(p)_num to get rid of the "to few pgs per osd" error "ceph osd pool set rbd pg_num 120" and "ceph osd pool set rbd pgp_num 120"

You now should have an up and running cluster

Now you could add the openATTIC OBS (openSUSE Build Service) repo and install openATTIC and the openattic-deployment package

  1. Add the needed Repo from OBS "zypper ar http://download.opensuse.org/repositories/filesystems:/openATTIC/openSUSE_Leap_42.2/filesystems:openATTIC.repo"
  2. Install openATTIC "zypper in openattic openattic-module-ceph-deployment" -> you have to break dependencies because deepsea isn't shipped with leap by default
  3. Run "chmod 655 /etc/ceph/ceph.*"
  4. Run "openattic install"

You're done :)

We're hiring: Senior Backend Developer

Last year, we opened up a position for a senior frontend developer. This position has now been filled and we're very excited to welcome Ricardo Marques to our team! Ricardo just concluded his first week and will support our team from out of his home office near Lisbon, Portugal. He started contributing to openATTIC a while ago already, and we look forward to his future contributions.

But we're still hiring; we've just opened a new position for the position of a Senior Backend Developer Enterprise Storage Management.

In this role, you'll be working with the openATTIC team on adding new features to openATTIC's Python/Django-based backend code, as well as improving and extending existing functionality.

See the job opening for further details on our expectations and requirements. If you have any questions or would like to learn more, don't hesitate to get in touch with us!

By the way, if you're interested in working on Linux and Open Source Software in general, SUSE currently has 50+ job offerings available!

Using Docker for openATTIC Development

/images/docker-logo-small-h.png

In addition to using Vagrant for working on the openATTIC code base, it is now also possible to set up a development environment based on Docker containers.

Thanks to our colleague Ricardo Dias from the SUSE Enterprise Storage Team, you can spin up docker images based on either openSUSE Leap 42.2 or Ubuntu 16.04 LTS "Xenial" that include everything to get openATTIC up and running. The Docker container actually maps the Mercurial code repository from the host development system into the runtime environment.

This way, you can use your preferred editor of choice and any local changes can be tested in the container immediately.

You can find the required Dockerfiles and support scripts in the openattic-docker git repository on github. The README.md file included in the repository explains how to get started.

We hope, that this gives you more choice for setting up a developent environment for openATTIC quickly, without having to make any changes to your host operating system.

As usual, we welcome your feedback and contributions!

Moved this blog to git and BitBucket

This blog is built a static web site, powered and managed by the excellent Nikola static web site generator.

The motivation for using a static blog was to make writing articles more straightforward for our developers, without introducing unnecessary media breaks and barriers. Using this framework, one can contribute content using familiar tools and workflows.

When we initially created this blog in September 2015, we used Mercurial for managing the source files and assets and hosted the repository on an internal Mercurial host.

This has now been changed - we moved the source code repository to BitBucket, as part of the openATTIC umbrella project.

We also converted the repository from Mercurial to git along the way, primarily as an exercise to evaluate how easy such a conversation can be performed, but also as a first step to give us a way to practice our git skills and to further open up our development processes.

The conversion was performed on a local development system using the hg-fast-export Python script and was quite simple, following the steps outlined in the README.md file:

$ mkdir openatticblog.git
$ cd openatticblog.git
$ git init
$ ../fast-export/hg-fast-export.py -r ../openatticblog.hg

Afterwards, the git repo could easily be pushed to BitBucket.

BTW, if you take a closer look at this repo, you will notice there's a branch named website. This is a work in progress project to convert the existing openattic.org web site from Typo3 to Nikola.

While the content is shaping up nicely, the layout and design still needs some more attention before we will make the switch. If you're familiar with creating web sites using Nikola and Bootstrap and want to give us a hand, please let us know!