Daian Cardoso Sganderlla 69e5e88486 Add FluxCD version of the rook-ceph app
Add new manifest files to rook-ceph enabling FluxCD support.

The spec file will generate a .deb file with the sources
needed to install rook-ceph with FluxCD

The FluxCD archive will contain the following:
.
├── charts
│   ├── rook-ceph-0.1.0.tgz
│   ├── rook-ceph-provisioner-0.1.0.tgz
│   └── rook-operator-0.1.0.tgz
├── checksum.md5
└── fluxcd-manifests
    ├── base
    │   ├── helmrepository.yaml
    │   ├── kustomization.yaml
    │   └── namespace.yaml
    ├── kustomization.yaml
    ├── rook-ceph
    │   ├── helmrelease.yaml
    │   ├── kustomization.yaml
    │   ├── rook-ceph-static-overrides.yaml
    │   └── rook-ceph-system-overrides.yaml
    ├── rook-operator
    │   ├── helmrelease.yaml
    │   ├── kustomization.yaml
    │   ├── rook-operator-static-overrides.yaml
    │   └── rook-operator-system-overrides.yaml
    └── rook-ceph-provisioner
        ├── helmrelease.yaml
        ├── kustomization.yaml
        ├── rook-ceph-provisioner-static-overrides.yaml
        └── rook-ceph-provisioner-system-overrides.yaml

Test Plan:
PASS: AIO-SX - rook-ceph app files uploaded
PASS: AIO-SX - application applied using FluxCD
PASS: AIO-SX - application removed using
      system application-remove

Story: 2009138
Task: 45404

Depends-On: https://review.opendev.org/c/starlingx/rook-ceph/+/846438

Signed-off-by: Daian Cardoso Sganderlla <Daian.CardosoSganderlla@windriver.com>
Change-Id: Ieaa5a3da6625437722ea6e72e3b5b8f785bfbdab
2023-03-06 13:39:11 +00:00

146 lines
3.9 KiB
INI

[tox]
envlist = flake8,py27,py36,py39,pylint,bandit
minversion = 1.6
# skipsdist = True
#,pip-missing-reqs
# tox does not work if the path to the workdir is too long, so move it to /tmp
toxworkdir = /tmp/{env:USER}_k8srooktox
stxdir = {toxinidir}/../../..
distshare={toxworkdir}/.tox/distshare
[testenv]
# enabling usedevelop results in py27 develop-inst:
# Exception: Versioning for this project requires either an sdist tarball,
# or access to an upstream git repository.
# Note. site-packages is true and rpm-python must be yum installed on your dev machine.
usedevelop = True
basepython = python3
sitepackages = True
# tox is silly... these need to be separated by a newline....
allowlist_externals = bash
find
install_command = pip install \
-v -v -v \
-c{toxinidir}/upper-constraints.txt \
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/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_rook/tests
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
SYSINV_TEST_ENV=True
TOX_WORK_DIR={toxworkdir}
PYLINTHOME={toxworkdir}
# for debian the path to cgcs-patch is incorrect
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/cgcs-patch/cgcs-patch
commands =
find . -type f -name "*.pyc" -delete
[flake8]
exclude = build,dist,tools,.eggs
max-line-length=120
# H series are hacking
# H104 file contains only comments (ie: license)
# H401 docstring should not start with a space
ignore = H104,H401
[testenv:flake8]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands =
flake8 {posargs} .
[testenv:py27]
basepython = python2.7
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:py36]
basepython = python3.6
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:py39]
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}
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:pep8]
# testenv:flake8 clone
basepython = {[testenv:flake8]basepython}
deps = {[testenv:flake8]deps}
commands = {[testenv:flake8]commands}
[testenv:venv]
commands = {posargs}
[bandit]
exclude = tests
[testenv:bandit]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands = bandit --ini tox.ini -n 5 -r k8sapp_rook
[testenv:pylint]
basepython = python3
sitepackages = False
deps = {[testenv]deps}
commands =
pylint {posargs} k8sapp_rook --rcfile=./pylint.rc
[testenv:cover]
basepython = python2.7
deps = {[testenv]deps}
setenv = {[testenv]setenv}
PYTHON=coverage run --parallel-mode
commands =
{[testenv]commands}
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[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_rook/tests k8sapp_rook