Add a meeting Rate this page

A

Okay, let's start the kobe builder in the controller one time meeting uh today, it's 11 of march 20 21, please don't say nothing that you, you don't. Would you like to have for all prospectors for all in the internet?

A

um I did. Would you like to start? I think you'll have the first talk.

B

Yeah, I hope this meeting is not me talking and you're listening for the whole duration.

B

The first topic I have is about exporting some internal packages that we had in cube builder. We already created, I'm gonna share my screen. If you don't mind, camila.

A

Please sell free.

B

You have to stop sharing yours, yeah, yeah, okay, so the first one is about some. um There were a couple issues about sporting, a couple packages that we were using as internal before they were already trades accepted in tuesday's meetings, and this one and the previous one, if I'm not mistaken and um to you know in order to do these ones, there's they, sir.

B

uh They are creating file system abstractions and they are creating a lot of them in in different parts of the code they are creating, like its create ap command, is creating four just for the files and a couple for for the config file, so they are creating like six of them and the first pull request that I wanted to mention today.

B

Is this one uh 2080?

B

uh What it does is. It creates a single file system extraction that it's uh created by the client itself and then it's injected in in the rest of the objects, so that we don't need to create our own file system attractions in the different layers.

B

This is not it's a breaking change, because just because of this, because there's a method in an interface that we were sporting, that right now uh needs to be changed to inject the file system.

B

So it's technically breaking change and I would like to know what do you think about this one?

B

This enables the other two draft pull requests that also linked in the agenda that are 82 and 83 that are that, do the current export of those packages and as it is a breaking change and we are already in a bit. I would like to know so comments some comments about this. I already asked eric about this one and he I don't know if you want to share your your thoughts on this or should I make a fast summary of it.

C

uh Yeah, I can talk a little bit about it, so I I think this is a really good idea. um I did have one concern about the level of uh hoisting, this abstraction um or to which level the abstraction was wasted, because uh at the beginning of this whole plugins development thing, we were a little bit skeptical about exposing a particular um library for flags which is the uh spf 13 uh flag library.

C

I forgot what people like, I think, uh and we decided in the end that was totally fine- um that there's no better way to do that, but now we're also exposing another library uh file system, abstraction in the s and the actual uh plug-in uh interface as well, and that's kind of locking us into something um that we might not want to be locked into.

C

I don't think that's as big a concern here, because um this file system abstraction directly mirrors uh the os package effectively, so we're not really losing that much, but um I just wanted to make that concern um public and also. I was a little bit concerned about the um the files to be injected at the cli layer, just because that's kind of irrelevant to what the cli layer does like the plugin technically could not even scaffold any file, see that's kind of the point, um so it's kind of weird to have the file system injected.

C

At that point, I it would make more sense to me to be injected internally within the plug-in, uh but as adrian I think you pointed out earlier um to me offline.

C

The uh file system injection at this layer does let us basically run end-to-end tests as unit tests, because you can uh scaffold all code um within the within like a member file system itself and then check to see what was written, and it also gives us atomicity before we actually write to um to disk uh the only problem with that is, if we had uh some binary execution outside of our uh outside of the cli scope like gomod in it or make or anything like that, those would still be a problem and I think we do have go mod in it somewhere, um but you could always run those after you validate everything uh in the um in the map file system.

C

I think that would still be a problem for end-to-end tests, but uh I'm sure we could work around that. So those those are my thoughts, I'm I'm not diametrically opposed to doing things. The way that you have them set up here, but uh I did want to raise the idea that, um even though end-to-end testing and atomicity is more possible by injecting the file system at the cli layer, we don't necessarily need to do that.

B

Yeah, just a brief comment: the reason why the client is the one that is creating the file system and injecting it is because it's also used to scaffold the config file, the brake configuration file and that file it's created by the client itself. It's not created by a plugin or by a sub command. So if we want to have the automaticity or the end-to-end test that you are mentioning, we need to have the same file system for both the config file and under scaffold the files.

B

So we can't do it like deeper in the plug-in layer or something like that. We need to do it from the client. The user doesn't have to provide it. It's it's just created by the in a creation of the of the client, so yeah, that's a bit of a concern, exposing both affair and and also having that responsibility moved to the client. But I think that the benefits that we could get from this are pretty significant and also uh these packages that we want to support uh this one.

