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 projects, while ensuring that all libraries are compatible both technically and from a licensing standpoint.
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 :)
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 . o p e n s t a c k . o r g / c g i t / o 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 o n s t r a i n t s . t x t ? h = s t a b l e / r o c k y ● h t t p s : / / r e l e a s e s . o p e n s t a c k . o r g / c o n s t r a i n t s / u p p e r / r o c k y ● Mostly complete ● urls exist and were used to branch stein ● See later :)
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.
tox.ini #ooops [ t e s t e n v ] u s e d e v e l o p = T r u e i n s t a l l _ c o 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 . o p e n s t a c k . o r g / c g i t / o 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 o n s t r a i n t s . t x t ? h = s t a b l e / r o c k y } { o 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 o 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 o w e r - c o n s t r a i n t s ] b a s e p y t h o n = p y t h o n 3 d e p s = - c { t o x i n i d i r } / l o w e r - c o n s t r a i n t s . t x t - r { t o 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
tox.ini #better [ t e s t e n v ] u s e d e v e l o p = T r u e i n s t a l l _ c o m m a n d = p i p i n s t a l l { o 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 . o p e n s t a c k . o r g / c g i t / o 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 o n s t r a i n t s . t x t ? h = s t a b l e / r o c k y } - r { t o x i n i d i r } / r e q u i r e m e n t s . t x t - r { t o 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 o w e r - c o n s t r a i n t s ] b a s e p y t h o n = p y t h o n 3 d e p s = - c { t o x i n i d i r } / l o w e r - c o n s t r a i n t s . t x t - r { t o 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
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
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 . o p e n s t a c k . o r g / p / s e r v i c e - c o n s u m p t i o n ● T u r n s o u t w i t h s o m e s m a l l c h a n g e s a n d a d d i t i o 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 o j e c t s l i k e l i b r a r i e s
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
Join us … we have cakeTim-Tams! • Where is the code? – h t t p s : / / o p e n d e v . o r g / o 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]: # o 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: [ tag r e q u i r e m e n t s ]
THANKS! Questions? openstack @OpenStack openstack OpenStackFoundation
Recommend
More recommend