SlideShare a Scribd company logo
www.cfengine.com
Releases
www.cfengine.com
Releases
• How do they happen?
• Sneak peek at 3.7.0
www.cfengine.com
How do releases happen?
• Why is this important?
• A significant change since 3.6.0
• What can be expected from:
– New releases
– Release schedule
www.cfengine.com
Versions
• The 3.6 series (maintenance releases)
– Stable series
– Only bug fixes and small optimizations
– No new features
• The 3.7 series (next feature release)
– The place for development
– New features
– Bigger rewrites and optimizations
– Once released it becomes new stable series
www.cfengine.com
What is a feature?
• Anything that changes:
– Syntax
– Behavior (other than simple bugs)
– Storage format
– Network protocol
– Query API (Enterprise)
www.cfengine.com
What is a feature?
• Not a feature:
– Additions to masterfiles that are syntax
compatible
– Support for a new platform
www.cfengine.com
Version focus
• Focusing on 3.6 right now
– Getting a stable base to work on
– A lot of focus on tests
– Platform support
• Focus will then shift to 3.7
– Most likely 2015 Q1 or early Q2
– Scope will still be smaller than previous feature
releases
www.cfengine.com
Release timing
• Time based releases
– Every six weeks a new release
– Changes not ready will wait for the next
• Aiming for eight releases per year
– Two feature releases
– The rest maintenance releases
• It's a guideline, not a hard rule
www.cfengine.com
The release
• Community release candidate one week
before
– Feature releases may get it earlier (not decided
yet)
• Community and Enterprise released at the
same time
www.cfengine.com
New features in 3.7.0
• Coming features
• Possible language tweaks
• Features being considered
– For Community
– For Enterprise
www.cfengine.com
Coming features
• Improved logging format
• YAML support
• New functions
www.cfengine.com
Improved logging format
• 3.6 logs:
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods: Evaluating promise
'rotate_outputs'
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'[0]: Comment
'Delete outputs/* files older than 30 days'
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir
: Augment scope 'prunedir' with variable 'dir' (type: s)
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir
: Augment scope 'prunedir' with variable 'max_days' (type: s)
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir
: Evaluating bundle pass 1
2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/
'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir
/files: Evaluating promise '$(dir)'
...
www.cfengine.com
Improved logging format
• 3.7 logs:
P: .........................................................
P: BEGIN un-named promise of type "methods" (pass 1)
P: Promiser/affected object: 'rotate_outputs'
P: From parameterized bundle:
cfe_internal_log_rotation( {'@(def.cfe_log_dirs)','30'})
P: Base context class: cfengine_internal_rotate_logs
P: Container path :
'/default/cfe_internal_management/methods/'any'/default/cfe_internal_log_rotation/m
ethods/'rotate_outputs'[0]: '
P:
P: Comment: Delete outputs/* files older than 30 days
P: .........................................................
B: *****************************************************************
B: BEGIN bundle prunedir( {'@(def.cfe_log_dirs)','30'})
B: *****************************************************************
... Other promises and messages ...
A: Promise was KEPT
P: END methods promise (rotate_outputs...)
www.cfengine.com
Improved logging format
• Headers
• Grouping
• Message type prefixes
– Ex. “C:” for classes, “B:” for bundles
• No timestamps
– Can be turned on though
www.cfengine.com
YAML support
• YAML extends JSON
– Valid JSON is also valid YAML
• More human readable
• CFEngine implements YAML support through
functions:
– parseyaml
– readyaml
www.cfengine.com
YAML support
• JSON: • YAML:
{
name: “John Smith”,
possessions: [
“House”,
“Car”
]
}
name: John Smith
possessions:
- House
- Car
www.cfengine.com
YAML support
Demo
www.cfengine.com
New functions
• expandrange
– Generate ranges of numbers
• file_hash
– Compute hash of a file of a given type
• readcsv
– Read CSV from a file
– Similar to data_readstringarrayidx, but
parsed according to RFC 4180
www.cfengine.com
Minor additions
• Simplified methods promises
methods:
“mypromise” usebundle => “method_mybundle”; # <-- This is equivalent
“mybundle”; # <-- to this
• Shortened ifvarclass
vars:
“var1” string => “1”
ifvarclass => “linux”; # <-- This is equivalent
“var1” string => “1”
if => “linux”; # <-- to this
“var1” string => “1”
ifvarclass => “!linux”; # <-- And this is equivalent
“var1” string => “1”
unless => “linux”; # <-- to this
www.cfengine.com
Possible language tweaks
• Deprecation attribute for bundles and bodies
• Replace comment with reason
• transform attribute which runs in a shell
www.cfengine.com
Features being considered
• Community
– SQLite databases promise backend
– Docker support in guest_environments promises
– Network promises
– Redesigned packages promises
• Enterprise
– User specific dashboards
– Alert sharing
www.cfengine.com
Network - interfaces
• Set interface properties, such as
– Link state
– IP addresses
– Bridge interfaces
– Duplex mode
– Configure OSPF
www.cfengine.com
Network - routes
• Define pathways in the network
– Add subnets
– Define gateways to reach them
– Define interface leading to subnet
www.cfengine.com
Network - addresses
• ARP manipulation for layer 2 tunnelling
– Give explicit MAC addresses for IP addresses
– Quite specialized
• VXLAN is an example
www.cfengine.com
Network promises
• Future developments
– iptables promise?
www.cfengine.com
Redesigned package promise
• Too many problems with existing promise
• Redesigned promise
– Focus on main use cases
• Install latest or specific version
• Remove package
• Pin package (prevent upgrade)
• Performance
– Secondary
• Wildcards and '<', '>' version operators
www.cfengine.com
Redesigned package promise
• Rewrite the C backend
• A lot of knowledge in masterfiles
– Reuse as much as possible
– But change attributes when it makes sense
• Keep the old C backend around for backwards
compatibility
www.cfengine.com
New features in 3.7.0
• What would you like to see in 3.7?
• Reminder: We use “watch count” in the bug
tracker to gauge interest
– Make your voice heard today!
• Discussion afterwards
www.cfengine.com
Releases
Questions?
www.cfengine.com
Releases
Thank you!

More Related Content

What's hot

Nodes Roadmap Linked via cPanel
Nodes Roadmap Linked via cPanelNodes Roadmap Linked via cPanel
Nodes Roadmap Linked via cPanel
HTS Hosting
 
Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006
Daniel Fagerstrom
 
West Yorkshire Meetup #4
West Yorkshire Meetup #4West Yorkshire Meetup #4
West Yorkshire Meetup #4
Francis Edwards
 
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPress
Edmund Turbin
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
Wannes Rams
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
Sharon James
 
Getting modern with my sql
Getting modern with my sqlGetting modern with my sql
Getting modern with my sql
Jakob Lorberblatt
 
SPSMUC22 - SharePoint Patching Demystified
SPSMUC22 - SharePoint Patching DemystifiedSPSMUC22 - SharePoint Patching Demystified
SPSMUC22 - SharePoint Patching Demystified
Stefan Goßner
 
Until Successful Scope With Mule ESB
Until Successful Scope With Mule ESBUntil Successful Scope With Mule ESB
Until Successful Scope With Mule ESB
Jitendra Bafna
 
Column encoding
Column encodingColumn encoding
Column encoding
Samarth Jain
 
Managing and Monitoring HANA 2 active:active with System Replication
Managing and Monitoring HANA 2 active:active with System ReplicationManaging and Monitoring HANA 2 active:active with System Replication
Managing and Monitoring HANA 2 active:active with System Replication
Linh Nguyen
 
Previewing Payara Platform 5.192
Previewing Payara Platform 5.192Previewing Payara Platform 5.192
Previewing Payara Platform 5.192
Payara
 
A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0
Sarah Dutkiewicz
 
SAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HASAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HA
Linh Nguyen
 
Mule Quartz connector
Mule Quartz connectorMule Quartz connector
Mule Quartz connector
Ankush Sharma
 
New features in PMTA 5.0
New features in PMTA 5.0New features in PMTA 5.0
New features in PMTA 5.0
SparkPost
 
Mule java part-1
Mule java part-1Mule java part-1
Mule java part-1
Karnam Karthik
 
Filas com php
Filas com phpFilas com php
Filas com php
Ivan Rosolen
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
Lenz Grimmer
 
Alfresco Day Platform Update
Alfresco Day Platform UpdateAlfresco Day Platform Update
Alfresco Day Platform Update
ohej
 

What's hot (20)

Nodes Roadmap Linked via cPanel
Nodes Roadmap Linked via cPanelNodes Roadmap Linked via cPanel
Nodes Roadmap Linked via cPanel
 
Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006
 
West Yorkshire Meetup #4
West Yorkshire Meetup #4West Yorkshire Meetup #4
West Yorkshire Meetup #4
 
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPress
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
Getting modern with my sql
Getting modern with my sqlGetting modern with my sql
Getting modern with my sql
 
SPSMUC22 - SharePoint Patching Demystified
SPSMUC22 - SharePoint Patching DemystifiedSPSMUC22 - SharePoint Patching Demystified
SPSMUC22 - SharePoint Patching Demystified
 
Until Successful Scope With Mule ESB
Until Successful Scope With Mule ESBUntil Successful Scope With Mule ESB
Until Successful Scope With Mule ESB
 
Column encoding
Column encodingColumn encoding
Column encoding
 
Managing and Monitoring HANA 2 active:active with System Replication
Managing and Monitoring HANA 2 active:active with System ReplicationManaging and Monitoring HANA 2 active:active with System Replication
Managing and Monitoring HANA 2 active:active with System Replication
 
Previewing Payara Platform 5.192
Previewing Payara Platform 5.192Previewing Payara Platform 5.192
Previewing Payara Platform 5.192
 
A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0A Lap Around PowerShell 3.0
A Lap Around PowerShell 3.0
 
SAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HASAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HA
 
Mule Quartz connector
Mule Quartz connectorMule Quartz connector
Mule Quartz connector
 
New features in PMTA 5.0
New features in PMTA 5.0New features in PMTA 5.0
New features in PMTA 5.0
 
Mule java part-1
Mule java part-1Mule java part-1
Mule java part-1
 
Filas com php
Filas com phpFilas com php
Filas com php
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
 
Alfresco Day Platform Update
Alfresco Day Platform UpdateAlfresco Day Platform Update
Alfresco Day Platform Update
 

Similar to Releases - CFEngine presentation - Configuration Management Camp 2015

Year in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product UpdatesYear in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product Updates
Perforce
 
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groupsUnbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Isabelle Van Campenhoudt
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
Senturus
 
Soccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM ConnectionsSoccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM Connections
panagenda
 
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
serge luca
 
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
TYPO3 CertiFUNcation
 
OSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical UpdateOSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical Update
mfrancis
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
Phil Pursglove
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM Connections
LetsConnect
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - Webinar
CFEngine
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
SPC Adriatics
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Continuent
 
Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections Pink
Nico Meisenzahl
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
Phil Pursglove
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
Michelangelo van Dam
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
Ralph Attard
 
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
TAUS - The Language Data Network
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective
Perforce
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
serge luca
 

Similar to Releases - CFEngine presentation - Configuration Management Camp 2015 (20)

Year in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product UpdatesYear in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product Updates
 
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groupsUnbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Soccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM ConnectionsSoccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM Connections
 
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
 
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
 
OSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical UpdateOSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical Update
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM Connections
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - Webinar
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
 
Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections Pink
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
 
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
TAUS Moses Industry Roundtable 2014, Changes in Moses, Hieu Hoang, University...
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 

Releases - CFEngine presentation - Configuration Management Camp 2015

  • 2. www.cfengine.com Releases • How do they happen? • Sneak peek at 3.7.0
  • 3. www.cfengine.com How do releases happen? • Why is this important? • A significant change since 3.6.0 • What can be expected from: – New releases – Release schedule
  • 4. www.cfengine.com Versions • The 3.6 series (maintenance releases) – Stable series – Only bug fixes and small optimizations – No new features • The 3.7 series (next feature release) – The place for development – New features – Bigger rewrites and optimizations – Once released it becomes new stable series
  • 5. www.cfengine.com What is a feature? • Anything that changes: – Syntax – Behavior (other than simple bugs) – Storage format – Network protocol – Query API (Enterprise)
  • 6. www.cfengine.com What is a feature? • Not a feature: – Additions to masterfiles that are syntax compatible – Support for a new platform
  • 7. www.cfengine.com Version focus • Focusing on 3.6 right now – Getting a stable base to work on – A lot of focus on tests – Platform support • Focus will then shift to 3.7 – Most likely 2015 Q1 or early Q2 – Scope will still be smaller than previous feature releases
  • 8. www.cfengine.com Release timing • Time based releases – Every six weeks a new release – Changes not ready will wait for the next • Aiming for eight releases per year – Two feature releases – The rest maintenance releases • It's a guideline, not a hard rule
  • 9. www.cfengine.com The release • Community release candidate one week before – Feature releases may get it earlier (not decided yet) • Community and Enterprise released at the same time
  • 10. www.cfengine.com New features in 3.7.0 • Coming features • Possible language tweaks • Features being considered – For Community – For Enterprise
  • 11. www.cfengine.com Coming features • Improved logging format • YAML support • New functions
  • 12. www.cfengine.com Improved logging format • 3.6 logs: 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods: Evaluating promise 'rotate_outputs' 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'[0]: Comment 'Delete outputs/* files older than 30 days' 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir : Augment scope 'prunedir' with variable 'dir' (type: s) 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir : Augment scope 'prunedir' with variable 'max_days' (type: s) 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir : Evaluating bundle pass 1 2015-01-29T13:05:45+0100 verbose: /default/cfe_internal_management/methods/ 'any'/default/cfe_internal_log_rotation/methods/'rotate_outputs'/default/prunedir /files: Evaluating promise '$(dir)' ...
  • 13. www.cfengine.com Improved logging format • 3.7 logs: P: ......................................................... P: BEGIN un-named promise of type "methods" (pass 1) P: Promiser/affected object: 'rotate_outputs' P: From parameterized bundle: cfe_internal_log_rotation( {'@(def.cfe_log_dirs)','30'}) P: Base context class: cfengine_internal_rotate_logs P: Container path : '/default/cfe_internal_management/methods/'any'/default/cfe_internal_log_rotation/m ethods/'rotate_outputs'[0]: ' P: P: Comment: Delete outputs/* files older than 30 days P: ......................................................... B: ***************************************************************** B: BEGIN bundle prunedir( {'@(def.cfe_log_dirs)','30'}) B: ***************************************************************** ... Other promises and messages ... A: Promise was KEPT P: END methods promise (rotate_outputs...)
  • 14. www.cfengine.com Improved logging format • Headers • Grouping • Message type prefixes – Ex. “C:” for classes, “B:” for bundles • No timestamps – Can be turned on though
  • 15. www.cfengine.com YAML support • YAML extends JSON – Valid JSON is also valid YAML • More human readable • CFEngine implements YAML support through functions: – parseyaml – readyaml
  • 16. www.cfengine.com YAML support • JSON: • YAML: { name: “John Smith”, possessions: [ “House”, “Car” ] } name: John Smith possessions: - House - Car
  • 18. www.cfengine.com New functions • expandrange – Generate ranges of numbers • file_hash – Compute hash of a file of a given type • readcsv – Read CSV from a file – Similar to data_readstringarrayidx, but parsed according to RFC 4180
  • 19. www.cfengine.com Minor additions • Simplified methods promises methods: “mypromise” usebundle => “method_mybundle”; # <-- This is equivalent “mybundle”; # <-- to this • Shortened ifvarclass vars: “var1” string => “1” ifvarclass => “linux”; # <-- This is equivalent “var1” string => “1” if => “linux”; # <-- to this “var1” string => “1” ifvarclass => “!linux”; # <-- And this is equivalent “var1” string => “1” unless => “linux”; # <-- to this
  • 20. www.cfengine.com Possible language tweaks • Deprecation attribute for bundles and bodies • Replace comment with reason • transform attribute which runs in a shell
  • 21. www.cfengine.com Features being considered • Community – SQLite databases promise backend – Docker support in guest_environments promises – Network promises – Redesigned packages promises • Enterprise – User specific dashboards – Alert sharing
  • 22. www.cfengine.com Network - interfaces • Set interface properties, such as – Link state – IP addresses – Bridge interfaces – Duplex mode – Configure OSPF
  • 23. www.cfengine.com Network - routes • Define pathways in the network – Add subnets – Define gateways to reach them – Define interface leading to subnet
  • 24. www.cfengine.com Network - addresses • ARP manipulation for layer 2 tunnelling – Give explicit MAC addresses for IP addresses – Quite specialized • VXLAN is an example
  • 25. www.cfengine.com Network promises • Future developments – iptables promise?
  • 26. www.cfengine.com Redesigned package promise • Too many problems with existing promise • Redesigned promise – Focus on main use cases • Install latest or specific version • Remove package • Pin package (prevent upgrade) • Performance – Secondary • Wildcards and '<', '>' version operators
  • 27. www.cfengine.com Redesigned package promise • Rewrite the C backend • A lot of knowledge in masterfiles – Reuse as much as possible – But change attributes when it makes sense • Keep the old C backend around for backwards compatibility
  • 28. www.cfengine.com New features in 3.7.0 • What would you like to see in 3.7? • Reminder: We use “watch count” in the bug tracker to gauge interest – Make your voice heard today! • Discussion afterwards