[09:12:36] https://operations.osmfoundation.org/2025/02/15/post-mortem.html "Both of OpenStreetMap’s redundant diverse fibre links to HE.net were offline due the failure of the HE.net’s equipment." not great redundancy ! One interesting takeway though is that it's possible to provision an Equinix transit in a couple days. [09:33:05] 10netops, 06Infrastructure-Foundations, 06SRE: gNMIc connection not working for cloudsw2-d5-eqiad - https://phabricator.wikimedia.org/T387018#10574276 (10ayounsi) The switch is running a too old junos version for `analytics-agent`. I tried `cloudsw2-d5-eqiad> restart SDN-Telemetry gracefully` instead, but th... [09:51:09] 10netops, 06Infrastructure-Foundations, 06SRE: gNMIc connection not working for cloudsw2-d5-eqiad - https://phabricator.wikimedia.org/T387018#10574369 (10cmooney) >>! In T387018#10574276, @ayounsi wrote: > The switch is running a too old junos version for `analytics-agent`. I tried `cloudsw2-d5-eqiad> restar... [09:59:04] 10netops, 06Infrastructure-Foundations, 06SRE: gNMIc connection not working for cloudsw2-d5-eqiad - https://phabricator.wikimedia.org/T387018#10574426 (10ayounsi) Enabling traceoptions shows a `no shared cipher` error on the switch : ` Feb 24 09:33:58 ssl_transport_security.c:948: Handshake failed with fatal... [10:36:02] topranks, volans, about Homer's GraphQL, do you remember if we decided on where to store the "raw" gql queries ? common.yaml or config.yaml ? config.yaml, seems a bit cleaner to me, especially if the "end goal that will never happen" is to have everything in Netbox and nothing in homer-public/*.yaml. [10:38:33] one way or the other we will have to pass the content of that file to `BaseNetboxData` or similar. [10:39:10] Can graph ql be expressed in yaml directly? [10:39:17] I don't recall but I'll try to re-build some memory looking at the CR [10:41:54] thinking about it, using config.yaml is a bit problematic as it's not in git so it will diverge between version. So common.yaml makes more sens.. :) [10:42:33] topranks, that's the cleanest I was able to come up with (untested for now) https://www.irccloud.com/pastebin/984D0wR0/ [10:43:32] there is also the question about variables [10:44:38] I was thinking just a directory with separate graphql query in each file [10:45:12] and we'd read each, run query, save output in var named after the file [10:47:39] interesting! that sounds great. volans what do you think? [10:59:01] fwiw this is the interfaces query I was running here locally, few small additions [10:59:02] https://phabricator.wikimedia.org/P73507 [12:52:31] XioNoX: thanks for the +1 [12:52:51] no idea how you're so fast lol [12:54:00] topranks: no pb, there will be more needed I think for vlans/sub-int [12:54:18] I think we're probably alright there actually [12:54:26] saw the notification, and the change was an easy one :) [12:54:34] looking at the names they are covered by the catch-all for the server names [12:54:43] I think with Dell they weren't due to the upper-case [12:55:02] but on the SRL we have "irb0, irb0.1234, system0, lo50" etc, which all I think are ok [12:55:14] I previously added this while you were on leave btw [12:55:15] https://gerrit.wikimedia.org/r/c/operations/software/netbox-extras/+/1105346 [12:55:41] for the "parent" irb int as we discussed [12:55:51] ah nice! [12:55:56] actually looking at it with fresh eyes it's wrong, should be "irb0" not "irb" [12:56:09] my homer code I had a hacky function to rename juniper to nokia style names [13:01:08] Quick patch to make sure it works with both: [13:01:08] https://gerrit.wikimedia.org/r/c/operations/software/netbox-extras/+/1122132 [13:01:15] XioNoX: if you had a quick minute to review [13:05:29] topranks: lgtm! [13:05:38] thanks :) [13:18:37] topranks: implemented your idea, it works well locally : https://gerrit.wikimedia.org/r/c/operations/software/homer/+/1122133 [13:24:54] nice! [13:25:01] looks good to me on a quick scan-through [13:28:12] 'devices' is clearly a little special though, we pull out things like the fqdn and primary IPs there [13:28:32] as opposed to merely storing the graphql query results [13:29:20] it's a little more complex than the basic "for filename in directory:" loop I had in my head without looking closely [13:29:32] don't expect it'll be much of a problem though [13:32:23] topranks: not sure I understand :) [13:38:48] and the matching homer-public files : https://gerrit.wikimedia.org/r/c/operations/homer/public/+/1122138 [13:53:26] 10netops, 06Infrastructure-Foundations, 10ops-magru, 06SRE: cr2-magru errors on xe-0/1/0 (EdgeUno Transit) - https://phabricator.wikimedia.org/T387006#10575129 (10ayounsi) > Our datacenter engineering team has concluded the on-site activity, and no problems were found on our side. Could you please confirm... [14:12:57] XioNoX: LGTM. What I mean is the likes of the specific function to execute the device_list query [14:13:21] as in: devices_gql = gql_execute(self._api, self._base_paths, 'device_list', variables)['device_list']) [14:14:23] In my blurry sense of how it could work I was thinking we could be agnostic to whatever queries were there, they'd only be referenced in templates. But we take things from the device result and populate other vars, metadata['ip4'] or whatever else. So it probably can't be the totally generic way I had thought [14:16:32] yeah, the device_list is a bit of a snowflake [14:16:41] yeah that's all I meant [14:16:43] but seems cleaner to have it with all the others [14:16:49] definitely [14:17:02] we can also review how much we need to extract those fields and save elsewhere [14:18:20] yeah, or move some other pynetbox api calls to gql, I think we can easily get to a point where we can remove the `import pynetbox` from homer/netbox.py [14:18:46] +1 yeah I think we can probably get there [15:32:39] 10netops, 06Infrastructure-Foundations, 13Patch-For-Review: cr2-esams:interface ae1 present under protocol ospf but not configure - https://phabricator.wikimedia.org/T386766#10575439 (10cmooney) p:05Triage→03Low [16:31:20] 10netops, 06Infrastructure-Foundations: cr2-esams:interface ae1 present under protocol ospf but not configure - https://phabricator.wikimedia.org/T386766#10575784 (10Papaul) 05Open→03Resolved Complete