Airflow stable 2.6.2

This PS updates python modules and code to match Airflow 2.6.2

Change-Id: Ife88e53ce0dd8dc77bf267de1f5e6b8361ca76fd
This commit is contained in:
Sergiy Markin 2023-07-01 06:42:55 +00:00
parent 7ea83c25ef
commit bfdf8054c7
20 changed files with 356 additions and 677 deletions

View File

@ -14,36 +14,30 @@
templates:
- docs-on-readthedocs
- openstack-python38-jobs
- openstack-python36-jobs
vars:
rtd_webhook_id: '38576'
rtd_project_name: 'airship-shipyard'
ensure_global_symlinks: true
check:
jobs:
- openstack-tox-pep8
- airship-shipyard-openstack-tox-pep8-focal
- airship-shipyard-openstack-tox-cover-focal
- airship-shipyard-chart-build-gate
- airship-shipyard-chart-build-latest-htk
- airship-shipyard-whitespace-lint-gate
- airship-shipyard-airskiff-deployment-bionic
- airship-shipyard-airskiff-deployment-focal
- airship-shipyard-image-gate-ubuntu_focal
- airship-shipyard-image-gate-ubuntu_bionic
gate:
jobs:
- openstack-tox-pep8
- airship-shipyard-openstack-tox-pep8-focal
- airship-shipyard-openstack-tox-cover-focal
- airship-shipyard-chart-build-gate
- airship-shipyard-whitespace-lint-gate
- airship-shipyard-airskiff-deployment-bionic
- airship-shipyard-airskiff-deployment-focal
- airship-shipyard-image-gate-ubuntu_focal
- airship-shipyard-image-gate-ubuntu_bionic
post:
jobs:
- airship-shipyard-docker-build-publish-ubuntu_focal
- airship-shipyard-docker-build-publish-ubuntu_bionic
- shipyard-upload-git-mirror
- nodeset:
@ -58,6 +52,12 @@
- name: primary
label: ubuntu-focal
- job:
name: airship-shipyard-openstack-tox-pep8-focal
parent: openstack-tox-pep8
description: Runs pep8 job on focal
nodeset: airship-shipyard-single-node-focal
- job:
name: airship-shipyard-openstack-tox-cover-focal
@ -116,19 +116,6 @@
dynamic:
patch_set: true
- job:
name: airship-shipyard-image-gate-ubuntu_bionic
description: |
Run shipyard-image build for ubuntu_bionic
parent: airship-shipyard-image-base
irrelevant-files: *irrelevant-files
vars:
publish: false
distro: ubuntu_bionic
tags:
dynamic:
patch_set: true
- job:
name: airship-shipyard-airskiff-deployment-focal
nodeset: airship-shipyard-single-node-focal
@ -149,30 +136,10 @@
SHIPYARD_IMAGE_DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files
- job:
name: airship-shipyard-airskiff-deployment-bionic
nodeset: airship-shipyard-single-node-focal
description: |
Deploy Memcached using Airskiff and submitted Armada changes.
timeout: 9600
voting: true
pre-run:
- tools/gate/playbooks/airskiff-reduce-site.yaml
- tools/gate/playbooks/git-config.yaml
run: tools/gate/playbooks/airskiff-deploy.yaml
post-run: tools/gate/playbooks/debug-report.yaml
required-projects:
- airship/treasuremap
vars:
CLONE_SHIPYARD: false
HTK_COMMIT: master
SHIPYARD_IMAGE_DISTRO: ubuntu_bionic
irrelevant-files: *irrelevant-files
- job:
name: airship-shipyard-docker-build-publish-ubuntu_focal
timeout: 1800
timeout: 3600
run: tools/gate/playbooks/run-image.yaml
nodeset: airship-shipyard-single-node-focal
irrelevant-files: *irrelevant-files
@ -188,23 +155,6 @@
static:
- latest
- job:
name: airship-shipyard-docker-build-publish-ubuntu_bionic
timeout: 1800
run: tools/gate/playbooks/run-image.yaml
nodeset: airship-shipyard-single-node-focal
irrelevant-files: *irrelevant-files
secrets:
- airship_shipyard_quay_creds
vars:
publish: true
distro: ubuntu_bionic
tags:
dynamic:
branch: true
commit: true
static:
- latest
- secret:

View File

@ -19,4 +19,4 @@ limitations under the License.
set -ex
airflow initdb
airflow db init

View File

@ -495,7 +495,6 @@ conf:
# possible without more aggressive techniques
#
log_format: "%%(asctime)s %%(levelname)-8s %%(filename)s:%%(lineno)3d:%%(funcName)s %%(module)s %%(message)s"
simple_log_format: "%%(asctime)s %%(levelname)s - %%(message)s"
log_filename_template: "{{ ti.dag_id }}/{{ ti.task_id }}/{{ execution_date.strftime('%%Y-%%m-%%dT%%H:%%M:%%S') }}/{{ try_number }}.log"
log_processor_filename_template: "{{ filename }}.log"
dag_processor_manager_log_location: /usr/local/airflow/logs/dag_processor_manager/dag_processor_manager.log

View File