B

The machinery, the scaffolding machinery is being duplicated by operator sdk and basically it's being copy pasted and using internally, and if we manage to expose it instead of copy pasting it they will just use the one that we are offering and I think that will reduce the the duplicated code. A lot they're like it's like a thousand lines or something like that that would be removed from that are duplicated right now. So.

A

But so we can expose a way for our change as well.

C

Yeah originally, this was internal uh because we didn't want q builder to become a like a templating file system library effectively, and these details were like internal to plugins and they weren't actually related to plugins themselves.

C

But it is much more convenient to write plug-ins with these tools than by making your own or, as in the operator, sdk uh copying.

C

Them.

A

Oj any other person would like to put your thoughts as well.

A

So I I'm not sure if you reach a consensus about to choose one. uh The first concern is like expose the leap, but if our use the plugin system, we also need you to step in this anyway and you're right.

B

Yeah yeah, uh I was gonna, say that after uh the the new api, the new plugin system, api that was approved for phase 1.5, already injects the file system and that api that part of the api has already been approved in a design document. So we will be we. We basically will be doing this sometime.

B

If we do it now, we will be able to use it for version 3. If we don't do it now, it will be delayed, but we will get to do it sometime. So I think it's a it's a pretty small breaking change and we can afford doing it.

B

Now.

A

Okay, so about all contents that you spoke has something that you think like okay, king, do you know, uh can you reach your consensus now? Are you thinking that? Would you be better? We discuss in the request, or you would like to list the the big one or two big ones. That is true after the.

A

Discussion.

A

Okay,.

A

How how you can reach the consensus here, um foreign? We have some concerns.

B

um

A

Someone or other person you like to speak about the phone science. Do you think that it's a bigger problem, or not in july angel? What is the biggest one after this comfort? Okay, uh make it public. It is internal college. I think it's fine because we decide to find another place. So this is a concern that she, if you will decide for other files and the other things that you are using just internally, that it was before jessica being the beast. So I think they're really the same holy apply um about to the japanese.

A

That's really sports! Now, if you don't do that uh in the client in the consumer, we also you need to have that in the same way.

A

So this is a concern, but but it has just other thing as well. That's on another one that she I to add.

B

The responsibility is now moved to the client and that's not ideal, but that's the only that's the lowest, it's the highest layer, but it's the lowest that we can go because the the config file is generated over there. So we can't go deeper.

B

The only uh once this is merged this small breaking chains, the other two exporting both libraries would be uh almost non-breaking.

B

There is a small breaking change when sporting, the mac, the machinery, because there were some errors that were being exposed, weren't being exposed but were being exposed through a function that created them and a function that check if they were that kind of error, and that has been moved to a properly a golan 1.13 errors that use errors, dot us to to check the type, but it's without taking check on that part is not breaking so the other. The other two drafts will request.

B

We will be able to to emerge pretty easily if we agree on the file system, breaking change.

A

Okay um has any other person that would like it to raise your thoughts, see a problem or or not. It has any other concern as well.

A

I don't think so so, okay.

B

I will talk offline with eric, then yeah.

A

The.

B

Only one who raised concerns and and try to get this merchant and see if you can also others.

A

If you felt more comfortable to go there and put your thoughts in the pujiro yeah, it's fine as well, so I think we will not find a consensus on choose one here now, which would you be nice and catchy the other school up as well.

B

And I think that ends the first point in the in the agenda and the second one is going to be a bit longer: a plug-in space 1.5.

B

The breaking change in the api due to uh introducing the plugins phase 1.5, has already been approved in an enhancement proposal that was merged.

B

uh It's true that when we were implementing it, there were like a an extra some extra concepts, like the plugin bundle that I'm gonna describe now that weren't considered uh at the start. So there has been a modification to the design that it's currently open as a pull request.

B

Okay, it's not working.

B

Yeah this one, it adds some concepts like the like uh the plugin bundle or or some other concepts that weren't introduced in the first one. So if you can get some time and review, this one would be nice to get it merged before and the main point about the plugin phase 1.5 and the current state is that we are currently on beta dot 0 and it has some breaking chains.

