Requirements Project overview and update TONY BREEDS PRINCIPAL - - PowerPoint PPT Presentation

requirements
SMART_READER_LITE
LIVE PREVIEW

Requirements Project overview and update TONY BREEDS PRINCIPAL - - PowerPoint PPT Presentation

2019-05-01 Requirements Project overview and update TONY BREEDS PRINCIPAL SOFTWARE ENGINEER - REDHAT What does Requirements do? Manages OpenStack wide python requirements Coordinating and converging the libraries used by OpenStack


slide-1
SLIDE 1

Requirements

Project overview and update

TONY BREEDS PRINCIPAL SOFTWARE ENGINEER - REDHAT

2019-05-01

slide-2
SLIDE 2

What does Requirements do?

  • Manages OpenStack wide python

requirements

  • Coordinating and converging the

libraries used by OpenStack projects, while ensuring that all libraries are compatible both technically and from a licensing standpoint.

slide-3
SLIDE 3

Project background

  • Separate team created at the Austin

(2016) summit

  • 49 of contributors for the stein release
  • 4 active core reviewers
  • Used by pretty much all of OpenStack :)
slide-4
SLIDE 4

New features & enhancements for Stein

➔STATIC CONSTRAINTS URLS

  • Publish constraints fjles to a URL that isn’t based on git state
  • h

t t p s : / / g i t .

  • p

e n s t a c k .

  • r

g / c g i t /

  • p

e n s t a c k / r e q u i r e m e n t s / p l a i n / u p p e r

  • c
  • n

s t r a i n t s . t x t ? h = s t a b l e / r

  • c

k y

  • h

t t p s : / / r e l e a s e s .

  • p

e n s t a c k .

  • r

g / c

  • n

s t r a i n t s / u p p e r / r

  • c

k y

  • Mostly complete
  • urls exist and were used to branch stein
  • See later :)
slide-5
SLIDE 5

Continuing work for Train

➔PER-PROJECT REQUIREMENTS / LOWER-CONSTRAINTS

  • Allows each OpenStack project to defjne and maintain lists of dependencies while maintaining co-

installability

  • Also allows teams to specify and (unit) test lower bounds.
slide-6
SLIDE 6

tox.ini #ooops

[ t e s t e n v ] u s e d e v e l

  • p

= T r u e i n s t a l l _ c

  • m

m a n d = p i p i n s t a l l

  • c

{ e n v : U P P E R _ C O N S T R A I N T S _ F I L E : h t t p s : / / g i t .

  • p

e n s t a c k .

  • r

g / c g i t /

  • p

e n s t a c k / r e q u i r e m e n t s / p l a i n / u p p e r

  • c
  • n

s t r a i n t s . t x t ? h = s t a b l e / r

  • c

k y } {

  • p

t s } { p a c k a g e s } s e t e n v = V I R T U A L _ E N V = { e n v d i r } d e p s =

  • r

{ t

  • x

i n i d i r } / t e s t

  • r

e q u i r e m e n t s . t x t < s n i p > [ t e s t e n v : l

  • w

e r

  • c
  • n

s t r a i n t s ] b a s e p y t h

  • n

= p y t h

  • n

3 d e p s =

  • c

{ t

  • x

i n i d i r } / l

  • w

e r

  • c
  • n

s t r a i n t s . t x t

  • r

{ t

  • x

i n i d i r } / t e s t

  • r

e q u i r e m e n t s . t x t

slide-7
SLIDE 7

tox.ini #better

[ t e s t e n v ] u s e d e v e l

  • p

= T r u e i n s t a l l _ c

  • m

m a n d = p i p i n s t a l l {

  • p

t s } { p a c k a g e s } s e t e n v = V I R T U A L _ E N V = { e n v d i r } d e p s =

  • c

{ e n v : U P P E R _ C O N S T R A I N T S _ F I L E : h t t p s : / / g i t .

  • p

e n s t a c k .

  • r

g / c g i t /

  • p

e n s t a c k / r e q u i r e m e n t s / p l a i n / u p p e r

  • c
  • n

s t r a i n t s . t x t ? h = s t a b l e / r

  • c

k y }

  • r

{ t

  • x

i n i d i r } / r e q u i r e m e n t s . t x t

  • r

{ t

  • x

i n i d i r } / t e s t

  • r

e q u i r e m e n t s . t x t < s n i p > [ t e s t e n v : l

  • w

e r

  • c
  • n

s t r a i n t s ] b a s e p y t h

  • n

= p y t h

  • n

3 d e p s =

  • c

{ t

  • x

i n i d i r } / l

  • w

e r

  • c
  • n

s t r a i n t s . t x t

  • r

{ t

  • x

i n i d i r } / t e s t

  • r

e q u i r e m e n t s . t x t

slide-8
SLIDE 8

Possible features & enhancements for Train

➔REMOVAL OF LEGACY ‘PROJECTS.TXT’

  • This used to be the defjnitive list which OpenStack projects were co-installable.
  • It’s no longer needed or maintained but there are several places using it.

➔STATIC CONSTRAINTS URLS

  • Fixing older stable branches is easy
  • master is harder

➔CORRECT PYTHON3* SUPPORT

  • Supporting multiple minor versions of python3 in constraints needs work
  • For example python 3.7 is only partially using constraints
slide-9
SLIDE 9

Possible features & enhancements for Train

➔CONSUMPTION OF OPENSTACK SERVICES

  • What’s the correct way to consume service projects?
  • Forum session was on Monday #sorry
  • h

t t p s : / / e t h e r p a d .

  • p

e n s t a c k .

  • r

g / p / s e r v i c e

  • c
  • n

s u m p t i

  • n
  • T

u r n s

  • u

t w i t h s

  • m

e s m a l l c h a n g e s a n d a d d i t i

  • n

a l t e s t i n g w e c a n j u s t t r e a t t h e s e r v i c e p r

  • j

e c t s l i k e l i b r a r i e s

slide-10
SLIDE 10

Possible features & enhancements for Train+

➔INTEGRATED LOWER-CONSTRAINTS?

  • Enable more than simple unit tests on lower-constraints

➔EDUCATION!

  • We’ve had a lot of change in the last few cycles make sure documentation is right and community

knows about the new tools and process ➔STABLE POLICY UPDATES?

  • Much of the policy is in place to help distributions and vendors
  • Make sure it’s the right policy
slide-11
SLIDE 11

Join us … we have cakeTim-Tams!

  • Where is the code?

– h

t t p s : / /

  • p

e n d e v .

  • r

g /

  • p

e n s t a c k / r e q u i r e m e n t s

  • Where can we fjnd you?

– IRC[freenode]: #

  • p

e n s t a c k

  • r

e q u i r e m e n t s

  • promtheanfjre, dirk, smcginnis and tonyb

– openstack-discuss: [

r e q u i r e m e n t s ] tag

slide-12
SLIDE 12

@OpenStack

THANKS!

Questions?

  • penstack
  • penstack

OpenStackFoundation