{"id":21357719,"url":"https://github.com/rcbops/rpc-openstack-system-tests","last_synced_at":"2025-09-14T23:07:54.024Z","repository":{"id":142014485,"uuid":"122544590","full_name":"rcbops/rpc-openstack-system-tests","owner":"rcbops","description":null,"archived":false,"fork":false,"pushed_at":"2019-02-27T17:02:01.000Z","size":538,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":48,"default_branch":"dev","last_synced_at":"2025-07-13T00:42:51.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcbops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-22T22:47:35.000Z","updated_at":"2019-02-27T17:02:01.000Z","dependencies_parsed_at":"2023-07-07T07:32:36.511Z","dependency_job_id":null,"html_url":"https://github.com/rcbops/rpc-openstack-system-tests","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rcbops/rpc-openstack-system-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack-system-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack-system-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack-system-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack-system-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcbops","download_url":"https://codeload.github.com/rcbops/rpc-openstack-system-tests/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack-system-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275180222,"owners_count":25419066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T05:10:56.828Z","updated_at":"2025-09-14T23:07:54.016Z","avatar_url":"https://github.com/rcbops.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"System Tests for Rackspace Private Cloud - OpenStack\n====================================================\n\nThe rcp-openstack-system-tests repository contains virtualenv requirements and\nconstraints for installing the\n[molecule framework](https://molecule.readthedocs.io/en/latest/)\nfor deploying system state via [ansible](https://www.ansible.com/)\nand validating that state using the\n[infratest](https://testinfra.readthedocs.io/en/latest/) test framework on the\nDeployment Host.\n\nTests are gathered as git submodules under the `molecules` directory. Molecule\nshould be run against each of the submodules in turn.\n\nThis repository is meant to be run on the Deployment Host.\n\nGather Submodules\n-----------------\nSince the molecule tests are included as git submodules, they must be\ninitialized and updated in order to be accessible to the molecule test runner.\nUtilize the provided `make` target to initialize and update git submodules.\n```\nmake gather-submodules\n```\n\nAdding Submodules\n-----------------\nThe submodules for the tests should have branches that mirror the release\nbranches for this repository (and the rpc-openstack repository). The\nsubmodules should be set to track the appropriate matching branch. For\nexample, all submodules in the _pike_ branch of this repo should be set to\ntrack the _pike_ branch of their remote origin.\n\nWhen adding a new submodule, the branch tracking will need to be performed for\neach of the release branches.\n\nAdd new submodule in _master_ branch and set it to track _master_ branch for its\nremote origin.\n```\ngit submodule add -b master [URL to Git repo] molecules/[name of Git repo]\ngit submodule init\n```\n\nAfter this has been committed to the _master_ branch, for each release branch,\nthe commit associated with the submodule addition should be rebased or\ncherry-picked to the release branch and the tracking configuration for each\nsubmodule should be changed to reflect the release branch. The following\ncommand can be used to achieve this.\n```\ngit config -f .gitmodules submodule.\u003cpath\u003e.branch \u003cbranch\u003e\n```\n\nExecute Molecule Tests via Script\n---------------------------------\nThe bash script `execute_tests.sh` has been provided to assist in executing the Molecule test suites\nincluded as git submodules. (Assumes that git submodules have been initialized and recursively updated)\n\nBy default the `execute_tests.sh` script assumes that execution was triggered within a CI environment.\nIn order to execute Molecule tests in a developer MNAIO test environment on Phobos the `-p` CLI option\nmust be specified.\n\nExample:\n```\n$ ./execute_tests.sh -p\n```\n\nExecute a single Molecule test suite by supplying a Molecule path to the `-m` flag:\n```\n$ ./execute_tests.sh -p -m molecules/molecule-rpc-openstack-post-deploy\n```\n\nSkip execution of the Molecule converge stage by supplying the `--sc` flag:\n```\n$ ./execute_tests.sh -p --sc\n```\n\nSkip execution of the Molecule verify stage by supplying the `--sv` flag:\n```\n$ ./execute_tests.sh -p --sv\n```\n\nVirtualenv Deployment\n---------------------\n\nThe creation of the python virtualenv is handled as part of the\n`execute_tests.sh` script. However, it can be quite convenient to create a\nPython virtual environment with Molecule prerequisites installed for a\nready-to-go development environment.\n\nExample:\n```\n$ ./execute_tests.sh --sc --sv\n```\n\nThe `--sc` `--sv` flags skip the converge stage and verify stage, thus only\ncreating the Python virtual environment in the directory `venv-molecule`.\n\nLint submodules for test_id conflicts\n-------------------------------------\nThe simplest way to ensure that we don't introduce duplicate `test_id` mark values\nis to lint the repository with `flake8`.  For convenience this has been configured to\nrun with the `tox` tool.  Below is an example of running `tox` and encountering a\nduplicated `test_id`.\n```\n(rpc-openstack-system-tests) MVW10EG8WL:rpc-openstack-system-tests zach2872$ tox\nflake8 installed: configparser==3.5.0,enum34==1.1.6,flake8==3.5.0,flake8-pytest-mark==0.5.0,mccabe==0.6.1,pycodestyle==2.3.1,pyflakes==1.6.0\nflake8 runtests: PYTHONHASHSEED='1589229466'\nflake8 runtests: commands[0] | flake8 --isolated --jobs=1 --select=M --pytest-mark1=name=test_id,enforce_unique_value=true,value_match=uuid\n./molecules/molecule-validate-glance-deploy/molecule/default/tests/test_scan_images_and_flavors.py:36:1: M301 @pytest.mark.test_id value is not unique! The '3d77bc35-7a21-11e8-90d1-6a00035510c0' mark value already specified for the 'test_volume_attached' test at line '64' found in the './molecules/molecule-rpc-openstack-post-deploy/molecule/default/tests/test_write_to_attached_storage.py' file!\nERROR: InvocationError for command '/Users/zach2872/repos/rpc-openstack-system-tests/.tox/flake8/bin/flake8 --isolated --jobs=1 --select=M --pytest-mark1=name=test_id,enforce_unique_value=true,value_match=uuid' (exited with code 1)\n_________________________________________________________________________________________________ summary __________________________________________________________________________________________________\nERROR:   flake8: commands failed\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-openstack-system-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcbops%2Frpc-openstack-system-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-openstack-system-tests/lists"}