SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Developing Enterprise andDeveloping Enterprise and
Community distributions at theCommunity distributions at the
same time, impossible ?same time, impossible ?
openSUSE / SUSE example: Tumbleweed / Leap and SLEopenSUSE / SUSE example: Tumbleweed / Leap and SLE
Frédéric Crozat <fcrozat@suse.com>
SUSE Linux Enterprise Release Manager
openSUSE/SUSE terminology
●
SLE = SUSE Linux Enterprise (Server / Desktop)
– Enterprise distribution, developed by SUSE
●
openSUSE Factory:
– Development repository
●
Tumbleweed:
– openSUSE Rolling release, by openSUSE, using only Factory as
basis, tested by openQA
●
Leap:
– openSUSE Stable release, based on SLE common code +
Packages from Factory (or specific repository)
2
openSUSE & SUSE Linux Enterprise
Developed together - Reminder
openSUSE Tumbleweed
Leap
42.2
SLE
12 SP2
Shared Core
12.2
Leap
42.3
SLE
12 SP3
Shared Core
12.3
Leap
15
SLE
15
Shared Core
15
Packages list with their origin:
https://build.opensuse.org/package/view_file/openSUSE:Leap:15.0/00Meta/lookup.yml
Lessons from the pastLessons from the past
4
Mistakes were made (a few examples)
●
In SLE12 (SP0), we forked GNOME 3.10.3..
●
Even worse, we didn’t backport our features to
openSUSE:Factory !
●
We were saying “we’ll do that later...”
●
For SLE12 SP1, people were too busy bug fixing
●
“We’ll do that later...”
5
We started to fix those mistake
●
Goal was to sync back SLE 12 GNOME with openSUSE one
●
Could we share the same SRPM between SLE 12 SP2 and
Leap 42.2 ?
6
We did it !
●
More than 300 packages to sync
●
A lot of discussion and interaction between SUSE desktop
teams and openSUSE GNOME team
●
Tooling was essential, to get overview of divergeance
between SLE and openSUSE packages
●
Very few patches were enabled only on SLE 12 SP2
●
Sometime, in later bug reports, we discovered Leap 42.2 was
suffering from bugs not present in SP2, because of the above.
7
Main points
●
Work was done first internally and then pushed to openSUSE
●
Changelog integration
– Packages between SP should never loose FATE / CVE /
BSC
– openSUSE was very helpful in accepting some older
changelog entries to preserve this
●
Update handling for bug reported on Leap for packages
inherited from SLE
8
Scenes from current episode inScenes from current episode in
production (aka SLE15 / Leap 15)production (aka SLE15 / Leap 15)
9
Submitting to SLE/Factory
Submit
Request
Target:
Distro
Developer creates a
Submit Request
Distro:Staging:Foobar
SR is moved to a specific staging for testing
Mini-ISO is generated
Check-in team and various
bot
review SR
Everything is fine
(openQA is green and
review was ok)
SR committed to
Distro
ISO are
generated for all arch
OpenQA runs
full testsuite
openQA runs a
small testsuite
Factory first policy (for SLE)
●
New guidelines in effect for development since SLE12 SP3 and now for SLE15
●
Whenever possible, development should be done on OBS
(openSUSE:Factory) and pushed back to SLE15
●
When submission is reviewed and accepted on Factory, it is automatically
submitted to SLE15 (unless packages was branched in SLE15). This was in
place for most of the development period.
●
When a submission is sent to SLE15, a automated check will ensure similar
submission was done to openSUSE:Factory
●
Based on this knowledge, SLE Release Managers decide what to do with
those submit requests
●
You could see SLE15 development “live” since we were in Beta phase
11
Factory first policy
Factory first policy enforcement / bot reviews
●
Legal bot (license OK)
●
Maintenance bot (does the package build in the developer project)
●
Changelog checker bot (each SLE submission must have a bug or feature
number in its changelog)
●
Leaper bot (check if the package is supposed to be following Factory or is
allowed to fork):
– If the package is inherited from Factory, ensure the same changes are
already in Factory or waiting to be approved by Factory maintainer. If it is
not the case, submission is automatically REJECTED
– If package is allowed to branch, still check if identical changes have been
pushed to Factory and give the results as a comment to the submission
(will not auto-reject)
13
Lessons learned
●
Using automation as much as possible:
– People are less emotional if they get an rejection by a
automated tool which is enforcing a policy than a human
– If the rejection can be informative, it is better
– Have a way to override the tool, if needed
– Empower your contributors, ensure they don’t have to do
work several times
14
Give me numbers !Give me numbers !
16
SLE packages origin
17
SLE12 SP1 SLE12 SP2 SLE12 SP3 SLE15
0
500
1000
1500
2000
2500
3000
3500
4000
4500
Factory
FORK
SLE12 packages origin
●
SLE 12 SP3
– 459 “source” packages
– 328 FORK (but usually equivalent submission in OBS was
done)
– 127 are Factory packages (28%)
●
SLE 12 SP2: 1010 “source” packages
●
SLE 12 SP1: 550 “source” packages
●
SLE 12: 2971 “source” packages
18
SLE15 (post RC4) package origin
●
3850 “source” packages
●
325 FORK (but usually equivalent submission in OBS was
done) : 8.4%
●
Everything else identical to openSUSE:Factory package
(some patches might only apply on openSUSE or SLE, but
SRPM are identical) => 91.6%
19
Leap Packages origin
20
Leap 42.1 Leap 42.2 Leap 42.3 Leap 15.0
0
2000
4000
6000
8000
10000
12000
14000
Leap
Devel
FORK
Factory
SLE
Leap 42.x packages origin
●
Leap 42.1
– 7630 “source” packages
– 209 FORK
– 5698 from Factory
– 221 from Devel projects (GNOME 3.16 mostly)
– 1501 inherit from SLE12 codebase (256 from SP1, the rest from GA)
●
Leap 42.2:
– 8968 “source” packages
– 82 FORK
– 2478 are Factory packages !
– 1865 from SLE12 codebase (580 from SP2)
– Only 43 packages from Devel project (KDE 5 LTS)
●
Leap 42.3
– 10189 “source” packages
– 1990 inherit from SLE12 (270 from SP3) => 20%
– 2227 from Factory => 22 %
– 193 from Devel projects (KDE 5 LTS)
– 5780 from Leap 42.2
21
Leap 15.0 packages origin
●
Leap 15.0 (GM)
– 11600 “source” packages
– 2945 inherit from SLE15 (25%)
– 8641 from Factory
– 20 from Devel projects
22
Questions / Reactions ?
●
Nothing is set in stone
●
We are improving and smoothing our processes
23
Developing Enterprise and Community distributions at the same time, impossible ?

