[nova][ci] openstack-tox-docs job failing, hold your rechecks
Hey all, Just a heads up... The last several openstack-tox-docs job runs on the master branch have failed, both gate and check queues: https://zuul.opendev.org/t/openstack/builds?job_name=openstack-tox-docs&project=openstack%2Fnova&branch=master&skip=0 because of AFAICT the following warning which is treated as an error: 2024-08-28 19:24:04.604443 | ubuntu-jammy | /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/openstackdocstheme/page_context.py:70: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead. 2024-08-28 19:24:04.649996 | ubuntu-jammy | src_file = full_src_file[len(str(app.builder.env.srcdir)):].lstrip('/') The error looks like it's coming from Sphinx and I did find an upper-constraints bump of Sphinx happened earlier today: https://review.opendev.org/c/openstack/requirements/+/927358 The version was bumped from 7.4.6 to 8.0.2 -- which may possibly be related to the failures. I will look more into the failure but if anyone else knows how to fix this, please feel free to propose something. -melwitt
On 8/28/24 18:44, melanie witt wrote:
Hey all,
Just a heads up...
The last several openstack-tox-docs job runs on the master branch have failed, both gate and check queues:
because of AFAICT the following warning which is treated as an error:
2024-08-28 19:24:04.604443 | ubuntu-jammy | /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/openstackdocstheme/page_context.py:70: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead. 2024-08-28 19:24:04.649996 | ubuntu-jammy | src_file = full_src_file[len(str(app.builder.env.srcdir)):].lstrip('/')
The error looks like it's coming from Sphinx and I did find an upper-constraints bump of Sphinx happened earlier today:
https://review.opendev.org/c/openstack/requirements/+/927358
The version was bumped from 7.4.6 to 8.0.2 -- which may possibly be related to the failures.
I will look more into the failure but if anyone else knows how to fix this, please feel free to propose something.
OK, it turns out the RemovedInSphinx90Warning is not the cause of the job failure but rather this error: WARNING: Aborted attempted copy from /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/sphinx_feature_classification/support-matrix.css to /home/zuul/src/opendev.org/openstack/nova/doc/build/html/_static/support-matrix.css (the destination path has existing data). [misc.copy_overwrite] 2024-08-28 19:24:04.840629 | ubuntu-jammy | build finished with problems, 1 warning. I found that starting in Sphinx 8.0.0, it will no longer allow overwriting user-supplied data by default: https://github.com/sphinx-doc/sphinx/pull/12647 and will treat attempts as an error. There is a new 'force' keyword arg which can be used to override this. The error is emanating from the sphinx_feature_classification.support_matrix extension, so based on my local testing it must be fixed there. I have proposed a patch (which will need either a requirement for Sphinx>=8.0.0 or some other way to make sure force=True is only passed for Sphinx>=8.0.0): https://review.opendev.org/c/openstack/sphinx-feature-classification/+/92744... Because the problem is in this extension, fixing the CI this way would require a patch like this to be merged and a new release of sphinx-feature-classification. Given that feature freeze is today/tomorrow, I'm not sure this is the route we'll want to take vs rolling back the upper-constraints bump of Sphinx. -melwitt
Update: the gate blockage has been fixed by https://review.opendev.org/c/openstack/nova/+/927471 and it is safe to recheck now. On 8/28/24 20:03, melanie witt wrote:
On 8/28/24 18:44, melanie witt wrote:
Hey all,
Just a heads up...
The last several openstack-tox-docs job runs on the master branch have failed, both gate and check queues:
because of AFAICT the following warning which is treated as an error:
2024-08-28 19:24:04.604443 | ubuntu-jammy | /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/openstackdocstheme/page_context.py:70: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead. 2024-08-28 19:24:04.649996 | ubuntu-jammy | src_file = full_src_file[len(str(app.builder.env.srcdir)):].lstrip('/')
The error looks like it's coming from Sphinx and I did find an upper-constraints bump of Sphinx happened earlier today:
https://review.opendev.org/c/openstack/requirements/+/927358
The version was bumped from 7.4.6 to 8.0.2 -- which may possibly be related to the failures.
I will look more into the failure but if anyone else knows how to fix this, please feel free to propose something.
OK, it turns out the RemovedInSphinx90Warning is not the cause of the job failure but rather this error:
WARNING: Aborted attempted copy from /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/sphinx_feature_classification/support-matrix.css to /home/zuul/src/opendev.org/openstack/nova/doc/build/html/_static/support-matrix.css (the destination path has existing data). [misc.copy_overwrite] 2024-08-28 19:24:04.840629 | ubuntu-jammy | build finished with problems, 1 warning.
I found that starting in Sphinx 8.0.0, it will no longer allow overwriting user-supplied data by default:
https://github.com/sphinx-doc/sphinx/pull/12647
and will treat attempts as an error. There is a new 'force' keyword arg which can be used to override this.
The error is emanating from the sphinx_feature_classification.support_matrix extension, so based on my local testing it must be fixed there. I have proposed a patch (which will need either a requirement for Sphinx>=8.0.0 or some other way to make sure force=True is only passed for Sphinx>=8.0.0):
https://review.opendev.org/c/openstack/sphinx-feature-classification/+/92744...
Because the problem is in this extension, fixing the CI this way would require a patch like this to be merged and a new release of sphinx-feature-classification.
Given that feature freeze is today/tomorrow, I'm not sure this is the route we'll want to take vs rolling back the upper-constraints bump of Sphinx.
-melwitt
fyi I found that the same problem is hitting keystone CI, which I'm fixing by [1]. [1] https://review.opendev.org/c/openstack/keystone/+/927682 Quick search does not show similar files in any other repos so I expect this does not affect too many repos but it'd be better to pay attention to doc jobs for the other repos, too. Note that we might want to add the path to .gitignore so that the file is not added but accidentally, which I've proposed in the follow-up[2]. [2] https://review.opendev.org/c/openstack/nova/+/927659 On 8/30/24 00:10, melanie witt wrote:
Update: the gate blockage has been fixed by https://review.opendev.org/c/openstack/nova/+/927471 and it is safe to recheck now.
On 8/28/24 20:03, melanie witt wrote:
On 8/28/24 18:44, melanie witt wrote:
Hey all,
Just a heads up...
The last several openstack-tox-docs job runs on the master branch have failed, both gate and check queues:
because of AFAICT the following warning which is treated as an error:
2024-08-28 19:24:04.604443 | ubuntu-jammy | /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/openstackdocstheme/page_context.py:70: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead. 2024-08-28 19:24:04.649996 | ubuntu-jammy | src_file = full_src_file[len(str(app.builder.env.srcdir)):].lstrip('/')
The error looks like it's coming from Sphinx and I did find an upper-constraints bump of Sphinx happened earlier today:
https://review.opendev.org/c/openstack/requirements/+/927358
The version was bumped from 7.4.6 to 8.0.2 -- which may possibly be related to the failures.
I will look more into the failure but if anyone else knows how to fix this, please feel free to propose something.
OK, it turns out the RemovedInSphinx90Warning is not the cause of the job failure but rather this error:
WARNING: Aborted attempted copy from /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/sphinx_feature_classification/support-matrix.css to /home/zuul/src/opendev.org/openstack/nova/doc/build/html/_static/support-matrix.css (the destination path has existing data). [misc.copy_overwrite] 2024-08-28 19:24:04.840629 | ubuntu-jammy | build finished with problems, 1 warning.
I found that starting in Sphinx 8.0.0, it will no longer allow overwriting user-supplied data by default:
https://github.com/sphinx-doc/sphinx/pull/12647
and will treat attempts as an error. There is a new 'force' keyword arg which can be used to override this.
The error is emanating from the sphinx_feature_classification.support_matrix extension, so based on my local testing it must be fixed there. I have proposed a patch (which will need either a requirement for Sphinx>=8.0.0 or some other way to make sure force=True is only passed for Sphinx>=8.0.0):
https://review.opendev.org/c/openstack/sphinx-feature-classification/+/92744...
Because the problem is in this extension, fixing the CI this way would require a patch like this to be merged and a new release of sphinx-feature-classification.
Given that feature freeze is today/tomorrow, I'm not sure this is the route we'll want to take vs rolling back the upper-constraints bump of Sphinx.
-melwitt
participants (2)
-
melanie witt
-
Takashi Kajinami