Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-controller/+/2784 Obtained pipelines/main.groovy from git https://github.com/opensdn-io/tf-jenkins.git [Pipeline] Start of Pipeline [Pipeline] timestamps [Pipeline] { [Pipeline] timeout [2026-04-20T12:21:23.568Z] Timeout set to expire in 8 hr 0 min [Pipeline] { [Pipeline] node [2026-04-20T12:21:23.618Z] Running on slave-openstack-gz1_1 in /home/jenkins/workspace/pipeline-post-merge [Pipeline] { [Pipeline] stage [Pipeline] { (init) [Pipeline] cleanWs [2026-04-20T12:21:23.701Z] [WS-CLEANUP] Deleting project workspace... [2026-04-20T12:21:23.701Z] [WS-CLEANUP] Deferred wipeout is disabled by the job configuration... [2026-04-20T12:21:23.830Z] [WS-CLEANUP] done [Pipeline] checkout [2026-04-20T12:21:23.868Z] The recommended git tool is: git [2026-04-20T12:21:23.876Z] No credentials specified [2026-04-20T12:21:23.879Z] Cloning the remote Git repository [2026-04-20T12:21:23.883Z] Cloning repository https://github.com/opensdn-io/tf-jenkins.git [2026-04-20T12:21:23.883Z] > git init /home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins # timeout=10 [2026-04-20T12:21:23.889Z] Fetching upstream changes from https://github.com/opensdn-io/tf-jenkins.git [2026-04-20T12:21:23.889Z] > git --version # timeout=10 [2026-04-20T12:21:23.891Z] > git --version # 'git version 2.25.1' [2026-04-20T12:21:23.892Z] > git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-jenkins.git +refs/heads/*:refs/remotes/origin/* # timeout=10 [2026-04-20T12:21:25.123Z] Avoid second fetch [2026-04-20T12:21:25.130Z] Checking out Revision de84d9a87171f6df39962a664aa5a9cee87056c3 (refs/remotes/origin/master) [2026-04-20T12:21:25.187Z] Commit message: "workaround absence of second interface in ubuntu" [2026-04-20T12:21:25.113Z] > git config remote.origin.url https://github.com/opensdn-io/tf-jenkins.git # timeout=10 [2026-04-20T12:21:25.116Z] > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 [2026-04-20T12:21:25.125Z] > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 [2026-04-20T12:21:25.132Z] > git config core.sparsecheckout # timeout=10 [2026-04-20T12:21:25.134Z] > git checkout -f de84d9a87171f6df39962a664aa5a9cee87056c3 # timeout=10 [2026-04-20T12:21:25.189Z] > git rev-list --no-walk de84d9a87171f6df39962a664aa5a9cee87056c3 # timeout=10 [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/utils/gerrit.groovy) [Pipeline] } [Pipeline] // load [Pipeline] echo [2026-04-20T12:21:25.684Z] INFO: resolved gerrit URL is https://gerrit.opensdn.io/ [Pipeline] sh [2026-04-20T12:21:25.986Z] + /home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/infra/gerrit/resolve_patchsets.py --gerrit https://gerrit.opensdn.io/ --review Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9 --branch master --changed_files --output /home/jenkins/workspace/pipeline-post-merge/patchsets-info.json [Pipeline] archiveArtifacts [2026-04-20T12:21:26.020Z] Archiving artifacts [Pipeline] sh [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/utils/gerrit.groovy) [Pipeline] } [Pipeline] // load [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/constants.groovy) [Pipeline] } [Pipeline] // load [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/utils/config.groovy) [Pipeline] } [Pipeline] // load [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/utils/jobs.groovy) [Pipeline] } [Pipeline] // load [Pipeline] load [Pipeline] { (/home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/pipelines/utils/gate.groovy) [Pipeline] } [Pipeline] // load [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Pre-build) [Pipeline] echo [2026-04-20T12:21:28.243Z] Logs URL: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/84/2784/25/post-merge_860 [Pipeline] echo [2026-04-20T12:21:28.278Z] terminate_runs_by_review_number: start [Pipeline] echo [2026-04-20T12:21:28.694Z] terminate_runs_by_review_number: terminated builds = [] [Pipeline] sh [Pipeline] echo [2026-04-20T12:21:29.049Z] Pipeline to run: post-merge [Pipeline] sh [Pipeline] sh [Pipeline] archiveArtifacts [2026-04-20T12:21:29.699Z] Archiving artifacts [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] readYaml [Pipeline] echo [2026-04-20T12:21:30.550Z] WARNING: project opensdn-io/tf-controller doesn't define pipeline post-merge [Pipeline] echo [2026-04-20T12:21:30.569Z] Streams from config: [:] [Pipeline] echo [2026-04-20T12:21:30.586Z] Jobs from config: [:] [Pipeline] echo [2026-04-20T12:21:30.605Z] Post Jobs from config: [:] [Pipeline] echo [2026-04-20T12:21:30.638Z] Notify gerrit verified=null, submit=false, msg= [2026-04-20T12:21:30.638Z] TF CI Build Started (post-merge) https://jenkins.opensdn.io/job/pipeline-post-merge/860/ [Pipeline] withCredentials [2026-04-20T12:21:30.670Z] Masking supported pattern matches of $GERRIT_API_PASSWORD [Pipeline] { [Pipeline] echo [2026-04-20T12:21:30.723Z] INFO: resolved gerrit URL is https://gerrit.opensdn.io/ [Pipeline] sh [2026-04-20T12:21:31.019Z] + /home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/infra/gerrit/notify.py --gerrit https://gerrit.opensdn.io/ --user tf-gerrit --password **** --review Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9 --patchset 25 --branch master --message 'TF CI Build Started (post-merge) https://jenkins.opensdn.io/job/pipeline-post-merge/860/' [2026-04-20T12:21:31.020Z] DEBUG: Change: {'id': 'opensdn-io%2Ftf-controller~master~Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9', 'project': 'opensdn-io/tf-controller', 'branch': 'master', 'topic': 'fix_tags', 'attention_set': {}, 'removed_from_attention_set': {'1000001': {'account': {'_account_id': 1000001}, 'last_update': '2026-04-18 05:48:08.000000000', 'reason': 'removed on reply'}, '1000010': {'account': {'_account_id': 1000010}, 'last_update': '2026-04-20 12:21:05.000000000', 'reason': 'Change was submitted'}}, 'hashtags': [], 'change_id': 'Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9', 'subject': 'fix(tags): fix ZK tag type node loss and pod label removal', 'status': 'MERGED', 'created': '2026-04-14 01:34:56.000000000', 'updated': '2026-04-20 12:21:05.000000000', 'submitted': '2026-04-20 12:21:05.000000000', 'submitter': {'_account_id': 1000001}, 'insertions': 477, 'deletions': 78, 'total_comment_count': 1, 'unresolved_comment_count': 0, 'has_review_started': True, 'submission_id': '2784-fix_tags', 'meta_rev_id': 'eae96199f7e2e4b67a0ab7abfbe891a68948d6d1', '_number': 2784, 'owner': {'_account_id': 1000010}, 'labels': {'Code-Review': {'all': [{'value': 2, 'date': '2026-04-20 09:48:28.000000000', 'permitted_voting_range': {'min': 2, 'max': 2}, '_account_id': 1000003}, {'value': 0, '_account_id': 1000001}], 'values': {'-2': 'This shall not be submitted', '-1': 'I would prefer this is not submitted as is', ' 0': 'No score', '+1': 'Looks good to me, but someone else must approve', '+2': 'Looks good to me, approved'}, 'description': '', 'default_value': 0}, 'Verified': {'all': [{'value': 0, '_account_id': 1000003}, {'value': 2, 'date': '2026-04-20 12:20:52.000000000', 'permitted_voting_range': {'min': 2, 'max': 2}, '_account_id': 1000001}], 'values': {'-2': 'Fails', '-1': 'Fails', ' 0': 'No score', '+1': 'Verified', '+2': 'Gating'}, 'description': '', 'default_value': 0}}, 'permitted_labels': {'Code-Review': [' 0', '+1', '+2'], 'Verified': ['+2']}, 'removable_labels': {}, 'removable_reviewers': [], 'reviewers': {'REVIEWER': [{'_account_id': 1000001}, {'_account_id': 1000003}]}, 'pending_reviewers': {}, 'current_revision': '150298d17bd2849afef30d5dd96fbf4dc4ef1759', 'revisions': {'150298d17bd2849afef30d5dd96fbf4dc4ef1759': {'kind': 'REWORK', '_number': 25, 'created': '2026-04-18 06:48:58.000000000', 'uploader': {'_account_id': 1000010}, 'ref': 'refs/changes/84/2784/25', 'fetch': {'ssh': {'url': 'ssh://tf-gerrit@gerrit.opensdn.io:29418/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}, 'anonymous http': {'url': 'https://gerrit.opensdn.io/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}, 'http': {'url': 'https://tf-gerrit@gerrit.opensdn.io/a/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}}, 'commit': {'parents': [{'commit': 'f2fe22ddd0be325c9980a90bdcb5462a44b4b287', 'subject': 'restores the correct compartor and hash for LargeCommunity'}], 'author': {'name': 'Mikhail Samoylov', 'email': 'mikhailsamoiloff@gmail.com', 'date': '2026-04-14 01:33:21.000000000', 'tz': 420}, 'committer': {'name': 'Mikhail Samoylov', 'email': 'mikhailsamoiloff@gmail.com', 'date': '2026-04-18 06:48:43.000000000', 'tz': 420}, 'subject': 'fix(tags): fix ZK tag type node loss and pod label removal', 'message': 'fix(tags): fix ZK tag type node loss and pod label removal\n\nOpenSDN tag type ZK nodes were being lost after restarts and during\nk8s pod label operations. This commit fixes several related issues.\n\nfree_ud_tag_type_id() was calling delete_all() on _tag_value_ud_id_alloc_path\n("/id/tags/values/UD/%s/") but all tag values are actually stored at\n_tag_value_id_alloc_path ("/id/tags/values/%s/"). This left orphaned\nZK directory nodes after tag deletion.\n\nAlso fix free_ud_tag_type_id to evict _tag_value_id_allocator from\nin-memory cache after ZK cleanup.\n\nAdd resync of predefined tag type ZK nodes (/id/tags/types/) at\nZkDatabase init time. Previously a node loss required manual repair.\n\nAdd tag_type handling in _dbe_resync_worker so all TagType objects\nfrom Cassandra (including k8s service types like namespace, k8s-app)\nhave their ZK nodes restored on API server startup via\ndbe_create_notification(), which is idempotent.\n\nChange `tag_type_id < _TAG_TYPE_MAX_ID` to `<=` so tag type ID 15\n(0x000F) is properly freed and read.\n\nRequire explicit user-defined ID (0x0010-0xFFFF) when creating\nTagType via API. System range is reserved for predefined types.\nTagType created implicitly by Tag (internal_request=True) continues\nto use UD auto-allocation as before.\n\nWhen a label was removed from a k8s pod via `kubectl label pod X key-`,\nthe corresponding tag was not unset on the VMI in OpenSDN config.\n\nRoot cause: label_delete_cb fired during _labels.process() while the\nVMI ref still existed, causing tag_delete to fail with RefsExistError.\nThe subsequent _unset_tags_on_pod_vmi call in vnc_pod_update was dead\ncode because XLabelCache was already updated.\n\nFix: detect removed labels before updating XLabelCache in process(),\ncall _unset_tags_on_pod_vmi first (removes VMI ref), then update cache\nso label_delete_cb can successfully delete the Tag object.\n\nRemove the now-dead removed-label detection block from vnc_pod_update.\n\n- vnc_tags.py: fix Python 3 AttributeError (e.message -> str(e))\n- label_cache.py: fix mutable default arguments in process()\n- label_cache.py: fix get_key_value() to use partition() instead of\n split() so label values containing \':\' are handled correctly\n\nFiles changed:\n src/config/api-server/vnc_cfg_api_server/vnc_db.py\n src/config/api-server/vnc_cfg_api_server/resources/tag_type.py\n src/config/api-server/vnc_cfg_api_server/resources/tag.py\n src/kube-manager/kube_manager/vnc/vnc_pod.py\n src/kube-manager/kube_manager/vnc/vnc_tags.py\n src/kube-manager/kube_manager/vnc/label_cache.py\n\nChange-Id: Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9\nSigned-off-by: Mikhail Samoylov \n'}}}, 'requirements': [], 'submit_records': [{'rule_name': 'gerrit~DefaultSubmitRule', 'status': 'CLOSED', 'labels': [{'label': 'Code-Review', 'status': 'OK', 'applied_by': {'_account_id': 1000003}}, {'label': 'Verified', 'status': 'OK', 'applied_by': {'_account_id': 1000001}}]}]} [2026-04-20T12:21:31.020Z] DEBUG: push message data: {'labels': {}, 'message': 'TF CI Build Started (post-merge) https://jenkins.opensdn.io/job/pipeline-post-merge/860/'} [Pipeline] } [Pipeline] // withCredentials [Pipeline] echo [2026-04-20T12:21:31.352Z] Notify discord for new job is started [Pipeline] echo [2026-04-20T12:21:31.394Z] INFO: resolved gerrit URL is https://gerrit.opensdn.io/ [Pipeline] echo [2026-04-20T12:21:31.420Z] Notify discord msg= [2026-04-20T12:21:31.420Z] The review was merged. [2026-04-20T12:21:31.420Z] [fix(tags): fix ZK tag type node loss and pod label](https://gerrit.opensdn.io/c/opensdn-io/tf-controller/+/2784) [Pipeline] withCredentials [2026-04-20T12:21:31.443Z] Masking supported pattern matches of $DISCORD_WEBHOOK_URL [Pipeline] { [Pipeline] writeFile [Pipeline] sh [2026-04-20T12:21:31.804Z] % Total % Received % Xferd Average Speed Time Time Time Current [2026-04-20T12:21:31.804Z] Dload Upload Total Spent Left Speed [2026-04-20T12:21:32.068Z] [2026-04-20T12:21:32.068Z] 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 [2026-04-20T12:21:32.068Z] 100 184 0 0 100 184 0 542 --:--:-- --:--:-- --:--:-- 541 [2026-04-20T12:21:32.068Z] 100 184 0 0 100 184 0 541 --:--:-- --:--:-- --:--:-- 539 [Pipeline] } [Pipeline] // withCredentials [Pipeline] } [Pipeline] // stage [Pipeline] echo [2026-04-20T12:21:32.215Z] Jobs results: [:] [Pipeline] stage [Pipeline] { (gerrit vote) [Pipeline] echo [2026-04-20T12:21:32.276Z] Notify gerrit verified=null, submit=false, msg= [2026-04-20T12:21:32.276Z] TF CI Build Succeeded (post-merge) in 0h 0m 4s [2026-04-20T12:21:32.276Z] [2026-04-20T12:21:32.276Z] Succeeded checks: [Pipeline] withCredentials [2026-04-20T12:21:32.298Z] Masking supported pattern matches of $GERRIT_API_PASSWORD [Pipeline] { [Pipeline] echo [2026-04-20T12:21:32.354Z] INFO: resolved gerrit URL is https://gerrit.opensdn.io/ [Pipeline] sh [2026-04-20T12:21:32.648Z] + /home/jenkins/workspace/pipeline-post-merge/src/opensdn-io/tf-jenkins/infra/gerrit/notify.py --gerrit https://gerrit.opensdn.io/ --user tf-gerrit --password **** --review Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9 --patchset 25 --branch master --message 'TF CI Build Succeeded (post-merge) in 0h 0m 4s [2026-04-20T12:21:32.648Z] [2026-04-20T12:21:32.648Z] Succeeded checks:' [2026-04-20T12:21:32.649Z] DEBUG: Change: {'id': 'opensdn-io%2Ftf-controller~master~Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9', 'project': 'opensdn-io/tf-controller', 'branch': 'master', 'topic': 'fix_tags', 'attention_set': {}, 'removed_from_attention_set': {'1000001': {'account': {'_account_id': 1000001}, 'last_update': '2026-04-18 05:48:08.000000000', 'reason': 'removed on reply'}, '1000010': {'account': {'_account_id': 1000010}, 'last_update': '2026-04-20 12:21:05.000000000', 'reason': 'Change was submitted'}}, 'hashtags': [], 'change_id': 'Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9', 'subject': 'fix(tags): fix ZK tag type node loss and pod label removal', 'status': 'MERGED', 'created': '2026-04-14 01:34:56.000000000', 'updated': '2026-04-20 12:21:30.000000000', 'submitted': '2026-04-20 12:21:05.000000000', 'submitter': {'_account_id': 1000001}, 'insertions': 477, 'deletions': 78, 'total_comment_count': 1, 'unresolved_comment_count': 0, 'has_review_started': True, 'submission_id': '2784-fix_tags', 'meta_rev_id': '99e9f9337c6f5db1d4add4d211c2ef215c801b38', '_number': 2784, 'owner': {'_account_id': 1000010}, 'labels': {'Code-Review': {'all': [{'value': 2, 'date': '2026-04-20 09:48:28.000000000', 'permitted_voting_range': {'min': 2, 'max': 2}, '_account_id': 1000003}, {'value': 0, '_account_id': 1000001}], 'values': {'-2': 'This shall not be submitted', '-1': 'I would prefer this is not submitted as is', ' 0': 'No score', '+1': 'Looks good to me, but someone else must approve', '+2': 'Looks good to me, approved'}, 'description': '', 'default_value': 0}, 'Verified': {'all': [{'value': 0, '_account_id': 1000003}, {'value': 2, 'date': '2026-04-20 12:20:52.000000000', 'permitted_voting_range': {'min': 2, 'max': 2}, '_account_id': 1000001}], 'values': {'-2': 'Fails', '-1': 'Fails', ' 0': 'No score', '+1': 'Verified', '+2': 'Gating'}, 'description': '', 'default_value': 0}}, 'permitted_labels': {'Code-Review': [' 0', '+1', '+2'], 'Verified': ['+2']}, 'removable_labels': {}, 'removable_reviewers': [], 'reviewers': {'REVIEWER': [{'_account_id': 1000001}, {'_account_id': 1000003}]}, 'pending_reviewers': {}, 'current_revision': '150298d17bd2849afef30d5dd96fbf4dc4ef1759', 'revisions': {'150298d17bd2849afef30d5dd96fbf4dc4ef1759': {'kind': 'REWORK', '_number': 25, 'created': '2026-04-18 06:48:58.000000000', 'uploader': {'_account_id': 1000010}, 'ref': 'refs/changes/84/2784/25', 'fetch': {'ssh': {'url': 'ssh://tf-gerrit@gerrit.opensdn.io:29418/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}, 'anonymous http': {'url': 'https://gerrit.opensdn.io/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}, 'http': {'url': 'https://tf-gerrit@gerrit.opensdn.io/a/opensdn-io/tf-controller', 'ref': 'refs/changes/84/2784/25'}}, 'commit': {'parents': [{'commit': 'f2fe22ddd0be325c9980a90bdcb5462a44b4b287', 'subject': 'restores the correct compartor and hash for LargeCommunity'}], 'author': {'name': 'Mikhail Samoylov', 'email': 'mikhailsamoiloff@gmail.com', 'date': '2026-04-14 01:33:21.000000000', 'tz': 420}, 'committer': {'name': 'Mikhail Samoylov', 'email': 'mikhailsamoiloff@gmail.com', 'date': '2026-04-18 06:48:43.000000000', 'tz': 420}, 'subject': 'fix(tags): fix ZK tag type node loss and pod label removal', 'message': 'fix(tags): fix ZK tag type node loss and pod label removal\n\nOpenSDN tag type ZK nodes were being lost after restarts and during\nk8s pod label operations. This commit fixes several related issues.\n\nfree_ud_tag_type_id() was calling delete_all() on _tag_value_ud_id_alloc_path\n("/id/tags/values/UD/%s/") but all tag values are actually stored at\n_tag_value_id_alloc_path ("/id/tags/values/%s/"). This left orphaned\nZK directory nodes after tag deletion.\n\nAlso fix free_ud_tag_type_id to evict _tag_value_id_allocator from\nin-memory cache after ZK cleanup.\n\nAdd resync of predefined tag type ZK nodes (/id/tags/types/) at\nZkDatabase init time. Previously a node loss required manual repair.\n\nAdd tag_type handling in _dbe_resync_worker so all TagType objects\nfrom Cassandra (including k8s service types like namespace, k8s-app)\nhave their ZK nodes restored on API server startup via\ndbe_create_notification(), which is idempotent.\n\nChange `tag_type_id < _TAG_TYPE_MAX_ID` to `<=` so tag type ID 15\n(0x000F) is properly freed and read.\n\nRequire explicit user-defined ID (0x0010-0xFFFF) when creating\nTagType via API. System range is reserved for predefined types.\nTagType created implicitly by Tag (internal_request=True) continues\nto use UD auto-allocation as before.\n\nWhen a label was removed from a k8s pod via `kubectl label pod X key-`,\nthe corresponding tag was not unset on the VMI in OpenSDN config.\n\nRoot cause: label_delete_cb fired during _labels.process() while the\nVMI ref still existed, causing tag_delete to fail with RefsExistError.\nThe subsequent _unset_tags_on_pod_vmi call in vnc_pod_update was dead\ncode because XLabelCache was already updated.\n\nFix: detect removed labels before updating XLabelCache in process(),\ncall _unset_tags_on_pod_vmi first (removes VMI ref), then update cache\nso label_delete_cb can successfully delete the Tag object.\n\nRemove the now-dead removed-label detection block from vnc_pod_update.\n\n- vnc_tags.py: fix Python 3 AttributeError (e.message -> str(e))\n- label_cache.py: fix mutable default arguments in process()\n- label_cache.py: fix get_key_value() to use partition() instead of\n split() so label values containing \':\' are handled correctly\n\nFiles changed:\n src/config/api-server/vnc_cfg_api_server/vnc_db.py\n src/config/api-server/vnc_cfg_api_server/resources/tag_type.py\n src/config/api-server/vnc_cfg_api_server/resources/tag.py\n src/kube-manager/kube_manager/vnc/vnc_pod.py\n src/kube-manager/kube_manager/vnc/vnc_tags.py\n src/kube-manager/kube_manager/vnc/label_cache.py\n\nChange-Id: Iaa83fea413be06df1ef0ca4dfc068b22f27b00d9\nSigned-off-by: Mikhail Samoylov \n'}}}, 'requirements': [], 'submit_records': [{'rule_name': 'gerrit~DefaultSubmitRule', 'status': 'CLOSED', 'labels': [{'label': 'Code-Review', 'status': 'OK', 'applied_by': {'_account_id': 1000003}}, {'label': 'Verified', 'status': 'OK', 'applied_by': {'_account_id': 1000001}}]}]} [2026-04-20T12:21:32.649Z] DEBUG: push message data: {'labels': {}, 'message': 'TF CI Build Succeeded (post-merge) in 0h 0m 4s\n\nSucceeded checks:'} [Pipeline] } [Pipeline] // withCredentials [Pipeline] sh [Pipeline] archiveArtifacts [2026-04-20T12:21:33.295Z] Archiving artifacts [Pipeline] withCredentials [2026-04-20T12:21:33.361Z] Masking supported pattern matches of $LOGS_HOST_SSH_KEY [Pipeline] { [Pipeline] writeFile [Pipeline] sh [2026-04-20T12:21:33.719Z] Warning: Permanently added 'nexus.gz1.opensdn.io,212.233.90.199' (ECDSA) to the list of known hosts. [2026-04-20T12:21:34.288Z] Warning: Permanently added 'nexus.gz1.opensdn.io,212.233.90.199' (ECDSA) to the list of known hosts. [Pipeline] } [Pipeline] // withCredentials [Pipeline] } [Pipeline] // stage [Pipeline] echo [2026-04-20T12:21:34.985Z] URL of console output = https://jenkins.opensdn.io/job/pipeline-post-merge/860/consoleText [Pipeline] withCredentials [2026-04-20T12:21:35.025Z] Masking supported pattern matches of $LOGS_HOST_SSH_KEY [Pipeline] { [Pipeline] sh