B

Obviously, the breaking chains have been approved in the enhancement proposal in the first version of this document that has already been merged, but we are in a beta0, and that also means that we are close to a release. So in case we want to to implement plugin phase 1.5 for version.

B

3 would have to merge this part before before, releasing and probably that requires at least another beta person and maybe a release candidate version to to freeze the api uh first, I I would like to say which are the advantages of of creating this plugin phase 1.5, which features it enables um the first part of the of the implementation allows to change plugins.

B

This means that, right now we can only a use. One plugin at a time this is, we can either use the go plugin version 2 or the go plugin version 3.. Once we merge this part, we will be able to to join plugins to change them and the go plugin would do the first part of the scaffolding and the declarative pattern. Plugin.

B

A good, for example, only do the changes that need to be done to implement the declarative pattern.

B

This was previously been done through a experimental, outdated, plugin system that has never been removed from from the code, but once we get to plugin 1.5, we can also remove this experimental code.

B

Aside from from adding this uh plugin changing due to the fact that we are adding this plugin changing a feature, we will be able to to split the monolithic go plugins which are pretty big into a base, go plugin and some extra plugins that will do some part of the of the scaffolding. For example, the component config x. Scaffolding is a clear candidate for a separate plugin.

B

Extracting the config directory related scaffolding to a to a different plugin is also one of the clear things that could be implemented. As plugins also operator, sdk is doing its own plugin chaining, like using alpha releases and better releases to of q builder. So if we merge 1.5, it will be able to to use the official supported one, and those are some of the advantages that just plug-in changing will will bring to the table.

B

There's also with this plugin phase. It also improves a bit the plugin resolution algorithm. So there will be some cases that weren't supported before and will be supported right now, for example, if you expect, if you specify a set of plugins that will be used, but you don't specify the project version that will be used, the client will try to to resolve it by itself.

B

For example, if all the plugins only support a common version and that version is version four, it will be used that one, so it it's a bit more intelligent in the resolution plugin in their solution, algorithm, but that's transparent for everyone, and that has no breaking chains at all. So those are some of the scenarios that will be uh like the advantages of implementing plugin phase 1.5.

B

The main concern right now about doing so.

A

Let's wait, let's just do uh a recall to see if everybody in the call uh get the idea of your proposal. So first I thought today in the kobe builder, we go there and run cody builder image and it is generate a goal-link project.

A

So, by moving forward to fgs, we came, for example, kobe builder, in it blue games, aj put it rolling and any other option plugin that is called folds things on top, so by default, for example, any api that you'll use comfort. We will use these options currently, in kobe builder, we have. It is declarative partner. That is our agile, including that is the way that you'll be college before uh that you do things in the controller.

A

So by going there into doing kobe builder image and passing the both plugins, we are saying that in our project you will watch always for any api that you are creating using the additional option as well.

A

uh The other advantage is like we want to run copy builder, create api uh plugins as flag and jp is a chain of plugins that you like to do nice things in that scaffold. So we will do the the full uh discover the default uh files, the the full behavior uh using goal, for example, then we can use again the declarative, as example, so just in for that api we will do the customization on top, so we could do very things very nice. uh We have another proposal that she was accepted as well.

A

It is blockage by the cheese one that is generate uh the full code for deploy an image in on the cluster, which means like a lot of people. Would you like just to create operator, to have the solution cluster and by using this plugin? Would you have the templates? The full code, like eric type, is still folded by the folk following what you believe that you would be good practice like a conditional status, finalizers things like that, so, which is also going to help people learn uh how to do the projects, uh have the solution.

A

Faster uh engineering also can change the culture that is, you know, reached by the food. This is one of the ideas into the other options. uh uh Highlight is the possibility after we say that you one plugin, is composed for other plugins. So, for example, if you would like to have a plugin that is required, as they haven't plugging into the gold plugin discovered, both we could make a composition and today create another plugin that you do the change, the associations that you will want. So we can, we we will provide.

A

It is fascinating this flexibility in the api um for any consumer. That's today we have just a cdk, I believe, because the 3.0 was not released yet so the plug-in system in the cheese api is not provided so far by kobe builder, uh just in the master branch in in the alpha beta releases.

