How OpenStack makes Python better (and vice-versa)

Video thumbnail (Frame 0) Video thumbnail (Frame 1681) Video thumbnail (Frame 5459) Video thumbnail (Frame 15733) Video thumbnail (Frame 26007) Video thumbnail (Frame 31236) Video thumbnail (Frame 37131) Video thumbnail (Frame 47823) Video thumbnail (Frame 57826)
Video in TIB AV-Portal: How OpenStack makes Python better (and vice-versa)

Formal Metadata

How OpenStack makes Python better (and vice-versa)
Title of Series
Part Number
Number of Parts
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Thierry Carrez/Doug Hellmann - How OpenStack makes Python better (and vice-versa) OpenStack is an infrastructure stack mostly developed in Python. In this talk, Thierry Carrez and Doug Hellmann, both Python Software Foundation fellows and OpenStack Technical Committee members, will look at the symbiotic relationship between OpenStack and Python. ----- OpenStack is an open source stack that can be deployed on raw computing resources to privately or publicly present Infrastructure as a Service. It now consists of more than 4.5 million lines of code, 85% of which is Python. In this talk, Thierry Carrez and Doug Hellmann, both Python Software Foundation fellows and OpenStack Technical Committee members, will look at the symbiotic relationship between OpenStack and Python. We'll go back in history and explain why OpenStack originally picked Python as its main language 6 years ago, and explore what does Python bring to OpenStack. We'll dive into examples of OpenStack pushing Python libraries to their limits and exposing new bugs. We'll look into the massive cloud-based continuous integration system that OpenStack uses and explain how it exposes bugs in Python libraries in the minutes after they are published to PyPI. We'll look into Python libraries that were created by the OpenStack community and libraries that the OpenStack community took over. Finally we'll expose a few best practices that Python developers can follow to get the most of this symbiotic relationship.
Web page Point (geometry) Multiplication sign Bit Flow separation Computer programming
Group action Run time (program lifecycle phase) Code INTEGRAL Source code Mereology Perspective (visual) Formal language Medical imaging Programmer (hardware) Computer configuration Position operator File format Software developer Electronic mailing list Bit Computer Connected space 10 (number) Type theory Arithmetic mean Process (computing) Self-organization Website Configuration space Whiteboard Freeware Point (geometry) Game controller Freeware Open source Patch (Unix) Canonical ensemble 2 (number) Power (physics) Latent heat Goodness of fit Internetworking Operator (mathematics) Computer hardware Integer Software testing Stapeldatei Distribution (mathematics) Key (cryptography) Cellular automaton Projective plane Plastikkarte Voting Software Data center Point cloud Video game
Greatest element Group action INTEGRAL Java applet Code Multiplication sign Combinational logic Set (mathematics) Mereology Computer programming Formal language Expected value Different (Kate Ryan album) Physical system Area Enterprise architecture Software developer Closed set Fitness function Electronic mailing list Data storage device Bit Virtualization Storage area network Process (computing) Order (biology) Quicksort Service (economics) Open source Connectivity (graph theory) Ultraviolet photoelectron spectroscopy Average Twitter Wave packet Product (business) Inclusion map Goodness of fit Latent heat Mobile Web Standard deviation Information Projective plane Line (geometry) Cartesian coordinate system Subgroup Subject indexing Computer animation Software Logic Point cloud Library (computing)
Server (computing) Greatest element Game controller Freeware Observational study Computer file Code Multiplication sign Connectivity (graph theory) Range (statistics) Archaeological field survey Control flow Online help Mereology Declarative programming Number Software bug 2 (number) Template (C++) Programmer (hardware) Mathematics Goodness of fit Deadlock Different (Kate Ryan album) Software testing Software framework Traffic reporting Information security Address space Condition number Exception handling Addition Programming language Linear regression Projective plane Electronic mailing list Type theory Word Process (computing) Computer animation Software Commitment scheme Personal digital assistant Pattern language Quicksort Library (computing)
Code State of matter Java applet Multiplication sign Function (mathematics) Mereology Perspective (visual) Computer programming Software bug Formal language Mathematics Different (Kate Ryan album) Forest Software framework Information security Wrapper (data mining) Linear regression Software developer Feedback Electronic mailing list Data storage device Bit Lattice (order) Unit testing Category of being Message passing Arithmetic mean Process (computing) Phase transition Order (biology) Self-organization Right angle Pattern language Quicksort Arithmetic progression Directed graph Point (geometry) Slide rule Freeware Open source Patch (Unix) Connectivity (graph theory) Control flow Continuous integration Event horizon Number Revision control Latent heat Term (mathematics) Natural number Internetworking Authorization Queue (abstract data type) Energy level Software testing Computer-assisted translation Computer architecture Matching (graph theory) Scaling (geometry) Surface Projective plane Line (geometry) Limit (category theory) Cartesian coordinate system System call Frame problem Word Software Personal digital assistant Musical ensemble Family Local ring Library (computing)
Scripting language Latent heat Java applet Direction (geometry) Projective plane Reduction of order Cartesian coordinate system Information security Writing Vector potential Formal language
J. morning when comes take overcoming this is a 2 page in history currency and that the the morning several of here to talk a little bit about 2
overlapping placing communities the OpenStack community and the broader Python community and minus how yeah if can be what is interesting and I came to OpenStack from the Python community so I've been doing Python programming since the mid nineties at some point in time working out for Red Hat on specifically on OpenStack that are among the OpenStack Technical Committee which is the governing body for for the contributors and fella for the Python Software Foundation as well
and so so what can and my name is characterized I will the OpenStack Foundation and had the chair of the Technical Committee moles so Titan suffer from this fellow and uh you can find me on Twitter and free and so I come from there from the other Sec perspective going to fight community and that is taking the other way around coming from the banking to community and reading out 2 understand and and I wanted to start with a short control on what happens you who knows what happens that is more likely to have a way of this so for all the furor you that don't know whether it's like is it sums it up and source infrastructure software that you can be applied on top of as that are central to make it a programmable infrastructure it's usually deployed by a decent size companies that happened to own the data center and and want to provide resources for the internal development efforts for other types of companies that 1 around the public cloud basically and offer resources for and to to the wider public it's not exactly something you would take pride in your garage on understanding and and I think that's where the corporate image comes from because the users are large enough organizations and that's pretty small things that you would be deployed as an individual and this translated into and uh uh and the negated corporate image for the project itself which is a bit unfair because has we'll see and it's the 1 of the most community-led project and in particular we have a fairly independent technical governance and we elect our project technical needs we also elect our oversight board and the technical committees that technical oversight board for the OpenStack project and the connection is based on 1 computer equal 1 vote that 1 contributions of 1 company it's not it's we need to contribute to that you get 1 vote to elect the leadership of the project and will decide where where the project goes and if something gets done that and we also have a set of
principles which we call the 4 problems the first one is pretty obvious open-source everyone that in those days and that the others are slightly less obvious but of people to other cells uh lot of people do also often development and by open development we mean that everything that's happening in OpenStack development he's done that the key in the upper on to make accessible websites to not have to be uh you don't have to sign the Optional have to be an existing contributor to see how the development is done oral could refusal take that will work and what are channels meaning lists are to the public and all and we also run on the open source tools in our project infrastructure will rely on card and we we have even the configuration for this project infrastructure is also an open source and committed in in our readers interregional between the that everything is transparent will set you up and design and the design reference seconds not done by a small group created in a corner and then the rest of the community is there to just 2 extra work and everything from from base design you project is done within within the within the community with there is no secret group that testing things in in in a corner and finally we also do opportunity and by that we mean that anyone can use a race to leadership positions in OpenStack you this especially you don't have to to be a sponsor the OpenStack Foundation and oral coming from a large company happened to be there the beginning to the uh an important member of our community so you can get elected to project thinking leadership positions you can also participate in the project has equals without any uh any attention paid choose who actually pays for your for your work or where you're coming from and we don't have we're we're pretty them and that we need to have a legal playing means that anyone coming in the project should have equal chances to contribute to the project so we reject projects that would benefit 1 company or be where continuous from coming from 1 organization would have a specific and for example if you walk on the if a vendor wants to propose a project in OpenStack is requires a specific hardware lexical switch cost tens of thousands of dollars then that it could not be in OpenStack project because that's the people to have access to the power has an internet integer against someone that comes from we don't have appointed positions will have to die before life we believe that changing leadership of good and that's where that opportunity thing comes from and finally had to close this introduction I wanted to raise a bit about the BT and things and we used to define a perspective quickly and and so when use of project would be proposed we would try to assess the that it's all mental picture of what we think OpenStack is and that that was pretty useless exercise we ended up having those discussions do you that this project is it happens that is something that uses OpenStack something and that was not really useful and that's the part that point we realize that what binds us all together is those principles the way we do development the fact that we're a single community more than a very defined scope on what exactly of inspectors in where it stops and so we moved from from defining if a project is OpenStack to judges that you need that was produced in each of the following of principles of data coming from and how they how they are the different communities and the they're part of Europe's that community then their own OpenStack project there's no reason why we should say this is that this is not so we moved from a very product-oriented the definition of what an OpenStack project is to very community-centric definition of what a part and that as served quite well and so so the mean of the matter what I can brings to OpenStack 1st so I was there at the beginning when we picked languages and so on the I think the reason 6 years ago where we picked by forgery problems that as the major reason was that it was pretty important for us at the beginning that we gets packaged distributions had past experience I work for canonical before 1 we packaged each other software on for for our code back then and generates we supported in this and while I was extremely well supported Institute extremely well supported with the major language for development within canonical at the time and so I became by the give us step up with distribution integration wouldn't have to fight against it is true that we would support but it's also extremely easy Chile which means they are not so many ways you can write steps and so and there is no way and let's by cheating on exactly the format of the patches such that it's easy to read and write in your daughter is non invited by conscious quite successful so we need easy it's easy to batch because you whenever the runtime code you have the source code it's not as if when you what the jealous that you end up with jobs and you you have to download all look at the source separately but anyone running happens I can actually look at the code that is running seed potentially you can mistake about somewhere and propose a patch switch and finally the last thing was about familiarity and their targets user joint uses for OpenStack stuck on operators that we deployed and so speaking a language that was some of something that would be were familiar with was really helping us as well so there and have there operators are using Python's internally already and so that also generous a step but with twitching out users and grows in the was a lot easier thanks to that so here imagine that we chose 5 6 years ago we had
discussions recently about changing but we have found a lot of reasons why a Python still successful for us but as an integration languages very common to especially in our project to buy need to interface with lots of different devices or other services most of the OpenStack services are actually built on top of all the tools that are already existed a written in other languages and Python makes it really easy to communicate with all of those things on part of the reason for that is the logical system of libraries that's available for python from the package index and that just continues to grow every day so what we we find that it we don't have to write all of the source ourselves in order to to build things and it continues to be easy to read so 6 years and we have a lot of old code and it's very important for new contributors to be able to go look at that old code and understand what it's about and Python's readability makes it easier for 6 years and we continue to have a lot of new contributors joining our project and so having a language that is still easy to learn as it continues to be an important reason to use it and we'll talk a little bit more about that in a and that all and then the community itself the inclusiveness gives us good examples for subgroups of pilot is is a great example we have the latest OpenStack group that's organized in a similar way and we have a lot of folks together conferences and run the depth and that sort of thing you're all very welcoming to Brendan members so that the the example that the Python community sets for welcoming new members is really important to so we talked a little bit about why we think Python is great for OpenStack and I wanted to talk about also a little bit about what OpenStack I think is a good thing for the Python community and there it's 3 main areas for the of funding contributors and quality and a lot of this stuff like talking about money as we saw this morning in know so so it is important know we're all trying to make a living doing this and instead gives us a good opportunity to be paid do open source work often the company's funding networks have Goals in but there is still quite a bit of freedom and what you can do it and the way the community itself is organized and let you take advantage of the fact that there is a demand for that so OpenStack companies when they're looking for new employees there typically looking for 1 of 3 different key areas either some previous experience doing cloud a infrastructure automation of some sort of develops tools or existing cloud systems on they also look for techniques specific technologies like maybe you're storage Oxford you have really expertise in networking or virtualization or they look for Python expertise because Python is a key component of so this is some job information this is trends for job listings containing keywords Python OpenStack the combination of the 2 storage networking and virtualization and this is US data because that's what I had available that OpenStack is an international project and I would expect the trends to work in a similar way and this is showing growth in those job listings over time things like storage networking virtualization and actually python by itself are all those lines along the bottom the relatively flat even go down a little bit over time and but if you look for OpenStack jobs that's the orange line in the middle of this training on and if you look for OpenStack and Python together that's the green line at the top so there's definitely an increased demand and that's she won the 100 per cent growth over that time so that growth in demand has the expected impact on salaries and OpenStack salaries are 17 per cent higher than the standard Python salaries but even Python salaries just standard Python jobs salaries are trending up as well that that I believe has a lot to do with the demands of that from the increased use of from within the OpenStack community the other than salary there are a lot of other benefits to being in OpenStack contributor you are valued as a member of the community for your contributions that you given your name not just by the employer that's providing enough funding for you and your influences based on your reputation and so that means that you have job mobility so we have a lot of members of the community have moved jobs with while staying within the same place in the community but they're working for different and I myself among my 3rd OpenStack job right now so I would like to find a company where you feel like it's a good fit a good size and good role for you and if you are interested in product based companies there are lots of those if you're interested in service this companies there are lots of those large enterprises start ups in you name it there's there's an opportunity there I'm going to let you find a fit for you both within the community and within an employer that that's the influx of python developers folks were joining OpenStack to work on OpenStack means that there are also learning Python there also during Python community so we have Turing mentioned Java earlier we have a lot of folks who were drawn in our community coming from more enterprise situations where they were used to programming in Java they're learning Python which means there's a lot of opportunities to sell training to those people and they are also many of them for the 1st time learning about open source if they are used to working in close source applications than they don't know about open source communities they're learning about that getting excited about the jobs again and joining the Python community coming to conferences like this 1 and going to depths in their local or regional areas on during the Python Software Foundation and and and contributing other ways so outside of OpenStack contributing to other parts of this project to 1
another where but the study contributes to Python this quality and by quite able mean the quantity of OpenStack software I mean quality mentions that you can get for pi libraries out of OpenStack using them to this is the number and I don't expect you to guess what that means that the number of deaths jobs that others that runs on a given what and that means we run the test of 3 4 5 seconds and those those tests actually take from 1 hour to run and and mandate to proud up elsewhere there 1 functional tests etc. so what that means that we are using new by libraries as they go out we automatically integrate them but by the time they reach our pipeline mirror then we'll start using that means you have a Python library annuities breaks everyone he would break us we with that and so there are a lot of times where we detect problems before anyone Yetta interest in having that kind of so that of number of tests is that we also catch corner cases in race conditions if something is walking 99 . 99 per cent of the time we will hit it like several times in their hands and so will break us to and we so we can contribute on specially on your reduces the brightest really really fast and that's not just talking about it I have a few few examples here but I'm engage 1 3 0 during the and it's OK that was even on a Friday July . 4 last year moved exceptions around in the back of book incompatible wastes if you were catching exceptions and you get screwed the bubble exploded on Sunday and and then we reported that and they knew where you this would use the same day that's a classic please regression and we couldn't really fast I accuse you don't want to that 1 had a deadlock when acquiring their mother was already acquired which is kind of a corner cases but should have been in their functional testing and the boat was reported by the next day and the day after the release and a fixed just today and finally led the that had to your 0 7 16 failed unclear on validating a previously very it might address corner case again and we we reported it the next day and we so the amount of testing we're running within carbon stock help getting regression is detected really fast and Python libraries because we're using a lot of them that it's it to give a couple of different examples of dependencies that we have we actually have over 300 dependencies in our global requirements lists for the different projects about constructive 2 years and then so part of what we wanna do not just reporting bugs but we also want to contribute code to this could this as well known it directly or indirectly we directly create libraries of that we hope that
other people will find reusable as well so this is just a few examples of recent releases that we've had different libraries with different in different commitment frameworks to testing libraries to packaging tools if you if you saw the previous talk about Haskell words talking a lot about making packaging more declarative the PBR libraries something you might wanna check out that's a good rapper on top of tools for new declarative packages and so in addition to our libraries and all we we've build some tools that you don't necessarily need to be a Python programmer to find value instead of Jacob's struggle there is probably the most popular 1 of these lectures Museum of files and template syntax to deploy copies of jobs slightly different sense the parameters from and automatically updates strength so it's very common to see that are set up with the Committee talks so that when you check in and gamble file you Jenkins of server automatically updates itself on which makes us managing intestines and releasing and there's a bunch of other testing related tools and release tools and things like that the usable no matter what programming language you're writing your code and then we do not contribute upstream as much as possible so that didn't just in preparation the stock I did a really quick survey of our community of and I have a 20 30 different packages that were suggested as things that people will contribute to the and mostly there was evidence for each of the range from the above reports to bug fixes to new features the documentation from all all sorts of things like that and the the range of all of those tools is pretty broad given the number dependencies that we have hold on occasion we have even taken over libraries the original maintainers so that they were no longer interested able to support it but we still needed it as a dependency and so we can migrate onto leader and you were tools or replace it entirely in some other way of and so a a couple of examples that I was able to find where we don't know what each of these tools is a key component in 1 part of OpenStack some or all most of them are actually used in multiple components and so it was important us that they continue to receive bug fixes in in a couple of cases of security fixes were reported right so we've talked about things that were already doing to work together we also want to highlight a few things that we should do to improve the the symbiosis between the 2 projects and to discuss start talking about about things the Python community in all right so 1 of the things you can adapt for OpenStack is do it to be some testing before you come in that in OpenStack we can't we commit anything that doesn't pass the tests at to the bottom amount of people doing but that some others don't have because they have contrived can just push things and yeah you you will test around british time that then you get around to do so having some kind of an automated framework where you can only come in things that pass tests and then whenever you you have a regression you just add the missing test so that you don't get called by the same issue next time I think it's great great great patterns and there are lots of aggression and libraries produce libraries we also progressed quite often and but that's how it really helps getting them under control and the next step is to if your library offer you should really use semantic versioning and so the idea is to signal that type of change that's how that's been happening since the last week that the if
you on takes about just increase the patch level if you change the behavior of the new feature but did not a break by quarter but immediately you just these minor and if you break backward compatibility and that happens and then you increase the major it is simple but that other people don't follow that and it's with the users of your libraries assess the risk that they are exposing themselves to grading and the amount of care that they need to apply before they they usual so have sometimes it's counterintuitive because you will increase the major version number for a security but it's because the only way to fix the security issue is to break backward compatibility and you end up with a big band them but from a downstream user perspective of libraries it's really helpful to know that if you agree to that version of the library something might get broken versus there is no chance of something gets broken because it's patch but next 1 hand and once it's out it's out if you put a broken authorities have that the solution is not to get it from prime pretend it never existed it may look like the easiest solution and add to a very embarrassing situation it's it's mean it happens to everyone looks and we we do quite a lot of time as well as what but have you create ecological call the message once it's out it's out the cat is out of the of the bag as someone on the Internet will have needed some by primarily cash have a copy of it and so if you remove and prevent it never existed then you made and embarrassing situation embarrassing and confusing and so that's not really rewriting history is not giving you and you should just hold for reducing version that big cities and in europe our project documentation history just standard version has and that's fine but it's the only way to to really make progress in constitute the last piece of and Friday and by Friday I don't really mean find it like like just dealt with this before you go into the extended vacation or in our last hour of the day and could be because for the previous Due to produce points if you will use regressions that happens to everyone and so you kind of need to be around to fix it and get ready feedback from people that can report that export so wait until Monday just fall into it word in the middle of the week when you still have a few days I had a few rather than do it as the last thing before you disappear but there's also range of things up and they can do to make pattern that right so the 1st so this is a contributing even more extreme than we do now I mean it both in terms of creating new things that are more usable than what we have but also contributing to all of us 300 plus dependencies that we have done in not just fixing bugs but also writing a features so we frequently right little wrappers around libraries to do extra things that we feel like we need to do a lot of this is really be contributed to to the library itself to make the eyes that part of the native library or just extend the existing API in some way to make the library more feature fall and think of those things to everyone all we've become a little bit better about creating reusable components from OpenStack a lot of them are really only reusable within other OpenStack projects because of the nature of some of the dependencies that sort of expect to be running inside of an OpenStack framework in some way but I have a list of 6 surfaces of libraries that created recently and there there are actually a few others that we have that are well documented idea that that I could have mentioned on that slide so we need to do a better job of finding places code is not so special snowflake that we can't give it to other people and then highlight the work that we've already done so I mentioned that we have some things that are not well documented we should fix that work on the documentation and we do have a bunch of documentation for our libraries of on Docstoc OpenStack . org slash developer so if you we are interested in taking a look at what we have all the documentation is 1st of their what were the other documentation and then we should also be doing some work to do share the tools and experience that we have by coming to conferences and speaking more often so and frequently but it's it's it's pretty common to have folks come and talk about OpenStack itself but there are a lot of aspects of the work that we're doing that is not specific OpenStack and experiences working on large open source projects at scale of deploying things scale automation and things like that that we could talk about using OpenStack as an example but not requiring that you care about OpenStack in particular to make use so if you are interested in learning a little bit more about OpenStack there are a couple of other members of the community who are presenting this week and here you have something to say that we actually have the property tax in every 6 months and it's going global older frame everywhere it comes to Europe every 2 years and this year in october it's in Boston and Spain so if your local wanna join it's a great experience to be around and and it's entry free to attend if you contribute 1 patch to events that may be interesting doing that and if you have any trouble light travel assistance for or anything we also have a travel support program to send people that don't initially operate woken up and say you are interested in learning more and so that they could attend so if you're interested you can also join this is also not because it won't get in Spain until that these 2 or 4 years from now it's a bigger part in the UK and that includes the true yes thank you for journalists few plenty of thank you to the organizers for providing there's also quarantine tells that match or slightly other questions in the case of the hi I I there and when and you think exercise can move over to Python 3 this great question we
have been working on them for a couple of years actually have been involved in stuff about 4 years now we've been working on it at least that long the the processes that has been also close to the 1st phase well 1st of all I should explain that it is given the size of the contributor base and the number of the amount we try not to do things big banks so we try not to say we're going to move on everything the Python 3 right now and so we face in a couple different than steps so the 1st phase was to make sure that we were only using dependencies upstream that supported Python 3 and I think about what was 1 that it took a little while to get a Python 3 version of a stable forest but there were a couple of others that I was sort of the big 1 where we knew we really don't even need to bother with anything else so that was right and then the next phase was to make sure all of our internal code of our internal libraries that we manage were reported and that stuff that's done we have most of the projects running unit tests of the Python 3 now so run under Python 2 and Python 3 and were at the step where we can start running a functional tests and so projects are starting to set up their deployments for the continuous integration tests to run under Python 3 so when 1 thing we do is that once you get the unit test that's with you would buy and 3 a week we run test for Python 2 and pattern 3 so that you can't really reintroduced aggression and that and so you we we support both at some point will Paul beyond the support by country and go forward the data the idea is to support both 1st and like that said we we already have libraries and things like 80 per cent of the this picture here I think we're done with that of the and and that's that the work is coordinated by 1 person because so focusing on the during high and so there's been a lot of discussion lately in the community about adopting go because you know that's faster for some stuff how is the community facing this problem in terms of back you know the limitations of performance kind of code to the community and particularly the sink candidate for the so it's it's a bit of a complex discussion to have because of other on 1 hand you wanna give developers the tools that they need to do their job on the others like like I said on the slide about the beat can't we present define OpenStack as being a single community and so it's really difficult to fragmented around the language even if go is not the worst language we could work from work with coming from Python but it's still will create fragmentation between the part of the committee that on the best pattern and about the that on he does go and people to both and so it's a it's a bit of a struggle to try to uh like enabled evidence to do it without winning harm to me and the way we've been looking into that is every time someone has a need for going up and state usually that they have some kind of a specific problem that we end of the 2 look into and out of for example 1 on a on a recent 1 people assume that grew will be faster for a programming and very very fast network outputs and the recent progress on on a 0 http and other libraries in pattern that shows that it's not necessarily true and sometimes it's education sometimes people just want to jump to the new Chinese thing that everyone else is using so we need to kind of the debunked that and if people still have a reasonable use case for goal we we need to find a way for them to use goal today could also their optical library in a corner and colleagues from Python code they could mean there are other ways to but no repres to use go without fragments in the community and county where as the looking into how we can and brother developpers without without meaning and as far as the upstream work very Hastings giving a talk about the electing me that he's working on 2 years ago and I think that was 1 of the big performance issues that 1 particular project was saying that he's giving a talk on that later this week so I'm looking forward to to that and and we do have a couple of members of our community who are quite thank developers and their well aware Victor stare especially as well aware of the async issues and and all that stuff is being fed back upstream that way but but we're sort of at the the point where we have a particular project where it is very clear that there are below level issues dealing with common devices for their performance and and and history said there maybe architectural changes so that particular application that needed In order to split up but then everything that we do we we've been trying to to push back upstream this is 1st issues and performance of filed a couple about myself I know of some other members of the community have to put it in here last question for along the same line of the last question you briefly mention that you were thinking about replacing price someone in the past what where the language is used in US thinking about as contestants to yeah so we were not thinking about replacing it wholesale there are a couple of projects that have run into particular performance issues and at very very low level dealing with storage devices and those projects are experimenting with writing things in go and I did not sure whether they evaluated in the other languages and who also had a number of projects that wanted to we have a project with each other that it was more because they had to loads of corporate never appears where Java developers somewhere and they wanted to reuse for OpenStack without training them to a new language but there was no technical reason it was more like a like a business and so those the 2 things that at 1 point there was down at the very beginning people wanted to write a message queue and this and that common would probably be the best thing for it so every now and then someone has a very specific use cases that they wanted use a very specific language for and our role as the technical
committee for OpenStack's not necessary to give directions for every project to follow its more to make sure that we still have this current community and pull those principles that set and so we do languages is used thorny issue because of this potential for fragmentation versus have the need for technical beauty is like a like that said go always there the big thing right now and people wanna write things in go so we need to have them goes and look at the problem but deeply before before we can actually say well go is the only solution for Python can actually be made to work for you probably can you should look into every specific issues in detail before you switch their reduce plenty of java scripts for a friend at work and best thing and things like that so it's not that Python everything in OpenStack that is written in Python but most of the applications that is of instantaneous for this he doesn't conferences and security must to you for them in the southern fewer which