Software Collections on CentOS - Percona · deployed on CentOS 6, via SCL. Same application...

Post on 06-Apr-2020

12 views 0 download

Transcript of Software Collections on CentOS - Percona · deployed on CentOS 6, via SCL. Same application...

1

Software Collections on CentOSSoftware Collections on CentOS

Joe BrockmeierJoe Brockmeierjzb@redhat.comjzb@redhat.comTwitter: @jzbTwitter: @jzbhttp://dissociatedpress.net/http://dissociatedpress.net/Principal Cloud & Storage AnalystPrincipal Cloud & Storage Analyst

Open Source and Standards (OSAS) at Red HatOpen Source and Standards (OSAS) at Red Hat

http://community.redhat.com/http://community.redhat.com/

2

Who's this guy?Who's this guy?

3

The Whats, Whys, and Hows of SCLsThe Whats, Whys, and Hows of SCLs

● The Packaging Problem We FaceThe Packaging Problem We Face

● What are Software Collections?What are Software Collections?

● Why, and when, to choose SCLs over other Why, and when, to choose SCLs over other solutions?solutions?

● How do I use SCLs?How do I use SCLs?

● Coming Soon... Coming Soon...

4

In the Beginning...In the Beginning...

5

Distributions as the Distributions as the Center of the UniverseCenter of the Universe

6

7

Developers do not want to be Developers do not want to be limited to system versions of limited to system versions of

softwaresoftware

8

Containers, PaaS, and Software Containers, PaaS, and Software Collections... Oh MyCollections... Oh My

SCALE 12x

Let's talk about Software CollectionsLet's talk about Software Collections

10

Do not require changes to RPMDo not require changes to RPM

11

Software Collections areSoftware Collections are not not just a just a different version packaged for your OSdifferent version packaged for your OS

12

Do not overwrite system filesDo not overwrite system files

13

Example: PHP 5.4

On CentOS 6.xOn CentOS 6.x

PHP 5.4 package isPHP 5.4 package is php54

This pulls in:This pulls in:

php54­php­cli.x86_64

php54­php­common.x86_64

php54­php­pear.noarch

php54­php­process.x86_64

php54­php­xml.x86_64

php54­runtime.x86_64

Lives in:Lives in: /opt/rh/php54/root

14

Avoid conflicts with system filesAvoid conflicts with system files

15

Require Require minorminor changes to your changes to your existing spec filesexisting spec files

16

Do not conflict with updates on your Do not conflict with updates on your systemsystem

17

Nifty: Nifty: CanCan depend on other SCLs depend on other SCLs

SCALE 12x

Let's talk about using SCLsLet's talk about using SCLs

19

Software Collections CurrentlySoftware Collections Currently

● Red Hat Software Collections went GA on 12 Sept 2013

● CentOS announced SCLs 19 February 2014

● Fedora has SCLs on Fedora Hosted since 2013:

https://fedorahosted.org/SoftwareCollections/

20

What's Packaged for Software CollectionsWhat's Packaged for Software Collections

● Ruby 1.9.3

● Python 2.7

● Python 3.3

● PHP 5.4

● Perl 5.16.3

● Tech preview Node.js 0.10

● MariaDB 5.5

● MySQL 5.5

● PostgreSQL 9.2

21

Getting StartedGetting Started

● Assuming using a SLC with CentOS● yum install centos­release­SCL

● yum install php54 (or whatever...)

● scl enable php54 “application ­­option”

● Your application now uses PHP 5.4 ... the rest of the system ignores it.

● Python & Django with SCL (by Langdon White):● http://red.ht/scldjango

● Find packages for CentOS here: http://mirror.metrocast.net/centos/6.5/SCL/x86_64/

22

Packaging SCLs

● Grab the necessary packages (CentOS or Grab the necessary packages (CentOS or Fedora or RHEL 6.5):Fedora or RHEL 6.5): yum install scl­utils scl­utils­build

● Instructions on converting an existing Instructions on converting an existing package:package: http://bit.ly/scl­spec­file

● For Conversion: For Conversion: spec2sclspec2scl

● General instructions on packaging SCLs:General instructions on packaging SCLs: http://bit.ly/pkging­scls

SCALE 12x

Coming SoonComing Soon

24

What will SoftwareCollections.org be?

● Upstream community for development of SCLs.

● Build and hosting services for collections.

● Resources (documentation, forums, mailing lists) for developers/packagers.

● An index of packaged software for users of CentOS, Fedora, RHEL, and other RPM-based distributions.

25

The Lifecycle of Collections

● SCLs can be used to provide newer software support on older releases, or (going forward) to provide legacy support on newer releases:

● Example: Application using Ruby on Rails N deployed on CentOS 6, via SCL. Same application deployed on CentOS 7 (when released) using SCL.

● OpenShift leverages SCLs for its cartridges using RHEL supported and non-supported components.

● SCLs can be used inside Docker containers to simplify container deployment.

Thanks!Thanks!

Joe BrockmeierJoe Brockmeierjzb@redhat.comjzb@redhat.comTwitter: @jzbTwitter: @jzb