Python: Get current date and time

To get current date and time Python offers “datetime”. To format the output according to your needs you can use “strftime”, otherwise a month would for example be shown as 8 instead of 08.

Sample outputs:

Configure VNC console through Horizon in HA environment the right way

This article shortly describes how to configure the VNC console access to OpenStack instances through Horizon in a high-availability environment. This configuration is currently valid for OpenStack Juno or RHEL OSP 6. If you change these settings after you already deployed instances in your environment theses changes only takes effect for instances which are created AFTER your changes described here. Continue reading

Foreman Template writing

Foreman uses common ERB style templating. Foreman templates consists of a mixture of Bash scripts and appropriate macros and functions. You can find a list of built-in macros and functions here. Within such macro you can use further Ruby code. For example to extract the last digits og an IP address you can use the following macro:

LAST_DIGIT=< %=@host.ip.to_s.split('.')[-1]%>

Where @host.ip is a built-in macro in Foreman (see link above), to_s is Ruby code and means “convert into string”, split wherever you find a “.” and read the output reverse and take the last value (“-1”).

If you want to check if a template will render correctly for an appropriate host you can open your template in your browser:

https:///unattended/provision?spoof='ip-of-a-host-you-want-to-provision'

Making SELinux context on NFS mounts persistent

If you want to use for example a central NFS export with your Nagios configuration under /etc/nagios on your Nagios server the nfs mount is basically mounted with the “nfs_t” context. To start Nagios you need the context “nagios_etc_t” for /etc/nagios instead. Unfortunately a simple “semanage fcontext -a -t …” is not sufficient. You need to add the context as a mount option to your /etc/fstab file like this:

Permanently add line numbers to vim

If you open a file with vim then it is often very helpful to know the line number which you currently editing. To display line numbers within vim you can enable them every time you start vim with:

:%number

To enable line numbers permanently you can add the following line to /etc/vimrc (if you want to enable line numbers globally) or to ~/.vimrc (if you want to enable them only for your personal user):

echo set number >> /etc/vimrc

vim_line_numbers