)]}'
{"id":"openstack%2Fnetworking-generic-switch~1004683","triplet_id":"openstack%2Fnetworking-generic-switch~master~I7a22106396dedba7c20e3f9e7b6ea55f8b5d1f45","project":"openstack/networking-generic-switch","branch":"master","topic":"netconf-transport-class","attention_set":{"24245":{"account":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"last_update":"2026-09-18 15:20:23.000000000","reason":"\u003cGERRIT_ACCOUNT_11655\u003e replied on the change","reason_account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I7a22106396dedba7c20e3f9e7b6ea55f8b5d1f45","subject":"netconf: model transport as class hierarchy","status":"NEW","created":"2026-09-08 17:52:52.000000000","updated":"2026-09-18 15:20:23.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":true,"meta_rev_id":"cfed84b3fc95968f42bd0aab9ae81c2436e61e61","_number":1004683,"virtual_id_number":1004683,"owner":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-09-08 18:40:31.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":{"all":[{"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":[{"_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":[{"_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":{"CC":[{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{"CC":[{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2026-09-08 18:40:31.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-18 15:20:23.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"CC"}],"messages":[{"id":"8bed4b9efc9ddeff96982a6bf350d8dd8648fb69","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-09-08 17:52:52.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"be4b7e26d6a106446e36d9174dd8390c05e5c805","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-09-08 17:53:13.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":1},{"id":"f542e8af74611d76184f4ad344e0f8e59586fafa","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-08 18:40:31.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/d9c7eeddb91e4914834bcfbb74d82e38\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8eb7fa3004aa4a1e92b8c08793cfedb8 : SUCCESS in 2m 41s\n- requirements-check https://zuul.opendev.org/t/openstack/build/741890fb06f641a7a4cdb9d4e92593fc : SUCCESS in 2m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/954591499ea64f87a9ec944f27107710 : SUCCESS in 3m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b407d337fa924c618554742b77001f72 : SUCCESS in 4m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/11c9d55a6f7b45a4b1c17a6a3a1971fc : SUCCESS in 4m 11s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ebbbbb125231483b917efcef3ac656ff : SUCCESS in 5m 30s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7e8a164f9a604c6c90c69dac49940ac4 : SUCCESS in 9m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8380a69aa8b24275824b96e8fc24a5e7 : SUCCESS in 2m 20s\n- networking-generic-switch-tempest-dlm https://zuul.opendev.org/t/openstack/build/053bd1c761964ad493a1da1225f05414 : SUCCESS in 21m 59s\n- ironic-tempest-ipa-wholedisk-direct-multinode https://zuul.opendev.org/t/openstack/build/bcfd1606236f43b797bf10e3172dcbaf : SUCCESS in 45m 13s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/5c2d49839aaa4104840ec33abe5cc185 : POST_FAILURE in 17m 22s\n- networking-generic-switch-tox-codespell https://zuul.opendev.org/t/openstack/build/42000e3b6e2142bab6beed2f93316ac0 : SUCCESS in 3m 31s","accounts_in_message":[],"_revision_number":1},{"id":"cfed84b3fc95968f42bd0aab9ae81c2436e61e61","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 15:20:23.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c80d4e69e2a5784d2ab1bb5cc08ed29aedb4aecd","revisions":{"c80d4e69e2a5784d2ab1bb5cc08ed29aedb4aecd":{"kind":"REWORK","_number":1,"created":"2026-09-08 17:52:52.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/83/1004683/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-generic-switch","ref":"refs/changes/83/1004683/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/83/1004683/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/83/1004683/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/83/1004683/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-generic-switch refs/changes/83/1004683/1"}}},"commit":{"parents":[{"commit":"fc2f2fb6c1955a441b5edea57282980b8195c840","subject":"Switch netconf transport from paramiko to libssh","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/fc2f2fb6c1955a441b5edea57282980b8195c840"}]}],"author":{"name":"Harald Jensas","email":"hjensas@redhat.com","date":"2026-09-04 11:14:25.000000000","tz":120},"committer":{"name":"Harald Jensas","email":"hjensas@redhat.com","date":"2026-09-04 11:14:25.000000000","tz":120},"subject":"netconf: model transport as class hierarchy","message":"netconf: model transport as class hierarchy\n\nExtract transport-specific logic from NetconfSwitch into two thin\nconcrete base classes:\n\n* NetconfLibsshSwitch — ncclient libssh transport (default)\n* NetconfParamikoSwitch — ncclient paramiko transport, for devices\n  requiring keyboard-interactive authentication\n\nExtract NetconfOpenConfigSwitch into a transport-agnostic mixin\n(NetconfOpenConfigMixin) and two thin entry-point drivers:\n\n* netconf_openconfig → NetconfOpenConfigSwitch\n  (NetconfOpenConfigMixin + NetconfLibsshSwitch)\n* netconf_openconfig_paramiko → NetconfOpenConfigParamikoSwitch\n  (NetconfOpenConfigMixin + NetconfParamikoSwitch)\n\nThe transport choice is encoded in the driver class (and thus the\nentry point name) rather than a per-device config option.\n\nAssisted-By: Claude (sonnet 4.6)\nChange-Id: I7a22106396dedba7c20e3f9e7b6ea55f8b5d1f45\nSigned-off-by: Harald Jensas \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/c80d4e69e2a5784d2ab1bb5cc08ed29aedb4aecd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/c80d4e69e2a5784d2ab1bb5cc08ed29aedb4aecd"}]},"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"},{"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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","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":""}}}]}
