Hugo Brito 05b7684f3e Create app-distributed-cloud prototype
This commit introduces the prototype for the app-distributed-cloud

All dcmanager services are being containerized, and the app will
utilize Keystone, certmanager, and rabbitmq from the platform.

The prototype is in its initial phase, and DC functionalities/services
have not yet been thoroughly tested. In this first phase, the subcloud
add command is functional.

This commit includes the dcmanager and dc-vault helm charts, and a
a structure of dcorch, that will be added in a following commit.

Before testing the app, the platform must be configured. Refer to the
README file for details.

Test Plan:
PASS: Execute a subcloud add successfully.

Story: 2011312
Task: 51841

Change-Id: Ifa6dbbb39d5bdd48eedd06c732d24d26a48f6ae8
Co-Authored-By: Matt Peters <matt.peters@windriver.com>
Co-Authored-By: Enzo Candotti <enzo.candotti@windriver.com>
Co-Authored-By: Yuxing Jiang <yuxing.jiang@windriver.com>
Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
2025-03-25 15:08:11 -03:00

89 lines
2.5 KiB
INI

[tox]
envlist = flake8,py39,pylint,bandit
minversion = 2.9
skipsdist = True
# tox does not work if the path to the workdir is too long, so move it to /tmp
toxworkdir = /tmp/{env:USER}_k8sdistributedcloudtox
stxdir = {toxinidir}/../../..
distshare={toxworkdir}/.tox/distshare
[testenv]
allowlist_externals = bash
find
basepython = python3.9
sitepackages = False
install_command = pip install -v -v -v \
-c{toxinidir}/upper-constraints.txt \
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \
{opts} {packages}
# Note the hash seed is set to 0 until can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
PYTHONDONTWRITEBYTECODE=1
OS_TEST_PATH=./k8sapp_distributed_cloud/tests
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
SYSINV_TEST_ENV=True
TOX_WORK_DIR={toxworkdir}
PYLINTHOME={toxworkdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-e{[tox]stxdir}/config/sysinv/sysinv/sysinv
-e{[tox]stxdir}/config/tsconfig/tsconfig
-e{[tox]stxdir}/fault/fm-api/source
-e{[tox]stxdir}/fault/python-fmclient/fmclient
-e{[tox]stxdir}/utilities/ceph/python-cephclient/python-cephclient
-e{[tox]stxdir}/update/sw-patch/cgcs-patch
commands =
find . -type f -name "*.pyc" -delete
[flake8]
exclude = build,dist,tools,.eggs
max-line-length=80
[testenv:flake8]
deps = -r{toxinidir}/test-requirements.txt
commands =
flake8 {posargs} .
[testenv:py39]
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:pep8]
deps = {[testenv:flake8]deps}
commands = {[testenv:flake8]commands}
[testenv:venv]
commands = {posargs}
[bandit]
# Add bandit configuration here
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit --ini tox.ini -n 5 -r k8sapp_distributed_cloud
[testenv:pylint]
commands =
pylint {posargs} k8sapp_distributed_cloud --rcfile=./pylint.rc
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
-rrequirements.txt
commands=pip-missing-reqs -d --ignore-file=/k8sapp_distributed_cloud/tests k8sapp_distributed_cloud