Evolution Calendar Issues

I started Evolution this morning and noticed half of my calendar events were missing. Attempts to refresh said calendar resulted in the following errors message: The calendar backend servicing "XXX" encountered an error. The reported error was “SQLite error code '11': database disk image is malformed (statement:SELECT * FROM ECacheObjects WHERE ECacheState!=0)”. Just the start I wanted to my Friday morning. Unfortunately the Evolution documentation didn't provided any guidelines on fixing a corrupted database and the best advice I found, aside from deleting and recreating the account in Evolution, was to run an integrity check on the offending database [1]. Read On →

Building PDFs for OpenStack documentation

I've only ever really worked with HTML and man page builds for the documentation various of various OpenStack projects. However, OpenStack uses Sphinx across the board and Sphinx, being the awesome tool that it is, supports many other output formats. In this instance, I was interested in PDF. Sphinx doesn't actually provide a native PDF builder (although other packages do). Instead, you have to generate LaTeX sources and then generate a PDF for this. Read On →

Deploying Real Time Openstack

Recent versions of OpenStack nova have added support for real-time instances, that is, instances that provide the determinism and performance guarantees required by real-time applications. While this work was finally marked complete in the OpenStack Ocata release, it built upon lots of features added in previously releases. The below is a guide that covers a basic, single-node deployment of OpenStack suitable for evaluating basic real-time instance functionality. We use CentOS 7, but the same instructions can be modified for RHEL 7 or Fedora, and any CentOS-specific aspects are called out. Read On →

Patchwork and CI in a tree

This has been a long time in the works. With the upcoming release of Patchwork 2.0, Patchwork will provides first class support for series, or collections of patches, and expose these (and much more besides) over a new REST API. Coupled with the Check support added in 1.1, we will be able to use Patchwork with continuous integration and automated testing tools like Jenkins to validate projects using the mailing list workflow. Read On →

Open Python paths with vim

In OpenStack nova land, you run tests by specifying their Python paths, like so: $ tox -e py27 nova.tests.unit.virt.libvirt.test_vif.LibvirtVifTestCase This is also how tests are run and reported by the CI. If a tests fails when run locally or in the CI, the failure will be reported with similar Python module path-style references. These take a little cleanup to get a usable file path that we can use to open the file, so I automated it. Read On →

Creating a Windows 7 USB on Fedora 25

Turns out Fedora 25 didn’t like my Samsung Series 9 (NP900X4C) much. Among other things, the WiFi was intermittent (weird, as it’s an Intel NIC), suspend didn’t work (the laptop is always dead when I come to it), and the keyboard backlight turned off immediately after turning it on. I figured installing Windows again might be a good move (I also miss Office), but that turned out a little more difficult that anticipated. Read On →

Install Netbeans on Fedora 25

It’s been a while since I last wrote a non-trivial amount of Java and I can’t say I miss it. However, I want to work on a plugin for Jenkins which means diving back in. Netbeans was my IDE of choice when I last worked with Java but unfortunately Netbeans is not packaged for Fedora (presumably due to it’s use of Oracle’s JDK rather than OpenJDK?). As such, if you want to avoid using Eclipse then you need to install Netbeans “by hand”. Read On →

Using git-review

git-review is a Python wrapper for many of the common Git commands used in conjunction with Gerrit. It encapsulates many of the most common commands used, in order to speed things up. It’s possible to use Gerrit without using the git-review tool. All the commands we use below have their plain git equivalents. However, the question remains: why would you want to? The git-review tool speeds things up, and is used by a number of teams outside Intel (including MediaWiki and OpenStack). Read On →

MTUs in neutron

I’m not overly familiar with neutron but it appears that in the past correctly setting MTU values was easier said than done. This has been massively improved in recent releases, but getting us to this point required a lot of work and, in particular, a lot of changes to the MTU-related configuration options available over the course of Liberty and Newton. The below table tries to collect these changes in a coherent table. Read On →

GNU Autotest

GNU Autotest is a test framework that, together with supporting scripts and unit test files, can unit test an application. Autotest is part of the Autotools library, a.k.a. the GNU Build System. The Autotest scripts execute unit tests by making shell-like calls to utilities, Python scripts and C unit test applications, and comparing their return values (exit code, stdout and stderr) to predefined values. To do this, Autotest defines a number of M4 macros, such as AT_INIT and AT_CLEANUP. Read On →