)]}'
{"id":"openstack%2Fnetworking-generic-switch~1006317","triplet_id":"openstack%2Fnetworking-generic-switch~master~Id05334d47398d731357d9b34c996b3a15eaec5cb","project":"openstack/networking-generic-switch","branch":"master","topic":"ngs-configdoc","attention_set":{"11655":{"account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"last_update":"2026-09-22 17:00:49.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":["ironic-week-prio"],"change_id":"Id05334d47398d731357d9b34c996b3a15eaec5cb","subject":"Recognise and document VXLAN L2VNI EVPN/multicast options","status":"NEW","created":"2026-09-18 18:02:51.000000000","updated":"2026-09-22 17:06:59.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d0ca35c89b2b0bca830aa9af35c3c8014a2799fd","_number":1006317,"virtual_id_number":1006317,"owner":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-21 17:04:25.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":2,"date":"2026-09-22 17:00:49.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-18 19:06:04.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-09-22 17:00:49.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"state":"REVIEWER"}],"messages":[{"id":"ade2788fd96723f027189234e3f3190487d8b8b3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-09-18 18:02:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d9a62f4977296edd275597fb10538ee56d797fd6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 19:06:04.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1eea7881021b4c69b30342695c310e19\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/19c153eb9afa46c28c5b27b81af907eb : SUCCESS in 2m 57s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/64f69bc7090b49fc955c9173587be563 : SUCCESS in 4m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7a2047e6e93c4e3c8bc434d1a4bec00e : SUCCESS in 4m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/57afe39990ab4dfc99235f1894703f58 : SUCCESS in 5m 21s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b07a2b0699cc45efa61944c98c33592c : SUCCESS in 11m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e7de03459e2b4b11bdac2539e618f83c : SUCCESS in 4m 33s\n- networking-generic-switch-tempest-dlm https://zuul.opendev.org/t/openstack/build/049b853ba4e64807a6e4c2a044d84acf : SUCCESS in 21m 37s\n- ironic-tempest-ipa-wholedisk-direct-multinode https://zuul.opendev.org/t/openstack/build/77324b13021842c5a12a29f2b0d786a2 : SUCCESS in 57m 36s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/cb457ea77d3b48fa995a661814f59e84 : SUCCESS in 43m 30s\n- networking-generic-switch-tox-codespell https://zuul.opendev.org/t/openstack/build/b1fa190581d741beb4e89c4a64aa6d70 : SUCCESS in 4m 01s","accounts_in_message":[],"_revision_number":1},{"id":"32fd5c5bdbb56e3effea8db220650860c29a78e1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-09-21 15:49:39.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"00ceaf6de155735551d0759a2ba2b4d9ed06c183","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-21 17:04:25.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e8013447d168438583d345296ceb011e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/56c621e023db4f22bf8f82c5f4983bdb : SUCCESS in 5m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d01d482fee9946b8a9519b1536620afa : SUCCESS in 4m 26s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a09c75a88def45ea8c8156a66019e377 : SUCCESS in 7m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/98b595e6ad40491f9306f48fe0bdf5e2 : SUCCESS in 5m 40s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f9b669b3e3f747dbbc8d3957003bf15b : SUCCESS in 4m 52s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/beff57a2fcf348b1b8d71a24774b3da8 : SUCCESS in 4m 26s\n- networking-generic-switch-tempest-dlm https://zuul.opendev.org/t/openstack/build/2e6572bd330449639a9a6cca623fe71a : SUCCESS in 13m 53s\n- ironic-tempest-ipa-wholedisk-direct-multinode https://zuul.opendev.org/t/openstack/build/85143c65b3bb4c3f969afa9df5bc60ab : SUCCESS in 1h 11m 30s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/4dc36a551de74ed9b48235d53c178de6 : SUCCESS in 36m 46s\n- networking-generic-switch-tox-codespell https://zuul.opendev.org/t/openstack/build/a1439cb8ecad4b31838e681d5915bf6c : SUCCESS in 5m 43s","accounts_in_message":[],"_revision_number":2},{"id":"6501a2212b87d0a2868d5a8c51a611152a939162","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-09-22 15:13:20.000000000","message":"Topic set to ngs-configdoc","accounts_in_message":[],"_revision_number":2},{"id":"1db1c825b1a68fa77dc2e1e3264daf1133616dea","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-09-22 17:00:49.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"d0ca35c89b2b0bca830aa9af35c3c8014a2799fd","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-09-22 17:06:59.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"4595cd1b355cb6d684992b5d678139bf70690113","revisions":{"92c1546e8cfc05f063e5de7cecef9659bea239f5":{"kind":"REWORK","_number":1,"created":"2026-09-18 18:02:51.000000000","uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/17/1006317/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-generic-switch","ref":"refs/changes/17/1006317/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/1"}}},"commit":{"parents":[{"commit":"759fc95909daffad3c65ea7fb577c8531e87873f","subject":"Deduplicate switch option docs against generated reference","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/759fc95909daffad3c65ea7fb577c8531e87873f"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-09-18 17:51:52.000000000","tz":-420},"committer":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-09-18 18:01:47.000000000","tz":-420},"subject":"Recognise and document VXLAN L2VNI EVPN/multicast options","message":"Recognise and document VXLAN L2VNI EVPN/multicast options\n\nThe VXLAN L2VNI options are read directly by the VXLAN-capable device\ndrivers, in their __init__ and via parse_vxlan_multicast_config, before\nthe base GenericSwitchDevice.__init__ runs. Because they were not listed\nin any known-option set, the base class treated each of them as an unknown\nngs_ option and logged a spurious \"Ignoring unknown option\" warning on\nevery device load, even though the option was in fact honoured.\n\nDescribe these options as cfg.Opt instances in a new NGS_L2VNI_OPTS list\nand drop them in the base __init__ so they are recognised rather than\nwarned about. They are not stored in ngs_config, since the drivers consume\nthem into their own attributes beforehand. This covers both the options\nshared across drivers (ngs_evpn_vni_config, ngs_bgp_asn,\nngs_bum_replication_mode, ngs_mcast_group_base, ngs_mcast_group_increment,\nngs_mcast_group_map) and the vendor-specific ones (ngs_vxlan_interface and\nngs_evpn_route_target for Arista, ngs_her_flood_list and\nngs_physnet_her_flood for Cumulus, ngs_vtep_name for SONiC, and\nngs_nve_interface for Cisco NX-OS); the owning vendor is noted in each\noption\u0027s help text.\n\nRender the new list in a dedicated \"VXLAN L2VNI (EVPN/multicast) options\"\nsection of the configuration reference so the options are documented from\nthe same source of truth.\n\nAssisted-By: Claude Opus 4.8\nChange-Id: Id05334d47398d731357d9b34c996b3a15eaec5cb\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/92c1546e8cfc05f063e5de7cecef9659bea239f5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/92c1546e8cfc05f063e5de7cecef9659bea239f5"}]},"branch":"refs/heads/master"},"4595cd1b355cb6d684992b5d678139bf70690113":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-21 15:49:39.000000000","uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/17/1006317/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-generic-switch","ref":"refs/changes/17/1006317/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-generic-switch refs/changes/17/1006317/2"}}},"commit":{"parents":[{"commit":"415303321245a99a47779b66bfb834a57966698e","subject":"Deduplicate switch option docs against generated reference","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/415303321245a99a47779b66bfb834a57966698e"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-09-18 17:51:52.000000000","tz":-420},"committer":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-09-21 15:39:16.000000000","tz":-420},"subject":"Recognise and document VXLAN L2VNI EVPN/multicast options","message":"Recognise and document VXLAN L2VNI EVPN/multicast options\n\nThe VXLAN L2VNI options are read directly by the VXLAN-capable device\ndrivers, in their __init__ and via parse_vxlan_multicast_config, before\nthe base GenericSwitchDevice.__init__ runs. Because they were not listed\nin any known-option set, the base class treated each of them as an unknown\nngs_ option and logged a spurious \"Ignoring unknown option\" warning on\nevery device load, even though the option was in fact honoured.\n\nDescribe these options as cfg.Opt instances in a new NGS_L2VNI_OPTS list\nand drop them in the base __init__ so they are recognised rather than\nwarned about. They are not stored in ngs_config, since the drivers consume\nthem into their own attributes beforehand. This covers both the options\nshared across drivers (ngs_evpn_vni_config, ngs_bgp_asn,\nngs_bum_replication_mode, ngs_mcast_group_base, ngs_mcast_group_increment,\nngs_mcast_group_map) and the vendor-specific ones (ngs_vxlan_interface and\nngs_evpn_route_target for Arista, ngs_her_flood_list and\nngs_physnet_her_flood for Cumulus, ngs_vtep_name for SONiC, and\nngs_nve_interface for Cisco NX-OS); the owning vendor is noted in each\noption\u0027s help text.\n\nRender the new list in a dedicated \"VXLAN L2VNI (EVPN/multicast) options\"\nsection of the configuration reference so the options are documented from\nthe same source of truth.\n\nAssisted-By: Claude Opus 4.8\nChange-Id: Id05334d47398d731357d9b34c996b3a15eaec5cb\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/4595cd1b355cb6d684992b5d678139bf70690113"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/4595cd1b355cb6d684992b5d678139bf70690113"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},{"label":"Workflow","status":"MAY"},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
