Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-settings.php on line 512

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-settings.php on line 527

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-settings.php on line 534

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-settings.php on line 570

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-includes/query.php on line 61

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/seafelt-blog/wp-includes/theme.php on line 1109

Deprecated: Function eregi() is deprecated in /var/www/seafelt-blog/wp-content/plugins/wp-statpress/statpress.php on line 1139

Deprecated: Function eregi() is deprecated in /var/www/seafelt-blog/wp-content/plugins/wp-statpress/statpress.php on line 1140

Deprecated: Function eregi() is deprecated in /var/www/seafelt-blog/wp-content/plugins/wp-statpress/statpress.php on line 1141

Deprecated: Function eregi() is deprecated in /var/www/seafelt-blog/wp-content/plugins/wp-statpress/statpress.php on line 1142

Deprecated: Function ereg() is deprecated in /var/www/seafelt-blog/wp-content/plugins/wp-statpress/statpress.php on line 979
seafelt.com - Part 2

Skip to content


Collapsible Reporting in Config Manager


Deprecated: Function split() is deprecated in /var/www/seafelt-blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 413

Deprecated: Function split() is deprecated in /var/www/seafelt-blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 413

New features have just been committed to the dev branch of SCM that greatly improve the UI.

Sometimes you have devices that suddenly spew forth a bunch of errors. They may have been nudging along generally ok, only to suddenly reach a tipping point where all hell breaks loose. No doubt you’ve encountered this yourself.

Until now, SCM was rather noisy in the way it reported on this sort of situation. The report screen would contain a seemingly endless list of errors. Anyone who’s used NetApp devices with poorly configured clients will know all about the spamming FC partner path errors that fill up the message logs.

When everything is mostly ok, SCM reports were easy enough to read. But the real strength of SCM is automatically telling you every little thing that’s broken. You need to be able to filter this to concentrate on what you want to fix.

Now you can.

scm-audit-collapsible-example

SCM reports now have some funky Javascript that lets you collapse down sections of the report so they don’t clutter your view. You can get a quick idea of where the problem areas are, and drill into the details if you really want to.

Sometimes just a count of how many times the audit rule was broken is all you want to know. SCM now does that too.

A big thankyou to the folks from jQuery who made this possible with their excellent library.

Posted in Uncategorized.

ModiPy 1.2 Released


Deprecated: Function split() is deprecated in /var/www/seafelt-blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 413

Deprecated: Function split() is deprecated in /var/www/seafelt-blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 413

I’m pleased to announce that version 1.2 of ModiPy has been released. You can grab it from the CheeseShop like this:

easy_install ModiPy

Easy!

What’s New?

This version of ModiPy is the most stable yet. It’s still beta, since there are some areas that don’t have enough test coverage yet, but we’re definitely getting there. We’ve also added a bunch of much wanted features.

Iterators

Iterators are like a for loop wrapped around a change. Unlike a standard for loop, and iterator uses dictionaries, so you can define a whole set of variable that can all change for each iteration.

So you can define a change that runs the same set of commands, but over 3 different base directories. Or you can add a series of license keys to a program, with the one change.

It’s variable substitution on steroids.

There’s support for manually defined iterators, where you type it all out yourself, or you can use a CSV file to define variables as columns, and the values in rows. Database support is coming, so you can integrate more easily with your CMDB. For now, you’ll have to manually export as CSV.

Complex Dependency Trees

You can define really complex trees of changes that will all execute in the right order, even in backout mode.

We’ve also added the noop flag for changes, so you can define an empty change with no targets (which would normally be an error) to act as a synchronisation point in your dependency tree.

Handy Command Line Options

We’ve added a few commandline options to help with testing, which we use ourselves.

–only will run just the changes you specify on the commandline

–skip is the opposite of –only, and will not run the change you specify. It is marked as successful for dependency purposes.

–sessionlog allows you to set the name of the logfile used for logging what happened.

Logging

All sessions are now logged by default, so you can audit what changes are applied to your environment. We’ll be adding an option to disable logging for those who need to run things unlogged.

Stay Tuned

We’re working hard on getting another version out soon. Please let us know if you hit a bug, or if you want a feature we haven’t already noted down in the tracker.

Until then, have fun automating your world!

Posted in Features.