DataPower Buddy Release 3.3

June 8, 2016 | Posted in Ant,DataPower,dpbuddy

We're pleased to announce the availability of DataPower Buddy 3.3.

New Tasks/Commands and Notable New Feature

Read the rest of this post »

DataPower Buddy Release 3.3 Beta

March 15, 2016 | Posted in DataPower,dpbuddy

We're pleased to announce the availability of DataPower Buddy 3.3 Beta.

This release introduces support for defining configuration properties/variables using HOCON (Human-Optimized Config Object Notation) format. HOCON is a superset of JSON, it is quite flexible (e.g., it supports comments, includes, substitutions) and it is more readable than raw JSON. HOCON provides a powerful alternative to defining environment-specific properties using prefix-based notation. The prefix-based mechanism, however, is still fully supported, so the use of HOCON is completely optional.

Other notable features of this release include:

  • Support for restore/import of multiple domains (or all of the domains). This could be useful for keeping multiple production appliances in sync.
  • Support for secure restore. This can also be used to maintain a DataPower cluster in sync or in a DR situation.
  • Support for appliance reboot/restart. Both secure restore and restart/reboot commands can optionally wait for the appliance to come back online.
  • Password encryption inside configuration files using open-source Jascrypt tool.
  • Under the hood, DPBuddy now streams files to the appliance during copy/import/restore, so these commands are now performed much faster and with lower memory requirements.
  • "Add" and "update" configuration transformation functions now support repeaters (loops). This can be used to generate environment-specific load-balancing group configuration with variable number of back-end servers.
  • Many minor changes and bug fixes. For example, passwords are now automatically masked when environment transformations run in verbose mode.
  • CLI help has been improved to make the use of CLI easier.

This release could also provide support for firmware 7.5; this feature will be finalized once 7.5 becomes available.

The general availability of DPBuddy 3.3 is expected in April 2016. Meanwhile, please let us know if you're interested in evaluating the beta version.

DPBuddy Release 3.2.4 (Improved Auditing)

October 12, 2015 | Posted in Ant,DataPower,dpbuddy

We're pleased to announce that DataPower Buddy 3.2.4 is now available. The focus of this release is on improved audit and logging.

DPBuddy now generates an audit log file in JSON format, in addition to the XML format supported in earlier releases. This file can be easily tailed, analyzed with jq and/or uploaded to an enterprise SIEM tool. DPBuddy now uses logback framework for auditing and logging. This provides a lot of flexibility in configuring log file location, rollover policies, appenders and other parameters.

Other new features include:

  • DPBuddy now captures import failures in the audit log.
  • backup command now supports the new option/attribute, "failIfNoDomain". If set to "false", "backup" will not fail if the target domain does not exist.
  • Better error handling. A root cause of an error now reported automatically, without having to run the tool in verbose mode.
  • Bug fixes.

To upgrade to this release, you can simply download and un-archive the distribution and point your DPBUDDY_HOME environment variable to the new location. If you're using DPBuddy from Apache Ant, you will also need to add <pathelement location="${dpbuddy.home}/conf"/> to the DPBuddy library's "taskdef" in your Ant files, otherwise, you will see verbose logging output in the console.

You can download DPBuddy 3.2.4 from this page.

DataPower Buddy Release 3.2.3 (Firmware 7.2)

June 28, 2015 | Posted in DataPower,dpbuddy

We're pleased to announce that DPBuddy 3.2.3 is now available. This release provides the support for DataPower firmware 7.2 and bug fixes.

An up-to-date version of Java 7 is required when using DPBuddy with firmware 7.2, otherwise you may encounter SSL-related error when trying to connect to DataPower. This is due to the bug in earlier versions of openjdk.

Other new features include:

  • "quiet" in "delConfig" task now suppresses all deletion errors, including the ones caused by an object being referenced by another object. This is to provide a workaround for the bug in firmware v7.2 which causes DataPower to retain references from objects that have been deleted.
  • "resetDomain", "restartDomain" and "wsrrSynchronize" now support "domain" and other common attributes/options; these attributes/options were ignored in earlier versions.

You can download DPBuddy 3.2.3 trial from this page.

DataPower Buddy Release 3.2.2

May 27, 2015 | Posted in DataPower,dpbuddy

We're pleased to announce that DPBuddy 3.2.2 is now available. The main feature of this release is the ability to create domains with a single command, including automatic deletion of a domain:

dpbuddy createDomain -domain domain_name -delete -maxCheckpoints 5

Other new features include:

  • Full support for the latest versions of DataPower firmware, including 7.1.0.4
  • copy now supports "excludes" attribute; "includes" defaults to "include all" similar to the standard Ant copy command.
  • All transformations now support "verbose" attribute so you can see the list of changes performed by transformations without having to run DPBuddy/Ant in "verbose" mode.
  • Support for DataPower deployment variables in the import command.
  • Cleanup of the logic used by environment-specific property resolution mechanism.
  • "overwriteFiles" attribute of the import command now defaults to "false" for XML import files.