Más contenido relacionado

La actualidad más candente

Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Boni García
 
Deployment and Continous Integration of a Zope/Plone application
Deployment and Continous Integration of a Zope/Plone applicationDeployment and Continous Integration of a Zope/Plone application
Deployment and Continous Integration of a Zope/Plone applicationJulien Pivotto
 
Containerize your Blackbox tests
Containerize your Blackbox testsContainerize your Blackbox tests
Containerize your Blackbox testsKevin Beeman
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooClever Moe
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyopenQRM Enterprise GmbH
 
T3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfT3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfTobias Liebig
 
Scalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
Scalable Deployment Architectures with TYPO3 Surf, Git and JenkinsScalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
Scalable Deployment Architectures with TYPO3 Surf, Git and Jenkinsmhelmich
 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterBoni García
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondSam Brannen
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...Andrey Karpov
 

La actualidad más candente (12)

What is new in JUnit5
What is new in JUnit5What is new in JUnit5
What is new in JUnit5
 
Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Deployment and Continous Integration of a Zope/Plone application
Deployment and Continous Integration of a Zope/Plone applicationDeployment and Continous Integration of a Zope/Plone application
Deployment and Continous Integration of a Zope/Plone application
 
Containerize your Blackbox tests
Containerize your Blackbox testsContainerize your Blackbox tests
Containerize your Blackbox tests
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian Wheezy
 
T3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfT3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surf
 
Scalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
Scalable Deployment Architectures with TYPO3 Surf, Git and JenkinsScalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
Scalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyond
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
 

Similar a Developing Enterprise and Community distributions at the same time, impossible ?

Bridging openSUSE and SLE gap, part deux
Bridging openSUSE and SLE gap, part deuxBridging openSUSE and SLE gap, part deux
Bridging openSUSE and SLE gap, part deuxFrederic Crozat
 
SUSE Expert Days Paris 2018 – SLE 15
SUSE Expert Days Paris 2018 – SLE 15SUSE Expert Days Paris 2018 – SLE 15
SUSE Expert Days Paris 2018 – SLE 15SUSE
 
Expert Day 2019 - SUSE Linux Enterprise 15
Expert Day 2019 - SUSE Linux Enterprise 15Expert Day 2019 - SUSE Linux Enterprise 15
Expert Day 2019 - SUSE Linux Enterprise 15SUSE
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Jérôme Petazzoni
 
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdfTUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdfRichieBallyears
 
Transforming the Ceph Integration Tests with OpenStack
Transforming the Ceph Integration Tests with OpenStack Transforming the Ceph Integration Tests with OpenStack
Transforming the Ceph Integration Tests with OpenStack Ceph Community
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkartPankaj Kaushal
 
Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Ralf Dannert
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
Open Closed Principle kata
Open Closed Principle kataOpen Closed Principle kata
Open Closed Principle kataPaul Blundell
 
ovs-2.3.1 on debian 8.1
ovs-2.3.1 on debian 8.1ovs-2.3.1 on debian 8.1
ovs-2.3.1 on debian 8.1Clive Peng
 
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systemsUsing latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systemsNaruhiko Ogasawara
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereGanesh Raju
 
Test driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeTest driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeSerena Lorenzini
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet
 
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...NETWAYS
 
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...South Tyrol Free Software Conference
 
OpenSolaris On EeePc at Osc Spring
OpenSolaris On EeePc at Osc SpringOpenSolaris On EeePc at Osc Spring
OpenSolaris On EeePc at Osc SpringMasafumi Ohta
 

Similar a Developing Enterprise and Community distributions at the same time, impossible ? (20)

Bridging openSUSE and SLE gap, part deux
Bridging openSUSE and SLE gap, part deuxBridging openSUSE and SLE gap, part deux
Bridging openSUSE and SLE gap, part deux
 
SUSE Expert Days Paris 2018 – SLE 15
SUSE Expert Days Paris 2018 – SLE 15SUSE Expert Days Paris 2018 – SLE 15
SUSE Expert Days Paris 2018 – SLE 15
 
Expert Day 2019 - SUSE Linux Enterprise 15
Expert Day 2019 - SUSE Linux Enterprise 15Expert Day 2019 - SUSE Linux Enterprise 15
Expert Day 2019 - SUSE Linux Enterprise 15
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
 
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdfTUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
 
oSC19 openSUSE on ARM
oSC19 openSUSE on ARMoSC19 openSUSE on ARM
oSC19 openSUSE on ARM
 
Transforming the Ceph Integration Tests with OpenStack
Transforming the Ceph Integration Tests with OpenStack Transforming the Ceph Integration Tests with OpenStack
Transforming the Ceph Integration Tests with OpenStack
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
 
Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)Continuous Integration and DevOps with Open Build Service(OBS)
Continuous Integration and DevOps with Open Build Service(OBS)
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Open Closed Principle kata
Open Closed Principle kataOpen Closed Principle kata
Open Closed Principle kata
 
oSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARMoSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARM
 
ovs-2.3.1 on debian 8.1
ovs-2.3.1 on debian 8.1ovs-2.3.1 on debian 8.1
ovs-2.3.1 on debian 8.1
 
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systemsUsing latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
Using latest LibreOffice on openSUSE Leap 15 - by modern packaging systems
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
 
Test driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeTest driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and Molecule
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
 
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
Puppet Camp Duesseldorf 2014: Toni Schmidbauer - Continuously deliver your pu...
 
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...
SFScon21 - Carlo Piana - Alberto Pianon - Aliens4friends: make yourself an al...
 
OpenSolaris On EeePc at Osc Spring
OpenSolaris On EeePc at Osc SpringOpenSolaris On EeePc at Osc Spring
OpenSolaris On EeePc at Osc Spring
 

Último

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 

Último (20)

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