A

So I don't think that we have others consumers, but I I'm not sure about that. So we might have budget uh the user case that you have that it's that you know about is this is sdk for sure.

B

Yeah yeah, I forgot to mention that you will be able to set the plugins flag at init, and that would mean that those plugins will be used for the whole project for all your command calls or you will be able to override those for a specific command. For example, I could use the basic one. The google one for the init and all my controllers and apis would be the normal ones.

B

But if I want only one api to follow the declarative pattern, I will be able to override it for for that command alone, and that would mean that only that command will follow the declarative pattern, but the whole project as a whole will be using the other ones.

A

Another idea that you have with that uh as I as a suggestion is like in the last meeting uh philippe represents the conflict, which is very nice, so we know that the config could be replaced by the configuration and we have the language, the the plugin to scaffold the language files go or ansible or helm or shell.

A

However, so the idea was like if you will be able to extract to the conflict, and it is be completely transparent for the users, because all this change doesn't change anything for the asg users just for the api points of view. So if you are able to do that, we can have a good strategy to opting and opt out the configuration which would help us like give it his flexibility to to move forward to ensure the backyard compatibility.

A

uh Engine gg provides the the both possibilities until we be able to decide for the best strategy for the project it is. If it is, is some is the idea.

B

I don't know if any, if there are any doubts beh before I start saying, which are the concerns and how we can solve them. So if anyone has any doubt before we continue, he can speak or raise his hand or comment in the chat. I don't mind.

A

Silence so, okay! So if.

B

Anyone has any concern, or any doubt please feel free to to interrupt me. There is one concern that was raised and the main one is that we are introducing a breaking an api breaking change in beta.0 when there's nothing, there's no rule that forbids us from doing that. But it's not the most elegant pattern either.

B

So it's a bit of a concern, so the idea was to try to reduce at a minimum which part we are going to modify from from the api, as we are close enough to a release so that we should care about that and in order to do so, uh they've only well, the only the the related the only api change is related to the enhancement proposal that was merged. The rest of the breaking changes are related to the previous pull requests that we saw about exporting uh some files and removing and exporting some packages.

B

So the current implementation also contains that, but once we merge that it will erase so that they don't have those files and we'll use the exported ones and without taking that into account. uh The only breaking change is the modification in the ipa. This means that end users won't be affected at all users of the client of either keybuilder or operator. Sdk won't see any effect.

B

uh They will only see the enhancement in the plugin resolution algorithm, but that's quite transparent and it's an enhancement. It's it's, not a working change. Cli developers such as a operator sdk well operator, is the case both a clear developer and a plugin developer. It has its own plugins and it also uses a a clito, but from the creation of the cli, the api will be exactly the same.

B

There won't be any changes either and the only changes will be in the great integration of the plugins, so they are and those and those breaking changes are already approved in the enhancement proposal. So I think we are quite safe uh merging this proposal. I think it is a concern to modify the api in the beta0, but we are not in a release candidate or already with a with a major version release. So it's not uh forbidden thing to do and the it has been already. Quite.

B

It has been a truthfully texted through the old, decorative add-on or add-on a plugin that was experimental. It has been converted into a into a plugin and is included in the pull request and all the test data in all the tests in q builder and are passing and also it has been a link with with sdk.

B

I just rebased today to the last exchanges in sdk. The plugins in sdk has have been ported to this phase. 1.5 and all the ca dies are also passing. So I think we have a pretty good coverage and testing uh support for for this uh feature, and I think that even being a breaking chainsaw in a one in a beta state right now, I think we can merge it and and release it as part of the version 3.0.

B

The alternatives to this could be waiting until uh the next major version, and in which case uh I don't know, when version two was released, but I'm sure that it was a couple years ago or something like that. uh I don't know when version 4.0 will be released, but I think it's quite long in the future. So I waiting for our next version. I think it's.

B

It won't allow the users to benefit the users and the developers to to benefit from all the features that we are adding here and the other alternative that this was mentioned by eric would be supporting both phase 1 and phase 1.5 in, for example, version 3.1, and that would mean basically having a duplicate of cube builder for for version 1.5 to support both both.

A

