PLAY [Prepare] ***************************************************************** TASK [Gathering Facts] ********************************************************* Thursday 02 October 2025 15:12:12 +0000 (0:00:00.009) 0:00:00.009 ****** ok: [instance] TASK [Create temp file] ******************************************************** Thursday 02 October 2025 15:12:12 +0000 (0:00:00.829) 0:00:00.839 ****** changed: [instance] PLAY RECAP ********************************************************************* instance : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 Thursday 02 October 2025 15:12:13 +0000 (0:00:00.542) 0:00:01.381 ****** =============================================================================== Gathering Facts --------------------------------------------------------- 0.83s Create temp file -------------------------------------------------------- 0.54s PLAY [Converge] **************************************************************** TASK [Gathering Facts] ********************************************************* Thursday 02 October 2025 15:12:13 +0000 (0:00:00.035) 0:00:00.035 ****** ok: [instance] TASK [Include deploy_bmh role] ************************************************* Thursday 02 October 2025 15:12:14 +0000 (0:00:00.783) 0:00:00.819 ****** TASK [deploy_bmh : Load baremetal hosts information from file] ***************** Thursday 02 October 2025 15:12:14 +0000 (0:00:00.027) 0:00:00.846 ****** ok: [instance] TASK [deploy_bmh : Set baremetal hosts facts] ********************************** Thursday 02 October 2025 15:12:14 +0000 (0:00:00.026) 0:00:00.872 ****** ok: [instance] TASK [deploy_bmh : Create destination directory] ******************************* Thursday 02 October 2025 15:12:14 +0000 (0:00:00.035) 0:00:00.908 ****** changed: [instance] TASK [deploy_bmh : Build and create Secret CRs] ******************************** Thursday 02 October 2025 15:12:15 +0000 (0:00:00.294) 0:00:01.203 ****** included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=compute-0) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=compute-1) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=controller-0) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=crc-0) TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:15 +0000 (0:00:00.057) 0:00:01.261 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:15 +0000 (0:00:00.575) 0:00:01.836 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:15 +0000 (0:00:00.030) 0:00:01.866 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:15 +0000 (0:00:00.029) 0:00:01.896 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:16 +0000 (0:00:00.367) 0:00:02.264 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:16 +0000 (0:00:00.030) 0:00:02.294 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:16 +0000 (0:00:00.028) 0:00:02.323 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:16 +0000 (0:00:00.353) 0:00:02.676 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:16 +0000 (0:00:00.029) 0:00:02.706 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:16 +0000 (0:00:00.028) 0:00:02.734 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:16 +0000 (0:00:00.354) 0:00:03.089 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:17 +0000 (0:00:00.028) 0:00:03.118 ****** skipping: [instance] TASK [deploy_bmh : Build and create BMH Netconfig Secrets] ********************* Thursday 02 October 2025 15:12:17 +0000 (0:00:00.028) 0:00:03.147 ****** skipping: [instance] => (item=compute-0) skipping: [instance] => (item=compute-1) skipping: [instance] => (item=controller-0) skipping: [instance] => (item=crc-0) skipping: [instance] TASK [deploy_bmh : Build and create BMH CRs] *********************************** Thursday 02 October 2025 15:12:17 +0000 (0:00:00.046) 0:00:03.193 ****** included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=compute-0) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=compute-1) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=controller-0) included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/deploy_bmh/tasks/create_templated_resource.yml for instance => (item=crc-0) TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:17 +0000 (0:00:00.059) 0:00:03.253 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:17 +0000 (0:00:00.361) 0:00:03.614 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:17 +0000 (0:00:00.029) 0:00:03.644 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:17 +0000 (0:00:00.028) 0:00:03.673 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:17 +0000 (0:00:00.367) 0:00:04.040 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:17 +0000 (0:00:00.029) 0:00:04.070 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:17 +0000 (0:00:00.028) 0:00:04.098 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:18 +0000 (0:00:00.365) 0:00:04.464 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:18 +0000 (0:00:00.029) 0:00:04.494 ****** skipping: [instance] TASK [deploy_bmh : Create the templates CR files] ****************************** Thursday 02 October 2025 15:12:18 +0000 (0:00:00.029) 0:00:04.523 ****** changed: [instance] TASK [deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists] ********* Thursday 02 October 2025 15:12:18 +0000 (0:00:00.355) 0:00:04.879 ****** skipping: [instance] TASK [deploy_bmh : Apply the generated CRs] ************************************ Thursday 02 October 2025 15:12:18 +0000 (0:00:00.029) 0:00:04.908 ****** skipping: [instance] PLAY RECAP ********************************************************************* instance : ok=20 changed=9 unreachable=0 failed=0 skipped=17 rescued=0 ignored=0 Thursday 02 October 2025 15:12:18 +0000 (0:00:00.043) 0:00:04.951 ****** =============================================================================== Gathering Facts --------------------------------------------------------- 0.78s deploy_bmh : Create the templates CR files ------------------------------ 0.58s deploy_bmh : Create the templates CR files ------------------------------ 0.37s deploy_bmh : Create the templates CR files ------------------------------ 0.37s deploy_bmh : Create the templates CR files ------------------------------ 0.37s deploy_bmh : Create the templates CR files ------------------------------ 0.36s deploy_bmh : Create the templates CR files ------------------------------ 0.36s deploy_bmh : Create the templates CR files ------------------------------ 0.35s deploy_bmh : Create the templates CR files ------------------------------ 0.35s deploy_bmh : Create destination directory ------------------------------- 0.29s deploy_bmh : Build and create BMH CRs ----------------------------------- 0.06s deploy_bmh : Build and create Secret CRs -------------------------------- 0.06s deploy_bmh : Build and create BMH Netconfig Secrets --------------------- 0.05s deploy_bmh : Apply the generated CRs ------------------------------------ 0.04s deploy_bmh : Set baremetal hosts facts ---------------------------------- 0.04s deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists --------- 0.03s deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists --------- 0.03s deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists --------- 0.03s deploy_bmh : Apply the generated CRs ------------------------------------ 0.03s deploy_bmh : Ensure cifmw_deploy_bmh_namespace namespace exists --------- 0.03s PLAY [Cleanup] ***************************************************************** TASK [Gathering Facts] ********************************************************* Thursday 02 October 2025 15:12:19 +0000 (0:00:00.034) 0:00:00.034 ****** ok: [instance] TASK [Include deploy_bmh role] ************************************************* Thursday 02 October 2025 15:12:20 +0000 (0:00:00.765) 0:00:00.799 ****** TASK [deploy_bmh : Get the BM manifests] *************************************** Thursday 02 October 2025 15:12:20 +0000 (0:00:00.023) 0:00:00.823 ****** ok: [instance] TASK [deploy_bmh : Removing resources if deployed] ***************************** Thursday 02 October 2025 15:12:20 +0000 (0:00:00.301) 0:00:01.124 ****** skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-compute-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 174, 'inode': 151017224, 'dev': 64513, 'nlink': 1, 'atime': 1759417935.686732, 'mtime': 1759417935.4317334, 'ctime': 1759417935.6887321, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-compute-1.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 174, 'inode': 167795696, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.1177301, 'mtime': 1759417935.9807308, 'ctime': 1759417936.1207302, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-controller-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 177, 'inode': 8683854, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.5327282, 'mtime': 1759417936.3987288, 'ctime': 1759417936.5357282, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-crc-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 170, 'inode': 21000904, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.9447262, 'mtime': 1759417936.810727, 'ctime': 1759417936.9467263, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-compute-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 416, 'inode': 33571741, 'dev': 64513, 'nlink': 1, 'atime': 1759417937.4697237, 'mtime': 1759417937.3357244, 'ctime': 1759417937.4727237, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-compute-1.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 416, 'inode': 46183511, 'dev': 64513, 'nlink': 1, 'atime': 1759417937.8947217, 'mtime': 1759417937.7597225, 'ctime': 1759417937.8977218, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-controller-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 425, 'inode': 58747873, 'dev': 64513, 'nlink': 1, 'atime': 1759417938.3187199, 'mtime': 1759417938.1827204, 'ctime': 1759417938.32172, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-crc-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 404, 'inode': 71340806, 'dev': 64513, 'nlink': 1, 'atime': 1759417938.735718, 'mtime': 1759417938.6037185, 'ctime': 1759417938.7377179, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) skipping: [instance] TASK [deploy_bmh : Delete CR files] ******************************************** Thursday 02 October 2025 15:12:20 +0000 (0:00:00.055) 0:00:01.180 ****** changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-compute-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 174, 'inode': 151017224, 'dev': 64513, 'nlink': 1, 'atime': 1759417935.686732, 'mtime': 1759417935.4317334, 'ctime': 1759417935.6887321, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-compute-1.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 174, 'inode': 167795696, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.1177301, 'mtime': 1759417935.9807308, 'ctime': 1759417936.1207302, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-controller-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 177, 'inode': 8683854, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.5327282, 'mtime': 1759417936.3987288, 'ctime': 1759417936.5357282, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-secret-crc-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 170, 'inode': 21000904, 'dev': 64513, 'nlink': 1, 'atime': 1759417936.9447262, 'mtime': 1759417936.810727, 'ctime': 1759417936.9467263, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-compute-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 416, 'inode': 33571741, 'dev': 64513, 'nlink': 1, 'atime': 1759417937.4697237, 'mtime': 1759417937.3357244, 'ctime': 1759417937.4727237, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-compute-1.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 416, 'inode': 46183511, 'dev': 64513, 'nlink': 1, 'atime': 1759417937.8947217, 'mtime': 1759417937.7597225, 'ctime': 1759417937.8977218, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-controller-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 425, 'inode': 58747873, 'dev': 64513, 'nlink': 1, 'atime': 1759417938.3187199, 'mtime': 1759417938.1827204, 'ctime': 1759417938.32172, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) changed: [instance] => (item={'path': '/home/zuul/ci-framework-data/artifacts/deploy_bmh/bmh-crc-0.yml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 404, 'inode': 71340806, 'dev': 64513, 'nlink': 1, 'atime': 1759417938.735718, 'mtime': 1759417938.6037185, 'ctime': 1759417938.7377179, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) PLAY RECAP ********************************************************************* instance : ok=3 changed=1 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 Thursday 02 October 2025 15:12:21 +0000 (0:00:01.518) 0:00:02.699 ****** =============================================================================== deploy_bmh : Delete CR files -------------------------------------------- 1.52s Gathering Facts --------------------------------------------------------- 0.77s deploy_bmh : Get the BM manifests --------------------------------------- 0.30s deploy_bmh : Removing resources if deployed ----------------------------- 0.06s Include deploy_bmh role ------------------------------------------------- 0.02s