SlideShare a Scribd company logo
Copyright © UShareSoft 2016Copyright © UShareSoft 2016
Look Beyond the Cloud
Hammr Project Update: Machine Images and Docker
Containers for your Cloud
Joris Bremond, Software Development Engineer, UShareSoft
Alexandre Lefebvre, Professional Services, UShareSoft
22
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
What is ?
33
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr Command-Line Tool
Hammr Command-line Tool: Consistent Machine Images from a Single Configuration FileHammr Command-line Tool: Consistent Machine Images from a Single Configuration File
> Open source OW2 project
> command-line tool written in Python
> http://www.ow2.org/bin/view/ActivitiesDashboard/hammr –
www.hammr.io
> Github: https://github.com/usharesoft/hammr
> Open source OW2 project
> command-line tool written in Python
> http://www.ow2.org/bin/view/ActivitiesDashboard/hammr –
www.hammr.io
> Github: https://github.com/usharesoft/hammr
44
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr overall architecture
55
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Installing hammr
Installing Hammr
Install Hammr system dependencies first, then
Installing Hammr
Install Hammr system dependencies first, then
$ pip install hammr
$ hammr –v
hammr version '0.2.5.10'
$ pip install hammr
$ hammr –v
hammr version '0.2.5.10'
Help MenuHelp Menu
$ hammr --help$ hammr --help
66
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Creating &
Managing your
Stacks
with
77
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Getting Started with Hammr
> Template file: configuration file (Yaml or Json)
> Describe your application stack using the stack keyword
> Generate machine or containers images by defining builders
> Publish the generated machine images using your cloud credentials
or download its to your computer
> Template file: configuration file (Yaml or Json)
> Describe your application stack using the stack keyword
> Generate machine or containers images by defining builders
> Publish the generated machine images using your cloud credentials
or download its to your computer
88
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Defining your Stack: nginx Example
$ vi nginx-template.yaml
---
stack:
name: nginx
version: '1.0'
os:
name: Debian
version: '8'
arch: x86_64
profile: Minimal
pkgs:
- name: nginx
installation:
diskSize: 12288
$ vi nginx-template.yaml
---
stack:
name: nginx
version: '1.0'
os:
name: Debian
version: '8'
arch: x86_64
profile: Minimal
pkgs:
- name: nginx
installation:
diskSize: 12288
stack keyword defining the content of your stackstack keyword defining the content of your stack
os keyword defining the os profile and packagesos keyword defining the os profile and packages
installation keyword defining the “install” parametersinstallation keyword defining the “install” parameters
99
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr: Modeling the Stack from a Single File
Security parameters
Kernel Parameters
Partitioning
Networking
Keyboard, Timezone
License Entitlement
Security parameters
Kernel Parameters
Partitioning
Networking
Keyboard, Timezone
License Entitlement
JeOS Profiling
Package Updates
OS Repository Search
Package Time Machine
JeOS Profiling
Package Updates
OS Repository Search
Package Time Machine
Off-the-Shelf Software
Components
Off-the-Shelf Software
Components
Private Software CatalogPrivate Software Catalog
Configuration scriptsConfiguration scripts
1010
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Creating the Template: nginx Example
Verify the syntax: template validateVerify the syntax: template validate
$ hammr template validate --file nginx-template.yaml
Validating the template file [/Users/james/nginx-template.yaml] ...
OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok
$ hammr template validate --file nginx-template.yaml
Validating the template file [/Users/james/nginx-template.yaml] ...
OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok
Create the Template: template createCreate the Template: template create
$ hammr template create --file nginx-template.yaml
Validating the template file [/Users/james/nginx-template.yaml] ...
OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok
Creating template from temporary [/var/folders/f6/8kljm7cxgn/T/hammr-15888/archive.tar.gz] archive ...
100%|#############################################################################|
OK: Template create: DONE
Template URI: users/root/appliances/898
Template Id : 898
$ hammr template create --file nginx-template.yaml
Validating the template file [/Users/james/nginx-template.yaml] ...
OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok
Creating template from temporary [/var/folders/f6/8kljm7cxgn/T/hammr-15888/archive.tar.gz] archive ...
100%|#############################################################################|
OK: Template create: DONE
Template URI: users/root/appliances/898
Template Id : 898
1111
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Listing Created Templates
List created templates: template listList created templates: template list
$ hammr template list
+-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+
| Id | Name | Version | OS | Created | Last modified | # Imgs | Updates |
+=====+======================+=========+=====================+=====================+=====================+========+=========+
683 | nginx | 1.0 | Debian 8 x86_64 | 2016-05-02 13:59:25 | 2016-05-02 13:59:27 | 0 | 0 |
+-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+
Found 1 templates
$ hammr template list
+-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+
| Id | Name | Version | OS | Created | Last modified | # Imgs | Updates |
+=====+======================+=========+=====================+=====================+=====================+========+=========+
683 | nginx | 1.0 | Debian 8 x86_64 | 2016-05-02 13:59:25 | 2016-05-02 13:59:27 | 0 | 0 |
+-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+
Found 1 templates
1212
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Defining a Builder: Machine Image Format
$ vi nginx-template.yaml
---
...stack section omitted
builders:
- type: openstack
account:
file: "/home/joris/accounts/openstack-account.yaml"
tenant: opencloudware
image-name: test-nginx
description: joris test nginx image
$ vi nginx-template.yaml
---
...stack section omitted
builders:
- type: openstack
account:
file: "/home/joris/accounts/openstack-account.yaml"
tenant: opencloudware
image-name: test-nginx
description: joris test nginx image
builders keyword defining all the machine
Images to build
builders keyword defining all the machine
Images to build
Image formatImage format
Machine image registration informationMachine image registration information
Cloud account credentialsCloud account credentials
1313
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Defining a Builder: Publication Information
$ vi nginx-template.yaml
---
...stack section omitted
builders:
- type: openstack
account:
file: "/home/joris/accounts/openstack-account.yaml"
tenant: opencloudware
image-name: test-nginx
description: joris test nginx image
$ vi nginx-template.yaml
---
...stack section omitted
builders:
- type: openstack
account:
file: "/home/joris/accounts/openstack-account.yaml"
tenant: opencloudware
image-name: test-nginx
description: joris test nginx image
Cloud account credentialsCloud account credentials
$ vi openstack-account.yaml
---
accounts:
- type: openstack
name: My OpenStack Account
endpoint: http://ow2stack.org:9292/v1/
keystoneEndpoint: http://ow2stack.org:5000/v2.0
username: test
password: password
$ vi openstack-account.yaml
---
accounts:
- type: openstack
name: My OpenStack Account
endpoint: http://ow2stack.org:9292/v1/
keystoneEndpoint: http://ow2stack.org:5000/v2.0
username: test
password: password
1414
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Generating Machine Image(s)
Create any cloud account first: account createCreate any cloud account first: account create
$ hammr account create --file openstack-account.yaml
Validating the template file [openstack-account.yaml] ...
OK: Syntax of template file [openstack-account.yaml] is ok
Create account for 'ow2stack'...
OK: Account create successfully for [openstack]
$ hammr account create --file openstack-account.yaml
Validating the template file [openstack-account.yaml] ...
OK: Syntax of template file [openstack-account.yaml] is ok
Create account for 'ow2stack'...
OK: Account create successfully for [openstack]
Generate the machine images: template buildGenerate the machine images: template build
$ hammr template build --file nginx-template.yaml
Validating the template file [nginx-template.yaml] ...
Generating 'openstack' image (1/1)
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, created on ... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|
OK: Generation 'openstack' ok
Image URI: users/root/appliances/21/images/47
Image Id : 47
$ hammr template build --file nginx-template.yaml
Validating the template file [nginx-template.yaml] ...
Generating 'openstack' image (1/1)
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, created on ... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|
OK: Generation 'openstack' ok
Image URI: users/root/appliances/21/images/47
Image Id : 47
Image ID: 47, used to register this generated machine image to the target cloud environmentImage ID: 47, used to register this generated machine image to the target cloud environment
1515
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Publishing Machine Image(s)
Publishing the generated machine image: image publishPublishing the generated machine image: image publish
$ hammr image publish --id 47 --file nginx-template.yaml
Publishing 'openstack' image (1/1)
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, published o... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|
OK: Publication to 'ow2stack' is ok
Cloud ID : 37d20dba-7a1c-43f9-9c77-c05f60d3094c
$ hammr image publish --id 47 --file nginx-template.yaml
Publishing 'openstack' image (1/1)
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, published o... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|
OK: Publication to 'ow2stack' is ok
Cloud ID : 37d20dba-7a1c-43f9-9c77-c05f60d3094c
Listing Your Images: image listListing Your Images: image list
$ hammr image list$ hammr image list
Cloud ID: used for provisioning instances on OpenStackCloud ID: used for provisioning instances on OpenStack
1616
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Supported Target Machine Image Formats
> ISO> ISO > Hyper-V
> KVM
> Raw
> QCOW2
> Vagrant
> VirtualBox
> VHD
> VMware Workstation
> VMware ESXi
> VMware vCenter vSphere
> Xen
> Hyper-V
> KVM
> Raw
> QCOW2
> Vagrant
> VirtualBox
> VHD
> VMware Workstation
> VMware ESXi
> VMware vCenter vSphere
> Xen
> Abiquo
> AWS (EC2)
> CloudStack
> Eucalyptus (EMI)
> Flexiant
> Google Compute Engine
> Microsoft Azure
> Nimbula
> OpenStack
> VMware VCD
> Abiquo
> AWS (EC2)
> CloudStack
> Eucalyptus (EMI)
> Flexiant
> Google Compute Engine
> Microsoft Azure
> Nimbula
> OpenStack
> VMware VCD
PhysicalPhysical VirtualVirtual CloudCloud ContainerContainer
> Docker
> LXC
> Docker
> LXC
1717
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Docker Integration
1818
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr: Docker Image Support
Self-contained Docker Base Image
(1 Docker image by hammr file)
Self-contained Docker Base Image
(1 Docker image by hammr file)
BenefitsBenefits
Software governance for Docker Images
Consistency between VM ↔ Docker Images
Software governance for Docker Images
Consistency between VM ↔ Docker Images
> Full software governance: keep control over all software packages
and versions within your image
> Transparency: see at a glance which OS packages and software files
make up your image
> Repeatability: generate a consistent Docker image each and every
time
> Full software governance: keep control over all software packages
and versions within your image
> Transparency: see at a glance which OS packages and software files
make up your image
> Repeatability: generate a consistent Docker image each and every
time
1919
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Latest News and
Outlook
2020
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr: Latest Features
BenefitsBenefits
Software governance for Docker Images
Consistency between VM ↔ Docker Images
Software governance for Docker Images
Consistency between VM ↔ Docker Images
> YAML support
> Facility to define a software bundle from a directory
> Compatibility with UForge AppCenter 3.6
> Support of Outscale cloud format
> Hammr documentation moved to Read the Docs
> Documentation source on Github
> YAML support
> Facility to define a software bundle from a directory
> Compatibility with UForge AppCenter 3.6
> Support of Outscale cloud format
> Hammr documentation moved to Read the Docs
> Documentation source on Github
2121
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Hammr: Outlook
BenefitsBenefits
Software governance for Docker Images
Consistency between VM ↔ Docker Images
Software governance for Docker Images
Consistency between VM ↔ Docker Images
> Improve workload migration automation
> Authentication modes on source workloads
> Support of Docker layers
> Model layers
> Assemble a stack from layers
> Bundles enhancement
> Add configuration scripts and OS packages to bundles
> Ability to execute scripts at template build time
> Improve workload migration automation
> Authentication modes on source workloads
> Support of Docker layers
> Model layers
> Assemble a stack from layers
> Bundles enhancement
> Add configuration scripts and OS packages to bundles
> Ability to execute scripts at template build time
2222
© Copyright 2016 UShareSoft© Copyright 2016 UShareSoft
Machine image & container builder
for the cloud
It's an open source OW2 project
Use it! Contributions welcome!
hammr.io
ow2.org/ActivitiesDashboard/hammr
https://github.com/usharesoft/hammr
Copyright © UShareSoft 2016Copyright © UShareSoft 2016
Joris Bremond, Alexandre Lefebvre
joris.bremond@usharesoft.com
alexandre.lefebvre@usharesoft.com
www.usharesoft.com
@usharesoft

