{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":205463895,"defaultBranch":"master","name":"operations-software-homer-deploy","ownerLogin":"wikimedia","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-30T22:19:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/56668?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1567204114.0","currentOid":""},"activityList":{"items":[{"before":"c61b825338559b9202c8ef99b4eb1fa953cdc7ed","after":"75f2f67b9dc22847c5f6281c44e27d9d71921a15","ref":"refs/heads/master","pushedAt":"2024-05-22T09:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Add wikikube-ctrl to Homer wmf plugin to assign to k8s BGP group\n\nAdd wikikube-ctrl to Homer wmf plugin to assign to k8s BGP group\n\nBug: T353464\nChange-Id: I635edf811922ffe3bcce29f3dc58a679f98f2f4a","shortMessageHtmlLink":"Add wikikube-ctrl to Homer wmf plugin to assign to k8s BGP group"}},{"before":"b5a15b64aa1e74cc777a67383c938702aabd3cdc","after":"c61b825338559b9202c8ef99b4eb1fa953cdc7ed","ref":"refs/heads/master","pushedAt":"2024-05-14T16:02:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Support VM BGP automation using Netbox flag for L3 POPs\n\nAs described on task the Homer automation to find BGP peers to\nconfigure on networking devices does not work for VMs at L3 POPs.\n\nThis patch should ensure these are also covered by the automation.\nIt mainly does two things:\n\n1) It does not add all VMs at a site to the list to be configured on\nCRs anymore. If a VM is at a site and has the bgp flag it will find\na ganeti host belonging to the VM's cluster and do the same check\ndone for physical servers - i.e. only include it if the genti host\nis connected to a virtual-chassis switch or vlan using the old\nrow-wide naming convention.\n\n2) When iterating over connected switch interfaces to find direct\nBGP peers needed on L3 Switches it does additional steps if it\nfinds a host that is part of a virtualization cluster (i.e.\nganeti hosts). In this case it will pull the list of other hosts\nin the same virtualization cluser, and if they are all in the same\nrack then it will add VMs belonging to the cluster with the BGP\nflag set to the list of peers.\n\nBug: T364480\nChange-Id: I47579d0f6dfe1acea2785e5053014bd05fcd5023","shortMessageHtmlLink":"Support VM BGP automation using Netbox flag for L3 POPs"}},{"before":"948ac8407251cd2818554428657b5d6b7c46454e","after":"b5a15b64aa1e74cc777a67383c938702aabd3cdc","ref":"refs/heads/master","pushedAt":"2024-01-29T18:56:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"wmf-netbox: add Ganeti BGP group support\n\nBug: T300152\nChange-Id: I4eeb5b9aa0897b6f46f9762f4f81e31253eb3bca","shortMessageHtmlLink":"wmf-netbox: add Ganeti BGP group support"}},{"before":"8f6a8b0d6845dc9072e13d1cbfad31fe3ad62a71","after":"948ac8407251cd2818554428657b5d6b7c46454e","ref":"refs/heads/master","pushedAt":"2024-01-19T10:40:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Skip switch interface if no untagged_vlan when finding bgp peers\n\nI should have better tested the previous change. Trying to access\nthe 'untagged_vlan' of routed ports throws an error of course.\n\nWe could just catch the error but better to express our intent -\ni.e. we only want to assess ports that are L2 and have an untagged\nvlan. So check for that also.\n\nBug: T355225\nChange-Id: I219de92958526bb626116d3f22d4defa47beae3e","shortMessageHtmlLink":"Skip switch interface if no untagged_vlan when finding bgp peers"}},{"before":"0492bf58be6db3874bfbd66a38255cbd0eaa1664","after":"8f6a8b0d6845dc9072e13d1cbfad31fe3ad62a71","ref":"refs/heads/master","pushedAt":"2024-01-18T10:58:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Use vlan name to determine if server BGP peering should be added\n\nThis patch adds a check on the vlan name when considering if a given\nserver should have a BGP peering configured on a given network device.\n\nOn L3 switches it will only include the device if it is on a\nrack-specific vlan. On CRs it will only include the device if it is\nconnected to a row-wide one.\n\nCheck is based on our naming convention which is perhaps not ideal\nbut this is well controlled and it covers our case well.\n\nBug: T355225\nChange-Id: Iebb9cd6d80492cbd24d18075f29c6553a1852e78","shortMessageHtmlLink":"Use vlan name to determine if server BGP peering should be added"}},{"before":"f6c2d27dad0ed4ec3f73567b77cf3124036f542f","after":"0492bf58be6db3874bfbd66a38255cbd0eaa1664","ref":"refs/heads/master","pushedAt":"2024-01-09T18:36:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Add other vairant of QFX5120 to L3_SWITCHES_MODELS\n\nNewer QFX5120 are beiing added as qfx5120-48y-afi2 instead of the\nolder vairant (see T331519).\n\nAdds the device_type slug to L3_SWITCHES_MODELS so bgp server\ndata is returned for those also.\n\nBug: T306649\nChange-Id: I26d033bed4aa1a508e8597748572c3e79b3d87ac","shortMessageHtmlLink":"Add other vairant of QFX5120 to L3_SWITCHES_MODELS"}},{"before":"580d76e1e7dcc969ae87eef7d8c52ceb1430b8c8","after":"f6c2d27dad0ed4ec3f73567b77cf3124036f542f","ref":"refs/heads/master","pushedAt":"2023-12-19T13:30:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.5\n\nChange-Id: Iea3a04acca589dbe31126fb8a2e4c1c3dea5463c","shortMessageHtmlLink":"Release v0.6.5"}},{"before":"9366bc29e94eb1f92b118fe0799d3b732f25cfeb","after":"580d76e1e7dcc969ae87eef7d8c52ceb1430b8c8","ref":"refs/heads/master","pushedAt":"2023-12-12T08:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Expose Netbox's BGP servers to Homer\n\nSupports both L3 switches as well as core routers. Baremetal and VMs.\n\nThis requires the matching BGP group files in netbox-public/includes/bgp/\n\nThe current approach:\nA single \"BGP\" boolean custom field with a mapping \"group:IPv4/dual\"\nin the code, even easier to use. I initially made routing a selection\nfield in case more routing types (Eg. static) are needed in the future.\n\nThis replaces the cookbook approach initially done in\nI59843eb0f28414c35237ed8c073d44f75c409398\nThe Homer approach is much slower as it generates the whole device's\nconfiguration, but is also much resilient (for the same reason).\n\nBug: T306649\nChange-Id: I600494399bd08c90840c823ca37dfbb9081eaa82","shortMessageHtmlLink":"Expose Netbox's BGP servers to Homer"}},{"before":"87ddfa4eb9f167525d5da62fb63733b2e7f4fc18","after":"9366bc29e94eb1f92b118fe0799d3b732f25cfeb","ref":"refs/heads/master","pushedAt":"2023-11-10T16:48:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Change 'anycast_gw' var in int config to represent type of IRB needed\n\nPreviously the 'anycast_gw' var was a boolean which was set to\nindicate the interface was an IRB/Vlan int with 'anycast gw'\nfunction. This patch adjusts the plugin to instead make this\na string, with two values indicating which type of anycast gw\nconfiguration is required (\"single\" or \"vga\").\n\nThe key mechanism to detect the difference is the number of IPs of\na given address fam configured on the interface in Netbox. To\nfacilitate getting this number I've added a new function which\niterates over the IPs for a device and build a dict keyed by the\ninterface name with the IPs for each.\n\nBug: T350579\nChange-Id: I6476975f2dab38d8b68e786612f8e70bbf14313f","shortMessageHtmlLink":"Change 'anycast_gw' var in int config to represent type of IRB needed"}},{"before":"e80ea0abc0527bdcf7c824e4b01701144ac8d83a","after":"87ddfa4eb9f167525d5da62fb63733b2e7f4fc18","ref":"refs/heads/master","pushedAt":"2023-10-03T14:46:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.4\n\nChange-Id: I1015edf34237d5ecec4528b9c44fe04651835159","shortMessageHtmlLink":"Release v0.6.4"}},{"before":"1e0986f5e340e51f699da869d33cf477a9fcced6","after":"e80ea0abc0527bdcf7c824e4b01701144ac8d83a","ref":"refs/heads/master","pushedAt":"2023-08-21T06:52:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Update wheels to pickup Aerleon 1.7.0\n\nFixes the too verbose log output and brings openconfig tcp-established\n\nBug: T337082\nChange-Id: I4946ef6310ec2323ffa037da649f71f31f747b8a","shortMessageHtmlLink":"Update wheels to pickup Aerleon 1.7.0"}},{"before":"1041b16e25c33d56ef5ebe6100405dc36c477403","after":"1e0986f5e340e51f699da869d33cf477a9fcced6","ref":"refs/heads/master","pushedAt":"2023-08-07T06:12:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Update wheels\n\nMostly to upgrade Aerleon to 1.6.0\n\nBug: T337082\nChange-Id: I800ac023a4e1946af9aa4dc82e544dac8b86766c","shortMessageHtmlLink":"Update wheels"}},{"before":"1fecd3e7890cc171a0592bf9fe3bd470070699de","after":"1041b16e25c33d56ef5ebe6100405dc36c477403","ref":"refs/heads/master","pushedAt":"2023-07-24T13:31:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Add python 3.11 support to Tox\n\nChange-Id: Ia44a5e86d2b2390d3309e133599c738654ef6c5c","shortMessageHtmlLink":"Add python 3.11 support to Tox"}},{"before":"9a9cdb93162ad76e62d6ec13da0e70016bc72f5c","after":"1fecd3e7890cc171a0592bf9fe3bd470070699de","ref":"refs/heads/master","pushedAt":"2023-07-18T14:22:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.3\n\nChange-Id: I0a773c26aa52a621e3f6869b4de571ad7a9b4fba","shortMessageHtmlLink":"Release v0.6.3"}},{"before":"7db0219ccb85b76effcddba7548c0955272f1b6f","after":"9a9cdb93162ad76e62d6ec13da0e70016bc72f5c","ref":"refs/heads/master","pushedAt":"2023-05-23T14:48:46.909Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Expose additional link information to Homer templates in wmf-netbox.py\n\nThis patch modifies the existing code for creating interface\ndescriptions, breaking the work into two parts.\n\nMost of the logic from the original interface_description() function\nhas been moved to the _get_link_data() function. This function does\nthe same checks to discover the related properties of the link, but\ninstead of just creating a string for the description, returns a dict\nof those attributes. I've slightly refoactored / cleaned up in the\nlatest patchset after digging into the logic a bit more.\n\nExposing the link's attributes in a dict like that means it can be\nconsumed elsewhere in templates.\n\nThe replacement interface_description() function builds the\ndescription string based on the data in that dict instead.\n\nUnlike previous patch set this one does cause some changes, due to\ncode optimisation suggested, just removes a comma on some\ndescriptions. I'm unsure myself if it's worth it might be best as\nit was:\n\nhttps://phabricator.wikimedia.org/P46677\n\nBug: T328313\nChange-Id: I1a7fc5cee3d4c3d778e891d458d04cec1a8f73fa","shortMessageHtmlLink":"Expose additional link information to Homer templates in wmf-netbox.py"}},{"before":"450d947399946584003d60e24f613fec98f703a7","after":"7db0219ccb85b76effcddba7548c0955272f1b6f","ref":"refs/heads/master","pushedAt":"2023-05-04T19:25:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.2\n\n* Also remove obsolete buster artifacts and set the default OS version\n to bullseye.\n\nChange-Id: I0eef1f1047925a4ccdb3cbe6708858b5e933fa80","shortMessageHtmlLink":"Release v0.6.2"}},{"before":"7db0219ccb85b76effcddba7548c0955272f1b6f","after":"450d947399946584003d60e24f613fec98f703a7","ref":"refs/heads/master","pushedAt":"2023-05-04T16:45:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Expose interface VRF association to templates if present in Netbox\n\nAdds the VRF name to the data exposed by the junos_interfaces()\nfunction for any that have one set in Netbox.\n\nBug: T312635\nChange-Id: Iab89a60a90855ee3fcc8d716a644a3fd8e19aed5","shortMessageHtmlLink":"Expose interface VRF association to templates if present in Netbox"}},{"before":"450d947399946584003d60e24f613fec98f703a7","after":"7db0219ccb85b76effcddba7548c0955272f1b6f","ref":"refs/heads/master","pushedAt":"2023-05-03T09:26:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.2\n\n* Also remove obsolete buster artifacts and set the default OS version\n to bullseye.\n\nChange-Id: I0eef1f1047925a4ccdb3cbe6708858b5e933fa80","shortMessageHtmlLink":"Release v0.6.2"}},{"before":"798701f4dc3d80734fba853fdaab1cc5cbb366a1","after":"450d947399946584003d60e24f613fec98f703a7","ref":"refs/heads/master","pushedAt":"2023-04-13T16:57:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Expose interface VRF association to templates if present in Netbox\n\nAdds the VRF name to the data exposed by the junos_interfaces()\nfunction for any that have one set in Netbox.\n\nBug: T312635\nChange-Id: Iab89a60a90855ee3fcc8d716a644a3fd8e19aed5","shortMessageHtmlLink":"Expose interface VRF association to templates if present in Netbox"}},{"before":"3ab837d52ed16a27d3d012fad202193ca744d0dc","after":"798701f4dc3d80734fba853fdaab1cc5cbb366a1","ref":"refs/heads/master","pushedAt":"2023-03-10T14:20:34.052Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Release v0.6.1 update\n\nReturns port-block information for any device role name that starts\nwith 'qfx5120-48y' as we are now using multiple device roles to model\nthis hardware in Netbox.\n\nBug: T331519\nChange-Id: I7a4610bae7fb0c7c8297a590d6749de50def377e","shortMessageHtmlLink":"Release v0.6.1 update"}},{"before":"b0d6fcfdeca4c19ddb07c6437a5c11b74ac14dd8","after":"3ab837d52ed16a27d3d012fad202193ca744d0dc","ref":"refs/heads/master","pushedAt":"2023-03-08T16:47:36.132Z","pushType":"push","commitsCount":1,"pusher":{"login":"wmfgerrit","name":"Wikimedia Gerrit","path":"/wmfgerrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2539292?s=80&v=4"},"commit":{"message":"Return port blocks data for both QFX5120-48Y Netbox device types\n\nWe are currently modelling QFX5120-48Y devices under two separate\ndevice types in Netbox, reflecting the old and the new Juniper SKU.\n\nThis change ensures the port block configuration is returned for\nboth types.\n\nAlso makes a change to ensure LAG / ae interfaces are not processed\nby the port block logic, hit that error which we hadn't previously\nseen.\n\nBug: T331519\nChange-Id: I71bcb6c76835979e8657e8061900ed9139ecae45","shortMessageHtmlLink":"Return port blocks data for both QFX5120-48Y Netbox device types"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUMQD7gA","startCursor":null,"endCursor":null}},"title":"Activity ยท wikimedia/operations-software-homer-deploy"}