The entrypoint script for the Armada Docker container attempts to create
a nested, temporary directory when one is not provided through an
environment variable. This is fine when deploying Armada via a Helm
chart, as a writable volume mount exists; however, the directory
/tmp/armada/metrics does not exist when running as a standalone
container. This commit changes the entrypoint script to use a flat,
temporary directory to avoid requiring a user to mount a temporary
volume.
Change-Id: I26857908fa90c64c98038d508263a5094b06668a
Signed-off-by: Drew Walters <andrew.walters@att.com>
This implements Prometheus metric integration, including metric
definition, collection, and exportation.
End user documentation for supported metric data and exportation
interface is included.
Change-Id: Ia0837f28073d6cd8e0220ac84cdd261b32704ae4
While authoring [0], a shell check utility revealed potentially
dangerous usage of quoting in the API entrypoint script. This commit
fixes the quoting to avoid unintentional shell globbing/splitting.
[0] https://review.openstack.org/#/c/609096/
Depends-On: https://review.openstack.org/#/c/609096/
Change-Id: I92877c5c83ea970d5c261e4a9b6a15c58ffc07e5
The Armada API relies on an environment variable, `ARMADA_API_PORT`,
to start uWSGI with the desired port; however, it conflicts with an
environment variable already in use. This causes the `entrypoint.sh`
script to use the wrong port value for uWSGI when using user-specified
`armada_api` values through Helm (i.e. the port is already set and the
`entrypoint.sh` script does not fallback on its default value). This
commit adds missing uWSGI configuration values to the Armada chart
values and changes their names to avoid potential conflicts.
Change-Id: I00ae3431e36593956705dcdb887025d688d804df
ARMADA-29: CI/CD Armada Testing Framework Entrypoints defined
It does not appear the the docker run command to call tox tests/unit
is necessary. The Makefile already includes several testing checks.
Added a few additional targets as specified in the upc-integration
code-convenstions to satisfy the clcp Makefile standards.
Change-Id: Ia920a856ed6d607fcf38d5f85dbb9a0c8aae4fa6
Adds the lazy-apps switch to remove some preloading behavior
Removes some undesired header logging.
Change-Id: I5177833e3184e9ab9d6469a2f5bcd8ee673870de
This PS adds validation logic recently implemented in
armada.utils.validate [0] for validating documents and
Armada-generated Manifests to the Test and Tests controller classes.
Also refactors some exception handling for both controller classes to
better bubble up the appropriate exception.
Finally unit tests have been added for the Armada Test controller
to verify above changes work.
[0] https://review.gerrithub.io/#/c/378700/
Change-Id: I01f73c1778bf7c2e38032d5fddabd327c013edbb
For the deployment of armada, the entrypoint.sh needs to have
the exposed uwsgi port matching the deployment of the api pod.
This change sets the value in the pod.env.armada_api seciton
so that the environment variable is set up by the chart rather
than relying upon the default value set in the entrypoint.sh
script.
Change-Id: I7535abac7c252f5c65447476e02f8eb54647e966
- using click framework
- added api client
- allow interactions between code and service endpoints
- documention on the command line
- updated gitignore
Change-Id: Ibe359025f5b35606d876c29fa88e04048f276cc8
Layer cnosolidate & remove unnecessary build packages
Shrinks image from 865MB to 370MB
Exec gunicorn in entrypoint so <ctrl> c works properly
Run as unpriviledged user instead of root