More Related Content

PDF
Hacking in shadows By - Raghav Bisht
PDF
kubernetes practice
PDF
Plone 5 and machine learning
PDF
How containers helped a SaaS startup be developed and go live
DOCX
Web-servers & Application Hacking
PPTX
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
PPTX
Running Docker in Development & Production (#ndcoslo 2015)
PDF
Securing Prometheus exporters using HashiCorp Vault
Hacking in shadows By - Raghav Bisht
kubernetes practice
Plone 5 and machine learning
How containers helped a SaaS startup be developed and go live
Web-servers & Application Hacking
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
Running Docker in Development & Production (#ndcoslo 2015)
Securing Prometheus exporters using HashiCorp Vault

What's hot (20)

PDF
Automated Java Deployments With Rpm
PDF
Vagrant + Rouster at salesforce.com - PuppetConf 2013
DOCX
Network Manual
PDF
How to send DNS over anything encrypted
PDF
Keybase Vault Auto-Unseal HashiTalks2020
PDF
Attacking Oracle with the Metasploit Framework
PDF
Da APK al Golden Ticket
PDF
HTTP For the Good or the Bad
PDF
Resource registries plone conf 2014
PDF
AllegroCache with Web Servers
PDF
Windows Attacks AT is the new black
PDF
Php through the eyes of a hoster phpbnl11
PPT
Why and How Powershell will rule the Command Line - Barcamp LA 4
DOCX
Antivirus Bypass Techniques - 2016
PDF
Data Encryption at Rest
PPTX
Real World Experience of Running Docker in Development and Production
PDF
Final opensource record 2019
PPTX
Drilling deeper with Veil's PowerTools
PPTX
Malware Detection with OSSEC HIDS - OSSECCON 2014
PDF
Vagrant for real codemotion (moar tips! ;-))
Automated Java Deployments With Rpm
Vagrant + Rouster at salesforce.com - PuppetConf 2013
Network Manual
How to send DNS over anything encrypted
Keybase Vault Auto-Unseal HashiTalks2020
Attacking Oracle with the Metasploit Framework
Da APK al Golden Ticket
HTTP For the Good or the Bad
Resource registries plone conf 2014
AllegroCache with Web Servers
Windows Attacks AT is the new black
Php through the eyes of a hoster phpbnl11
Why and How Powershell will rule the Command Line - Barcamp LA 4
Antivirus Bypass Techniques - 2016
Data Encryption at Rest
Real World Experience of Running Docker in Development and Production
Final opensource record 2019
Drilling deeper with Veil's PowerTools
Malware Detection with OSSEC HIDS - OSSECCON 2014
Vagrant for real codemotion (moar tips! ;-))
Ad

