)]}'
{"id":"openstack%2Fnetworking-generic-switch~998062","triplet_id":"openstack%2Fnetworking-generic-switch~master~I0f636adf2147c46db4d7c5748a041518e515cfc1","project":"openstack/networking-generic-switch","branch":"master","topic":"netconf-libssh","attention_set":{"24245":{"account":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"last_update":"2026-07-28 07:45:45.000000000","reason":"\u003cGERRIT_ACCOUNT_23851\u003e replied on the change","reason_account":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I0f636adf2147c46db4d7c5748a041518e515cfc1","subject":"Switch netconf transport from paramiko to libssh","status":"NEW","created":"2026-07-20 20:50:07.000000000","updated":"2026-07-28 07:45:45.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":"62d3a9672207e89e0fb210ed9b7a656bf28b188d","_number":998062,"virtual_id_number":998062,"owner":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-07-23 13:57:49.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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"all":[{"value":2,"date":"2026-07-28 07:45:45.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"_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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-20 22:33:11.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-07-28 07:45:45.000000000","updated_by":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"reviewer":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"state":"REVIEWER"}],"messages":[{"id":"05bfc5985e493b84c79a98e46924b1cf5a82aa28","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-07-20 20:50:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7aded419fdfd6b353509ea08af3014fa18c9a4e2","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-07-20 20:50:16.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":1},{"id":"70095216ed5c6c192ad1362b28c1669bc118c73b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 22:33:11.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9ad0b6f5d442450db974a6f1d977ceed\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/768a450f453b4345ba9cc0780045200f : SUCCESS in 2m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/542cb04f63af44668bdee1e7e1454a0c : SUCCESS in 4m 31s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/815a100e6f4f4273854f5b387cda4368 : SUCCESS in 4m 23s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/cb079c218523466ba30cabc1e0ac032c : SUCCESS in 4m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/63d53b560f99457d955dd426bc17db9e : SUCCESS in 7m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7ac1aff1c374aa985d23a9121c6e32a : SUCCESS in 4m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3ecb2864b22c44608d36bfb8a6aa9551 : SUCCESS in 2m 53s\n- networking-generic-switch-tempest-dlm https://zuul.opendev.org/t/openstack/build/3b19c41f29284982afc1131b418f9666 : SUCCESS in 14m 57s\n- ironic-tempest-ipa-wholedisk-direct-multinode https://zuul.opendev.org/t/openstack/build/2c43ca573cb8434bb844bc632b1e5c9c : SUCCESS in 1h 36m 55s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/59002f239c484dffb8dd317ac7d49644 : SUCCESS in 35m 26s\n- networking-generic-switch-tox-codespell https://zuul.opendev.org/t/openstack/build/3098ab2a838546489cdf4cde7819eec5 : SUCCESS in 3m 17s","accounts_in_message":[],"_revision_number":1},{"id":"8c38de8c512243c8851e19e491a7ae9c879272f3","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-07-23 12:33:54.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"86d3f9867feef0d75c0488c862eb02186965cbc0","tag":"autogenerated:gerrit:setReadyForReview","author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"date":"2026-07-23 13:52:39.000000000","message":"Set Ready For Review","accounts_in_message":[],"_revision_number":2},{"id":"cca0a4f0f49e082a700986d2c3605222251f91af","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 13:57:49.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/773807465cfd4b65b3c5dc29a3a33790\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/dad2488c767b4575854899c42525a43b : SUCCESS in 2m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2ade060b600f46c995d64d956f638285 : SUCCESS in 3m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/017e33b27fba42f7a4acc91bfbc1f33c : SUCCESS in 2m 58s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c27ee19faa4341c7be0641d81414c3f3 : SUCCESS in 2m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9f5a21163dd741ada13a4e1ab13d5440 : SUCCESS in 4m 47s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ede5fdfac7b5492e947c4a9a0aca4cf7 : SUCCESS in 10m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1dbaa5938ae944afb665f6de5e8471ef : SUCCESS in 5m 04s\n- networking-generic-switch-tempest-dlm https://zuul.opendev.org/t/openstack/build/b2623cef00a3403ba2fc801c5c9fc9d8 : SUCCESS in 10m 55s\n- ironic-tempest-ipa-wholedisk-direct-multinode https://zuul.opendev.org/t/openstack/build/dfb8ce4008814059843f6d043f2e0e3b : SUCCESS in 1h 16m 46s\n- networking-baremetal-ovn-vxlan https://zuul.opendev.org/t/openstack/build/929fafa106e148edb848199be57599d4 : SUCCESS in 22m 49s\n- networking-generic-switch-tox-codespell https://zuul.opendev.org/t/openstack/build/7b1b4098a79e4783bba2eecf76f6bb6b : SUCCESS in 3m 38s","accounts_in_message":[],"_revision_number":2},{"id":"62d3a9672207e89e0fb210ed9b7a656bf28b188d","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-28 07:45:45.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"d4bcf8bb2be8d1a3ee2c7965bf744b39281f775a","revisions":{"b77b3edd2754c5d2739117fe16f1e01bfbcdd2de":{"kind":"REWORK","_number":1,"created":"2026-07-20 20:50:07.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/62/998062/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-generic-switch","ref":"refs/changes/62/998062/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/1"}}},"commit":{"parents":[{"commit":"1802f17b9f58bd654f940856481feae95daf0244","subject":"Merge \"Add trunk subport for  NETCONF OpenConfig driver\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/1802f17b9f58bd654f940856481feae95daf0244"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-07-20 20:48:31.000000000","tz":120},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-07-20 20:48:31.000000000","tz":120},"subject":"Switch netconf transport from paramiko to libssh","message":"Switch netconf transport from paramiko to libssh\n\nUse ncclient\u0027s libssh transport (backed by ssh-python) instead of\nthe default paramiko-based SSH session for NETCONF device drivers.\n\nThis passes use_libssh\u003dTrue to ncclient\u0027s manager.connect() and\nremoves paramiko-specific parameters (keepalive, look_for_keys)\nthat are not supported by the libssh transport.\n\nBump ncclient to \u003e\u003d 0.7.0\n\nAssisted-By: Claude (Opus-4.6)\nChange-Id: I0f636adf2147c46db4d7c5748a041518e515cfc1\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/b77b3edd2754c5d2739117fe16f1e01bfbcdd2de"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/b77b3edd2754c5d2739117fe16f1e01bfbcdd2de"}]},"branch":"refs/heads/master"},"d4bcf8bb2be8d1a3ee2c7965bf744b39281f775a":{"kind":"REWORK","_number":2,"created":"2026-07-23 12:33:54.000000000","uploader":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"ref":"refs/changes/62/998062/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/networking-generic-switch","ref":"refs/changes/62/998062/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/networking-generic-switch refs/changes/62/998062/2"}}},"commit":{"parents":[{"commit":"92a038a1ccf0cbedba58dced258ccab6f215e94a","subject":"Refactor: extract OpenConfigModelMixin","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/92a038a1ccf0cbedba58dced258ccab6f215e94a"}]}],"author":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-07-20 20:48:31.000000000","tz":120},"committer":{"name":"Harald Jensås","email":"hjensas@redhat.com","date":"2026-07-23 12:30:00.000000000","tz":120},"subject":"Switch netconf transport from paramiko to libssh","message":"Switch netconf transport from paramiko to libssh\n\nUse ncclient\u0027s libssh transport (backed by ssh-python)i by default,\ninstead of the paramiko-based SSH session for NETCONF device drivers.\n\nThis passes use_libssh\u003dTrue to ncclient\u0027s manager.connect() and\nremoves paramiko-specific parameters (keepalive, look_for_keys)\nthat are not supported by the libssh transport.\n\nA new per-dvice setting `ngs_use_libssh` can be set to `False` to\nfall back to paramiko, which supports keyboard-interactive\nauthentication for devices that need it.\n\nBump ncclient to \u003e\u003d 0.7.0\n\nAssisted-By: Claude (Opus-4.6)\nChange-Id: I0f636adf2147c46db4d7c5748a041518e515cfc1\nSigned-off-by: Harald Jensås \u003chjensas@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/d4bcf8bb2be8d1a3ee2c7965bf744b39281f775a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/networking-generic-switch/commit/d4bcf8bb2be8d1a3ee2c7965bf744b39281f775a"}]},"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":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"}},{"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":""}}}]}