That that's just one question: if we follow, if twister is optional, how hard you'll be to keep him on thing? Kobe builder,.

B

The the whole plugins would have to be duplicated with all the templates. uh Maybe the templates can be shared, but uh the plugins themselves will have to be duplicated. Any change that we do to a plugin will have to be done, at least in two places, and maybe even four, if we are also doing it for go version two.

B

um If we, the the all the client package, will have to be basically duplicated to a all the plugin package, mostly all packages will have to be duplicated, except for the model one and for the config one. So I think it's quite a lot of effort to maintain both both copies. At the same time and.

C

Yeah, why would the uh plug-ins themselves need to be duplicated? Can they just be ported to phase 1.5 and be done with it.

B

If we have both support for version, 1 and version 1.5, we will have to duplicate them. For the api of a plugin is different, it doesn't have uh only urban methods. Now it has a scaffold process, scaffold press scaffold, so uh we will probably have to duplicate them. There may be some shortcut for this part, and most of the code would would have to be duplicated. Somehow.

C

I I guess, like you, would have to do some duplication at the the plug-in uh interface level, but you yeah you wouldn't have to duplicate any of the scaffolds. um I I actually think the code there would the the code duplication there would not be that bad.

C

But when it comes to the cli package yeah there would be a decent amount of duplication there. It wouldn't really be duplication because you'd be rewriting a lot of it for phase 1.5 yeah. I just I just wanted to point out that there's not as much duplication as as you think, but there still is a decent amount.

A

So maybe not to be too hard, but we know that we're losing montana.

A

Village, so I I.

B

I.

A

Know.

B

Sorry, I know you eric was you were the one that who raised this this concern the one about the beta release. Right now, I think I have reduced to the minimum the aap breaking changes to only be the those that were approved in the first enhancement proposal that was merged, so I I do think that it can be merged and.

A

But then, just to be sure the minimum is we feel to the bundle plugin.

B

No, no, but the battle.

A

Plugin.

B

The bundle plugin is an addition. It's not a breaking change. In any sense, the the bundle plugin allows us uh that concept hasn't been explained here in the in the meeting.

B

The bundle plugin allows us to group a certain set of plugins so that users don't have to refer to them as a four of them, for example, imagine that they have four plugins in my system, I would have to say a q builder, init dot dash dash plugins equal, and I would have to list four five or seven plugins, and in order to avoid that, we have a bundle, a concept that basically is a group of plugins.

B

So when the user, instead of iii, providing the the name of each of the plugins, it can only it can provide the name of the bundle and the cli will know how to resolve to to all the plugins.

D

So it's.

B

Just an abstraction for the for the user so that the user doesn't see that much regulation. It.

A

Is in the api, what allows us to compos this make the composition of the plugin say that you're plugging a is equals a b in c energy dot is magic, yeah.

B

But but that change itself is not a breaking change. It's just it's just an extra feature that is needed to so that operator, sdk doesn't break backwards compatibility, but it's not a breaking feature so in case that wasn't merged for version 3.0 that could be merged for version 3.1 or even yeah. So that's not the main concern, because it's just an addition of the apa, but it's needed to in order for um for operator sdk to maintain full backwards, compatibility and use this new plugin system. It requires the the bundle, the banter concept.

A

So I think the the question that you we need to answer here, actually no needing somebody. The goal of of these is like. We need uh reacha consensus, we will merge 1.5 before the stable release or we will do uh this table really easy now and you don't manage 1.5 plugins. So in that document, uh if you can, can you show the agenda please what I did?

A

I tried to put at least all pros and cons that was in my mind uh to help us to reach the best decision for us uh regards the consent like we are in a beta, so we cannot breaking uh do introduce a breaking change. I would agree with that. If the breaking change affects the in the users, which is not the case or if we are going to have an api provided by the project.

A

However, before we do this release, we don't have api at all, so we are saying that he we cannot see do that because we are in beta engineer, breaks something but see something was not a delivery for nobody before officially.

A

So I'm not sure if uh I agree with the concern, if I have the same concern about these points about it, it's bad, so it's not nice to break. I agree if it's something that she was provided already it's the same thing. I put a new feature in the project.

A

