Commit Graph

11 Commits

Author SHA1 Message Date
Sergiy Markin 37ba567da5 Airflow stable 2.6.2
This PS updates python modules and code to match Airflow 2.6.2:

- bionic py36 gates  were removed
- python code corrected to match new modules versions
- selection of python modules versions was perfrmed based on
  airflow-2.6.2 constraints
- airskiff deploy pipeline was aligned with latest in treasuremap v1.9
- postgresql image updated to 14.8

Change-Id: I65a1b86473ee3e988aae353b59fb5473d75851f9
2023-08-29 17:09:37 +00:00
Ahmad Mahmoudi 0545625da9 Scaling deckhand uwsgi workers
Updated obsolete uwsgi default configuration parameters for better
performance.
Increased number of worker threads to increase performance.
Uplifted uwsgi to the latest for bug fixes since 2018.

For more info please see:
https://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html

Change-Id: Ifedb9c6279e64be86deb6ec375810c5ecf97958a
2020-08-05 22:05:57 +00:00
Felipe Monteiro 35f15ee601 [fix] Drop deckhand.conf from default DECKHAND_CONF_DIR path
This drops deckhand.conf from default DECKHAND_CONF_DIR path so
that:

exec uwsgi \
    ...
    --pyargv "--config-file ${DECKHAND_CONFIG_DIR}/deckhand.conf" \
    ...

Doesn't append deckhand.conf again, resulting in a broken path like:
/etc/deckhand/deckhand.conf/deckhand.conf

Change-Id: I1c9d5ad283fed7158ba70b84b5b4afb27a3ab5d9
2018-04-07 00:20:47 -04:00
Bryan Strassner 5f1fbbee3c [396582] Add alembic support to Deckhand
Updates Deckhand to use alembic to manage database upgrades.
Moves from creating tables at startup of Deckhand to the
db-sync job.

Change-Id: I6f4cb237fadc46fbee81d1c33096f48a720f589f
2018-04-06 23:30:16 -04:00
Bryan Strassner 4d642f849a [fix] Add uwsgi entrypoint options
Changes the entrypoint.sh options for uwsgi to include:
 -b 32768 : for larger header/url handling
 --die-on-term : for more 'normal'  handling of SIGTERM
 --lazy-apps : to delay init of python until after forking workers
 --master : to provide a master process for handling request dispatch

The purpose of these changes is intended to avoid some crash behavior
that is occuring when the process being forked has an open db connection.
The --lazy-apps option should delay initialization. The other options are
recommended by uwsgi documentation, specicially the --master option.
The larger buffer size is not strictly recommended, but matters when large
headers are included.

The die-on-term option should provide better behavior in the container
environment.

Related-Change: I60adeffff5461fdda957124232bc5a606baae413
Change-Id: I70510246576a8fb6aa216e7c9c7e97c1c9ab791c
2018-04-03 09:19:28 -04:00
Felipe Monteiro 5c9efa9d74 Enable multiple threads, disabled muliple workers
This sets multiple threads in Deckhand's chart config (4)
and set workers to just 1.

Deckhand's database is not configured to work with multiprocessing.
Currently there is a data race on acquiring shared SQLAlchemy
engine pooled connection strings when workers > 1. As a
workaround, we use multiple threads but only 1 worker. For more
information, see:

https://github.com/att-comdev/deckhand/issues/20

Change-Id: I60adeffff5461fdda957124232bc5a606baae413
2018-04-02 12:38:20 -04:00
Felipe Monteiro 37dae6df9f Fix: Inject secret payload rather than reference into document
This PS fixes Deckhand currently wrongly substituting the secret
reference Barbican returns into documents, rather than the secret
payload itself.

Closes #19

Change-Id: I1d4eed85ed336e83a777b4343f37b10c91038342
2018-02-26 10:17:50 -05:00
Mark Burnett 80b787eb08 Make the uWSGI http-timeout configurable
When testing Promenade integration, I found that it was taking more than
the default 60 second timeout to render documents.

Change-Id: Id0ee7ea30b901a60eb95df06a3d25ce4c8689a8a
2018-01-17 15:16:06 -06:00
Anthony Lin a4c287ed21 Update entrypoint.sh
Default should be 4 single-thread workers

Change-Id: Ifa3d0cbcb16e4018d98bcc8cf70e46d8c9255be0
2018-01-05 18:19:08 +00:00
Anthony Lin 2cbb29ead2 Enable Multi-Threads in DeckHand
We are seeing race conditions happening when both drydock and
armada try to retrieve rendered document from deckhand.

This p.s. is meant to prevent 'connection refused' kind of errors
from occuring in such situation.

Change-Id: I9ceca37a1d214fd1a4fe4719db829625289b8d95
2018-01-04 18:19:51 +00:00
Anthony Lin c99c180303 DeckHand Dockerfile
1) Add Dockerfile
2) Add entrypoint.sh
3) Add uwsgi in requirements.txt and remove it from
   tox.ini

Change-Id: Ie9086335b5e6403e5b1e46981db110894606b9d1
2017-09-14 16:50:06 +00:00