2025-01-30 Meeting notes
Feanil Patel
All public Working Group meetings follow the Recording Policy for Open edX Meetings
Date
Jan 30, 2025
Participants
@Feanil Patel
Previous TODOs
Discussion topics
Item | Presenter | Notes |
---|
Item | Presenter | Notes |
---|---|---|
| Feanil |
|
| ||
Next Major Maintenance Work |
|
|
Django based Codejail Service |
|
|
edx-platform Settings |
|
|
Action items
Recording and Transcript
Recording: https://drive.google.com/file/d/1YoEKEe1xPCQw0CATgSjZFFAISuaCuGy5/view?usp=sharing
Maintenance Working Group Meeting - 2025/01/30 09:00 EST - Transcript
Attendees
Adolfo Brandes, Awais Qureshi, Feanil Patel, Feanil Patel's Presentation, Kyle McCormick, MEHAR USAMA, Michelle Philbrick, Robert Raposa, Sarina Canelake
Transcript
MEHAR USAMA: Nice to see you. Hi
Feanil Patel: Anyways, yeah,…
Awais Qureshi: Hi everyone. Hi Robert. How are you?
Robert Raposa: I'm doing well.
Robert Raposa: How are you doing?
Awais Qureshi: Good. Great.
Robert Raposa: Good to see you and your API PRS.
Feanil Patel:
Feanil Patel: those are notes are here. if anybody wants to add anything to the agenda that's
Awais Qureshi: It's
Feanil Patel: No afternoons. Give people another minute and then we'll get going.
Feanil Patel: Kitten screen saver.
Sarina Canelake: He just jumped in the water fountain, so he's soaking wet.
Feanil Patel: No.
Sarina Canelake: Yeah, he's pretty dumb. He's only nine weeks old. He hasn't fig out yet.
Feanil Patel: This looks like a bathtub. What did you name him? Theodore.
Sarina Canelake: I call him Teddy. My dad gave him the middle name Rockefeller. Yeah. So,…
Sarina Canelake: Teddy Rock, I guess. Yeah. Good strong name.
Feanil Patel: manrock king.
Feanil Patel: Good strong name.
Sarina Canelake: Deborah doesn't have a middle name yet, though. My dad's still thinking about it.
Feanil Patel: Is he cast with middle naming? Yeah.
Sarina Canelake: He wanted to name them and I was like, that's not happening.
Feanil Patel: All right, let's get looking through the to-dos from last time. My thought about the edex platform stuff was to make that announcement next week after I roll out the CC stuff to all of the TU folks as well. So, I'm probably just going to wait till then to do that. Kyle isn't here at the moment, but I know the setting stuff is in progress. There's a bunch of clean up we've been doing there. And then I haven't up the CI stuff yet. So, that is all pretty static at the moment, but I think we'll get some movement on it soon. I have an update on the 2U core contributor roll out.
00:05:00
Feanil Patel: I posted about it on the forums if you guys are looking for more details, but the plan is that Monday a lot of those permissions will change and then I will be onboarding everybody through the CC process. but after that I think everybody who is a maintainer of anything will be a core contributor and everybody will be playing by the same rules and hopefully we can sort of simplify communication mechanics around that to make it easier to get maintenance done. So that's exciting. But that's really all I have at the moment.
Feanil Patel: I think the next big thing is that there aren't any major maintenance tasks for that we need to land for teak. the X improvements team is actually currently working on a minor one around dropping Python 38 support because we added 311 and 312 support but we haven't dropped 38 support so going back through the Python libraries and making that change. So if anybody has capacity and wants to help with that, there's let me find the top level ticket for that.
Feanil Patel: a Django 52 upgrade and 52 will become available in April when we cut te basically. so at that point we'll take it out converting every adding 52 support to all the libraries. and then we can look through migrating all of the services, but there are fewer and fewer services as more of them are getting deferred. So, it should hopefully be a little smoother. Anybody have any questions?
Robert Raposa: I just noted although I don't think it affects anything that we're not doing our code gel python upgrade until we finish our containerization work and…
Robert Raposa: but I guess there's already the named release version of the requirements and that's not going to get deleted maybe it doesn't matter at
Feanil Patel: Yeah. We're going to let people know.
Robert Raposa: In Koja, I think there's the …
Feanil Patel: There's an extra step for code. there's and the old requirements files are still there so you guys can keep using them for as long as you want to.
Robert Raposa: exactly. That was the main thing that I was saying,…
Feanil Patel: Yeah. Yeah.
Robert Raposa: but Yeah.
Feanil Patel: I think I'm pretty happy with that design that Khan and I came up with about leaving those old requirements files there. Are you not working on the code service?
Robert Raposa: And to clarify it, it's the Python upgrade that we're waiting until postcontainerization. The containerization has not been postponed. So, we are working on your So, that sentence doesn't make sense to me.
Robert Raposa: You just wrote that It has not been postponed. We are working on that is correct.
Feanil Patel: I see. You won't be switching off of Python 38 until after that work.
00:10:00
Robert Raposa: Correct. Y and…
Feanil Patel: Which is not relevant to other people. Got it. I think now I'm in the same place as you are.
Robert Raposa: I didn't realize it wasn't relevant until after I said
Feanil Patel:
Feanil Patel: Yeah. Yeah. No worries. cool.
Feanil Patel: Cool. We have anything else? yeah.
Robert Raposa: We now have Kyle.
Robert Raposa: I don't know if you want to go over Kyle's tasks or not.
Feanil Patel: Do you have any updates on your future news?
Kyle McCormick: My two to-dos haven't done the first one.
Feanil Patel: I think that Yeah,…
Kyle McCormick: Second one we've been moving on without an ADR.
Feanil Patel: that first one. Yeah. Yeah. For the first one, I think deer working group working on updating a web kind of will cover a lot of that is that conversation right
Kyle McCormick: Yeah, there's still the issue of if we're going to steer for every breaking change that's going to be a bother for everyone else. So what is our breaking change process? How does it integrate with deer and how does it integrate the process?
Feanil Patel: Okay. Because it's basically a question of what's our threshold for deer.
Kyle McCormick: What is our threshold And for things that aren't a deer, like what's the communication strategy?
Kyle McCormick: Is it throw an exclamation point in your commit message and…
Feanil Patel: Got it.
Kyle McCormick: we're good? or is there some more involved thing that involves telling master deployers what's going on,…
Feanil Patel: Right. Right.
Kyle McCormick: giving them a heads up?
Feanil Patel: Okay. Yeah.
Kyle McCormick: Yeah.
Feanil Patel: One of the strategies I used for a thing that I realized was breaking was making the pull request description be intermediate between those two things…
Feanil Patel: which was the pull request title and description were like this is a breaking change here's how it broke and here's what to do about it but it didn't end up having a full decker that went with it.
Kyle McCormick: Mhm. Yeah.
Kyle McCormick: And that sounds reasonable. I think there's the obvious question is how do master deployers handle that?
Kyle McCormick: I think if they're slightly delayed from master, they can see these PRs and react to them. If they're deploying directly off of master, obviously it's not classified. I mean, there could also be tooling that sees the exclamation point, the commit message and…
Kyle McCormick: reacts to that or ping someone. so I think I mean we're having a discussion now,…
Feanil Patel: Write it holds…
Feanil Patel: until somebody reviews that Right.
Kyle McCormick: so let's do it. what? Yeah. Yeah.
Sarina Canelake: I just want to interject too that I think there is a question about when we're compiling the release notes…
Sarina Canelake: which I help with for the named release we look through the deppers. I don't think we're ging through currently. We could write a script to do it, but I'm not looking through edex platform PRs for descriptions that say something about breaking changes. God
Feanil Patel: Right. Yeah.
Kyle McCormick: Chris, Patty,…
Kyle McCormick: last time we had a little meeting where we looked at the conventional commit messages. We looked at all the feats and it was unbelievably unhelpful. It was so many messages. But if we did that with just the exclamation point commits, then maybe be more useful.
Feanil Patel: The other thing is I know historically we were sort of like telling people that…
Feanil Patel: if it is operationally impactful we put it on the name release wiki page and cross link to the pull request. Are we finding that that's not working or it's not working well enough or…
Kyle McCormick: Mhm. That's true.
Sarina Canelake: That page is always leaner than I expect it to be.
Feanil Patel: because Okay, but is it I'd be curious if it's because there in fact aren't that many breaking changes because we're trying to be fairly compatible or if it' that we're missing stuff and if we have any way of assessing if there is a delta between what's on that page and what we should have had on that page.
Sarina Canelake: Did you include your breaking change on that page?
Feanil Patel: Yeah. Yeah.
Sarina Canelake: So you know the process.
Kyle McCormick: I don't know
Feanil Patel: Yeah. The other people Yeah.
Kyle McCormick: I don't know if I've included every single breaking change on that page. And if I do a get log analytics platform and grip for exclamation point colon which is how all the breaking things should be labeled.
00:15:00
Feanil Patel: How many of those are there versus how many
Sarina Canelake: I mean, I'd be fine if the release note authors were relying on grapping the logs of the commit messages. That seems fine. or looking at both the wiki page because the wiki page is gonna have way more detail than commit messages. Hopefully
Kyle McCormick: I've used this page in the past for stuff. I know some people are really good about using it. I'm trying to get to a place where we are not asking people to write their change in seven different places and with conventional commits and this and PR descriptions and change logs and ADRs and product proposals. I know lot each of those does a different thing,…
Kyle McCormick: but some things hit all of those. And that seems like a lot of paperwork to ask someone to do…
Feanil Patel: Yes. Right.
Kyle McCormick: who doesn't do this as their full-time job.
Sarina Canelake: I agree.
Feanil Patel: And when to not have to do all of those things to make a change.
Kyle McCormick: Right. Right.
Sarina Canelake: Yeah, to an extent some of those things I think can just be linked to each other, but a poll request description that's basically just a link to a product proposal ticket seems reasonable.
Sarina Canelake: This is the product proposal. I'm implementing it here.
Kyle McCormick: Definitely. Yeah,…
Kyle McCormick: it's a great thing to have for a VR description.
Feanil Patel: Yeah.
Kyle McCormick: And so I know in the past these pages have been helpful for the release note authors. I'm tempted to say that this info should be in a commit with a breaking change message. And if it's not, something else went wrong. And can we sacrifice this page in favor of using conventional commit messages the way we aspire to?
Robert Raposa: Does this page need to be sacrificed versus it being totally optional? Plus, we're going to pull in as you said all the exclamation marked things to this page and…
Robert Raposa: maybe it will be nothing and maybe it'll be more
Kyle McCormick: We could leave it as an optional thing.
Kyle McCormick: If I'm a developer and I hear you can optionally also put your change here, that gives me the sense of should I do the extra work for no reason or is it important for me to do this? is this
Sarina Canelake: I think that I would probably say this page is optional, but if there are some operator notes that are not well captured in your poll request that operators will need to follow, this would be a great place to communicate it.
Kyle McCormick: there. Mhm.
Robert Raposa: And if you have Yeah.
Sarina Canelake:
Sarina Canelake: I'm looking at Tim's note right here. There's a succinct action that operators are going to need to take
Feanil Patel: Yes. Right.
Robert Raposa: And if you're working on a breaking change that is across repos and things, sometimes it's just nice to have a place to summarize what was going on. so it can be explained that optional means if you're breaking change is no more than your single commit breaking change and it's described on the commit you don't need to do anything else and…
Kyle McCormick: That's true.
Kyle McCormick: Yeah, that sounds good.
Robert Raposa: if you have something else that you wish to say here's where you could say
Feanil Patel: Okay. Yeah.
Sarina Canelake: I mean, that could be like a
Feanil Patel: Yeah. Yeah. Yeah. because I think there are a lot of different ways to h this and it would be good to sort of flesh out an opinion about when that people can sort of break down or build up on in terms of you need because there's a lot of different questions but one of them is when do you need a deer for a breaking change and…
Feanil Patel: I feel like Kyle you're like you don't want the answer to be every time.
Kyle McCormick: Correct. I think…
Feanil Patel: And so the next question is okay but then we need to define what that threshold Is the threshold when it's cross repository when it requires operational changes for any operator? Is it when it is larger than 13 lines
00:20:00
Kyle McCormick: if the criteria were anytime anyone has to change anything then that would just be the same as a breaking change. So I wouldn't use that criteria. why is the scale?
Feanil Patel: Right. Right.
Kyle McCormick: To me er feels like a reverse product proposal.
Kyle McCormick: So for userf facing removals…
Feanil Patel: Right. User facing.
Kyle McCormick: where actually let me phrase that differently. I think when it's for removal of functionality. A breaking change might say you need to do this thing slightly different. You need to change this setting name to another setting name. You need to call this different API function…
Feanil Patel: Okay. Right.
Kyle McCormick: but in the end the feature set is the same. Whereas a deer is saying you're losing something and you need to. Thinking out loud.
Feanil Patel: When we are not removing capabilities but we are changing how to access those capabilities that is a breaking change that should not require a deer stance. Right. Right.
Kyle McCormick: I'm willing to put that up as a straw man. Yeah.
Robert Raposa: FE replacements as an example.
Kyle McCormick: Yeah, not debers.
Kyle McCormick: Unless the new pages remove things from the old pages, which about half the time they do
Feanil Patel: It requires us to have a better understanding of what it is that a change is doing, which we might not always have. But that might be a good place to start as a conversation and sort of let people in those cases what would happen how would I know that I need to use a new API endpoint because the old one is going away but all the information is available at the new one.
Robert Raposa: and I'll add all the
Robert Raposa: different dates and timelines that we've been proposing around that is that we're going to extract that into some other process that says here's the way you deal with this and you can deal with that within a deer if for these cases but outside of a deer for these other cases but
Feanil Patel: I think you should write this up and then we can put all of this in a write up on the forums.
Feanil Patel: But I think that's a great starting point because I think there are issues with it, but I think it's also gets at the core of what you're trying to get across.
Kyle McCormick: Yeah, I don't think I believe in it well enough to put to write it up like that…
Feanil Patel: Yeah. You don't have to believe in it.
Kyle McCormick: because I don't have an answer for any of the things that Robert just said. are we just going to have a duplicate process for non removal breakages?
Feanil Patel: I think you don't have to have an answer right away and you don't have to have a proposal that you would think is going to 100% work. I think having a proposal that sort of tries to push the boundary in a different direction will allow us to list all of the things that we still need and then we can see if there's a new solution that's available that solves those problems or if we need to stick with what we have because I think…
Sarina Canelake: Consider having an open questions section even at the top.
Feanil Patel: if you wait till you have a perfect solution in your head before proposing it that's like a lot of work for you and b doesn't actually take into account anybody else's input. right, right,…
Sarina Canelake: Open questions. I don't know what I'm doing here. Hi, baby.
Kyle McCormick: I'm just elected to make a post that's based that I'm going to say this is a bad idea.
Kyle McCormick: I hope people don't say yes to this.
Feanil Patel: this is a bad idea, but I need better ideas. Help this
Robert Raposa: I'm also wondering because I'm not clear on how to propose this either but whether it could be in the form of here are the things that don't have to go through deer and why even starting with examples that then we could build into right but for me I don't have a problem with the deer process I think it's got a lot in it that's very useful for lots situations.
Robert Raposa: The question is what are the things that really is unnecessary for and…
Feanil Patel: Yeah, I like that.
Robert Raposa: how do we define that
Kyle McCormick: Okay. Mhm.
Feanil Patel: Just list out the times when you don't want to write a dapper and then we can figure out if there's any other people who don't want to write dappers for things and if there's some commonality where we make we could sort of align a rule set for it.
00:25:00
Kyle McCormick:
Kyle McCormick: Okay. And then there's an alternate proposal which do shove everything through deer that has any breaking change at all and make streamline the process to make that easier for us as people…
Feanil Patel: Yes.
Kyle McCormick: who break things and make better filtering for people who consume things. Maybe that's okay.
Kyle McCormick: Maybe that's the dichotomy I'll make the post about cool.
Feanil Patel: Yeah. And then we can get a sense of people's desires both as consumers of the process and as producers of the process.
Kyle McCormick: Okay, cool. I can do that. I can't commit to doing it in the next week or even next month. So, if someone beats me to it, feel free. You can leave the action item assigned to me.
Feanil Patel: Okay, that sounds cool. Yeah. the settings stuff we're sort of actively working through. So, yeah,…
Feanil Patel:
Kyle McCormick: Yeah. …
Kyle McCormick: I can do a little write up of where we want to land, I think.
Feanil Patel: I'm wondering if we need to have a write up of the final place we want to land or…
Feanil Patel: just getting LMS, and common to the place that we've agreed on. At least in our initial conversation,…
Kyle McCormick: Mhm. Yeah.
Feanil Patel: I just writing that down for everybody to align on. all of our defaults should live in common,…
Kyle McCormick: Okay.
Feanil Patel: our production.py file should be only minimal and only do things that require structural changes to the Python structures and…
Feanil Patel: that we want that to eventually go away.
Kyle McCormick: Cool. Yep.
Feanil Patel: All Anybody have Anything edex platform related anybody wants to bring up? I know my screen. Yes. Yeah, absolutely.
Robert Raposa: Again, thank you for all the work. It definitely will be great when we get to the a couple of questions that I was going to bring up on Slack, but I could just do it here and then follow up with Diana. so the unit test needs several refactors before we can get to the unit test, right? okay.
Kyle McCormick: The settings need several factors before we can only test things that test settings are based on. So py can't test production.py
Robert Raposa: so one question is the redacted version of what we're testing with that's still something that we are going to want correct but we're just not ready for it yet in terms of a unit test.
Kyle McCormick: So where we are going is that production.py will basically become a short YAML processing file. and in the immediate term that'll be used by two MIT and Tutor will probably move off of it. don MIT will do. I don't know what you guys will do. So te test.py will never use that production.py
Kyle McCormick: PIAL processing. In order to unit test it, we would need to make another test settings file that is based off y and write the unit test to use that settings file. I am not eager to take on that work. I think as long as production of ppi exists in edex platform…
Kyle McCormick: though it would be fair to merge in that extra settings file and unit test. Does that all make sense?
Robert Raposa: It does.
Robert Raposa: So I'm wondering if I mean ultimately the wish or ideal or whatever would be that this is our own file that gets plugged in and…
00:30:00
Feanil Patel: Right.
Robert Raposa: that isn't in the platform. Is that what your wish is and how does that work?
Kyle McCormick: My wish is that production.py essentially becomes YAML.py…
Kyle McCormick: where it is this alternate settings loading path that is not required for anybody to use. at that point, I think it'd be good to talk about whether we leave it in edex platform or remove it from edex platform and ask operators to clone it and do what you said. I know 2 is definitely not the only shop that's using it.
Feanil Patel: Yeah. Yeah.
Kyle McCormick: So, I'm kind of doing this internal debate of
Kyle McCormick: Is it better to make this breaking change to get the YAML stuff out of the platform or is it better to leave it in there as this kind of alternate configuration path that several people will still use?
Feanil Patel: One of the things that currently there's I think if we do decide to leave it, I would want to change how it works because one of the things it does right now is that it sort of monges things that come in from the YAML in a way that is tricky to reason about.
Kyle McCormick: Mhm. Yeah.
Feanil Patel: And we talked about this because there was a bunch of sort of breaking cleanup changes that we didn't make because we wanted this pull request to not be too complicated. But there's a bunch of settings that are from the Django 2 upgrade that are still in there that should go away.
Kyle McCormick: Yeah. Yeah.
Feanil Patel: There are settings where we copy them to a slightly different name and it's hard to know…
Kyle McCormick: Mhm. Yeah.
Feanil Patel: which name is the correct name to use and there are things like those that if this was going to stay a part of platform I would want to make those refactors and I guess not refactors I would like to make those breaking changes and make deers for anything where operators are impacted and be like this setting doesn't work the way you think it does anymore use this other setting. but…
Kyle McCormick: Yeah. Yeah.
Feanil Patel: if it's a lot easier if we were just like the production.pay file is going away. If you want it, make a copy and it's yours. And then we just sort of shift that onto operators as a thing that they can manage.
Kyle McCormick: Mhm. Yeah.
Feanil Patel: It's certainly cleaner from the maintaining platform side of things, but Yeah.
Robert Raposa: Yeah, but I would say…
Robert Raposa: if you have clear steps on how to make it cleaner and what actually needs to happen. and that to use the main or…
Feanil Patel: Yeah. Yeah. Yeah.
Robert Raposa: one of the major places where there's going to be impact and then I don't know if MIT a couple of others I don't mind helping you get these through so that it's not very painful for you and…
Robert Raposa: everyone wins and it's simpler and it's
Robert Raposa: so why don't we just see what we can do on that front when it comes to that
Kyle McCormick: Okay, I'm currently so my goal is to make it on net easier.
Kyle McCormick: an easy transition for operators. I'm not sure whether keeping the file there and making these calculated breaking changes is actually easier for operators than saying the file is going away. Copy it to your own configuration repository and keep using it however you want to. That might actually be an easier thing for operators to do than to handle a bunch of small slices of YAML changes.
Feanil Patel: with the previous version of the settings file, which is like we could just say here are 17 or 70 changes that you need to make to your YAML file to use the simplified production.y or…
Kyle McCormick: Yeah. Right. True.
Feanil Patel: here's a settings file equivalent so that you can just base your own settings file on common.y with overrides. and I think that for me that's still on the table as a potential option is we could do this as two steps. One of which is YAML the production.py is YAML.py exists. Here's how to switch from y to YAML.py. because I think simplified non-code config language is sometimes useful but because a lot of our features are starting to do things installed apps add middleware that's like now logic we have to manage in multiple places and
00:35:00
Kyle McCormick: Yeah. Mhm.
Feanil Patel: I think that as we push more into do things the way Django wants you to do them,…
Feanil Patel: it's not going to make sense for us to keep the YL file in the long term. But it may be helpful for us to transition to the simplified YAML and then deprecate that and be like if you want that make your own here is what ends up being like a 30 line file that loads YL config and then does any Pythonic stuff that you need to do.
Kyle McCormick: Yeah, I'm wondering…
Kyle McCormick: if we can get to a point where in this hypothetically am.py
Kyle McCormick: All it does is override settings or merge settings depending on what that list of mergeable things is and just do that in a very regular way where it's not special for every single setting. And then we use derived settings defining y to do any other predefined post-processing so that the YAL.py file itself is really short like that.
Feanil Patel: Yes. Yeah.
Kyle McCormick: That would be a file I'd be happy to have in platform Cool.
Feanil Patel: And I think we could get there from here based on…
Feanil Patel: what I've seen so far in our cleanup.
Robert Raposa: So then the redacted file something that one could be useful or…
Kyle McCormick: Right. Yeah.
Robert Raposa: not at some point in an actual unit test. And then also in the meantime, is there any usefulness to getting that and the LMSJSON and CMS JSON for you just so you can use it as part of your rounds of testing or is it like you've got your tests and you don't need it and it would be harder for you to do testing and you just want Diana to do that, …
Robert Raposa: on that sandbox.
Kyle McCormick: Right. …
Kyle McCormick: what I'll say is, I don't have a path to writing unit test right now without creating a whole new settings file on top of production. So, I'm not going to do that. You don't need to give me the redacted DML for that. if you give me a redacted DML, I can add it to my manual tests, but then I'll stop pinging you guys on the PRs as a blocker to merge them. That's cool with me…
Robert Raposa: Okay.
Kyle McCormick: if it's cool with you guys. Yeah, sure.
Robert Raposa: So, that's cool with you. And now we just need to find out from Diana what stands because I don't actually know what she created as a branch and how difficult it would be to convert that into something that she can deliver to you or not. although I guess that would be easier hopefully maybe I don't know what kind of agreements we currently have in place too but I don't know if that's easier than a version that would actually be able to make it into the public repository
Robert Raposa: All right.
Kyle McCormick: Think if the redacted yaml could be shared publicly. and…
Robert Raposa: Got it.
Kyle McCormick: if that could mean checking it into how we have a minimal. We could have a example pro.l that is basically
Feanil Patel: file was updated was four years ago or something, maybe longer Yeah.
Robert Raposa: So it sounds like you want it to be ly harable. there might be a difference between publicly sharable and…
00:40:00
Robert Raposa: something that's committable as an example that so comes Yeah.
Kyle McCormick: Publicly sharable is okay.
Feanil Patel: Yeah. Yeah.
Kyle McCormick: Commitable is great. I will use the publicly sharable but not commitable one though if you get it to me.
Robert Raposa: So I will talk to Diana about The other thing that I was thinking about,…
Feanil Patel: Yeah.
Robert Raposa: do you remember the edex platform logging settings based on code?
Kyle McCormick: Yeah. Yeah. Yeah.
Robert Raposa: Yeah. is that something that is as simple as here's the settings that are in the dump and we're just going to switch out do that.
Robert Raposa: I never really looked into it, but it's consider Yeah.
Kyle McCormick: I believe Dave wrote that actually as a reaction to seeing the different ways settings were configured across different Python files and I think his reasoning it was that it is so important that we have logging right that I'm going to write this complicated code to make sure it's right everywhere even though it's completely different than the rest of our settings.
Kyle McCormick: There's a file a Python dedicated toward the setting overriding a log settings.
Feanil Patel: Are you talking about the log settings function stuff?
Feanil Patel: Yeah. Yeah. Yeah. No, I Yeah,…
Kyle McCormick: All right. Yeah.
Feanil Patel: I'm aware of that thing. it actually needs to go in the long term. it's not only confusing but it has a depend it assumes our cis log as the output in a way that complicates things.
Kyle McCormick: No. Yeah.
Feanil Patel: And so prevents us from doing things I think here's our standard logging and if you are overriding this here's the 17 warnings you need to be aware of. But I do think that not having it be overridable makes it really hard to do things like containerize. and I know Reis I think has a bunch of overrides of that stuff where he just drops it on the floor. so yeah, the log settings were super hard to work with before.
Robert Raposa: Yes.
Feanil Patel: I think a lot of these refactorings will make it easier to work with them. and allow us to make some of these changes. But I think we're not quite there yet with refactoring it. already there's a bunch of parameters to that function call that are not being used but are being called. and so we have to pass in parameters that aren't actually doing anything. so that function can be cleaned up significantly.
Feanil Patel: And I think if we could move it to a place where you could configure it from the settings file, then operators could do things like enable debug logging on the new Django app they added without debug logging on every Django app,…
Kyle McCormick: Whoa. What? Yeah.
Feanil Patel: which is their current options eventually.
Robert Raposa: literally drop that code and switch to settings.
Feanil Patel: Yes, you should be able to load all of that config from settings eventually.
Robert Raposa: Okay. I see.
Feanil Patel: The underlying logging tool allows for loading logging data from a dictionary. but I think that last time I looked at it was a little while ago, but it requires a lot of reasoning right now. because it is routing both tracking. the big reason that nobody touches it is because it's routing tracking logs and…
Robert Raposa: I see.
Feanil Patel: so we need to make sure we don't screw that up when we do any of the other stuff.
Robert Raposa: Got it.
Feanil Patel: So yeah,…
Robert Raposa: So, those could be separated.
Feanil Patel: I think it can get easier and a lot of the work we're doing will make it easier.
Robert Raposa: That was great.
Robert Raposa: Yeah, this was just a reminder to myself and to all of us I hope this is next in line after we do all this.
Feanil Patel: Yeah. Yeah.
Feanil Patel: Yeah. That log settings file is I think the last two or three major changes to that file were like me or somebody on the old DevOps team trying to make it a little bit better. But it's hard to make major changes without doing a lot of the settings revamp.
Robert Raposa: And I mean basically from my standpoint the major thing that came up was data dog is much more useful…
Robert Raposa: if you just drop in a couple of things into your logs and we can't do that.
00:45:00
Feanil Patel: Right. Yeah.
Feanil Patel: Yeah. Yeah. The log settings file is too complicated right now, but I I want it to become easier for cleaning up the login.
Robert Raposa: That would be great. It's awesome.
Kyle McCormick: Good to know that there will be a concrete value ad from this.
Feanil Patel: Yeah. Yeah.
Kyle McCormick: Yeah. Yeah. Yeah. It's know. I mean, I know the value of cleaning up the settings, but it's good to be able to say to you configure data dog in a way they couldn't before.
Robert Raposa: give you mean the settings.
Robert Raposa: Yep. Yeah. Okay.
Feanil Patel: All right, that's a nice bullet point to add to the list. All right, I think we are done with the meeting part. I'm going to stop the recording.
Meeting ended after 00:45:55 👋
This editable transcript was computer generated and might contain errors. People can also change the text after it was created.