@ -32,6 +32,8 @@ ENV WEB_PORT 8080
ENV FLOWER_PORT 5555
ENV WORKER_PORT 8793
ENV SLUGIFY_USES_TEXT_UNIDECODE yes
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
ENV PYTHONWARNINGS="ignore::FutureWarning"
# Expose port for applications
EXPOSE $WEB_PORT
@ -43,12 +45,12 @@ ARG AIRFLOW_HOME=/usr/local/airflow
# Moved celery to images/airflow/requirements.txt as apache-airflow uses a
# version of celery incompatibile with the version of kombu needed by other
# Airship components
ARG AIRFLOW_SRC="apache-airflow[crypto,postgres,hive,hdfs,jdbc]==1.10.5"
ARG AIRFLOW_SRC="apache-airflow[crypto,celery,hive,hdfs,jdbc,postgres]==2.6.2"
ARG DEBIAN_FRONTEND=noninteractive
ARG ctx_base=src/bin
# Kubectl version
ARG KUBECTL_VERSION=1.26.3
ARG KUBECTL_VERSION=1.27.1
# Needed from apache-airflow 1.10.2, since core.airflow_home config is deprecated
ENV AIRFLOW_HOME=${AIRFLOW_HOME}
@ -124,8 +126,8 @@ RUN useradd -ms /bin/bash -d ${AIRFLOW_HOME} airflow \
# Install Airflow directly to allow overriding source
# COPY images/airflow/requirements.txt /tmp/
COPY ${ctx_base}/shipyard_airflow/requirements-frozen.txt /tmp/requirements.txt
RUN pip3 install -r /tmp/requirements.txt --no-cache-dir
# && pip3 install $AIRFLOW_SRC --no-cache-dir
RUN pip3 install -r /tmp/requirements.txt --no-cache-dir \
&& pip3 install $AIRFLOW_SRC --no-cache-dir
# && (pip3 uninstall -y snakebite || true) \
# && (pip3 uninstall -y psycopg2 || true) \
# && (pip3 install --no-cache-dir --force-reinstall $(pip freeze | grep psycopg2-binary) || true)
@ -167,7 +169,11 @@ RUN cd /tmp/shipyard \
#
# Copy the plugins and dags that will be used by this Airflow image:
COPY ${ctx_base}/shipyard_airflow/shipyard_airflow/plugins ${AIRFLOW_HOME}/plugins/
COPY ${ctx_base}/shipyard_airflow/shipyard_airflow/plugins \
/usr/local/lib/python3.8/dist-packages/airflow/plugins/
COPY ${ctx_base}/shipyard_airflow/shipyard_airflow/dags ${AIRFLOW_HOME}/dags/
COPY ${ctx_base}/shipyard_airflow/shipyard_airflow/dags \
/usr/local/lib/python3.8/dist-packages/airflow/dags/
# Set work directory
USER airflow

View File

@ -19,8 +19,8 @@ python3_path=$(which python3)
airflow_path=$(which airflow)
# Initialize Airflow DB
if [[ $cmd == 'initdb' ]]; then
${python3_path} ${airflow_path} initdb
if [[ $cmd == 'db init' ]]; then
${python3_path} ${airflow_path} db init
# Start the services based on argument from Airflow Helm Chart
elif [[ $cmd == 'webserver' ]]; then
${python3_path} ${airflow_path} webserver
@ -39,11 +39,15 @@ elif [[ $cmd == *scheduler* ]]; then
${python3_path} ${airflow_path} scheduler $2 $3
done
elif [[ $cmd == 'quicktest' ]]; then
${python3_path} ${airflow_path} initdb
${python3_path} ${airflow_path} db init
${python3_path} ${airflow_path} db upgrade
${python3_path} ${airflow_path} dags list
${python3_path} ${airflow_path} users create --role Admin --username admin --email admin --firstname admin --lastname admin --password admin
${python3_path} ${airflow_path} webserver -p 8080 &
airflow run example_bash_operator runme_0 2018-01-01
airflow backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow dag_state example_bash_operator 2018-01-01
${python3_path} ${airflow_path} tasks test example_bash_operator runme_0
${python3_path} ${airflow_path} dags backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
${python3_path} ${airflow_path} tasks run example_bash_operator runme_0 2018-01-01
${python3_path} ${airflow_path} dags state example_bash_operator 2018-01-01
else
echo "Invalid Command!"
exit 1

View File

@ -64,12 +64,12 @@ do
# Get current state of dag using Airflow CLI
# Use grep to remove logging messages that can pollute the status response
check_dag_state=`airflow dag_state ${dag_id} ${dag_execution_date} | grep -vE "DEBUG|INFO|WARN|ERROR"`
check_dag_state=$(airflow dags state ${dag_id} ${dag_execution_date} | grep -vE "DEBUG|INFO|WARN|ERROR")
echo -e ${check_dag_state} >> /usr/local/airflow/upgrade_airflow_worker.log
# We will need to extract the last word in the 'check_dag_state'
# string variable as that will contain the status of the dag run
dag_state=`echo ${check_dag_state} | awk '{print $NF}'`
dag_state=$(echo ${check_dag_state} | awk '{print $NF}')
echo -e ${dag_state} >> /usr/local/airflow/upgrade_airflow_worker.log
if [[ $dag_state == "success" ]]; then
@ -78,7 +78,7 @@ do
echo -e "Proceeding to upgrade Airflow Worker..." >> /usr/local/airflow/upgrade_airflow_worker.log
echo -e "Deleting Airflow Worker Pods..." >> /usr/local/airflow/upgrade_airflow_worker.log
for i in `kubectl get pods -n ucp | grep -i airflow-worker | awk '{print $1}'`; do
for i in $(kubectl get pods -n ucp | grep -i airflow-worker | awk '{print $1}'); do
# Delete Airflow Worker pod so that they will respawn with the new
# configurations and/or images
kubectl delete pod $i -n ucp

View File

@ -26,6 +26,10 @@ ENV container docker
ENV PORT 9000
ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
ENV PYTHONWARNINGS="ignore::DeprecationWarning"
ENV PYTHONWARNINGS="ignore::FutureWarning"
# Setting the version explicitly for PBR
ENV PBR_VERSION 0.1a1
@ -115,7 +119,7 @@ COPY ${ctx_base}/shipyard_airflow /home/shipyard/shipyard/
&& python3 setup.py install \
&& pip3 install -r /home/shipyard/api_requirements.txt --no-cache-dir \
&& cd /home/shipyard/shipyard \
&& python3 setup.py install \
&& pip3 install $(pwd) --use-pep517 \
&& apt-get purge -y --auto-remove $buildDeps \
&& apt-get autoremove -yqq --purge \
&& apt-get clean \

View File

@ -1,40 +1,40 @@
alembic==1.0.1
apache-airflow[crypto,celery,hive,hdfs,jdbc]==1.10.5
arrow<=0.17.0
celery==4.3
Flask==1.1.0
Flask-AppBuilder @ git+https://github.com/dpgaspar/Flask-AppBuilder.git@airflow_v1.13.2
pytz==2018.5
coverage==5.3
alembic
apache-airflow[crypto,celery,hive,hdfs,jdbc,postgres]==2.6.2
arrow
celery
Flask
Flask-AppBuilder
pytz
coverage
falcon
jsonschema<=3.2.0
keystoneauth1<=5.1.1
jsonschema
keystoneauth1
kombu
kubernetes==26.1.0
marshmallow-sqlalchemy==0.18.0
kubernetes
marshmallow-sqlalchemy
networkx
oslo.config<=8.7.1
oslo.policy<=3.10.1
oslo.utils<=4.12.3
psycopg2-binary==2.8.4
pyarrow==6.0.1
pylibyaml==0.1.0
PyYAML<=5.4.1
regex==2020.11.13
requests==2.23.0
responses==0.12.1
setuptools<=45.2.0
SQLAlchemy==1.3.15
tabulate==0.8.03
ulid==1.1
uWSGI==2.0.21
Werkzeug<=0.16.1
WTForms<=2.3.3
oslo.config
oslo.policy
oslo.utils
psycopg2-binary
pyarrow
pylibyaml
PyYAML
regex
requests
responses
setuptools
SQLAlchemy
tabulate
ulid
uWSGI
Werkzeug
WTForms
itsdangerous==2.0.1
itsdangerous
git+https://opendev.org/airship/deckhand.git@06b1631d8a31a1e7147e8751025d0ef2ff4b31f5#egg=deckhand
git+https://opendev.org/airship/drydock.git@73d22a488f7f5b7217e86e86da9f38b5b9085009#egg=drydock_provisioner&subdirectory=python
git+https://opendev.org/airship/armada.git@812546c87595b1d8a1bc0da931d644473b03b31f#egg=armada
git+https://opendev.org/airship/promenade.git@2f2455f0d159287565a279a99c0bbeb235e81ffb#egg=promenade
git+https://opendev.org/airship/deckhand.git@d08c806a8b872bd26920ab708934ffcbf2b0e5c0#egg=deckhand
git+https://opendev.org/airship/drydock.git@e323d20f041d8182b501f3e0862c2f3814789428#egg=drydock_provisioner&subdirectory=python
git+https://opendev.org/airship/armada.git@37eddf6109147d791dfe68e8ae7f5e4c64b037ee#egg=armada
git+https://opendev.org/airship/promenade.git@1957656efd2fd27eab1926fa7ee9e123f15c1b3c#egg=promenade

View File

@ -1,241 +0,0 @@
alabaster==0.7.13
alembic==1.0.1
amqp==2.6.1
apache-airflow==1.10.5
apispec==1.3.3
argcomplete==3.0.8
Armada @ git+https://opendev.org/airship/armada.git@812546c87595b1d8a1bc0da931d644473b03b31f
arrow==0.17.0
attrs==22.2.0
autopage==0.5.1
Babel==2.11.0
bcrypt==4.0.1
Beaker==1.12.0
billiard==3.6.4.0
cached-property==1.5.2
cachetools==4.2.4
celery==4.3.0
certifi==2023.5.7
cffi==1.15.1
chardet==3.0.4
charset-normalizer==3.0.1
click==7.1.2
cliff==3.10.1
cmd2==2.4.3
colorama==0.4.5
colorlog==4.0.2
configparser==3.5.3
coverage==5.3
croniter==0.3.37
cryptography==3.4.8
debtcollector==2.5.0
Deckhand @ git+https://opendev.org/airship/deckhand.git@06b1631d8a31a1e7147e8751025d0ef2ff4b31f5
decorator==4.4.2
deepdiff==5.7.0
defusedxml==0.7.1
dill==0.2.9
distlib==0.3.6
dnspython==2.2.1
docutils==0.17
dogpile.cache==1.2.1
drydock-provisioner @ git+https://opendev.org/airship/drydock.git@73d22a488f7f5b7217e86e86da9f38b5b9085009#subdirectory=python
dulwich==0.20.50
dumb-init==1.2.5.post1
eventlet==0.33.3
extras==1.0.0
falcon==3.1.1
fasteners==0.18
filelock==3.4.1
fixtures==3.0.0
flake8==3.8.4
Flask==1.1.0
Flask-Admin==1.5.3
Flask-AppBuilder @ git+https://github.com/dpgaspar/Flask-AppBuilder.git@b71789d85b632935eca79c0b53fb77f20bf17fe6
Flask-Babel==0.12.2
Flask-Caching==1.3.3
Flask-JWT-Extended==3.25.1
Flask-Login==0.4.1
Flask-OpenID==1.3.0
Flask-SQLAlchemy==2.5.1
flask-swagger==0.2.13
Flask-WTF==0.14.3
flower==0.9.7
funcsigs==1.0.0
future==0.16.0
futurist==2.4.1
gitdb==4.0.9
GitPython==3.1.18
google-auth==2.19.0
greenlet==2.0.2
gunicorn==19.10.0
hacking==4.1.0
hmsclient==0.1.1
html5lib==0.9999999
httpexceptor==1.4.0
humanize==3.14.0
idna==2.10
imagesize==1.4.1
importlib-metadata==2.1.3
importlib-resources==5.4.0
iso8601==1.1.0
itsdangerous==2.0.1
JayDeBeApi==1.2.3
Jinja2==2.10.3
JPype1==1.3.0
json-merge-patch==0.2
jsonpath-ng==1.5.3
jsonpath-rw==1.4.0
jsonpath-rw-ext==1.2.2
jsonpickle==1.4.1
jsonschema==3.2.0
keystoneauth1==5.1.1
keystonemiddleware==9.5.0
kombu==4.6.3
kubernetes==26.1.0
lazy-object-proxy==1.7.1
lockfile==0.12.2
Mako==1.1.6
Markdown==2.6.11
MarkupSafe==2.0.1
marshmallow==2.19.5
marshmallow-enum==1.5.1
marshmallow-sqlalchemy==0.18.0
mccabe==0.6.1
mock==5.0.2
msgpack==1.0.5
natsort==8.2.0
netaddr==0.8.0
netifaces==0.11.0
networkx==2.5.1
nose==1.3.7
numpy==1.19.5
oauthlib==3.2.2
ordered-set==4.0.2
ordereddict==1.1
os-service-types==1.7.0
oslo.cache==2.10.1
oslo.concurrency==4.5.1
oslo.config==8.7.1
oslo.context==4.1.0
oslo.db==10.0.0
oslo.i18n==5.1.0
oslo.log==4.6.0
oslo.messaging==10.3.0
oslo.middleware==4.4.0
oslo.policy==3.10.1
oslo.serialization==4.2.0
oslo.service==2.8.0
oslo.utils==4.12.3
packaging==21.3
pandas==0.25.3
Paste==3.5.0
PasteDeploy==2.1.1
PasteScript==3.3.0
pbr==5.5.1
pendulum==1.4.4
pip==21.3.1
platformdirs==2.4.0
ply==3.11
prettytable==2.5.0
prison==0.1.0
promenade @ git+https://opendev.org/airship/promenade.git@2f2455f0d159287565a279a99c0bbeb235e81ffb
prometheus-client==0.8.0
protobuf==3.19.6
psutil==5.9.5
psycopg2-binary==2.8.4
py==1.11.0
pyarrow==6.0.1
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycadf==3.1.1
pycodestyle==2.6.0
pycparser==2.21
pyflakes==2.2.0
Pygments==2.14.0
PyHive==0.6.5
PyJWT==1.7.1
pylibyaml==0.1.0
pymongo==4.1.1
pyparsing==2.4.7
pyperclip==1.8.2
pyproject-api==0.1.0
pyrsistent==0.18.0
python-barbicanclient==5.2.0
python-daemon==2.1.2
python-dateutil==2.8.1
python-editor==1.0.4
python-keystoneclient==4.5.0
python-memcached==1.59
python-mimeparse==1.6.0
python-subunit==1.4.0
python3-openid==3.2.0
pytz==2018.5
pytzdata==2020.1
PyYAML==5.4.1
regex==2020.11.13
reno==4.0.0
repoze.lru==0.7
requests==2.23.0
requests-oauthlib==1.3.1
resolver==0.2.1
responses==0.12.1
retry==0.9.2
rfc3986==1.5.0
Routes==2.5.1
rsa==4.9
selector==0.10.1
setproctitle==1.2.3
setuptools==45.2.0
simplejson==3.19.1
six==1.16.0
smmap==5.0.0
snakebite==2.11.0
snowballstemmer==2.2.0
Sphinx==3.3.1
sphinx-rtd-theme==0.5.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
SQLAlchemy==1.3.15
sqlalchemy-migrate==0.13.0
sqlparse==0.4.4
statsd==4.0.1
stevedore==3.5.2
tabulate==0.8.3
Tempita==0.5.2
tenacity==4.12.0
termcolor==1.1.0
testrepository==0.0.20
testresources==2.0.1
testscenarios==0.5.0
testtools==2.5.0
text-unidecode==1.2
thrift==0.16.0
tiddlyweb==2.4.3
tomli==1.2.3
tomlkit==0.11.6
tornado==5.1.1
typing-extensions==3.7.4.3
tzlocal==1.5.1
ulid==1.1
unicodecsv==0.14.1
urllib3==1.25.11
uWSGI==2.0.21
vine==1.3.0
virtualenv==20.16.2
wcwidth==0.2.6
WebOb==1.8.7
websocket-client==1.3.1
Werkzeug==0.16.1
wheel==0.37.1
wrapt==1.15.0
wsgi-intercept==1.11.0
WTForms==2.3.3
xmltodict==0.13.0
yappi==1.4.0
yq==3.2.1
zipp==3.6.0
zope.deprecation==4.4.0

View File

@ -1,240 +1,268 @@
alabaster==0.7.13
alembic==1.0.1
amqp==2.6.1
apache-airflow==1.10.5
apispec==1.3.3
argcomplete==3.0.8
Armada @ git+https://opendev.org/airship/armada.git@4be7fa44a743fbcdf792e2bdca3af6c95b540f97
arrow==0.17.0
aiohttp==3.8.4
aiosignal==1.3.1
alembic==1.11.1
amqp==5.1.1
anyio==3.7.0
apache-airflow==2.6.2
apache-airflow-providers-apache-hdfs==4.0.0
apache-airflow-providers-apache-hive==6.1.0
apache-airflow-providers-celery==3.2.0
apache-airflow-providers-common-sql==1.5.1
apache-airflow-providers-ftp==3.4.1
apache-airflow-providers-http==4.4.1
apache-airflow-providers-imap==3.2.1
apache-airflow-providers-jdbc==3.4.0
apache-airflow-providers-postgres==5.5.0
apache-airflow-providers-sqlite==3.4.1
apispec==5.2.2
argcomplete==3.1.1
Armada @ git+https://opendev.org/airship/armada.git@37eddf6109147d791dfe68e8ae7f5e4c64b037ee
arrow==1.2.3
asgiref==3.7.2
async-timeout==4.0.2
attrs==23.1.0
autopage==0.5.1
Babel==2.12.1
backports.zoneinfo==0.2.1
barbican==14.0.2
bcrypt==4.0.1
Beaker==1.12.0
billiard==3.6.4.0
cached-property==1.5.2
cachetools==5.3.0
celery==4.3.0
Beaker==1.12.1
billiard==4.1.0
blinker==1.6.2
cachelib==0.9.0
cachetools==5.3.1
castellan==4.1.0
cattrs==23.1.2
celery==5.3.0
certifi==2023.5.7
cffi==1.15.1
chardet==3.0.4
charset-normalizer==3.1.0
click==7.1.2
cliff==3.10.1
click==8.1.3
click-didyoumean==0.3.0
click-plugins==1.1.1
click-repl==0.2.0
clickclick==20.10.2
cliff==4.3.0
cmd2==2.4.3
colorama==0.4.6
colorlog==4.0.2
configparser==3.5.3
coverage==5.3
croniter==0.3.37
cryptography==3.4.8
colorlog==4.8.0
ConfigUpdater==3.1.1
connexion==2.14.2
coverage==7.2.7
cron-descriptor==1.4.0
croniter==1.3.15
cryptography==40.0.2
debtcollector==2.5.0
Deckhand @ git+https://opendev.org/airship/deckhand.git@3a06b1b6040865483a09514e2bf7dc5fae24560e
Deckhand @ git+https://opendev.org/airship/deckhand.git@d08c806a8b872bd26920ab708934ffcbf2b0e5c0
decorator==5.1.1
deepdiff==5.8.1
defusedxml==0.7.1
dill==0.2.9
distlib==0.3.6
deepdiff==6.3.1
Deprecated==1.2.14
dill==0.3.1.1
dnspython==2.3.0
docutils==0.17
dogpile.cache==1.2.0
drydock-provisioner @ git+https://opendev.org/airship/drydock.git@375abedb8aa3a413ca70a47aef467f39d65e1aee#subdirectory=python
dulwich==0.21.5
dumb-init==1.2.5.post1
docopt==0.6.2
docutils==0.20.1
dogpile.cache==1.2.2
drydock-provisioner @ git+https://opendev.org/airship/drydock.git@e323d20f041d8182b501f3e0862c2f3814789428#subdirectory=python
email-validator==1.3.1
eventlet==0.33.3
extras==1.0.0
exceptiongroup==1.1.1
falcon==3.1.1
fastavro==1.7.4
fasteners==0.18
filelock==3.12.0
fixtures==3.0.0
flake8==3.8.4
Flask==1.1.0
Flask-Admin==1.5.3
Flask-AppBuilder @ git+https://github.com/dpgaspar/Flask-AppBuilder.git@b71789d85b632935eca79c0b53fb77f20bf17fe6
Flask-Babel==0.12.2
Flask-Caching==1.3.3
Flask-JWT-Extended==3.25.1
Flask-Login==0.4.1
Flask-OpenID==1.3.0
fixtures==4.1.0
Flask==2.2.5
Flask-AppBuilder==4.3.1
Flask-Babel==2.0.0
Flask-Caching==2.0.2
Flask-JWT-Extended==4.5.2
Flask-Limiter==3.3.1
Flask-Login==0.6.2
Flask-Session==0.5.0
Flask-SQLAlchemy==2.5.1
flask-swagger==0.2.13
Flask-WTF==0.14.3
flower==0.9.7
funcsigs==1.0.0
future==0.16.0
Flask-WTF==1.1.1
flower==1.2.0
frozenlist==1.3.3
future==0.18.3
futurist==2.4.1
gitdb==4.0.10
GitPython==3.1.31
google-auth==2.18.0
google-auth==2.20.0
graphviz==0.20.1
greenlet==2.0.2
gunicorn==19.10.0
hacking==4.1.0
gssapi==1.8.2
gunicorn==20.1.0
h11==0.14.0
hdfs==2.7.0
hmsclient==0.1.1
html5lib==0.9999999
httpcore==0.16.3
httpexceptor==1.4.0
httpx==0.23.3
humanize==4.6.0
idna==2.10
imagesize==1.4.1
importlib-metadata==2.1.3
iso8601==1.1.0
itsdangerous==2.0.1
idna==3.4
importlib-metadata==4.13.0
importlib-resources==5.12.0
inflection==0.5.1
iso8601==2.0.0
itsdangerous==2.1.2
JayDeBeApi==1.2.3
Jinja2==2.10.3
Jinja2==3.1.2
JPype1==1.4.1
json-merge-patch==0.2
jsonpath-ng==1.5.3
jsonpath-rw==1.4.0
jsonpath-rw-ext==1.2.2
jsonpickle==1.4.1
jsonschema==3.2.0
keystoneauth1==5.1.1
keystonemiddleware==10.2.0
kombu==4.6.3
kubernetes==26.1.0
jsonpickle==3.0.1
jsonschema==4.17.3
keystoneauth1==4.3.1
keystonemiddleware==9.3.0
kombu==5.3.0
krb5==0.5.0
kubernetes==23.6.0
lazy-object-proxy==1.9.0
ldap3==2.9.1
limits==3.5.0
linkify-it-py==2.0.2
lockfile==0.12.2
logutils==0.3.5
Mako==1.2.4
Markdown==2.6.11
MarkupSafe==2.0.1
marshmallow==2.19.5
Markdown==3.4.3
markdown-it-py==3.0.0
MarkupSafe==2.1.3
marshmallow==3.19.0
marshmallow-enum==1.5.1
marshmallow-sqlalchemy==0.18.0
mccabe==0.6.1
mock==5.0.2
marshmallow-oneofschema==3.0.1
marshmallow-sqlalchemy==0.26.1
mdit-py-plugins==0.4.0
mdurl==0.1.2
mock==5.1.0
msgpack==1.0.5
natsort==8.3.1
multidict==6.0.4
netaddr==0.8.0
netifaces==0.11.0
networkx==3.1
nose==1.3.7
numpy==1.24.3
oauthlib==3.2.2
ordered-set==4.1.0
ordereddict==1.1
os-service-types==1.7.0
oslo.cache==2.10.1
oslo.cache==3.4.0
oslo.concurrency==5.1.1
oslo.config==8.7.1
oslo.context==4.1.0
oslo.db==10.0.0
oslo.config==8.6.0
oslo.context==4.0.0
oslo.db==11.2.0
oslo.i18n==6.0.0
oslo.log==4.6.0
oslo.messaging==10.3.0
oslo.log==4.8.0
oslo.messaging==14.3.1
oslo.metrics==0.6.0
oslo.middleware==4.4.0
oslo.policy==3.10.1
oslo.serialization==4.2.0
oslo.serialization==4.1.0
oslo.service==3.1.1
oslo.upgradecheck==2.1.1
oslo.utils==4.12.3
oslo.versionedobjects==3.1.0
packaging==21.3
pandas==0.25.3
Paste==3.5.0
pandas==1.5.3
Paste==3.5.3
PasteDeploy==3.0.1
PasteScript==3.3.0
pbr==5.5.1
pendulum==1.4.4
pathspec==0.9.0
pbr==5.11.1
pecan==1.5.0
pendulum==2.1.2
pip==23.1.2
platformdirs==3.5.1
pkgutil_resolve_name==1.3.10
pluggy==1.0.0
ply==3.11
prettytable==3.7.0
prison==0.1.0
promenade @ git+https://opendev.org/airship/promenade.git@45bcba068eb42fe6ba54d494b12122600dcb2c6c
prometheus-client==0.8.0
protobuf==4.23.0
prettytable==3.8.0
prison==0.2.1
promenade @ git+https://opendev.org/airship/promenade.git@1957656efd2fd27eab1926fa7ee9e123f15c1b3c
prometheus-client==0.17.0
prompt-toolkit==3.0.38
psutil==5.9.5
psycopg2-binary==2.8.4
psycopg2-binary==2.9.6
pure-sasl==0.6.2
py==1.11.0
pyarrow==6.0.1
pyasn1==0.5.0
pyasn1-modules==0.3.0
pyarrow==11.0.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycadf==3.1.1
pycodestyle==2.6.0
pycparser==2.21
pyflakes==2.2.0
Pygments==2.14.0
pydantic==1.10.9
Pygments==2.15.1
PyHive==0.6.5
PyJWT==1.7.1
PyJWT==2.7.0
pylibyaml==0.1.0
pymongo==4.3.3
pyparsing==2.4.7
pyOpenSSL==23.2.0
pyparsing==3.0.9
pyperclip==1.8.2
pyproject_api==1.5.0
pyrsistent==0.19.3
python-barbicanclient==5.2.0
python-daemon==2.1.2
python-dateutil==2.8.1
python-editor==1.0.4
pyspnego==0.9.1
python-barbicanclient==5.4.0
python-daemon==3.0.1
python-dateutil==2.8.2
python-keystoneclient==5.1.0
python-memcached==1.59
python-mimeparse==1.6.0
python-subunit==1.4.0
python3-openid==3.2.0
pytz==2018.5
python-nvd3==0.15.0
python-slugify==8.0.1
pytz==2023.3
pytzdata==2020.1
PyYAML==5.4.1
regex==2020.11.13
reno==4.0.0
PyYAML==6.0
regex==2023.6.3
repoze.lru==0.7
requests==2.23.0
requests==2.31.0
requests-kerberos==0.14.0
requests-oauthlib==1.3.1
requests-toolbelt==1.0.0
resolver==0.2.1
responses==0.12.1
responses==0.23.1
retry==0.9.2
rfc3986==2.0.0
rfc3339-validator==0.1.4
rfc3986==1.5.0
rich==13.4.2
rich_argparse==1.1.1
Routes==2.5.1
rsa==4.9
sasl==0.3.1
selector==0.10.1
setproctitle==1.3.2
setuptools==45.2.0
setuptools==67.7.2
simplejson==3.19.1
six==1.16.0
smmap==5.0.0
snakebite==2.11.0
snowballstemmer==2.2.0
Sphinx==3.3.1
sphinx-rtd-theme==0.5.0
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
SQLAlchemy==1.3.15
sniffio==1.3.0
SQLAlchemy==1.4.48
SQLAlchemy-JSONField==1.0.1.post0
sqlalchemy-migrate==0.13.0
SQLAlchemy-Utils==0.41.1
sqlparse==0.4.4
statsd==4.0.1
stevedore==5.1.0
tabulate==0.8.3
tabulate==0.9.0
Tempita==0.5.2
tenacity==4.12.0
termcolor==1.1.0
testrepository==0.0.20
tenacity==8.2.2
termcolor==2.3.0
testresources==2.0.1
testscenarios==0.5.0
testtools==2.5.0
text-unidecode==1.2
testtools==2.6.0
text-unidecode==1.3
thrift==0.16.0
thrift-sasl==0.4.3
tiddlyweb==2.4.3
tomli==2.0.1
tomlkit==0.11.8
tornado==5.1.1
typing-extensions==3.7.2
tzlocal==1.5.1
tornado==6.3.2
types-PyYAML==6.0.12.10
typing_extensions==4.6.3
tzdata==2023.3
uc-micro-py==1.0.2
ulid==1.1
unicodecsv==0.14.1
urllib3==1.25.11
urllib3==1.26.16
uWSGI==2.0.21
vine==1.3.0
virtualenv==20.23.0
vine==5.0.0
wcwidth==0.2.6
WebOb==1.8.7
websocket-client==1.5.1
Werkzeug==0.16.1
websocket-client==1.5.3
Werkzeug==2.2.3
wheel==0.40.0
wrapt==1.15.0
wsgi-intercept==1.11.0
WTForms==2.3.3
xmltodict==0.13.0
WTForms==3.0.1
yappi==1.4.0
yq==3.2.1
yarl==1.9.2
zipp==3.15.0
zope.deprecation==4.4.0

View File

@ -19,7 +19,7 @@ to the api startup to handle the Falcon specific setup.
import logging
from oslo_config import cfg
from werkzeug.contrib.profiler import ProfilerMiddleware
from werkzeug.middleware.profiler import ProfilerMiddleware
from shipyard_airflow.conf import config
import shipyard_airflow.control.api as api

View File

@ -1,13 +1,13 @@
bandit==1.6.0
flake8==3.8.4
pytest==3.5.0
pytest-cov==2.5.1
flake8
pytest >= 3.0
pytest-cov==4.0.0
testfixtures
tox<=4.0.0
typing-extensions==3.7.2
# typing-extensions==3.7.2
pyflakes>=2.1.1
# Pin apache-airflow 1.10.5 to align with version in airflow images requirements.txt
apache-airflow[crypto,celery,hive,hdfs,jdbc]==1.10.5
# apache-airflow[crypto,celery,hive,hdfs,jdbc]==1.10.5
# install postgres seperately as apache-airflow 1.10.5 forces postgres to use
# psycopg2 instead of psycopg2-binary which requires additional apt packages
# to be installed, i.e. postgres-devel. Otherwise the following error is seen:

View File

@ -10,19 +10,6 @@ setenv=
deps =
-r{toxinidir}/requirements-frozen.txt
-r{toxinidir}/test-requirements.txt
[testenv:freeze-bionic]
recreate = True
allowlist_externals=
rm
sh
deps=
-r{toxinidir}/requirements-direct.txt
commands=
rm -f {toxinidir}/requirements-frozen-bionic.txt
sh -c "pip freeze --all | grep -vE 'shipyard_airflow|pyinotify|pkg-resources' > requirements-frozen-bionic.txt"
[testenv:freeze]
recreate = True
allowlist_externals=
@ -30,42 +17,52 @@ allowlist_externals=
sh
deps=
-r{toxinidir}/requirements-direct.txt
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.6.2/constraints-3.8.txt
commands=
rm -f {toxinidir}/requirements-frozen.txt
sh -c "pip freeze --all | grep -vE 'shipyard_airflow|pyinotify|pkg-resources' > requirements-frozen.txt"
[testenv:py38]
skipsdist=True
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
PYTHONWARNINGS="ignore::DeprecationWarning"
PYTHONWARNINGS="ignore::FutureWarning"
basepython=python3.8
allowlist_externals=
bash
airflow
commands =
bash -c "rm -f $HOME/airflow/airflow.db"
pip install -r{toxinidir}/test-requirements.txt
airflow initdb
airflow run example_bash_operator runme_0 2018-01-01
airflow backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow dag_state example_bash_operator 2018-01-01
airflow version
airflow db init
airflow db upgrade
airflow info
airflow tasks test example_bash_operator runme_0
airflow dags backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow tasks run example_bash_operator runme_0 2018-01-01
airflow dags state example_bash_operator 2018-01-01
pytest {posargs} -vv
[testenv:cover]
skipsdist=True
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
PYTHONWARNINGS="ignore::DeprecationWarning"
PYTHONWARNINGS="ignore::FutureWarning"
allowlist_externals=
bash
airflow
commands =
bash -c "rm -f $HOME/airflow/airflow.db"
pip install -r{toxinidir}/test-requirements.txt
airflow initdb
airflow run example_bash_operator runme_0 2018-01-01
airflow backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow dag_state example_bash_operator 2018-01-01
airflow version
airflow db init
airflow db upgrade
airflow info
airflow tasks test example_bash_operator runme_0
airflow dags backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow tasks run example_bash_operator runme_0 2018-01-01
airflow dags state example_bash_operator 2018-01-01
pytest \
{posargs} \
--cov-branch \
@ -77,30 +74,7 @@ commands =
--cov-report term \
-vv
[testenv:py36]
skipsdist=True
basepython=python3.6
deps =
-r{toxinidir}/requirements-frozen-bionic.txt
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
allowlist_externals=
bash
airflow
commands =
bash -c "rm -f $HOME/airflow/airflow.db"
pip install -r{toxinidir}/test-requirements.txt
airflow initdb
airflow run example_bash_operator runme_0 2018-01-01
airflow backfill example_bash_operator -s 2018-01-01 -e 2018-01-02
airflow dag_state example_bash_operator 2018-01-01
pytest {posargs} -vv
[testenv:pep8]
deps=
flake8>=3.3.0
bandit>=1.5.0
commands =
flake8 {toxinidir}/shipyard_airflow
bandit -r shipyard_airflow
@ -113,9 +87,6 @@ commands =
[testenv:genconfig]
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
deps =
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements-frozen.txt
commands =
pip install . --use-pep517
oslo-config-generator --config-file=generator/config-generator.conf
@ -123,9 +94,6 @@ commands =
[testenv:genpolicy]
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
deps =
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements-frozen.txt
commands =
pip install . --use-pep517
oslopolicy-sample-generator --config-file=generator/policy-generator.conf
@ -135,9 +103,6 @@ commands =
skipsdist=True
setenv=
SLUGIFY_USES_TEXT_UNIDECODE=yes
deps =
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements-frozen.txt
commands =
pip install . --use-pep517
oslo-config-generator --config-file=generator/config-generator.conf

View File

@ -14,20 +14,19 @@
# CLI/Client requirements
arrow<=0.17.0
click==7.1.2
click-default-group==1.2
keystoneauth1<=5.1.1
requests==2.23.0
PTable==0.9.2
pylibyaml==0.1.0
PyYAML<=5.4.1
Flask==1.1.0
coverage==5.3
itsdangerous==2.0.1
Jinja2==2.10.3
MarkupSafe==2.0.1
pbr==5.5.1
python-dateutil==2.8.1
setuptools<=45.2.0
Werkzeug==0.16.1
arrow
click
click-default-group
keystoneauth1
requests
PTable
pylibyaml
PyYAML
Flask
coverage
itsdangerous
Jinja2
MarkupSafe
pbr
python-dateutil
Werkzeug

View File

@ -1,30 +0,0 @@
arrow==0.17.0
certifi==2023.5.7
chardet==3.0.4
click==7.1.2
click-default-group==1.2
coverage==5.3
Flask==1.1.0
idna==2.10
importlib-metadata==4.8.3
iso8601==1.1.0
itsdangerous==2.0.1
Jinja2==2.10.3
keystoneauth1==5.1.1
MarkupSafe==2.0.1
os-service-types==1.7.0
pbr==5.5.1
pip==21.3.1
PTable==0.9.2
pylibyaml==0.1.0
python-dateutil==2.8.1
PyYAML==5.4.1
requests==2.23.0
setuptools==45.2.0
six==1.16.0
stevedore==3.5.2
typing_extensions==4.1.1
urllib3==1.25.11
Werkzeug==0.16.1
wheel==0.37.1
zipp==3.6.0

