The Jenkins job configuration update is not fully reflected via Jenkins API

This short note is about the bug present in Jenkins (CLI update-job and POSTing config.xml cannot remove properties), which prevents to "fully" update the Jenkins Job config (the freestyle project for example) via API i.e. when using Jenkins Job Builder. The best reproducible way is to create a simple jobs definition with Gerrit Trigger section enabled, then push this job via Jenkins Job Builder to Jenkins instance, which will create a new job. Then remove the Gerrit Trigger section from jobs yaml file definition and run JJB again, to perform job's configuration update, and see if it will get also removed in job's config on Jenkins. 

Handle the reboot task from Ansible

In some cases you may want to handle OS reboots of a remote server, during the Ansible playbook execution from the localhost. For instance there could be a pre-task responsible for kernel upgrade process, and you would like to automatically reboot server and see if after kernel upgrade/downgrade the remote has become available. Within this post I'll show three tasks, which are responsible for the reboot action.

Relay mail from Postfix to an external entity

In this blogs post I'll write about configuring SMTP server - Postfix - as a relay mail system. Lets imagine that you do not want to use Postfix as a standalone mail server. Instead, the emails targeted to the root user on a local system should get relayed to the external email account, hosted by the "someone else". Reason? Lets assume that your ISP blocked outgoing connections to port 25/TCP, which makes it reasonable to reuse already existing SMTP server out there, to which our Postfix instance will relay emails on, using proper authentication method on a 587/TCP port. 

The vagrant-libvirt plugin

Just recently I came with the need of adding the vagrant-libvirt plugin to my Vagrants installation. To my suprise the ruby Bundler failed with the following trace:

git-http-backend with Nginx and fastcgi

When you plan to run git-http-backend (which might be a part of Zuul's setup in your CI/CD) along side with Nginx and fastcgi, ensure to put there a proper config in the location, to avoid errors like: