SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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 ?

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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...
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 

Kürzlich hochgeladen (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

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