The release also contains several important bug fixes.

You can download DPBuddy 3.2.2 trial from this page.

DataPower Buddy Release 3.2

March 18, 2015 | Posted in DataPower,dpbuddy

We're pleased to announce that DPBuddy 3.2 is now available. The main feature of this release is the ability to execute any DPBuddy task or command against multiple devices and/or domains. Simply define the URLs of your devices using environment properties and supply a list of environment prefixes to a command or an Ant task:

dpbuddy import -file services.zip -env "dev,test"

DPBuddy will execute the command against all the devices in the list, and, in case of any errors, it would optionally rollback either just the failed domains or all the devices/domains in the list.

You can find more details in the DPBuddy documentation.

Other new features include:

  • Full support for the latest versions of DataPower firmware, including versions 7.0.0.5 and 7.1.0.3
  • Support for remotely executing DataPower CLI commands and configuration scripts. DPBuddy can upload the script to the device and execute it there. The scripts can contain Ant/Groovy variables.
  • "Copy", "action" and several other commands now support auto-rollback in case of an error.
  • New execTarget task allowing for automatic execution of any set of Ant targets against multiple devices/domains. Similar to other DPBuddy tasks, "execTask" supports auto-rollback.
  • tailLog command used for remotely tailing DataPower logs now displays domain, log category and object type.
  • Deployment policy used by "import" and other commands can now be direct output of "export". Previously, the exported file had to be manually cleaned up prior to using it as part of "import".
  • Support for a global "ignore list" of object classes and names. This list is used by state check commands to exclude those objects from the check that are supposed to be in the "down" state.
  • Better error handling in the "copy" command.
  • Support for TLS 1.2.
  • DPBuddy CLI can now be run under Cygwin.
  • New ping command.
  • Enhanced troubleshooting of HTTP connections between DataPower and DPBuddy.

The release also contains several important bug fixes.

You can download DPBuddy 3.2 trial from this page.

DataPower Buddy Release 3.2-Beta

December 10, 2014 | Posted in Ant,DataPower,dpbuddy

We're pleased to announce that DPBuddy 3.2-beta is now available. The main feature of this release is the ability to execute any DPBuddy task or command against multiple devices and/or domains. Simply define the URLs of your devices using environment properties and supply a list of environment prefixes to a command or an Ant task:

dpbuddy import -file services.zip -env "dev,test"

DPBuddy will execute the command against all the devices in the list, and, in case of any errors, it would optionally rollback either just the failed domains or all the devices/domains in the list.

You can find more details in the DPBuddy documentation.

Other new features include:

The release also contains several important bug fixes.

The general availability of DPBuddy 3.2 is expected in January 2015. Meanwhile, please let us know if you're interested in becoming part of our beta program.

DPBuddy Updates for June, 2014

July 1, 2014 | Posted in DataPower,dpbuddy

Updated Online Documentation

We've converted our documentation to the online HTML format, which is much easier to navigate than the old PDF file. Future releases of DPBuddy will be bundled with this documentation instead of PDF.

Support for DataPower Firmware Version 7

We ran our full test suite against the recently released DataPower Version 7 and did not see any issues. If you're planning to migrate to version 7 in the future, all your DPBuddy scripts and commands should continue working.

Support for GatewayScript

Support for JavaScript (a.k.a. GatewayScript) is the most noticeable new feature in DataPower firmware Version 7. GatewayScript can be used as part of any processing policy as an alternative to the XSLT-based rules.

Please see this page for the tips on developing and deploying GatewayScript files.

DPBuddy Updates for May, 2014

May 28, 2014 | Posted in DataPower,dpbuddy

New and Updated Guides and Tutorials

  • Getting started with DPBuddy CLI. As this tutorial shows, getting started with DPBuddy CLI is very easy and only takes a few minutes. Download DPBuddy, follow this guide and you'll be able to run your first automated deployment in no time.
  • Automating testing of DataPower services using SoapUI. This post is a must read if you're looking to implement automated testing of your services.
  • How to run DPBuddy tasks from Jenkins. Jenkins provides a nice UI along with many other important features such as job management, log retention and security. If you're looking to implement continuous integration, automated (or even continuous) delivery of your DataPower artifacts, or if you're simply running all of your Ant/DPBuddy scripts from command line, follow this guide to create your Jenkins jobs to deploy to DataPower.

DPBuddy Development Update

We're currently working on the release 3.1.1. This release will have some minor changes and a few bug fixes. It will also contain an updated HTML-based User Guide.

We're also planning to implement the support for DataPower firmware version 7.0 as soon as it becomes available. This will include supporting DataPower GatewayScript and other new features.