Developing Enterprise and Community distributions at the same time, impossible ?

  • 1. Developing Enterprise andDeveloping Enterprise and Community distributions at theCommunity distributions at the same time, impossible ?same time, impossible ? openSUSE / SUSE example: Tumbleweed / Leap and SLEopenSUSE / SUSE example: Tumbleweed / Leap and SLE Frédéric Crozat <fcrozat@suse.com> SUSE Linux Enterprise Release Manager
  • 2. openSUSE/SUSE terminology ● SLE = SUSE Linux Enterprise (Server / Desktop) – Enterprise distribution, developed by SUSE ● openSUSE Factory: – Development repository ● Tumbleweed: – openSUSE Rolling release, by openSUSE, using only Factory as basis, tested by openQA ● Leap: – openSUSE Stable release, based on SLE common code + Packages from Factory (or specific repository) 2
  • 3. openSUSE & SUSE Linux Enterprise Developed together - Reminder openSUSE Tumbleweed Leap 42.2 SLE 12 SP2 Shared Core 12.2 Leap 42.3 SLE 12 SP3 Shared Core 12.3 Leap 15 SLE 15 Shared Core 15 Packages list with their origin: https://build.opensuse.org/package/view_file/openSUSE:Leap:15.0/00Meta/lookup.yml
  • 4. Lessons from the pastLessons from the past 4
  • 5. Mistakes were made (a few examples) ● In SLE12 (SP0), we forked GNOME 3.10.3.. ● Even worse, we didn’t backport our features to openSUSE:Factory ! ● We were saying “we’ll do that later...” ● For SLE12 SP1, people were too busy bug fixing ● “We’ll do that later...” 5
  • 6. We started to fix those mistake ● Goal was to sync back SLE 12 GNOME with openSUSE one ● Could we share the same SRPM between SLE 12 SP2 and Leap 42.2 ? 6
  • 7. We did it ! ● More than 300 packages to sync ● A lot of discussion and interaction between SUSE desktop teams and openSUSE GNOME team ● Tooling was essential, to get overview of divergeance between SLE and openSUSE packages ● Very few patches were enabled only on SLE 12 SP2 ● Sometime, in later bug reports, we discovered Leap 42.2 was suffering from bugs not present in SP2, because of the above. 7
  • 8. Main points ● Work was done first internally and then pushed to openSUSE ● Changelog integration – Packages between SP should never loose FATE / CVE / BSC – openSUSE was very helpful in accepting some older changelog entries to preserve this ● Update handling for bug reported on Leap for packages inherited from SLE 8
  • 9. Scenes from current episode inScenes from current episode in production (aka SLE15 / Leap 15)production (aka SLE15 / Leap 15) 9
  • 10. Submitting to SLE/Factory Submit Request Target: Distro Developer creates a Submit Request Distro:Staging:Foobar SR is moved to a specific staging for testing Mini-ISO is generated Check-in team and various bot review SR Everything is fine (openQA is green and review was ok) SR committed to Distro ISO are generated for all arch OpenQA runs full testsuite openQA runs a small testsuite
  • 11. Factory first policy (for SLE) ● New guidelines in effect for development since SLE12 SP3 and now for SLE15 ● Whenever possible, development should be done on OBS (openSUSE:Factory) and pushed back to SLE15 ● When submission is reviewed and accepted on Factory, it is automatically submitted to SLE15 (unless packages was branched in SLE15). This was in place for most of the development period. ● When a submission is sent to SLE15, a automated check will ensure similar submission was done to openSUSE:Factory ● Based on this knowledge, SLE Release Managers decide what to do with those submit requests ● You could see SLE15 development “live” since we were in Beta phase 11
  • 13. Factory first policy enforcement / bot reviews ● Legal bot (license OK) ● Maintenance bot (does the package build in the developer project) ● Changelog checker bot (each SLE submission must have a bug or feature number in its changelog) ● Leaper bot (check if the package is supposed to be following Factory or is allowed to fork): – If the package is inherited from Factory, ensure the same changes are already in Factory or waiting to be approved by Factory maintainer. If it is not the case, submission is automatically REJECTED – If package is allowed to branch, still check if identical changes have been pushed to Factory and give the results as a comment to the submission (will not auto-reject) 13
  • 14. Lessons learned ● Using automation as much as possible: – People are less emotional if they get an rejection by a automated tool which is enforcing a policy than a human – If the rejection can be informative, it is better – Have a way to override the tool, if needed – Empower your contributors, ensure they don’t have to do work several times 14
  • 15.
  • 16. Give me numbers !Give me numbers ! 16
  • 17. SLE packages origin 17 SLE12 SP1 SLE12 SP2 SLE12 SP3 SLE15 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Factory FORK
  • 18. SLE12 packages origin ● SLE 12 SP3 – 459 “source” packages – 328 FORK (but usually equivalent submission in OBS was done) – 127 are Factory packages (28%) ● SLE 12 SP2: 1010 “source” packages ● SLE 12 SP1: 550 “source” packages ● SLE 12: 2971 “source” packages 18
  • 19. SLE15 (post RC4) package origin ● 3850 “source” packages ● 325 FORK (but usually equivalent submission in OBS was done) : 8.4% ● Everything else identical to openSUSE:Factory package (some patches might only apply on openSUSE or SLE, but SRPM are identical) => 91.6% 19
  • 20. Leap Packages origin 20 Leap 42.1 Leap 42.2 Leap 42.3 Leap 15.0 0 2000 4000 6000 8000 10000 12000 14000 Leap Devel FORK Factory SLE
  • 21. Leap 42.x packages origin ● Leap 42.1 – 7630 “source” packages – 209 FORK – 5698 from Factory – 221 from Devel projects (GNOME 3.16 mostly) – 1501 inherit from SLE12 codebase (256 from SP1, the rest from GA) ● Leap 42.2: – 8968 “source” packages – 82 FORK – 2478 are Factory packages ! – 1865 from SLE12 codebase (580 from SP2) – Only 43 packages from Devel project (KDE 5 LTS) ● Leap 42.3 – 10189 “source” packages – 1990 inherit from SLE12 (270 from SP3) => 20% – 2227 from Factory => 22 % – 193 from Devel projects (KDE 5 LTS) – 5780 from Leap 42.2 21
  • 22. Leap 15.0 packages origin ● Leap 15.0 (GM) – 11600 “source” packages – 2945 inherit from SLE15 (25%) – 8641 from Factory – 20 from Devel projects 22
  • 23. Questions / Reactions ? ● Nothing is set in stone ● We are improving and smoothing our processes 23