 All right, welcome everybody. This is Google Summer of Code office hours. The intent here is to let you ask questions. Reminder from the outset, we follow the Jenkins Code of Conduct, be nice to each other, be kind, be decent, et cetera. So what questions do you have? Hello, and thanks for this year, Summer of Code again. And I want to say thanks for the, I also got the previous year some branding stuff, yeah. My question is the following. As far as I understood, this year Google is the time requirement. Am I right that I need to work on my project at least 10 hours a week or less? Could you please clarify? I believe the documents say that they're expecting over the course of two months, 175 hours. And so let's see, let's work that out. That I think that works to roughly 20 hours a week, we grab the then 10 hours a week, but it's significantly less than their expectation in prior years where I think their expectation was three months of 40 hours a week. So I believe it's roughly half-time and the number I had heard was 175 across a two-month project plus community bonding. So now Alex, let's maybe what we should do is let's look at the document from Google. I think you're right, I saw it, I just did not calculate it properly for this kind of thing. Yeah, I have this time. And I have interesting question, actually. Will like this on the project which I'm applying to, I probably need some for expanding it, I probably need to access to the public clouds like Microsoft Azure and GCP and that one, yeah, from Amazon. At the moment I set up, I previously set up Azure, I have some subscription, student subscription. I will work without with Google, but Amazon, I stuck with some, they need additional papers for students subscription or something to use. The question is, is Jenkins community in some way could help with this kind of problem if it arise? A good question, a very good question. So I'm gonna rephrase it back to you in forms that we've had in the past. We've had cases where we needed to document Jenkins on Kubernetes as an example, as part of Google season of docs. And as part of that effort, we needed access to clouds to Kubernetes providers there. So same thing here for Google Summer of Code. And what we did was we found the first preference was find, try to use the donation from the cloud provider if you can run a trial account, great. Second was get a donation from other organizations in the specific example cloud bees donated. And third is we could ask the Jenkins project itself from its budget to fund a portion of, to fund the cloud expenses. Now, Oleg has arrived and can give me guidance if I've given a bad answer in terms of what about the cloud projects, the cloud centered projects that are being proposed, they'll need cloud resources. Oleg, you wanna give some guidance there? Half of the response, but generally the options you described once we have. So we don't expect students to pay for cloud resources for sure, we will find a way, though it really depends on the amount. Because one thing, if you just need a few virtual machines or a few containers for testing, but if you need a huge cluster to do whatever high performance computations, et cetera, it's a completely different topic. But if you talk about several hundreds or $1,000, we can find a way. Thanks for answering, Oleg. I mean, could you please estimate the probable time when I, for example, if I make this kind of request, when it will be available for me or for other students to use, just proof. Okay, for the infrastructure? Yeah. Yes, so for that, we usually use community bonding time. So during community bonding, we reach out to the teams and ask a few questions. And we expect all teams to ensure that they have access to all the required infrastructure, project permissions, et cetera, before the coding starts. Means infrastructure access would be one of the topics there. Great. Great, okay, one month. Before coding period, for example, during the application period, well, it's a bit more complicated, especially since we have one week left. Okay, thanks. Actually, this is a question for everybody, for other participants as well. I just opened the students registration form and I have a light blue sign around eligibility. So is it passed from the previous year or could somebody tell me, is it the same for you or is it not the same? You mean the blue side sign on the summary of this code? Yeah, yeah, yeah. Summary of this code? I would recommend to contact the JSOC support team because we don't have access to the student view. Well, some of our mentors used to be students before, but for example, in my case, I have no idea how this view looks like. And pretty much the same for certificate of enrolment and other things. So if you have a question about formalities and eligibility, you should really reach out to Google Summer of Code support team because they make the final decision on that and they can provide information. Okay, okay, that's all questions for now from me. Thank you. And yeah, Oleg, hi Oleg. And yeah, Mark just reviewed my bone thread, can you please just have a look at that would be also correct? Yeah, it's basically the same as I said right a few minutes ago. It's something to discuss with the JSOC support team. So what we verify and it's for students who study in the United States and who don't have a local residence permit or citizenship, then we verify they permit to participate in JSOC because we know for a fact that there is a pitfall there which we hit once three years ago or so. But all other eligibility concerns should be discussed with JSOC support. Understood. So then I will just as soon as possible, I will submit it and yeah, wait for them response. Yeah, right. Thank you. Oleg, Nivedita had also had a question earlier on that I gave a potentially flawed and inaccurate answer to. So Nivedita, do you want to ask your question now? Yeah, hi Oleg. I just want to confirm that instead of bonafide can we submit our transcript because transcript is also the proof that we are the university student. I believe it's the same. So again, we as a JINX project, we do not verify your eligibility. So we can take a look, but our answer wouldn't be a definite one. So please contact the JSOC support team. Okay, sure. Thank you. Yeah, I know that eligibility is more complicated this year because they expanded the scope of eligible enrollments including various programs and other programs. So they will be likely a lot of such questions this year. Yeah, most likely they will update guidelines based on the feedback. But yeah, please be patient with it because it's just the first year when the current scope applies. So in many cases it would be decided just based but like case by case basis. I'm eligible to participate in JSOC as well as a student. By the way, probably I should reconsider my plans. I didn't know you were at a university. That's great. That's cool. Well, I do some courses. We shall also make some eligible this year. Oh, Marky, he's doing machine learning courses. So he's also eligible to become a JSOC student. Yeah, I'll invite Marky. Any other questions? Yes, there is another one I'm just stated. So the project which I'm applying to is under umbrella of the guys from VirtusLab, mainly. And there is, yes, mentors from there. What do you think? Should I invite them in regular Jenkins meeting? Or tomorrow will be the additional meeting among the team which I'm going to participate. But should I invite them here as well? Or do they know about this? And maybe they don't have time. They don't know about that meeting. At the same time, mentors are not required to participate in this meeting. This meeting is office hours for those who are interested. But the main communication channels is in front of us once, like chats and the mailing list. So specifically about the Jenkins Kubernetes operator, yeah, there is a meeting you mentioned tomorrow. Hopefully it will happen. And if anyone else is interested to participate, yeah, it's a great opportunity to discuss that. Also, there is a cloud native special interest group meeting happening on Fridays. And they will also have representatives from the Jenkins Kubernetes operator project. So... So, Alek, you saw this cloud Jenkins meeting. It's stated in all meeting boards, right? So I could sign up for this. Is that any problem? If I need. Okay, thank you. Yeah, so Jenkins.io slash events, where you can find that calendar with most of our meetings. Alek, I have a question regarding that comment that you leave in my proposal for cloud events for Jenkins. So in there that is stated that for the listening or for cloud events, you said would be nicer to expand a section a bit more. So what should I, I mean, what you are expecting? Can you please elaborate much? Yeah, so when we talk about events or messaging, the question is actually about the information you are going to pass. Because sending an event like build started is definitely not enough for external system to process this event. You would need, for example, to pass build name, maybe build ID, maybe some additional information. And it might be the same for any other event in the system. So just a defining name on the event, it's a good start, but it makes sense to actually expand what data you would like to pass. Because in such cases, well, firstly, you can think about the use cases for your integration. And secondly, you can just take a look at the existing systems like AFL and maybe get some inspiration from there. Okay, okay. And so this is about the emitting part. And what about listening part? Should I? Currently, what you said is about listening, emitting part, right, emitting of cloud events. So you said, explain much more about the data period, how it's going to look like. And what should I then expand more about the listening part? You said there is a comment from you on that. So similar is like, how can I, how I'm going to proceed that payload? Is it that, so I need to expand on that to trigger any particular job? Is it? Yeah, again, it depends on use cases because in your case, if I recall your proposal correctly, you defined two parts. So firstly, Jenkins sending cloud events. And secondly, Jenkins reacting to cloud events. So you would need to expand both parts in such case. And you're going to work with Garret, with Vipaf to define what is, would be the expected interface. And your main recommendation would be to start from the use cases. Okay. Because from that you can define interfaces. Yeah, okay. Even I looked into the static gather plugin and take the inspiration from there for the emitting part. Okay, yeah. Thank you. Thanks a lot. Yeah. Nivedita, you mentioned in the chat that you're looking for feedback on your proposal. I'm not sure that I've seen that proposal. Has it been, has a link been posted to it in the GSOC SIG, Gitter Channel? And if not, could you post it there? Yeah, they posted in GSOC channel and even in Google GSOC group also. Great, thank you. Okay, and the topic of your proposal, was it cloud events? Was it, which specific area? I'm trying to check to see if it's something that I could actually do a review on and feel like I was credible or if we need to have others do that. Yeah, it's on cloud events plugin for Jenkins. Super, thank you. Thank you so much. So yeah, regarding the proposals, what we were doing during the last years, we as Oracle means created the Google Doc with the list of all proposal drafts submitted by students so that we could process and track the status because yeah, what sometimes happens, the docs get lost in that threads. And now we just have one week left until the application deadline. So maybe just having this list would be a good improvement. Would you like me to start that kind of a document? Or like, that's a good idea. I don't know why I didn't think of that before. I clearly should have. Well, you discussed it with Kara, but yeah, if you want to start with that, just do that. Yeah, that's, I think it's a... Currently busy with other stuff. Right. I just remember one small question. There was some specific Slack channel from CD Foundation which requires special email address. Is there any success with assessment? Success, actually, I spent some time on Monday to figure it out. So if you go to just a second, I will share the link in the chat. But yeah, we figured it out. So now you can join with any email and it has been verified. So just a second. Yeah, I shared the link in the chat. They will be duplicated in the Gitter. Thank you so much. Happy to talk. Yeah, and I can reiterate Oleg's right. We just had several contributors arrive for a different project that we're able to successfully register with the CDF Slack channel. So it's working. So any other questions? Any infrastructure issues like that, just let us know because we don't always know about them. We registered in the CDF Slack two years ago and we haven't seen this update. So any issue, just let us know and we will figure it out. I have a question regarding the proposals. Yeah, so this year Jenkins is under the umbrella of CDF. So like whatever the format we have given as for the proposals, like is it okay? Or do we have to mention or also mention that it is for CDF or anything like that? No, you don't have to mention that. When you apply to JSOC, you apply to a specific organization. So you will need to submit your proposal draft to the continuous delivery foundation. And then ORCA means we'll route it properly to mentors, et cetera. So there is some yet to be discovered process how we have, for example, balance projects between participants because there are multiple CDF projects participating under the same umbrella. But for students, you just apply and the rest is forced to handle. All right, okay, thank you. Yeah, also noted that, yeah, there are multiple, so if I recall correctly, this year every student can submit three different proposals. And what you should keep in mind that these three different proposals can be to a single organization or to multiple organizations. So for example, if you want to apply, let's say to Jenkins and to TikTok project, it's possible or to Jenkins and Spinnaker or maybe to Jenkins and different organizations, it's also possible. So even if you apply to a CDF, you're not limited to applying it just for Jenkins, you can choose your options. If you want to spend time on multiple proposals. Okay, regarding some proposal stuff, I have a small question, like should I add additional information what is actually Jenkins operator and how it's working, like take some information from virtual slab presentations and so on. I actually don't know what's actually the size in it's approximate, yeah. So there is no specific size requirement. Again, the main purpose of this project proposal is to communicate the idea you have, deliverables you plan to deliver and approximate timeline and showing potential mentors, your expertise and that you are capable of delivering on this project idea. There is no specific size, though if you take a look at the template, it's likely something like at least two pages and we definitely don't recommend spending too much time because yeah, I guess the biggest proposal we had was about 40 pages and I'm not sure that any mentor except me managed to read it entirely but yeah, so just you don't have to spend too much time on the paper because if you want, you can, for example, experiment with code, do some prototypes, et cetera, it's more important than just text and you don't have to provide full specification, et cetera because for that there will be community funding and coding places. So just your goal is to basically show that you know what to work on to show the community value of it and to prove that you can deliver on this project. Basically that's it. Does that answer your question? Absolutely. Perfect. Can I ask you some questions? Yeah, I'm trying to, I wrote a proposal about the demoting monitoring and where you make a review on my paper and you said I might set up my plugins with Java agent because Java agent can, because it can enable monitoring system to start up without connecting to masternose. So, but I think I like Jenkins because it has very good plugin system and system admin can start up a new future without any difficulties but starting agent with Java agent is a little bit difficult for system admins I think. So what do you think of and do you know any other such kind of plugins? I mean, to hack the start up phase of the agent? Yeah, so for agents there are, well, okay, so just to explain my concern which I contacted in the Google doc. So when you want to monitor the agent if you rely on the payload to be provided by Jenkins it means that you should connect to the system at least once. Yeah. And in some cases it might be a problem. For example, in Jenkins there are two types of agents. One is outbound agents when Jenkins initiates the connection. Another type is inbound agent when agent connects to the Jenkins controller and for the latter type, yeah, until it connects basically you won't be doing monitoring because you cannot provide this data. So well, you definitely use Jenkins-based initialization. There are some plugins which initiate functionality when connecting to agents but actually not that much. You can take a look at the plugins like a monitoring plugin. So monitoring plugin basically wraps Java melody. Java melody is a jmax-based monitoring API and it also does installation on the agent side. So it's probably the first plugin you would like to review. Okay. But yeah, again, I don't know if you call how exactly does the agent installation. Just I'll send you a link. The monitoring is something you may want to review anyway because it's basically already about monitoring of system resources, et cetera. And it's quite a popular plugin. Thank you so much. Yeah, I know what you're concerned about but for my horrible experience, we use the monitoring system for long-term check-in for the system. I mean, the Travis shooting like and for the fast connection is responsible of the ROG systems or something like that. And I think it's a good idea to do that. It's responsible of the ROG systems or something like that. And monitoring system is not suitable for checking to travel should the fast connection. So it might be my fault, but I think so, but what do you think of this? Yeah, so in technology, there is fairly different answer. The round might be different approaches and different approaches will have their own merits. So when you work on the proposal, basically what you can do, you can make your own decision and justify that. And that's your objective. So it doesn't, it's not necessary that the mentors would totally agree with that. And again, it's something for discussion in later phases. But you make a proposal and if it's justified, it's perfectly fine. For example, when I was working with my is farmer in 2018, he was working actually again in the remoting, but it was a remoting of Apache Kafka. And then we had some discussions because the original proposal was to use the message bus preferably Rabbit MQ, because the mentors agree that it would be the preferable solution. But the student came up with a proposal to use Apache Kafka, he justified that and finally it worked pretty well. So yeah, mentors, they provide advice. They definitely provide some sanity check, et cetera. But if you feel strongly about the concrete technical decision, feel free to do that. It doesn't have to be fully aligned with the project idea. Thank you very much. I'm looking forward to discuss with you more later. Thank you. I can. Yeah. So if you want to have special sessions about particular project ideas, we could organize them. Just send a message to the mailing list to the chat so that we make it happen. I see. Thank you very much. Are there any questions you would like to discuss again? Okay, I guess then we will join Garret at the meeting. Thanks a lot everyone. Again, if you have any questions, please don't wait until Wednesday because Wednesday it will be April 14th. So it will be beyond the application deadline. And yeah, all synchronous chats are available. And if needed, we can organize additional sessions on the project basis. Thanks everyone. Thank you very much.