In the meantime, you can always download DPBuddy 3.1 from this link and give it a try.

If you have any questions, suggestions or feature requests, please comment on this post. We appreciate your feedback.

Automating DataPower Build/Deployment with Jenkins and DPBuddy

May 13, 2014 | Posted in DataPower,dpbuddy

You can easily automate your DataPower deployments with Jenkins and DPBuddy. DPBuddy comes with a comprehensive set of Ant tasks, so you can simply create an Ant script defining your build/deployment process and then invoke the script from Jenkins using the "Invoke Ant" build step.
You can find the details in this tutorial.

Automating Testing of DataPower Services

May 8, 2014 | Posted in DataPower,dpbuddy

Any automated build/deployment process should be accompanied by automated testing. This is required for automated (let alone for continuous) delivery of any application. Services residing in DataPower appliances should also be covered by automated testing. This can be achieved by invoking SoapUI test cases as part of an automated deployment, after all the services have been imported. This article explains how to do it.

DPBuddy Release 3.1

April 24, 2014 | Posted in DataPower,dpbuddy

We're pleased to announce that DPBuddy 3.1 is now available. The main feature of this release is the DPBuddy command-line interface (CLI). All of DPBuddy's Ant tasks can now be executed as shell commands without having to create or run Ant build files.

For example, to import a file, you can run the following command:

dpbuddy import -file services.zip -assertObjectsUp -save

All attributes of DPBuddy's Ant tasks are translated into command line options, so that DPBuddy commands have the same capabilities as Ant tasks.

Another important feature is the substantially expanded "import" command/task. It provides the following new capabilities:

  • Automatic rollback to a checkpoint in case of an import failure.
  • Creating the checkpoint before the import.
  • Quiescing the domain before the import and unquiescing it after the import.
  • Checking that the ports used by the imported services are open after the import.
  • Resetting the domain's configuration before the import to clean the domain.
  • Setting the domain's comments, which could be used for version tracking.
  • Resolving template variables without having to provide an empty "transform" element.

Other new features in this release include the following:.

  • A simplified way of specifying DataPower objects in export, assertState, quiesce and other tasks/commands. You can now provide regular expressions defining object types and names via attributes instead of having to define a nested element in Ant, e.g., <dp:export file="${export.zip.file}" classPattern="(WSGatew.*|.*Firewall.*)"/>
  • Copy command/task now supports the "incudes" attribute/option so you don't have to specify the nested fileset.
  • Copy/command task now supports the "flushCache" attribute/option to automatically clear the XML cache after copying.
  • You can specify the environment prefix using the "env" attribute/option instead of having to use the "environment" task.
  • Export now gets rid of unused namespace declarations, so the resulting XML file is cleaner.
  • The ability to delete all objects related to a particuar service. DataPower does not do it by default, but using DPBuddy you can now clear all artifacts related to a particular service.
  • "assertOpenPorts" task/command to verify that specific ports are actually open on the device.
  • "testConnection" task.

Download DPBuddy 3.1

DPBuddy Update for April 2014

April 14, 2014 | Posted in DataPower,dpbuddy

New and Updated Guides and Tutorials

If you'd like to try implementing version traceability, download the trial version of DPBuddy if you haven't done so already.

Upcoming DPBuddy Release

We're on track to release DPBuddy 3.0.1 later this month, April, 2014. Some of the newly added features include:

  • Ability to delete all objects related to a particular service. DataPower does not do it by default, but using DPBuddy you will be able to remove all artifacts related to a given service or multiple services.
  • Ability to update the domain's "comments" field as part of "import" -- this will simplify version tracking of deployed domains.
  • Ability to check that specific ports are actually open on the device after import. Simply provide "assertPorts" attribute/option to the "import" command and DPBuddy will make sure that the ports are active.

Other new features coming in 3.0.1 include:

  • Command line support.You'll be able to run any DPBuddy task directly from the command line without have to go through Ant. For example, to import a file, you'll be able to simply run this command directly from shell/DOS prompt:

    dpbuddy import -file services.zip -assertObjectsUp -save 
    

    Read the rest of this post »

How to Track Versions of DataPower Services

April 10, 2014 | Posted in DataPower,dpbuddy

A version traceability mechanism should allow us to see versions of all our application components. An applications with UI front-end could have a "help/about" page or use other ways to show its version to an end user or to a developer. On the back-end, the version might be embedded into a manifest file or an application-specific property/configuration file. The version is typically associated with a code baseline stored in a version control repository.

This article explains how to track version of DataPower objects and services.

DataPower Secure Backup with DPBuddy

March 16, 2014 | Posted in DataPower,dpbuddy

Secure backup is the only way to backup the entire DataPower device, including keys and certificates. Therefore, it is desirable to run it on a regular basis.

You can easily automate secure backup using DPBuddy. This post explains how.