Print this page

News

2016-06-17 14:42:32

5209R YUM Updates (important!)


Pending BlueOnyx 5209R YUM updates to increase speed and performance.

Category: General
Posted by: mstauber

During the last two weeks we've taken a long and hard look at BlueOnyx 5209R to apply various improvements small and large to provide a much better user experience. We put the focus on ease of installation, ease of use, speed and reliability.

To that end we made many changes and code adjustments. It starts with the BlueOnyx ISO installer, which is now more visual about what it does and more professionally looking than before. We also modified certain RPMs to install faster (Dovecot!) off the CD and reduced redundant operations during install and setup.

A somewhat more massive change that should greatly benefit stability and speed were the changes that we made to CCEd to adjust it more towards Systemd:

We split the Unit-File (startup script) in two parts:

cced.init.service

This Unit-File now simply starts, stops or restarts CCEd. It does so in a fashion that Systemd itself will restart CCEd in case it should fail. But as stable as CCEd is these days? That's not really a concern.

cced.construct.service

This service just runs the CCEd constructors that perform configurational tasks during startup. You can now run it stand alone or individually.

If you want to restart both in one go, the script /usr/sausalito/sbin/cced.init can be used to issue start, stop, hash, restart, rehash or reload transactions of CCEd and/or the constructors. This script is what the GUI will use if it deems it necessary to reinitialize CCEd.

swatch.service

Swatch is the Active Monitor component that is run via a cronjob to determine if enabled services are up and runing. If not, it will try to restart them. It will also warn or inform if that failed. To make sure all enabled services are up and running after a reboot, we run "swatch.service" as last service during startup.

CCEd Constructors / Handlers

During reboot or during GUI initiated config changes, CCEd will run Constructors or Handlers. These are small Perl scripts which carry out the configurational tasks on the system. We went through our existing Constructors and Handlers and did a little spring cleaning. Several Constructors were no longer needed and got removed. Others did their tasks in slightly ineffective fashions. We made them more effective at their jobs.

The net result of this is that CCEd startups (with a full Constructor run) are now somewhere between 5-10x faster than before. The speed increase depends a bit on the scenario in which a Constructor run happens.

To give some examples: A freshly installed 5209R. Everything (network and such) is already configured. Previously a constructor run would need about 18-22 seconds. Now it finishes in 2.5-3.0 seconds on my test box.

But let's not speak about test cases alone, but take a real example: A production 5209R with 20 Vsites and 80-90 Users and a couple of extra PKGs from the BlueOnyx Shop installed. Previously a constructor run would take 55-58 seconds. Now it finishes in 9-10 seconds.

The speed increase also affects some GUI usage cases, so GUI transactions themselves are also a bit more speedy in certain usage scenarios.

Release of the Updates

As we laid hand on many parts of BlueOnyx during these code and performance improvements we've accumulated quite a number of updates. Once we release these updates and you're already fairly up to date on other YUM updates? Then you will get around 160-170 updates in one go.

These updates are currently in the BlueOnyx 5209R testing YUM repository and will be released on Sunday, 19th June 2016 at 23:00 US Eastern time. Update: Release of the YUM updates is being postponed for now as I'm having issues with the office internet. New date will be anounced eventually.

An updated 5209R ISO image with all these updates has already been rolled up and is currently available for download.

At this time we're conducting tests to make sure that the YUM update of existing 5209R servers will be as smooth as we want it to be.


Previous page: API Documentation
Next page: Downloads