14:00:23 #startmeeting RDO meeting - 2023-05-17 14:00:23 Meeting started Wed May 17 14:00:23 2023 UTC and is due to finish in 60 minutes. The chair is spotz_. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:23 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:23 The meeting name has been set to 'rdo_meeting___2023_05_17' 14:00:29 #topiv Roll Call 14:00:35 #topic Roll Call 14:01:33 o/ 14:01:42 #chair karolinku[m] 14:01:42 Current chairs: karolinku[m] spotz_ 14:01:50 o/ 14:02:16 #chair amoralej 14:02:16 Current chairs: amoralej karolinku[m] spotz_ 14:02:27 o/ 14:02:38 #chair jcapitao[m] 14:02:38 Current chairs: amoralej jcapitao[m] karolinku[m] spotz_ 14:02:42 #link https://etherpad.opendev.org/p/RDO-Meeting 14:02:49 Agenda ^ 14:02:52 #chair evallesp 14:03:04 o/ 14:04:38 #chair evallesp 14:04:38 Current chairs: amoralej evallesp jcapitao[m] karolinku[m] spotz_ 14:04:42 Welcome evallesp! 14:04:56 :) 14:05:05 #topic Enabling signing for the packages tagged in testing ? 14:05:22 #link https://lists.centos.org/pipermail/centos-devel/2023-May/142901.html 14:05:41 I submitted this topic 14:05:55 Go for it:) 14:06:43 so signing -testing packages is "live" since May 15th 14:07:01 so, iiuc that means the packages in buildlogs are now signed, right? 14:07:01 all the packages that are now tags to -testing are signed 14:07:10 example: https://paste.centos.org/view/cbbb1675 14:07:26 we tagged openstack-barbican-16.0.0-2 to -testing this morning 14:07:36 and it's signed 14:08:08 and the packages which were in the tags previously? 14:08:14 are now signed? 14:08:23 they are not :) 14:08:39 so .... 14:08:43 but arrfab says we can ask infra team by creating a ticket 14:09:07 they can do as a one shot operation 14:09:29 mmm i'm not sure 14:09:30 tbh 14:09:33 Chandan Kumar proposed config master: Fix the var name for content_provider_registry_ip https://review.rdoproject.org/r/c/config/+/48648 14:10:05 so, we may ask to sign all the packages and enable gpgcheck in centos-release-openstack-* for -testing repo 14:10:26 yes 14:10:29 we don't use it too much 14:10:52 but ok, if someone wants to use signed from -testing, they could 14:11:06 improving security is never a bad thing 14:11:08 yeah that's my interrogation 14:11:30 whether or not we should set gpgcheck to 1 as default 14:11:38 although i don't see it as a big advantadge anyway, as users should be using -release repos usually 14:11:58 but, yeah, the good part is that is backwards compatible 14:12:15 we will not break anyone by asking to sign the packages 14:12:35 that way, also, users my select if they want to enable gpgcheck or not 14:13:53 so you think we should ask signing and let gpgcheck to 0 ? 14:15:06 i'd say to ask signing first, and once we have it signed, we can decide :) 14:15:19 but in any case, users may enable by themselves tgoo 14:15:20 too 14:15:40 right 14:15:44 Merged config master: Fix the var name for content_provider_registry_ip https://review.rdoproject.org/r/c/config/+/48648 14:16:06 Makes sense 14:17:07 I'll request the infra team for the maintained Cloud SIG repos 14:17:10 jcapitao[m], only for antelope or for all the currently supported? 14:17:17 ack, so for all 14:18:59 #action jcapitao to create centos-infra ticket requesting signing for testing repos 14:20:04 that's it for this topic I guess :) 14:20:55 Moving on then! 14:21:12 #topic pyproject macros 14:21:25 amoralej: I'm assuming this was you? 14:21:58 yes 14:22:24 so, i was preparing stuff for the migration to pyproject and automatic brs and requires and something came to my mind 14:22:39 if we remove the buildrequires from specs, how do we bootstrap next releases? 14:22:48 specifically how to determine the order 14:22:57 dlrn --order relies on BuildRequires in specs 14:23:19 so, i need us to consider options and alternatives i may be missing 14:23:53 dunno if i'm explaining the issue clear enough 14:24:30 damn 14:25:19 could we set up a POC with DLRN and bunch of new SPECs ? 14:25:32 but, what we'd test? 14:25:48 is is possible to generate BR list before build attempt? 14:25:53 i mean, it's clear --order will do nothing if there are no BRs 14:25:54 the first 5 packages of the DLRN order 14:26:15 karolinku[m], that's an option i've been thinking about 14:26:44 that dlrn uses the same code that rpmbuild use to generate automatically the BRs and feed that to dlrn 14:27:07 by running the same macros or something like that 14:27:25 but i see it pretty complicated, tbh 14:27:40 but yes, that's a path to investigate 14:28:33 I can take a look at this tomorrow 14:29:02 https://github.com/softwarefactory-project/DLRN/blob/master/dlrn/shell.py#L385-L424 14:29:12 that's where dlrn generates the order 14:30:09 together with https://github.com/softwarefactory-project/DLRN/blob/6bcaaecd1b18ffb49ed262fca4e6167a31edb44d/dlrn/rpmspecfile.py#L110 14:30:20 other options would be: 14:30:57 1. not using --order and setting manually the order in the bootstrap 14:31:25 2. getting the order from other repo, i.e. from centos9-master dlrn repo when creating centos9-bobcat 14:31:58 3. Do not remove explicit BRs but also enable automatic BRs for new stuff 14:32:25 4. Manage BRs manually and not enable automatic at all but enable automation for runtime requires 14:32:58 5. Make dlrn gets the BRs automatically before starting the builds (what karolinku[m] mentioned) 14:33:03 that what comes to my mind 14:33:45 3. looks like win - win, isn't it? 14:34:19 at some point explicit BRs may be wrong and miss automatic ones, so next --order would be incorrect 14:34:20 seeing manually in 4 doesn't look like a good option except maybe for the first few runs 14:35:22 with 3. we made a tradeoff between automation and accuracy of BRs 14:35:25 we have to make 5) to work 14:35:51 i'm thinking with 5 we have two sub-options :) 14:35:57 I think 3 would be a mess it several months 14:36:14 5.1 Automate BRs generation in dlrn using pyproject macros 14:37:10 5.2 Automate BRs generation using our own tooling wich would work for openstack standards and would read requirements.txt and test-requirements.txt 14:37:24 but tbh, this is going to be hard in any case 14:37:55 i.e. in some packages we don't have BRs for all the packages which are in test-requirements... 14:38:09 meh 14:38:30 ah right.. 14:38:55 well, let's see if we are able to run the macros "in an standalone way" 14:39:29 but using the same configuration that is actully in the spec 14:39:42 it should run %prep ... 14:40:01 and all that 14:40:08 i'm not optimistic 14:41:21 option 4 could also be a good compromise, as maintenance of buildrequires is low compared with runtime requires 14:41:24 I guess we'll learn more on how to proceed when you try 14:41:39 yeah 14:41:48 and in any case, it would save us of running the release-preparation reqcheck 14:41:52 I like 4 too 14:42:07 maybe we should migrate in 2 steps 14:42:26 runtime first and then build time 14:42:29 4 will let us know how much if anything can be automated later 14:42:32 yeah, but it won't make us free from doing reqchecks with every new release 14:42:40 in any case, i agree in try first and see what we can learn 14:42:53 yep, that's a good point spotz_ 14:42:58 karolinku[m], no no 14:43:01 it will 14:43:10 partially 14:43:14 remember reqchecks are for Requires, not BuildRequires 14:43:23 well... mostly :) 14:43:40 we update BRs mainly when there are FTBFS 14:44:01 we tend to update BR too during reqcheck but not mandatory 14:44:07 otherwise, we even do not realize we are missing BRs unless we are also missing requires 14:44:08 except if it FTBFS 14:44:20 yes, but if we don't need to update requires 14:44:35 what'd be the point of updating BRs if packages build successfully? 14:45:12 indeed 14:45:46 FYI we're at 15 minutes left with 1 more topic 14:45:59 yeah, let's continue digging into this 14:46:24 karolinku[m], let's sync tomorrow 14:46:35 let me add an info 14:46:43 before moving on to next topic 14:47:22 #info removing explicit BuildRequires from specs as part of the automation would break the --order feature in dlrn 14:48:06 good? 14:48:08 #action karolinku will check if we can use pyproject macros in an standalone mode and use those automatic BRs to compute bootstrap order 14:48:11 now :) 14:48:21 #topic Enhance monitoring system 14:48:30 Not sure who this belongs to 14:48:35 Me 14:48:57 Go for it:) 14:49:29 This is about how we're monitoring "stuck" process in DLRN. Currently we're checking if there's a new build created in the previous 24 hours. 14:49:41 This made some false-positive mainly Monday days. 14:49:52 spotz_ evallesp is part of the infra/tools meeting and is working in the dlrn infra 14:50:24 s/meeting/team/ 14:50:57 Welcome:) 14:51:13 So, by creating a cronjob that executes a python script to collect the modification time for the latest dlrn-run.*.log and save the date into the node-exporter in prometheus, would allow us to know more properly if the process is stuck. 14:51:19 and the monitoring he mentions is https://prometheus.monitoring.softwarefactory-project.io/prometheus/alerts 14:51:34 Thanks to both! 14:51:54 so the idea is to expose for each builder a metric: dlrn_last_update with the builder name as index. 14:52:34 so the idea would be to monitor that there are newer dlrn-run*log that a certain time instead of new builds? 14:53:03 That's it. take the modification time and check if older than 7200 seconds. 14:54:13 Sounds relatively easy and straightforward for a solution 14:54:32 lgtm and more accurate that new builds, specially for old releases 14:54:57 If it happens no patches need to be built will we touch a blank log file? 14:55:04 +1 14:55:17 the log is created anyway. 14:55:22 so no alarm would be triggered 14:56:12 Ok sweet 14:57:04 So sounds like there's a greement on this? 14:57:23 do we have some ansible role or something where we install and configure node-exporter ? 14:57:43 i understand we'll need to install some script or something 14:57:47 yes, we have a role to deploy the node-exporter. 14:58:02 we'll include it in that same role or in dlrn role? 14:58:16 and we have to create a role to deploy a python script executable for any user that writes where node-exporter checks the info in the Prometheus format. 14:58:35 I'd say in the sf-infra repo, instead of DLRN. 14:58:44 https://softwarefactory-project.io/r/plugins/gitiles/software-factory/sf-infra 14:58:59 node-exporter: https://softwarefactory-project.io/r/plugins/gitiles/software-factory/sf-infra/+/refs/heads/master/roles/service/node-exporter/ 14:59:23 the rules to be changed: https://softwarefactory-project.io/r/plugins/gitiles/software-factory/sf-infra/+/refs/heads/master/monitoring/rules-dlrn.yaml 15:00:42 sounds good 15:01:26 and the role would be implemented here: https://softwarefactory-project.io/r/plugins/gitiles/software-factory/sf-infra/+/refs/heads/master/playbooks/site_dlrn.yaml (I'm not 100% sure about this yet) 15:01:37 s/implemented/imported 15:01:39 Any thing else on this? 15:01:47 Not from me. 15:02:00 Ok next real quick 15:02:10 #topic Chair for Next Week 15:02:16 Ay volunteers? 15:02:36 o/ 15:02:54 Thanks amoralej 15:03:24 Anyone have anything else? We're at 3 minutes over 15:03:45 #endmeeting