Python. Threading. Function() Takes Exactly X Arguments (Y Given)

Was playing around running multiple threads in Python. Here is a part of script launching docker_cleanup(controller_name) function in a separate thread.

from threading import Thread
...
    threads = []
    for controller_name in controllers:
        # Remove container if it already exists
        t = Thread(target=docker_cleanup, args=(controller_name))
        threads.append(t)
        t.start()
    for t in threads:
        t.join()  # Block main thread while childs executed
...

Ubuntu 14.04 Problem With Vmbuilder

Recently hit quite an annoying bug in vmbuilder, tool that allows to build Ubuntu based virtual machines.

Was trying to build a VM using the following command:

vmbuilder kvm ubuntu --suite trusty --flavour virtual --arch amd64 --mem 8192 --rootsize 8000 --dest /var/lib/libvirt/images --libvirt qemu:///system --hostname new-host --user jenkins --name jenkins --pass <jenkins_user_password> --addpkg openssh-server --addpkg git --addpkg acpid

but kernel installation failed with the following error:

Unpacking linux-image-virtual (3.13.0.53.60) ...
, stderr: grep: /proc/cpuinfo: No such file or directory
This kernel does not support a non-PAE CPU.

Some Notes on Find Exec Output Redirect

Discovered an interesting thing today playing around find linux command.

The idea was to process several files in a directory using some utility that directs output to stdout. In order to keep tracking it’s useful to have a status file with a list of already processed files.

Ubuntu 14.04 SSH init.d Script Broken

Wasted lot of time today trying to figure out why ssh on some server still allows to log in with password despite the fact that in /etc/ssh/sshd_config password based log in is disabled:

PasswordAuthentication no