View File

@ -1,27 +1,29 @@
arrow==0.17.0
arrow==1.2.3
certifi==2023.5.7
chardet==3.0.4
click==7.1.2
click-default-group==1.2
coverage==5.3
Flask==1.1.0
idna==2.10
iso8601==1.1.0
itsdangerous==2.0.1
Jinja2==2.10.3
keystoneauth1==5.1.1
MarkupSafe==2.0.1
charset-normalizer==3.1.0
click==8.1.3
click-default-group==1.2.2
coverage==7.2.7
Flask==2.2.5
idna==3.4
importlib-metadata==4.13.0
iso8601==2.0.0
itsdangerous==2.1.2
Jinja2==3.1.2
keystoneauth1==5.2.1
MarkupSafe==2.1.3
os-service-types==1.7.0
pbr==5.5.1
pip==23.0.1
pbr==5.11.1
pip==23.1.2
PTable==0.9.2
pylibyaml==0.1.0
python-dateutil==2.8.1
PyYAML==5.4.1
requests==2.23.0
setuptools==45.2.0
python-dateutil==2.8.2
PyYAML==6.0
requests==2.31.0
setuptools==67.7.2
six==1.16.0
stevedore==5.0.0
urllib3==1.25.11
Werkzeug==0.16.1
stevedore==5.1.0
urllib3==1.26.16
Werkzeug==2.2.3
wheel==0.40.0
zipp==3.15.0

View File

@ -1,13 +1,12 @@
# Testing
pyflakes==2.2.0
amqp==2.6.1
pytest==3.5.0
pytest-cov==2.5.1
responses==0.10.2
testfixtures==5.1.1
pyflakes
pytest
pytest-cov
responses
testfixtures
# Linting
flake8==3.8.4
flake8
# Security scanning
bandit==1.6.0 # Apache-2.0

View File

@ -11,18 +11,6 @@ deps =
-r{toxinidir}/requirements-frozen.txt
-r{toxinidir}/test-requirements.txt
[testenv:freeze-bionic]
recreate = True
allowlist_externals=
rm
sh
deps=
-r{toxinidir}/requirements-direct.txt
commands=
rm -f {toxinidir}/requirements-frozen-bionic.txt
sh -c "pip freeze --all | grep -vE 'shipyard_airflow|pyinotify|pkg-resources' > requirements-frozen-bionic.txt"
[testenv:freeze]
recreate = True
allowlist_externals=
@ -30,20 +18,11 @@ allowlist_externals=
sh
deps=
-r{toxinidir}/requirements-direct.txt
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.6.2/constraints-3.8.txt
commands=
rm -f {toxinidir}/requirements-frozen.txt
sh -c "pip freeze --all | grep -vE 'shipyard_airflow|pyinotify|pkg-resources' > requirements-frozen.txt"
[testenv:py36]
skipsdist=True
deps =
-r{toxinidir}/requirements-frozen-bionic.txt
-r{toxinidir}/test-requirements.txt
commands =
pytest \
{posargs} \
-vv
[testenv:py38]
skipsdist=True
commands =
@ -67,9 +46,6 @@ commands =
[testenv:pep8]
deps=
flake8>=3.3.0
bandit>=1.5.0
commands =
flake8 {toxinidir}/shipyard_client
bandit -r shipyard_airflow

View File

@ -23,6 +23,14 @@
tasks:
- name: Install Packaging python module for tools/airship
block:
- pip:
name: packaging
version: 23.1
executable: pip3
become: True
- name: Clone Required Repositories
shell: |
export CLONE_SHIPYARD={{ CLONE_SHIPYARD }}
@ -43,17 +51,27 @@
args:
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
- name: Setup OpenStack Client
shell: |
set -ex
./tools/deployment/airskiff/developer/020-setup-client.sh
args:
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
become: yes
- name: Build all charts locally
shell: |
set -ex
./tools/deployment/airskiff/developer/015-make-all-charts.sh
args:
chdir: "{{ zuul.project.src_dir }}"
become: yes
- name: Build Shipyard and Airflow with submitted changes
shell: |
set -ex
export DISTRO={{ SHIPYARD_IMAGE_DISTRO }}
make images
if test "${DISTRO}" = 'ubuntu_bionic'
then
# this trick is needed to use bionic image instead of focal in airskiff deployment test
docker tag quay.io/airshipit/airflow:latest-ubuntu_bionic quay.io/airshipit/airflow:latest-ubuntu_focal
docker tag quay.io/airshipit/shipyard:latest-ubuntu_bionic quay.io/airshipit/shipyard:latest-ubuntu_focal
fi
args:
chdir: "{{ zuul.project.src_dir }}"
become: yes
@ -88,3 +106,12 @@
args:
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
become: yes
- name: Stop artifactory
shell: |
set -ex
# terminate artifactory
docker rm artifacts --force || true
args:
chdir: "{{ zuul.project.src_dir }}"
become: yes

View File

@ -49,15 +49,6 @@ commands=
bash -c "cp {toxinidir}/src/bin/shipyard_airflow/etc/shipyard/policy.yaml.sample {toxinidir}/doc/source/_static/shipyard.policy.yaml.sample"
bash -c "cp {toxinidir}/src/bin/shipyard_airflow/etc/shipyard/shipyard.conf.sample {toxinidir}/doc/source/_static/shipyard.conf.sample"
[testenv:py36]
deps =
tox<=4.0.0
allowlist_externals=
tox
commands=
tox -c {toxinidir}/src/bin/shipyard_airflow/tox.ini -e py36
tox -c {toxinidir}/src/bin/shipyard_client/tox.ini -e py36
[testenv:cover]
deps =
tox<=4.0.0