- Enforce Google-style docstrings in pre-commit hooks:
- Add pydocstyle, pydoclint, and interrogate to Pipenv and pre-commit
- Configure pydocstyle for PEP 257 and Google-style compliance
- Set pydoclint to enforce function signature correctness
- Ensure 100% function and class docstring coverage with interrogate:
- There are some exceptions, e.g. init, module-level.
- More exceptions can be added if the tooling is found to be too
strict.
- Refine Black hook ordering to ensure all hooks run on formatted files:
- Fail commit if formatting is needed (--check)
- Auto-format files in a separate step
- Prevent bypassing docstring checks by staging unformatted files
- Ensure return type consistency (DOC203 best practices):
- Require both return type hints (-> type) and docstring return types
- Explain rationale for requiring both:
- Type hints help with static analysis and runtime type checking
- Docstring return types improve readability and documentation clarity
- Pre-commit hooks validate consistency across both formats
- Update pre-commit hooks to explicitly check for this requirement
- Restructure pre-commit and linting configuration:
- Move .pydocstyle.ini, .flake8, and pyproject.toml to the root
- Update pre-commit hooks to reference these configs in the new structure
- Modify tox.ini to prevent packaging errors and improve workflow:
- Add `skipsdist = True` to disable setuptools packaging
- Set `usedevelop = False` to prevent unintended package installation
- Ensure `tox` only runs documentation and linting tasks
- Aligns with StarlingX repository standards and prevents conflicts
- Retain the pre-commit/ directory for potential future hooks
- Update documentation and improve contributor guidance:
- Add CONTRIBUTING.rst with detailed contribution guidelines
- Create contributors.rst in doc/source for Sphinx-rendered docs
- Link contributors.rst in index.rst for visibility in generated docs
- Ensure contributing.rst references the latest CONTRIBUTING.rst
- Document VSCode and PyCharm auto-doc settings in CONTRIBUTING.rst
This commit ensures consistent docstring enforcement, improves
pre-commit integration, aligns with best practices, and enhances
contributor documentation.
Change-Id: Iba282c20502adb81a7739ec6c3ed8b6f3bc45077
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>
Introduced a basic documentation skeleton that mirrors the
flat directory structure of starlingx/test, providing a
foundation for future documentation expansion.
Structured documentation layout based on starlingx/test
directories:
- Created placeholder index.rst files for:
- config/
- framework/
- keywords/
- resources/
- scripts/
- testcases/
- unit_tests/
- web_pages/
- Ensured modular navigation through toctree references
Repository overview & navigation improvements:
- Added directory_structure.rst to document the current
repository layout
- Updated index.rst to provide a central entry point for
navigating documentation
- Ensured logical linking between sections for future
expansion
Initial content in resources/:
- Unlike other sections, resources/ contains actual
documentation beyond a placeholder
- Added resources_overview.rst, covering containerized
applications, test images, and nightly regression configs
Verified with Sphinx live preview (sphinx-autobuild).
No API documentation yet, just a basic high-level skeleton
for the repository's directories.
Change-Id: I5f21199280c4c472cd812021bf0f9c3fa6f5c967
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>
- Added documentation dependencies to Pipfile:
- Ensures local development environments have access to doc tools for
live previews using sphinx-autobuild.
- Aligns Pipfile with the dependencies required for documentation
builds.
- Avoids relying solely on doc/requirements.txt for managing doc tools.
- Retained doc/requirements.txt for compatibility with Zuul:
- Matches the current state of doc tools in Pipfile.
- Ensures consistency in CI/CD environments where Pipenv is not
always used.
- Provides a stable reference for tox-based execution.
- Referenced OpenStack constraints file to ensure compatibility:
- Ensures that documentation dependencies align with the versions
used in OpenStack CI environments.
- Prevents conflicts between local Pipfile versions and the versions
enforced by OpenStack's upper-constraints.txt.
- Helps maintain stability when running tests and builds in Zuul.
- Explicitly set verify_ssl = true in Pipfile:
- Reinforces SSL verification as a best practice for secure package
installations.
- This setting is already the default in Pipenv, but making it
explicit prevents unintended overrides from environment variables,
global pip configs, or Pipfile.lock changes.
- Ensures consistency across various environments, including CI/CD
pipelines and corporate networks.
- Avoids potential security risks from insecure package sources.
Change-Id: I7144110968395b024cd3962750fc680131de1e5d
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>
This commit resolves the Zuul/tox failures encountered when running
sphinx to generate documentation, which in turn prevents merging
changes that are otherwise fine:
The issue is related to a Sphinx update that requires the language
parameter to be specified:
https://github.com/sphinx-doc/sphinx/issues/10062https://github.com/sphinx-doc/sphinx/issues/10474
Partial-Bug: 1976377
Partial-Bug: 2033431
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: Ifa3d4638955ddd2ff9f2acd9225657c16958a03a
flake8 2.6.2 failed on ubuntu-focal zuul machines running python3.8
with the following error:
AttributeError: 'FlakesChecker' object has no attribute 'CONSTANT'
pylint failed with following error:
ERROR: InvocationError for command /home/zuul/src/opendev.org/starlingx/test/.tox/pylint/bin/pylint
--rcfile=pylint.rc automated-p
upgrade openstackdocstheme to 2.2.1 and update sphinx version
fix releasenotes to use python3
Change-Id: Ie5e11b44a3ff9695a6ec44eaf4a53baababc27ac
Signed-off-by: Yvonne Ding <yvonne.ding@windriver.com>
The filesystem /opt/patch-vault is renamed to /opt/dc-vault so that
it can be re-used to store FPGA images and software loads. Thus,
necessary changes have been made in the manual tests.
Change-Id: I095a9c90afef8af5a64d7025745a15b136a56a2f
Story: 2006740
Task: 39550
Depends-On: https://review.opendev.org/#/c/723007/
Signed-off-by: Jessica Castelino <jessica.castelino@windriver.com>
The storyboard and gerrit doc link are error, and git library
redirect to the correct one, this change is to correct all them.
Change-Id: I6da42e14acd8087a1e63d1bcc552949f73439b82
Partial-Bug: #1835207
Signed-off-by: junboli <junbo85.li@gmail.com>
Updating test steps for ansible-playbook command in order to validate localhost.yml malformed format.
Change-Id: Ibb20a2c10b23a3e02504bb20c665e33e2a33bdbd
System inventory tests verify hardware and node configurations/discovery.
Removing trailing spaces
Changing 'compute' to 'workers'. Adding format to command lines.
Adjusting bulleted sub-lists. Fixing typos. Removing "change the size of the image storage pool on ceph" as it already exists on the storage test plan.
Change-Id: I88fba446c5dc8c880cc19274ccccd498a81756ad
Signed-off-by: Ada Cabrales <ada.cabrales@intel.com>
domain test cases for stx.2019.05 release
story board task 29557 29558 and 29561 are to create
regression testplan for High availability fault management and SNMP.
Change-Id: I4e37e74c684f1db3b49191d1cac19413dd078cb6
Change-Id: Ia9c6b1060f3604583b244a13689bd8c97f7fa930
Distributed_cloud Regression test plan for stx.2019.05 release.
Change-Id: I6ed8e68e258d924da6b3ab1bf901db114a7d542e
Signed-off-by: Peng Peng <peng.peng@windriver.com>
Installation and Configuration Regression test plan for stx.2019.05 release.
Change-Id: I354c75ab5db573a681ee229b3858329e6b2e40d0
Signed-off-by: Peng Peng <peng.peng@windriver.com>
Test Cases:
- Logs from gnocchi api.log reports listening (address and port in gnocchi-api.conf)
- gnocchi_resources.yaml and resource metrics changes for 'instance'
- gnocchi cli command - get metric list
- gnocchi cli command - metric show (openstack metric show) - pre and post swact gnocchi cli command - get gnocchi status (for backlog)
- Attempt list metrics and show measures from standby controller
- Metrics for Instance - get metrics for a single instance (capturing vcpu, ram, boot time and cpu related measures)
- Metric archive policies - archive policy default, create, list, show, delete in gnocchi
- Configuration - Default archive policy rules list, create, delete in gnocchi (low, all metrics)
- Get openstack metric list and measures show on lab configured with https
- Ceilometer no longer in system service-parameter-list or service-parameter-modify operations
- Metrics for compute.node - get metrics for cpu related nova_compute resource
- Gnocchi user listed as protected service in keystone
- Logs from gnocchi metric server version in metricd.log and status on measurements waiting to be processed
- Logs from postgres.log and gnocchi events
Change-Id: I1253690d45b7f4e27ffc920f3b9e569d43053d3b
The goal for this patch is to start including all the regression test cases
that contains basic operations for networking domain. These test cases can
show the networking health in our systems. The test scope was considering any
possible scenario where it should contain the operations across the time.
Making this subdomain easy to understand and highly valuable for future exe-
cutions.
Change-Id: I9597347f4f7f9f9ce2f61be271d73cfaea49adc4
With this patch the intention is to start working on Attach Detach subdomain,
this patch includes 3 basic test cases in oder to verify the behavior for
each time that we perform a attach / detach operation on different sceranrios,
this includes different drivers and making enphasis on phisicall interfaces or
virtual environments. Mainly we are just deatacching from existing port in
order to keep the steps in a straight forward way.
Change-Id: I3b307385b9d3cdba0519d74c63961f50fb3f53c1
This patch contains the basic tests that we need in order to verify that our
StarlingX environment contains those DPDK/OVS versions that we want to work
with. First step in order to keep our environment should be to review our
desired packages. We are going to include more test cases related to this in
the future.
Change-Id: I9cafedc0ee27be61a152fd07549aa53e70aaf5a3
This patch includes the first DNS test. The objective for this test is to
evaluate and demostrate how does the DNS service is going to affect our
communication with VM's. Following the logic, we can not reach any VM through
their name if the DNS services is not enabled. This first test is for AIO.
Change-Id: I38c5c0e53f1e80ae4c6506d39fd21163ebde9e05
Signed-off-by: Abraham Arce <abraham.arce.moreno@intel.com>
With this patch, we are starting to upload LLDP test cases, the objective for
these test is to prove the LLDP agent functionallity. This agent is going to
show node properties according with the project needs, such as , interfaces,
OS and go on. Good number of the test cases still on development. We will
complement this domain with the rest of the test cases as soon as possible.
Change-Id: Ifa7cfadcd7daffe3fa15b0fb48520dcb75089a59
This patch includes 3 main test cases that can asure the DNAT functionallity.
Those test cases are designed in order to verify that our existing VM keeps
alive and reachable after normal system operations such as lock/unlock. Every
tests is checking and creating port forwarding rules and the behavior after
those mentioned operations.
Change-Id: I352190b6b95e4e694fe80e5abd2122f46284f81f
Backup and Restore Test Plan for stx.2019.05 relese
Change-Id: I6b90abdb1338964b31a397bc8c71fd20f4619c5d
Signed-off-by: marvinhuang <marvin.huang@windriver.com>
Signed-off-by: Abraham Arce <abraham.arce.moreno@intel.com>
Maintanance regression Test Plan for stx.2019.05 release.
Change-Id: I20c4995b1c021627b17a2c8b1ea1d963d14d5902
Signed-off-by: Abraham Arce <abraham.arce.moreno@intel.com>