So before I do the stable release, I change cheese featuring each time. Nobody, it's actually using that feature before they release. So uh I think it's not just so. This elegant, like you, know, uh smart and test points, um the good things that you I believe is like uh week.

A

It is if we manage the chains now we will have a cleaning api. We are not doing a really easy with your api. If you think that you it's like a you born deprecated uh you're burning like no use that from the the first moment.

A

So this is something uh that I don't think it's nice um and you keep it engine that you need to keep maintaining forever until the next one. The reason one one option was like, let's put it using the 4.0, but we don't want to make it the 4.0 soon as well. So I think it is start to be out of the table, uh so we have just two options or maybe now do another better.

A

I know more one or two how many be required and she will be able to do this table or try to make it is compatible after the release without introducing breaking chains which can break okay, which can bring more effort to keep the project maintained after that um angie. Probably a bad experience. If someone started to use t's, uh this part of the api that you know that she is born is born and deprecated. You know, I think the feature is are very important because it brings flexibility.

A

You solve a lot of problems, engaging sdk regarding antenna, village ng will provide more more real plugging options for others projects as well, so I think they are very valid, so it doesn't. You know. The only cons that I see is that you will delay will need to delay the release again like for two or three weeks in the max. I think it is going to be fine.

B

Just just a comment on on the implementation: the implementation is done.

B

The implementation included the exporting of those packages that now is uh in separate pull requests so once those get merged uh I would replace to to include those, but it's working right now. The implementation is fully personal and it has passed all the tests here, both here and in sdk.

B

So I think the implementation is quite stable too. It's not something that we need to implement. Now. It's already implemented.

A

So have someone any concern or any opinion at all about, shall we? What is the best like so do we put the things that you wish now and you try to delay the release like in two weeks or three weeks, and you make a cheese or in the way that she, let's say, is more maintainable?

A

We will we'll provide the features that you, like uh you'll, be more clean, or should you be moving forward with this table release that was not done so far because of this discussion um and then try to to fit the new features with the old, with the api that you'll be provided in the faces problems to maintain at all and youtube documents, and all this.

A

Stuff, after it is really easy, others also you'll be using that. So we need to have a good documentation uh not only for shk, I believe, but for any tool that you'd like to consume that.

A

So you need to be very clear about it. This stuff uh was related, but actually we would like that you use. It is another stuff. We recommend we suggest.

B

I don't know sorry go ahead. I was just gonna. Ask you if, if your cons, if we summed up your concern, the one you raised and if you still have it or if you want to say something about that, so you can go ahead.

C

Yeah, I think my biggest problem was like this whole, bundling idea not being in the ep, but you've uh remedied that by creating an update to the ep uh for bundling. So uh I think once that gets um well. First of all that isn't a breaking change, that's a feature, so that can be that can go in after three zero zero, like you said uh so. What exists now um is a breaking change, the 1.5 ep and implementation, and I think now that everything in the ep is implemented and nothing more than that.

C

I am okay with this going into three zero zero contingent on more people, reviewing it and looking at it, because, right now it's just been camilla and I uh I would really like buying.

D

From.

C

Another approver uh before this goes in.

A

I.

C

Don't know.

B

I know joe and has been reviewing from the sdk side and also I know that jesus has also looked at the proposal and and review from the sdk site. But, as you say, the the queue builder site implementation is only reviewed by youtube. So I.

A

I don't know.

B

The implementation.

C

That I want reviewed and the uh the api that is now being exposed.

A

I I think it it's nicely uh if you get him other contributors as well, uh more people involved, it is, would be great. I agree.

A

Completely.

B

Okay, so if anyone has any concern with it and doesn't want to say it now, you have time also to say: if you don't want to say it now, you can raise them in in any of the.

A

I would like to do more one question eric uh after the things that you checked so far, uh the implementation uh and about all this stuff. Do you have any other concern that is not only related to the liberties uh we delay? uh Anyone see any problems should delay the release. For uh I don't know two weeks three weeks uh has someone any other concern that was not removing the.

A

Table.

A

Our program that we are not seeing.

B

Okay, it doesn't seem to, in any case you can comment on on the enhancement proposal, pull request or or the other one uh they are. They are listed over here.

A

I I think it sorry, I we have just six minutes and we have it another another. uh Another thing that uh other person so.

