Push Jobs Server 1.1.5 is out, and more improvements are in the works.

Push Jobs Server 1.1.5 is out

We are pleased to announce the release of version 1.1.5 of Push Jobs Server. This fixes minor issues with the push-jobs-ctl test command that caused failures when the Push Jobs Server was installed on Chef 12.

Push Jobs is Open Source

While this isn’t new, it got a little lost in the announcement of our open sourcing of Chef Server. Push Jobs is open source and no longer a premium product.

We’ve wanted to open source it for a long time, but we needed to make it work with Open Source Chef Server first, as it depends on features that were only available in Enterprise Chef. An open source Push Jobs that only worked with the proprietary version of Chef would be less than delightful. With the release of Chef 12, we have an open source server with all the features needed for Push Jobs to work.

See the following repos in the opscode github repo:

The Push Jobs client is now built by the omnibus-chef system. It’s still a separate package, but in the future we expect it to be integrated into the chef-client package for ease of installation.

Push Jobs 2.0

We have a lot of new things which will be released soon, as soon as testing and full platform support is done. Here’s some highlights of what we’re planning for Push Jobs 2.0:

ZeroMQ 4
We’re moving to ZeroMQ version 4 from version 2. ZeroMQ 4 includes many protocol enhancements, including support for end-to-end encryption.
Currently push signs its packets with HMAC but otherwise sends its data, including commands, in the clear. We’re moving to using the ZeroMQ 4 elliptic curve encryption protocol, and will encrypt all traffic end-to-end. This changes the protocol, and will require upgrading both the push client and server.
Event Feeds
A common pattern is to poll on the job status endpoint while you wait for your job to complete. We’ve added two new endpoints to provide continuous updates of job execution via Server Sent Events, both on a per-job and per-organization basis. This should make running long jobs easier to track as well make it easier to build tooling on top of push.
Output capture
The current push system only returns the command execution status. We’ve added support for the capture of the stderr and stdout from job commands, and the ability to retrieve it from the server after the command completes.

These are breaking changes to the protocol, and the push client and server must be upgraded to 2.0 together.

More information

Give it a whirl, and let us know what you think.

Known Issues

On 2014/12/04 we’ve found out that our enterprise linux package of Push Jobs Server is not signed. This breaks the installation of Push Jobs Server add-on into Chef Server 12.

This issue can be worked around by downloading the Push Jobs Server package and installing it using the `–path` option of `chef-server-ctl`. You can use the command below after downloading the package from our downloads page:

**chef-server-ctl install opscode-push-jobs-server –path /full/path/to/directory/of/downloaded/package**

We are currently working on the issue. We will update our blog as we have more updates.

Thanks for your understanding as we are working to get this issue resolved.

Mark Anderson