hammr Submission

Complete name   hammr
Submitter's Info   Joris Bremond, UShareSoft, joris.bremond@usharesoft.com
Project information  

Hammr is an open source tool for creating machine images for different environments from a single configuration file, or migrating live systems from one environment to another. 

Description of the project and its goals  

Hammr is a lightweight client-side tool based on Python, and can be installed on all major operating systems.

Hammr can be used as part of a “DevOps tool chain” and in conjunction with other tools such as Jenkins, Chef, Puppet and SaltStack, allowing hammr users to easily build machine images and maintain live running instances.  Hammr also has migration capabilities, allowing users to scan a live system, generate a machine image for a different environment as well as export it back to a configuration file for sharing.

Hammr provides a local interface with a UForge Server. Thanks to the its Python SDK, hammr interacts with the UForge REST API. 

The UForge server can be an on-premise installation or in SaaS. If you don’t have a UForge Server, then you can get a free online account on UForge online at https://uforge.usharesoft.com/

Hammr benefits include:
    Avoid cloud lock-in. With the same configuration file, build repeatable and consistent machine images for different cloud platforms; or use the migration facility to move workload.
    Support hybrid cloud scenarios, being able to onboard the same software stacks to multiple cloud platforms.
    Provides full software governance of the entire stack; from operating system packages, custom software, licenses and configuration.
    Simplify life-cycle management and easily update software stacks by using the package upgrade or roll-back mechanisms.
    Reduce development cycles by facilitating collaboration between engineering teams

Web site   
Targeted audience  

The goal of hammr is to provide a mechanism to automate and industrialise the way users create and maintain machine images; and a way to migrate existing workloads to other platforms.

It can be used by anyone who wishes to build a machine image containing their software (whether the software project team, or end users).

The current hammr website is available at http://hammr.io and the source code is hosted at https://github.com/usharesoft/hammr

Related similar projects include Packer http://packer.io for creating machine images.
However, Packer relies on existing base images, whereas hammr does not need such images. Hammr starts with the definition of a Template and packages to include in the image, and then allows the creation of the machine image.

hammr does not overlap with other OW2 projects.

Supporting team  

hammr was initially developed by UShareSoft and is currently fully maintained by UShareSoft.

Initial committers for hammr include:
Joris Bremond joris.bremond@usharesoft.com
Yann Diorcet yann.diorcet@usharesoft.com
James Weir james.weir@usharesoft.com

Business model / Strategy  

Typical hammr usage includes bulk generation of a set of templates, their publication (similarly for scans and migration).
Users can user hammr today to do this, but also write or use their own publication scripts to publish to various cloud infrastructures.

hammr is already open source, but not affiliated to any community.

By submitting hammr as an OW2 project, we are looking at OW2 projects becoming hammr users in a first step, in order to generate machine images for their projects.
We would also like to open contributions to hammr in order to broaden its scope, contribute sample scripts and expand its developers community.

User community  

hammr has just been released is mainly used by UShareSoft employees at the moment.
Future users will include the UShareSoft customer base.

We believe that all OW2 projects who wish to build templates and images in order to expose their project to the OW2 App Store / Marketplace - see http://www.ow2.org/view/About/UShareSoft - could benefit from becoming hammr users (and why not contributors).


Currently, the hammr source code is in English.
We do not believe that it makes sense to internationalize such a command line tool.
However, the documentation is currently in English and partly in Japanese http://www.usharesoft.jp/hammr/ We would welcome translation to other languages.


Hammr future developments include:
- Jenkins plugin (under development) to call hammr in order to integrate software creation, validation and tests in a continuous integration process
- ability to work with UForge Marketplace templates directly (export from Marketplace, publish to Marketplace)
- ability to visualise information about Templates without exporting a Template
- add several printout types: e.g. XML, Json, ...
- (mid term) when UForge supports "one click run", i.e. the ability to generate, publish and launch an image, add this function to hammr


The current hammr website is available at http://hammr.io and the source code is hosted at https://github.com/usharesoft/hammr
If hammr was accepted as an OW2 project, we would most probably keep hammr.io for the website and github for the infrastructure.
We would however welcome mirroring the hammr github repository to OW2 gitorious.
As required, we would also upload the hammr documentation to the OW2 Forge.

Your project and OW2  

As already said, all OW2 projects who wish to publish their projects to OW2 App Store / Marketplace could become hammr users.
We could also envisage to setup continuous integration at OW2 using Bamboo to publish automatically images of new OW2 project versions to the OW2 Marketplace.

Also, we see a natural fit of hammr with the OW2 Open Source Cloudware initiative, of which UShareSoft is already a member.

OW2 projects  

Hammr does not use any OW2 project at this stage.

As already said, all OW2 projects could benefit from hammr for exposing their projects to the OW2 Marketplace / App Store, or to facilitate continuous integration.

OW2 initiatives  

- OW2 Open Source Cloudware initiative
- all OW2 projects who wish to publish their projects to OW2 App Store

Technologies and standards  

hammr is entirely based on Python.
The hammr user interface is json, and the internal communication API uses REST and XML.

Contribution to the OW2 Community  

hammr would complement the OW2 set of projects in the Open Source Cloudware domain.

Moreover, since hammr is agnostic w.r.t. the underlying IaaS platform onto which machine images can be published, the use of hammr by OW2 could be a positive sign of OW2's relationships with e.g. the OpenStack and CloudStack communities.

Finally, hammr could also become part of the OW2 project toolchain in order to automate the population of the OW2 Marketplace.

Motivations to join the consortium and its community  

UShareSoft has been an OW2 corporate member and partner for several years now, and is represented at the OW2 Board of directors.

As already mentioned, hammr is not part of any open source community yet.

We chose OW2 because of the long-term relationship between UShareSoft and OW2, and because we believe that OW2 projects would be good candidates to become hammr users.

Also, in the perspective of a more visible OW2 Marketplace, hammr would be a valuable open source tool to be used in order to populate and maintain such a Marketplace.

Other Information?  


Interested Parties  

At this stage, we have not contacted OW2 projects who could be interested in using hammr.
UShareSoft has submitted an H2020 project to extend the OW2 App Store, in which hammr would be used.

However, some of UShareSoft customers have already expressed their interest in using hammr.
Today, they either use the UForge GUI or the UForge REST and/or Java API.
For them, hammr is a valuable complement, offering a python command-line tool which nicely integrates with DevOps practices.

Terms and conditions acceptance  

I hereby certify the accuracy of the information provided above.

Submission date