Debugging a failing OpenStack image

The problem On my alpine-openstack-vm project, There is a CI process producing a VM image for OpenStack. The process involves testing that the machine boots. The test fails, but the machine is actually booted. What doesn’t work is the ssh access. As the machine can only be reached via SSH with a private key for obvious security reasons, not having access prevents proper debug. The objective The objective is to be able to run the produced VM locally to assess the issue.

Multiple Docker environments on Windows

On Windows and docker platforms, your docker enviornment tends to get messy as time goes by. You can start over from a clean sheet with docker system prune --all but sometimes you would like to keep some images around. This post shows how to set up multiple docker environments on Windows with the help of WSL2 (Windows Subsystem For Linux) and Alpine. How it works The idea is to run docker on WSL and use a docker alias on the windows side to invoke the docker command in the WSL distribution.

Useful Python packages discovery sites

Python is an awesome language with an awesome ecosystem. It is both mature and very active. You are rarely left alone when you need to be doing something new. There are always one or more open source libraries or framework to help you achieve your goal. But now you’re left with a dilemma: Which one to choose ? The criteria are fairly simple. You want a library actively used and maintained, with the biggest community possible.

Checking Google Play Signatures on .Net

With In-App Billing on Android, each time a purchase occurs, your application receives a JSON payload containing information about the purchase, as well as its signature with your developer certificate. Google encourages you to verify that the signature is valid to authentify the purchase. You can do that inside the application, but if the delivery of the purchase involves a server, it is better to do it on the server to prevent client code manipulation.

Mirror a Git Repository Through Ssh

Redmine can show the timeline of a Git repository but this repository needs to be local (see here). When you host your repository externally (on GitHub, for instance), you need to synchronize your remote repository on your Redmine server. The following shell script is an All in one command that can be easily put in the crontab to mirror the repository on your Redmine server : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #!

Avoid Thread Issues While Testing an Android Service

The Android Test Framework provides many tools to test parts of an Android application, and the ServiceTestCase in particular to test your Service classes.

This class is quite useful but you may find yourself scratching your head because your test does not work like it should. This happens in particular if you’re doing some background work in your service, relying for example on AsyncTask for it.

Read on if you want to understand why it doesn’t work and find a solution for it.