Viewers also liked (20)

PPTX
Palacio Gobierno del Ecuador
PDF
Transforming Datacenter Jaspersoft-ow2-conference-nov10
 
PDF
Microsoft Power Point Customview360 Linked In
PPT
Present Progressive Presentation
PPS
God Love You
PPT
Indexing Still and Moving Images
PPTX
Mfs Power Point Slides
PDF
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
 
PPTX
Inquiry presentation
PDF
Применение графических ускорителей в браузерах
PDF
Ow2 Today Solution Linux2010
 
PDF
SpagoBi Real Time Business Intelligence, OW2con11, Nov 24-25, Paris
 
PDF
OW2 @ China Cloud Computing Conference 2013
 
PPTX
LinkedIn and Twitter Lab for Beginners
PDF
JOnAS Addons, OW2con 2011, Nov 24-25, Paris
 
PPT
Serpica Naro
PDF
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
PDF
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
 
PPT
1 literatura hispanoamericana
PDF
Open Source Governance in OW2 SQUAT program, OW2con'12, Paris
 
Palacio Gobierno del Ecuador
Transforming Datacenter Jaspersoft-ow2-conference-nov10
 
Microsoft Power Point Customview360 Linked In
Present Progressive Presentation
God Love You
Indexing Still and Moving Images
Mfs Power Point Slides
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
 