B

I will finish yeah, so I think the idea here is to merge the pull request that I mentioned before about the sporting day packages. I will rebase the implementation to to only have the changes about the api and get some more reviewers over there to to make the sure that the implementation code is correct, and once we do it, we can merge it.

A

But it is one I think if he it's hard people have time. You know, because of this, uh that's a big pr. If you can put it very explicitly here uh that she has everything that you'd like to merge for 1.5.

A

Would you be more productive if the people could go there and jump into tessie and give your thoughts uh and help us to review the big one that has everything instead of these small ones, yeah.

B

Yeah, I I'm only listing the the big one, I'm not listing.

A

The other.

D

One.

B

There there are, I other, pull requests that do this in like steps if someone prefers to review in steps, but I'm only listing the the big one. So I think the other topic was raised by eller antonis about control burn time. If you want to.

B

Go ahead and talk about that.

A

Science say you are showing the the screen. Could you click on his.

B

Oh, I okay yeah.

A

And he's that's in his issue too. Would you like to speak? Please feel free.

B

Is this one right.

E

Yeah, that's. This is the one.

B

If you want to move for something, tell me.

E

Yeah, it's going to be like very brief, uh I'm from from qr network team, and we face an issue with controller runtime like we are deploying in one of our products. We are like deploying it in damn set and uh we found that controller runtime is doing the cache.

E

The cache to reconcile resources.

E

For rest per resource type, so, for example, we were like registering to node resource so and every one of our pods, uh where, uh where is where we're? Caching, like all the nodes of the cluster, so in clusters of size between 100 and 500, the spike on masters for the api server for cpu and memory is huge because it sends you its sending us uh all the nodes uh every req after uh cycle, but at every of our posts we were just interested in then in the node that was running this specific board.

E

So with this in mind, uh we found an issue at control runtime, so people talk about similar issues and uh we hack, so we we did hack something in our product and then we try to put some pr app stream at control. Runtime and alvaro told me. That is a good idea if we start maybe with a design document, which is this pull request, and uh so this is it more or less what it does.

E

Is um it's adding a new field to cache the options, so you can traverse all the code until you reach the list watch for the informers, and this way you can filter out or filter in uh the stuff. You are caching, and this is the the simple approach we have found and I suppose an alternative will be like change the builder.

E

So so you have there some dsl uh or just filter. I don't know some dsl that you talk about a specific field or specific name. I don't know, but this is the whole picture. So what I show here is the details of the simple idea we have come with.

E

I don't know, as I'm not expected, expect expert at control runtime uh for sure may. That would be a better idea, but at least this was working for us in a bigger scale, cluster. What 100 nodes bare metal cluster was working for us and fixed our issues.

E

So so this is it more or less.

D

Yeah, so essentially a lot of time. I don't know if we should try to finish this. If everyone has couple of minutes left or if you should defer to the next meeting.

A

Actually, I need to get out now, because I have another video exactly now: okay,.

D

Yeah go ahead.

A

No, but I would say that he could show at least the issue we can put it again for the next one and just jackson, italy. He could highlight uh his problem, his ideas and maybe we can interact with him and help him in the request.

D

Yeah, the the main debatable uh thing about this is there's a very long standing issue about not having any kind of filtering possibility on the cache which we so far blocked. By saying we want some nice integration with the cashback client. If we do that and with this change we, if we merge this, we would go away from the stands and say: okay, you can configure this on the cache.

D

You can overwrite the default cache and if you do that, the default client will behave differently, but you essentially set you know better than to use the default, and that's the point that's debatable about this and the water, which I would want to have consensus before we merge this.

A

Elliot, uh do you it's okay for you if we put the cheese writing in the agenda for the next one, uh so if it is not solved be between now and there uh we can discuss again uh more with more time you like the first sighting, then you have a lot of time.

E

Performance: okay,.

B

Next meeting is in two weeks just for.

A

Context.

A

So it's time um I really would like to say thank you for all. Thank you for your our help. Education. uh We definitely miss solid today and is that what do you think fox.

B

Thanks you.

B

All.
youtube image
From YouTube: Kubebuilder and Controller Runtime 2021/03/11

Description

No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).