Friday, September 23, 2011

Only developing linuxha.net - nope!

Updating one project would be a little bit boring for me so I'm also undertaking the following in parallel:

Improvements to TP2 to help make packaging signing and repository management easier.

Re-writing a reporting intranet that was based on Perl to a "web v2" style Javascript application. No code online for this as yet ... but soon. I've not written any Javascript before and so going from nothing to writing a GUI application with thousands of lines of code, JSON, AJAX is proving to be slower going that I had hoped!

linuxha.net 1.4.11 in development

It has been about 8 months since the release of 1.4.10 and so I thought it time to look at linuxha.net and give it an update. The release will feature support for the functionality offered by the recent DRBD revisions, updates to core libraries, improved documentation, added testing functionality and the big change ... IP version 6.

Supporting the latest version of IP is a big change and requires a fair amount of re-work and several hurdles to over-come. The first was the lack of a "ping6" perl equivalent... hence a week spent hacking 'c' code to create a library which linuxha.net will dynamically load to provide optimal icmp ping functionality over IP v6.

I'm now currently writing and test changes to network handling in the libraries that linuxha.net provides. I've not got a release date as yet but am hoping before the end of the year.

Saturday, August 20, 2011

True Packager 1.3.0 out - at last...

Adding Windows support (even basic support at that) took much longer than expected. However it is done and I can now turn my attention to the following over the next couple of months:

Linuxha.net - Support for RHEL6 and clones, latest versions of DRBD, minor improvements

TrueCL - Same as above + better bsd support, etc.

Monday, April 11, 2011

TruePackager development continues

Changes, fixes and enhancements continue in the TP2 world. The next release will have a lot of changes behind the scenes to implement Windows support. Yes - in the real world people use a variety of platforms, not just Linux/UNIX!

Although Windows support (or a move towards it) is certainly a big change, is is not the only one. Some rather fun ideas make it into 1.3.0. Some, but not all are:


  • Install package directly from file - currently files can only be installed from repositories. Ok - not earth shattering - but big convenience change.
  • Protected Repositories. The daemon can handle copying files into, removing files from and signing packages in repositories. Full ACL support can be provided too.
  • Improved preview mode - the preview mode will include file system impact information like a full installation.
  • Multi-signed packages. Packages can be signed by more than one person/entity.
  • Flexible Namespace signing rules. Namespaces can indicate a minimum number of known signers, a subset of "must signers" etc.
  • Permissions correct on package refresh. Installation of a package at the same level, even if the package does not change will refresh permissions to correct values if necessary. This level of change is captured in the log too.
  • Namespace immutable files. Each namespace can indicate certain files as being immutable to change or delete. In this instances packages can be installed, but the contents of the those files will not be affected. Full information of handling of such files will be placed in the log.

Friday, March 11, 2011

TrueCL - 0.9.4 approaches

Another significant bunch of changes have been pushed up into the code repository. These changes represent a small but still significant set of improvements. There is only really one bug stopping a 0.9.4 release and I intend to tackle this tomorrow night. Then it is simply a matter of completing the documentation updates and a bit more testing!

Wednesday, February 23, 2011

TP2 Signing updates

The necessary groundwork for improved package, repository and namespace signing work is pretty much there now. Packages can be signed by multiple parties, and these are clearly visible when listing packages, repositories and namespaces.

The facility of namespaces supporting a minimum number of signers, optional and mandatory signers is also now in place too.

I've not released the code as a versioned release as yet, though once some more of the 2011 planned features are in place I will.

TrueCL work for 0.9.4 nearly complete

The work on what will become TrueCL 0.9.4 is nearing completion. Linux testing of the new configuration and status database work is looking good and soon the relevant documentation changes will be finished too.

Prior to 0.9.4 I'm also changing the handling of the "known net connections" to allow the status of such IP addresses to be returned via the status command "lha_stat".

I also intend to look at improvements to disk heartbeats and testing functionality for stopping applications and nodes using heartbeats only! That is quite ambitious and might slip for later releases, but is a definite aim.

Sunday, February 13, 2011

TP2 Security Improvements underway

I've recently started a series of changes to improve security and auditing facilities for TP2. First up are changes to implement secure repository management. Essentially the tp2 command set now provides tools to set and manage ACLs (Access Control Lists) on repositories. To support this the daemon process indirectly can be used to copy, remove, sign and un-sign packages in such repositories as well as provide repository index update services as before.

The range of services that the daemon provides will continue to grow as a lot more work on security and auditing is in the roadmap. Because of this the handling of requests by the daemon has also been re-written. In the previous versions it only handled requests in a single threaded manner. Now, however it supports an architecture for requests to be handled in the background - and all long-running requests now use this facility. The result is that the daemon can cope better with multiple requests issued at the same time.

Friday, February 11, 2011

TrueCL work

Now that the latest update for linuxha.net is out of the way I'm turning my attention to TrueCl once again.

TrueCl uses sqlite for two purposes; a status database and a configuration database. One of the most frustrating things is that depending on the platform, perl version and sqlite version I covered through up more subtle locking issues when attempting to read/write at approximately the same time from different programs.

Although still a work in progress I've now re-written the status database to make use of a running service - which seems to defeat the purpose of SQLite in some respects, but at last I have a working solution!

Next couple of days will involve flipping that functionality to the configuration database module too - and then that should be one of the few significant portability issues with the core code resolved.