Inquiry presentation
Применение графических ускорителей в браузерах
Ow2 Today Solution Linux2010
 
SpagoBi Real Time Business Intelligence, OW2con11, Nov 24-25, Paris
 
OW2 @ China Cloud Computing Conference 2013
 
LinkedIn and Twitter Lab for Beginners
JOnAS Addons, OW2con 2011, Nov 24-25, Paris
 
Serpica Naro
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
 
1 literatura hispanoamericana
Open Source Governance in OW2 SQUAT program, OW2con'12, Paris
 
Ad

Similar to Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW2con'16, Paris. (20)

PDF
Industrializing the creation of machine images and Docker containers for clou...
 
PDF
Building Trusted Docker Images for Hybrid Cloud: What's New With Project Hamm...
 
PDF
Build, migrate and deploy apps for any environment with project Hammr , OW2co...
 
PDF
From Dev to DevOps
PDF
From Dev to DevOps - Codemotion ES 2012
PDF
Open stack meetup_boston_ubuntu_cloud
PDF
DCSF 19 Building Your Development Pipeline
KEY
From Dev to DevOps - ApacheCON NA 2011
PDF
On-Demand Image Resizing
PDF
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
PPTX
Csa container-security-in-aws-dw
PDF
OpenSource ToolChain for the Hybrid Cloud
PDF
OpenStack & Ubuntu (india openstack day)
PDF
My complicated WordPress site
ODP
Automated Deployment using Open Source
PDF
Containerizing legacy applications
PPTX
Kubernetes @ meetic
PPTX
Academy PRO: Docker. Lecture 2
PDF
The DevOps Paradigm
PDF
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Industrializing the creation of machine images and Docker containers for clou...
 
Building Trusted Docker Images for Hybrid Cloud: What's New With Project Hamm...
 
Build, migrate and deploy apps for any environment with project Hammr , OW2co...
 
From Dev to DevOps
From Dev to DevOps - Codemotion ES 2012
Open stack meetup_boston_ubuntu_cloud
DCSF 19 Building Your Development Pipeline
From Dev to DevOps - ApacheCON NA 2011
On-Demand Image Resizing
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Csa container-security-in-aws-dw
OpenSource ToolChain for the Hybrid Cloud
OpenStack & Ubuntu (india openstack day)
My complicated WordPress site
Automated Deployment using Open Source
Containerizing legacy applications
Kubernetes @ meetic
Academy PRO: Docker. Lecture 2
The DevOps Paradigm
The DevOps paradigm - the evolution of IT professionals and opensource toolkit

More from OW2 (20)

PDF
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
 
PDF
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
 
PDF
GLPi v.10, les fonctionnalités principales et l'offre cloud
 
PDF
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
 
PDF
FusionIAM : la gestion des identités et des accés open source
 
PDF
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
 
PDF
SFScon'20 Bringing the User into the Equation
 
PDF
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
 
PDF
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
 
PDF
Open Source governance and the Eclipse Foundation, OW2online, June 2020
 
PDF
Open source contribution policies, OW2online, June 2020
 
PDF
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
 
PDF
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
 
PDF
Open Source Compliance at Orange, OW2online, June 2020
 
PDF
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
 
PDF
Intelligent package management with FASTEN, OW2online, June 2020
 
PDF
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
 
PDF
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
 
PDF
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
 
PDF
Cacti and Big Data at Orange France, OW2online, June 2020
 
OW2 and RIOS teaming up to boost the open source impact, Nov. 2022 in Roma
 
The Open Source Good Governance Initiative presented at RIOS OS Week, Nov. 20...
 
GLPi v.10, les fonctionnalités principales et l'offre cloud
 
Centreon: superviser le Cloud et le Legacy à partir d'une même plateforme, po...
 
FusionIAM : la gestion des identités et des accés open source
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
 
SFScon'20 Bringing the User into the Equation
 
Towards a sustainable solution to open source sustainability, OW2online20, Ju...
 
Advanced proactive and polymorphing cloud application adaptation with MORPHEM...
 
Open Source governance and the Eclipse Foundation, OW2online, June 2020
 
Open source contribution policies, OW2online, June 2020
 
Software development at scale, pandemic lockdown and oss ecosystems, OW2onlin...
 
Overview of the OpenChain Reference Tooling Work Group, OW2online20, June 2020
 
Open Source Compliance at Orange, OW2online, June 2020
 
Ideas, methods and tools for OSS Compliance assessment, OW2online, June 2020
 
Intelligent package management with FASTEN, OW2online, June 2020
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
 
Enabling DevOps for IoT software development, powered by Open Source, OW2onli...
 
Upcoming Challenges in Artificial Intelligence Research and Development, OW2o...
 
Cacti and Big Data at Orange France, OW2online, June 2020
 

Recently uploaded (20)

PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
August Patch Tuesday
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mushroom cultivation and it's methods.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
SOPHOS-XG Firewall Administrator PPT.pptx
OMC Textile Division Presentation 2021.pptx
August Patch Tuesday
A comparative analysis of optical character recognition models for extracting...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
TLE Review Electricity (Electricity).pptx
Machine Learning_overview_presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Tartificialntelligence_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25-Week II
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Heart disease approach using modified random forest and particle swarm optimi...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mushroom cultivation and it's methods.pdf
Encapsulation_ Review paper, used for researhc scholars

Hammr Project Update: Machine Images and Docker Containers for your Cloud, OW2con'16, Paris.

  • 1. Copyright © UShareSoft 2016Copyright © UShareSoft 2016 Look Beyond the Cloud Hammr Project Update: Machine Images and Docker Containers for your Cloud Joris Bremond, Software Development Engineer, UShareSoft Alexandre Lefebvre, Professional Services, UShareSoft
  • 2. 22 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft What is ?
  • 3. 33 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr Command-Line Tool Hammr Command-line Tool: Consistent Machine Images from a Single Configuration FileHammr Command-line Tool: Consistent Machine Images from a Single Configuration File > Open source OW2 project > command-line tool written in Python > http://www.ow2.org/bin/view/ActivitiesDashboard/hammr – www.hammr.io > Github: https://github.com/usharesoft/hammr > Open source OW2 project > command-line tool written in Python > http://www.ow2.org/bin/view/ActivitiesDashboard/hammr – www.hammr.io > Github: https://github.com/usharesoft/hammr
  • 4. 44 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr overall architecture
  • 5. 55 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Installing hammr Installing Hammr Install Hammr system dependencies first, then Installing Hammr Install Hammr system dependencies first, then $ pip install hammr $ hammr –v hammr version '0.2.5.10' $ pip install hammr $ hammr –v hammr version '0.2.5.10' Help MenuHelp Menu $ hammr --help$ hammr --help
  • 6. 66 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Creating & Managing your Stacks with
  • 7. 77 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Getting Started with Hammr > Template file: configuration file (Yaml or Json) > Describe your application stack using the stack keyword > Generate machine or containers images by defining builders > Publish the generated machine images using your cloud credentials or download its to your computer > Template file: configuration file (Yaml or Json) > Describe your application stack using the stack keyword > Generate machine or containers images by defining builders > Publish the generated machine images using your cloud credentials or download its to your computer
  • 8. 88 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Defining your Stack: nginx Example $ vi nginx-template.yaml --- stack: name: nginx version: '1.0' os: name: Debian version: '8' arch: x86_64 profile: Minimal pkgs: - name: nginx installation: diskSize: 12288 $ vi nginx-template.yaml --- stack: name: nginx version: '1.0' os: name: Debian version: '8' arch: x86_64 profile: Minimal pkgs: - name: nginx installation: diskSize: 12288 stack keyword defining the content of your stackstack keyword defining the content of your stack os keyword defining the os profile and packagesos keyword defining the os profile and packages installation keyword defining the “install” parametersinstallation keyword defining the “install” parameters
  • 9. 99 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr: Modeling the Stack from a Single File Security parameters Kernel Parameters Partitioning Networking Keyboard, Timezone License Entitlement Security parameters Kernel Parameters Partitioning Networking Keyboard, Timezone License Entitlement JeOS Profiling Package Updates OS Repository Search Package Time Machine JeOS Profiling Package Updates OS Repository Search Package Time Machine Off-the-Shelf Software Components Off-the-Shelf Software Components Private Software CatalogPrivate Software Catalog Configuration scriptsConfiguration scripts
  • 10. 1010 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Creating the Template: nginx Example Verify the syntax: template validateVerify the syntax: template validate $ hammr template validate --file nginx-template.yaml Validating the template file [/Users/james/nginx-template.yaml] ... OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok $ hammr template validate --file nginx-template.yaml Validating the template file [/Users/james/nginx-template.yaml] ... OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok Create the Template: template createCreate the Template: template create $ hammr template create --file nginx-template.yaml Validating the template file [/Users/james/nginx-template.yaml] ... OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok Creating template from temporary [/var/folders/f6/8kljm7cxgn/T/hammr-15888/archive.tar.gz] archive ... 100%|#############################################################################| OK: Template create: DONE Template URI: users/root/appliances/898 Template Id : 898 $ hammr template create --file nginx-template.yaml Validating the template file [/Users/james/nginx-template.yaml] ... OK: Syntax of template file [/Users/james/nginx-template.yaml] is ok Creating template from temporary [/var/folders/f6/8kljm7cxgn/T/hammr-15888/archive.tar.gz] archive ... 100%|#############################################################################| OK: Template create: DONE Template URI: users/root/appliances/898 Template Id : 898
  • 11. 1111 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Listing Created Templates List created templates: template listList created templates: template list $ hammr template list +-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+ | Id | Name | Version | OS | Created | Last modified | # Imgs | Updates | +=====+======================+=========+=====================+=====================+=====================+========+=========+ 683 | nginx | 1.0 | Debian 8 x86_64 | 2016-05-02 13:59:25 | 2016-05-02 13:59:27 | 0 | 0 | +-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+ Found 1 templates $ hammr template list +-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+ | Id | Name | Version | OS | Created | Last modified | # Imgs | Updates | +=====+======================+=========+=====================+=====================+=====================+========+=========+ 683 | nginx | 1.0 | Debian 8 x86_64 | 2016-05-02 13:59:25 | 2016-05-02 13:59:27 | 0 | 0 | +-----+----------------------+---------+---------------------+---------------------+---------------------+--------+---------+ Found 1 templates
  • 12. 1212 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Defining a Builder: Machine Image Format $ vi nginx-template.yaml --- ...stack section omitted builders: - type: openstack account: file: "/home/joris/accounts/openstack-account.yaml" tenant: opencloudware image-name: test-nginx description: joris test nginx image $ vi nginx-template.yaml --- ...stack section omitted builders: - type: openstack account: file: "/home/joris/accounts/openstack-account.yaml" tenant: opencloudware image-name: test-nginx description: joris test nginx image builders keyword defining all the machine Images to build builders keyword defining all the machine Images to build Image formatImage format Machine image registration informationMachine image registration information Cloud account credentialsCloud account credentials
  • 13. 1313 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Defining a Builder: Publication Information $ vi nginx-template.yaml --- ...stack section omitted builders: - type: openstack account: file: "/home/joris/accounts/openstack-account.yaml" tenant: opencloudware image-name: test-nginx description: joris test nginx image $ vi nginx-template.yaml --- ...stack section omitted builders: - type: openstack account: file: "/home/joris/accounts/openstack-account.yaml" tenant: opencloudware image-name: test-nginx description: joris test nginx image Cloud account credentialsCloud account credentials $ vi openstack-account.yaml --- accounts: - type: openstack name: My OpenStack Account endpoint: http://ow2stack.org:9292/v1/ keystoneEndpoint: http://ow2stack.org:5000/v2.0 username: test password: password $ vi openstack-account.yaml --- accounts: - type: openstack name: My OpenStack Account endpoint: http://ow2stack.org:9292/v1/ keystoneEndpoint: http://ow2stack.org:5000/v2.0 username: test password: password
  • 14. 1414 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Generating Machine Image(s) Create any cloud account first: account createCreate any cloud account first: account create $ hammr account create --file openstack-account.yaml Validating the template file [openstack-account.yaml] ... OK: Syntax of template file [openstack-account.yaml] is ok Create account for 'ow2stack'... OK: Account create successfully for [openstack] $ hammr account create --file openstack-account.yaml Validating the template file [openstack-account.yaml] ... OK: Syntax of template file [openstack-account.yaml] is ok Create account for 'ow2stack'... OK: Account create successfully for [openstack] Generate the machine images: template buildGenerate the machine images: template build $ hammr template build --file nginx-template.yaml Validating the template file [nginx-template.yaml] ... Generating 'openstack' image (1/1) |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, created on ... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<| OK: Generation 'openstack' ok Image URI: users/root/appliances/21/images/47 Image Id : 47 $ hammr template build --file nginx-template.yaml Validating the template file [nginx-template.yaml] ... Generating 'openstack' image (1/1) |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, created on ... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<| OK: Generation 'openstack' ok Image URI: users/root/appliances/21/images/47 Image Id : 47 Image ID: 47, used to register this generated machine image to the target cloud environmentImage ID: 47, used to register this generated machine image to the target cloud environment
  • 15. 1515 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Publishing Machine Image(s) Publishing the generated machine image: image publishPublishing the generated machine image: image publish $ hammr image publish --id 47 --file nginx-template.yaml Publishing 'openstack' image (1/1) |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, published o... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<| OK: Publication to 'ow2stack' is ok Cloud ID : 37d20dba-7a1c-43f9-9c77-c05f60d3094c $ hammr image publish --id 47 --file nginx-template.yaml Publishing 'openstack' image (1/1) |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%: Done, published o... |<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<| OK: Publication to 'ow2stack' is ok Cloud ID : 37d20dba-7a1c-43f9-9c77-c05f60d3094c Listing Your Images: image listListing Your Images: image list $ hammr image list$ hammr image list Cloud ID: used for provisioning instances on OpenStackCloud ID: used for provisioning instances on OpenStack
  • 16. 1616 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Supported Target Machine Image Formats > ISO> ISO > Hyper-V > KVM > Raw > QCOW2 > Vagrant > VirtualBox > VHD > VMware Workstation > VMware ESXi > VMware vCenter vSphere > Xen > Hyper-V > KVM > Raw > QCOW2 > Vagrant > VirtualBox > VHD > VMware Workstation > VMware ESXi > VMware vCenter vSphere > Xen > Abiquo > AWS (EC2) > CloudStack > Eucalyptus (EMI) > Flexiant > Google Compute Engine > Microsoft Azure > Nimbula > OpenStack > VMware VCD > Abiquo > AWS (EC2) > CloudStack > Eucalyptus (EMI) > Flexiant > Google Compute Engine > Microsoft Azure > Nimbula > OpenStack > VMware VCD PhysicalPhysical VirtualVirtual CloudCloud ContainerContainer > Docker > LXC > Docker > LXC
  • 17. 1717 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Docker Integration
  • 18. 1818 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr: Docker Image Support Self-contained Docker Base Image (1 Docker image by hammr file) Self-contained Docker Base Image (1 Docker image by hammr file) BenefitsBenefits Software governance for Docker Images Consistency between VM ↔ Docker Images Software governance for Docker Images Consistency between VM ↔ Docker Images > Full software governance: keep control over all software packages and versions within your image > Transparency: see at a glance which OS packages and software files make up your image > Repeatability: generate a consistent Docker image each and every time > Full software governance: keep control over all software packages and versions within your image > Transparency: see at a glance which OS packages and software files make up your image > Repeatability: generate a consistent Docker image each and every time
  • 19. 1919 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Latest News and Outlook
  • 20. 2020 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr: Latest Features BenefitsBenefits Software governance for Docker Images Consistency between VM ↔ Docker Images Software governance for Docker Images Consistency between VM ↔ Docker Images > YAML support > Facility to define a software bundle from a directory > Compatibility with UForge AppCenter 3.6 > Support of Outscale cloud format > Hammr documentation moved to Read the Docs > Documentation source on Github > YAML support > Facility to define a software bundle from a directory > Compatibility with UForge AppCenter 3.6 > Support of Outscale cloud format > Hammr documentation moved to Read the Docs > Documentation source on Github
  • 21. 2121 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Hammr: Outlook BenefitsBenefits Software governance for Docker Images Consistency between VM ↔ Docker Images Software governance for Docker Images Consistency between VM ↔ Docker Images > Improve workload migration automation > Authentication modes on source workloads > Support of Docker layers > Model layers > Assemble a stack from layers > Bundles enhancement > Add configuration scripts and OS packages to bundles > Ability to execute scripts at template build time > Improve workload migration automation > Authentication modes on source workloads > Support of Docker layers > Model layers > Assemble a stack from layers > Bundles enhancement > Add configuration scripts and OS packages to bundles > Ability to execute scripts at template build time
  • 22. 2222 © Copyright 2016 UShareSoft© Copyright 2016 UShareSoft Machine image & container builder for the cloud It's an open source OW2 project Use it! Contributions welcome! hammr.io ow2.org/ActivitiesDashboard/hammr https://github.com/usharesoft/hammr
  • 23. Copyright © UShareSoft 2016Copyright © UShareSoft 2016 Joris Bremond, Alexandre Lefebvre joris.bremond@usharesoft.com alexandre.lefebvre@usharesoft.com www.usharesoft.com @usharesoft