Airflow 2.10.2 + ubuntu_jammy

Change-Id: I7c8a637efc1e969ab6814447e76068caaca0e66e
This commit is contained in:
Sergiy Markin 2024-08-29 00:10:11 +00:00
parent 30e532f866
commit be9f97b846
55 changed files with 791 additions and 289 deletions

View File

@ -13,42 +13,43 @@
- project:
templates:
- docs-on-readthedocs
- openstack-python38-jobs
vars:
rtd_webhook_id: '38572'
rtd_project_name: 'airship-deckhand'
check:
jobs:
- deckhand-tox-py38-postgresql
- deckhand-functional-uwsgi-py38
- deckhand-functional-docker-py38
- deckhand-integration-uwsgi-py38
- deckhand-integration-docker-py38
- openstack-tox-py310
- deckhand-tox-py310-postgresql
- deckhand-functional-uwsgi-py310
- deckhand-functional-docker-py310
- deckhand-integration-uwsgi-py310
- deckhand-integration-docker-py310
- deckhand-chart-build-gate
- deckhand-chart-build-latest-htk
- deckhand-docker-build-gate
- deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal
- deckhand-airskiff-deployment-focal-kubeadm
- deckhand-openstack-tox-pep8-jammy
- deckhand-openstack-tox-cover-jammy
- deckhand-airskiff-deployment-jammy-kubeadm
gate:
jobs:
- deckhand-tox-py38-postgresql
- deckhand-functional-uwsgi-py38
- deckhand-functional-docker-py38
- deckhand-integration-uwsgi-py38
- deckhand-integration-docker-py38
- openstack-tox-py310
- deckhand-tox-py310-postgresql
- deckhand-functional-uwsgi-py310
- deckhand-functional-docker-py310
- deckhand-integration-uwsgi-py310
- deckhand-integration-docker-py310
- deckhand-chart-build-gate
- deckhand-chart-build-latest-htk
- deckhand-docker-build-gate
- deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal
- deckhand-openstack-tox-pep8-jammy
- deckhand-openstack-tox-cover-jammy
post:
jobs:
- deckhand-upload-git-mirror
- deckhand-docker-publish-ubuntu_focal
- deckhand-docker-publish-ubuntu_jammy
- nodeset:
@ -64,37 +65,37 @@
label: ubuntu-bionic
- nodeset:
name: deckhand-single-node-focal
name: deckhand-single-node-jammy
nodes:
- name: primary
label: ubuntu-focal
label: ubuntu-jammy
- nodeset:
name: deckhand-single-node-airskiff-focal
name: deckhand-single-node-airskiff-jammy
nodes:
- name: primary
label: ubuntu-focal
label: ubuntu-jammy
- job:
name: deckhand-openstack-tox-pep8-focal
name: deckhand-openstack-tox-pep8-jammy
parent: openstack-tox-pep8
description: Runs pep8 job on focal
nodeset: treasuremap-airskiff-1node-ubuntu_focal
description: Runs pep8 job on jammy
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
- job:
name: deckhand-openstack-tox-cover-focal
name: deckhand-openstack-tox-cover-jammy
parent: openstack-tox-cover
description: Runs cover job on focal
nodeset: treasuremap-airskiff-1node-ubuntu_focal
description: Runs cover job on jammy
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
- job:
name: deckhand-tox-py38-postgresql
parent: openstack-tox-py38
nodeset: treasuremap-airskiff-1node-ubuntu_focal
name: deckhand-tox-py310-postgresql
parent: openstack-tox-py310
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
pre-run:
- tools/gate/playbooks/prepare-hosts.yaml
vars:
tox_envlist: py38-postgresql
tox_envlist: py310-postgresql
- job:
name: deckhand-base
@ -117,6 +118,7 @@
- ^deckhand/tests/unit/.*$
timeout: 10800
pre-run:
- tools/gate/playbooks/checkout-treasuremap-ref.yaml
- tools/gate/playbooks/prepare-hosts.yaml
- tools/gate/playbooks/mount-volumes.yaml
- tools/gate/playbooks/deploy-env.yaml
@ -125,6 +127,7 @@
post-run:
- tools/gate/playbooks/osh-infra-collect-logs.yaml
vars:
treasuremap_ref: refs/changes/43/927643/4
extra_volume:
size: 80G
type: Linux
@ -141,15 +144,16 @@
loopback_device: /dev/loop100
loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
ceph_osd_data_device: /dev/loop100
kube_version_repo: "v1.29"
kube_version: "1.29.5-1.1"
kube_version_repo: "v1.30"
kube_version: "1.30.3-1.1"
calico_setup: true
calico_version: "v3.27.0"
calico_version: "v3.27.4"
cilium_setup: false
cilium_version: "1.15.6"
helm_version: "v3.6.3"
yq_version: "v4.6.0"
crictl_version: "v1.26.1"
cilium_version: "1.16.0"
flannel_setup: false
flannel_version: v0.25.4
helm_version: "v3.15.4"
crictl_version: "v1.30.1"
zuul_osh_relative_path: ../../openstack/openstack-helm
zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra
zuul_treasuremap_relative_path: ../../airship/treasuremap
@ -158,61 +162,61 @@
- job:
name: deckhand-functional-docker-py38
name: deckhand-functional-docker-py310
description: |
Run tox-based functional tests for the Airship Deckhand project under
cPython version 3.8. Uses tox with the ``functional-py38`` environment.
Ubuntu (focal) image is built and used.
cPython version 3.10. Uses tox with the ``functional-py310`` environment.
Ubuntu (jammy) image is built and used.
parent: deckhand-base
run: tools/gate/playbooks/run-functional-tests-docker.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
vars:
tox_envlist: py38-functional
tox_envlist: py310-functional
disable_keystone: true
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
irrelevant-files: *irrelevant-files
- job:
name: deckhand-functional-uwsgi-py38
name: deckhand-functional-uwsgi-py310
description: |
Run tox-based functional tests for the Airship Deckhand project using a
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
for ephemeral PostgreSQL DB, under cPython version 3.8.
for ephemeral PostgreSQL DB, under cPython version 3.10.
parent: deckhand-base
run: tools/gate/playbooks/run-functional-tests-uwsgi.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
vars:
tox_envlist: py38-functional-dev
DISTRO: ubuntu_focal
tox_envlist: py310-functional-dev
DISTRO: ubuntu_jammy
irrelevant-files: *irrelevant-files
- job:
name: deckhand-integration-uwsgi-py38
name: deckhand-integration-uwsgi-py310
description: |
Run tox-based integration tests for the Airship Deckhand project using a
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
for ephemeral PostgreSQL DB, under cPython version 3.8.
for ephemeral PostgreSQL DB, under cPython version 3.10.
parent: deckhand-base
run: tools/gate/playbooks/run-integration-tests-uwsgi.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
irrelevant-files: *irrelevant-files
vars:
disable_keystone: true
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
- job:
name: deckhand-integration-docker-py38
name: deckhand-integration-docker-py310
description: |
Run tox-based integration tests for the Airship Deckhand project under
cPython version 3.8. Builds ubuntu (focal) deckhand image.
cPython version 3.10. Builds ubuntu (jammy) deckhand image.
parent: deckhand-base
run: tools/gate/playbooks/run-integration-tests-docker.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
vars:
tox_envlist: py38-functional
tox_envlist: py310-functional
disable_keystone: false
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
irrelevant-files: *irrelevant-files
- job:
@ -221,9 +225,9 @@
Build charts using pinned Helm toolkit.
timeout: 900
run: tools/gate/playbooks/build-charts.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
vars:
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
HTK_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b
- job:
name: deckhand-chart-build-latest-htk
@ -231,48 +235,26 @@
Build charts using latest Helm toolkit.
timeout: 900
run: tools/gate/playbooks/build-charts.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
vars:
HTK_COMMIT: master
# - job:
# name: deckhand-airskiff-deployment-focal
# voting: true
# nodeset: treasuremap-airskiff-1node-ubuntu_focal
# description: |
# Deploy Memcached using Airskiff and submitted Deckhand changes.
# timeout: 9600
# pre-run:
# - tools/gate/playbooks/git-config.yaml
# - tools/gate/playbooks/airskiff-reduce-site.yaml
# run: tools/gate/playbooks/airskiff-deploy.yaml
# post-run: tools/gate/playbooks/debug-report.yaml
# required-projects:
# - airship/treasuremap
# vars:
# CLONE_DECKHAND: false
# DECKHAND_IMAGE_DISTRO: ubuntu_focal
# HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.14.2-linux-amd64.tar.gz
# HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
# OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
# OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
# DISTRO: ubuntu_focal
# irrelevant-files: *irrelevant-files
- job:
name: deckhand-airskiff-deployment-focal-kubeadm
nodeset: treasuremap-airskiff-1node-ubuntu_focal
name: deckhand-airskiff-deployment-jammy-kubeadm
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
description: |
Deploy Memcached using Airskiff and submitted Deckhand changes.
parent: deckhand-base
vars:
site: airskiff
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.14.2-linux-amd64.tar.gz
HTK_COMMIT: 05f2f45971abcf483189358d663e2b46c3fc2fe8
OSH_INFRA_COMMIT: 05f2f45971abcf483189358d663e2b46c3fc2fe8
OSH_COMMIT: 049e679939fbd3b0c659dd0977911b8dc3b5a015
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz
HTK_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b
OSH_INFRA_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b
OSH_COMMIT: 540df5cb0dbdaed63c202e2d6f2b7891062f8203
TREASUREMAP_COMMIT: refs/changes/43/927643/2
CLONE_DECKHAND: false
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
DOCKER_REGISTRY: localhost:5000
MAKE_DECKHAND_IMAGES: true
gate_scripts_relative_path: ../../airship/treasuremap
@ -286,6 +268,7 @@
- ./tools/deployment/airskiff/developer/025-start-artifactory.sh
- ./tools/deployment/airskiff/developer/026-reduce-site.sh
- ./tools/deployment/airskiff/developer/030-armada-bootstrap.sh
# - ./tools/deployment/airskiff/common/sleep.sh
- ./tools/deployment/airskiff/developer/100-deploy-osh.sh
- ./tools/deployment/airskiff/common/os-env.sh
- ./tools/gate/wait-for-shipyard.sh
@ -295,7 +278,7 @@
name: deckhand-docker-build-gate
timeout: 3600
run: tools/gate/playbooks/docker-image-build.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
irrelevant-files: &non-code-files-template
- ^.*\.rst$
- ^doc/.*$
@ -305,36 +288,36 @@
- ^setup.cfg$
vars:
publish: false
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
tags:
dynamic:
patch_set: true
- job:
name: deckhand-docker-publish-ubuntu_focal
name: deckhand-docker-publish-ubuntu_jammy
description: |
Runs on every merge, unless files in a dictionary below are changed.
Builds and publishes container ubuntu images on quay.io with a set of tags
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
timeout: 3600
run: tools/gate/playbooks/docker-image-build.yaml
nodeset: treasuremap-airskiff-1node-ubuntu_focal
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
secrets:
- airship_deckhand_quay_creds
irrelevant-files: *non-code-files-template
vars:
publish: true
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
tags:
dynamic:
branch: true
commit: true
static:
- latest
- airflow_2.8.2
- airflow_2.10.0
- job:
name: deckhand-docker-tag-ubuntu_focal
name: deckhand-docker-tag-ubuntu_jammy
description: |
Runs on every merge when files in a dictionalry below are changed, and
adds git commit id tag onto the ubuntu container image published on quay.io,
@ -347,7 +330,7 @@
secrets:
- airship_deckhand_quay_creds
vars:
DISTRO: ubuntu_focal
DISTRO: ubuntu_jammy
- secret:

View File

@ -1,7 +1,18 @@
CHANGES
=======
* Update deploy-env parameters
* Kubeadm based Airskiff gate
* Fix deckhand-api dependences
* Airflow stable 2.8.2
* Airflow stable 2.8.1
* Use deploy-env role
* Rollback python deps update
* Remove openstack-helm nodeset
* Update helm toolkit reference
* Deprecating the Ingress Class Annotation
* Airflow stable 2.6.2
* Deckhand updates
* Restored ubuntu\_bionic image build
* [focal] Fix requests.body attribute deprecation
* Update airskiff deployment gate

View File

@ -25,10 +25,11 @@ USE_PROXY ?= false
PUSH_IMAGE ?= false
# use this variable for image labels added in internal build process
LABEL ?= org.airshipit.build=community
DISTRO ?= ubuntu_focal
DISTRO ?= ubuntu_jammy
DISTRO_ALIAS ?= ubuntu_focal
COMMIT ?= $(shell git rev-parse HEAD)
IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}-${DISTRO}
IMAGE_ALIAS := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}-${DISTRO_ALIAS}
export
# Build Deckhand Docker image for this project
@ -87,6 +88,13 @@ else
$(_BASE_IMAGE_ARG) \
-f images/deckhand/Dockerfile.$(DISTRO) .
endif
ifneq ($(DISTRO), $(DISTRO_ALIAS))
docker tag $(IMAGE) $(IMAGE_ALIAS)
endif
ifeq ($(DOCKER_REGISTRY), localhost:5000)
docker push $(IMAGE)
docker push $(IMAGE_ALIAS)
endif
ifeq ($(PUSH_IMAGE), true)
docker push $(IMAGE)
endif

View File

@ -10,6 +10,7 @@ libpq-dev [platform:dpkg]
libsasl2-dev [platform:dpkg]
libssl-dev [platform:dpkg]
libre2-dev [platform:dpkg]
postgresql [platform:dpkg]
postgresql-14 [platform:dpkg]
postgresql-contrib [platform:dpkg]
ethtool [platform:dpkg]
net-tools [platform:dpkg]

View File

@ -15,7 +15,7 @@
apiVersion: v1
description: A Helm chart for Deckhand
name: deckhand
version: 0.2.1
version: 0.2.2
appVersion: 1.1.0
keywords:
- deckhand

View File

@ -340,7 +340,7 @@ pod:
security_context:
deckhand:
pod:
runAsUser: 65534
runAsUser: 1000
container:
deckhand_api:
readOnlyRootFilesystem: true
@ -354,7 +354,7 @@ pod:
allowPrivilegeEscalation: false
db_sync:
pod:
runAsUser: 65534
runAsUser: 1000
container:
deckhand_db_sync:
readOnlyRootFilesystem: true

View File

@ -8,8 +8,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -17,16 +17,20 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: create
desc: Create initial documents
PUT: /api/v1.0/buckets/a/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/sample-doc.yaml
- name: error
desc: Trigger error case
PUT: /api/v1.0/buckets/b/documents
status: 409
response_headers:
content-type: application/x-yaml
data: <@resources/sample-doc.yaml

View File

@ -16,8 +16,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -25,18 +25,22 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: create_a
desc: Create documents in one bucket (a)
PUT: /api/v1.0/buckets/a/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-needs-substitution-source.yaml
- name: verify_first_bucket
desc: Verify document count and revisions
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']/documents
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
$.[*].metadata.name:
@ -56,6 +60,8 @@ tests:
desc: Create documents in a second bucket (b)
PUT: /api/v1.0/buckets/b/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/passphrase.yaml
- name: verify_second_bucket
@ -84,6 +90,8 @@ tests:
desc: Verify initial revision is unchanged
GET: /api/v1.0/revisions/$HISTORY['create_a'].$RESPONSE['$.[0].status.revision']/documents
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
$.[*].metadata.name:

View File

@ -9,8 +9,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -18,18 +18,22 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: Create initial documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/deckhand-owned-sample.yaml
- name: verify_certificate_content
desc: Verify Passphrase content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=deckhand/Certificate/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data: |
@ -62,6 +66,8 @@ tests:
desc: Verify Passphrase content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=deckhand/Passphrase/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data: hunter2

View File

@ -35,8 +35,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -44,12 +44,14 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: Create initial documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-3-layers.yaml
- name: verify_initial
@ -58,6 +60,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:
@ -80,17 +84,23 @@ tests:
desc: Push a duplicate bucket of documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-3-layers.yaml
- name: verify_ignore
desc: Verify duplicate documents were ignored
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:
@ -113,6 +123,8 @@ tests:
desc: Update a single document, ignore other documents in the bucket
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-with-update.yaml
- name: verify_update
@ -121,6 +133,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:
@ -146,6 +160,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:
@ -169,6 +185,8 @@ tests:
desc: Delete a single document
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-with-delete.yaml
- name: verify_delete
@ -177,6 +195,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
$.[*].status.revision:
@ -199,6 +219,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:
@ -224,6 +246,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4
$.[*].metadata.name:

View File

@ -8,8 +8,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -17,18 +17,22 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: Create initial documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/unusual-documents.yaml
- name: verity_list_content
desc: Verify list content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=unusual/List/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data:
@ -40,6 +44,8 @@ tests:
desc: Verify DictWithSecret content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=unusual/DictWithSecret/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data:
@ -50,6 +56,8 @@ tests:
desc: Verify String content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=unusual/String/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data: strings are useful
@ -58,6 +66,8 @@ tests:
desc: Verify Integer content
GET: /api/v1.0/revisions/$HISTORY['initialize'].$RESPONSE['$.[0].status.revision']/documents?schema=unusual/Integer/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].data: 9000

View File

@ -8,8 +8,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -17,7 +17,7 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: add_bucket_layering
desc: |-
@ -25,6 +25,8 @@ tests:
and site.
PUT: /api/v1.0/buckets/layering/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -41,12 +43,16 @@ tests:
desc: Create documents for bucket a
PUT: /api/v1.0/buckets/a/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-split-bucket-a.yaml
- name: add_bucket_b
desc: Create documents for bucket b
PUT: /api/v1.0/buckets/b/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-split-bucket-b.yaml
- name: verify_layering
@ -57,6 +63,8 @@ tests:
- schema
- metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
$.[0].schema: deckhand/LayeringPolicy/v1

View File

@ -7,8 +7,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -16,15 +16,19 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: Create initial documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/passphrase.yaml
- name: verify_missing_layering_policy_raises_conflict
desc: Verify that attempting to render documents without a layering policy raises a 409
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']/rendered-documents
status: 409
response_headers:
content-type: application/x-yaml

View File

@ -8,8 +8,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -17,12 +17,14 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: create_documents_for_validating_2_level_layering
desc: Create documents for validating 2 levels of layering (global, site)
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-2-layers.yaml
- name: verify_layering_2_layers
@ -31,6 +33,8 @@ tests:
query_parameters:
sort: schema
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 2
$.[0].schema: deckhand/LayeringPolicy/v1
@ -47,12 +51,16 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers:
content-type: application/x-yaml
response_headers: {}
- name: create_documents_for_validating_3_level_layering
desc: Create documents for validating 3 levels of layering (global, region, site)
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/design-doc-layering-sample-3-layers.yaml
- name: verify_layering_3_layers
@ -61,6 +69,8 @@ tests:
query_parameters:
sort: schema
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 2
$.[0].schema: deckhand/LayeringPolicy/v1

View File

@ -12,8 +12,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -21,13 +21,15 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: create_documents_for_validating_replacement_of_sub_source
desc: |
Create documents for validating replacement of a substitution source.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |
---
schema: deckhand/LayeringPolicy/v1
@ -102,6 +104,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
@ -128,6 +132,8 @@ tests:
Create documents for validating replacement of a layering source.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |
---
schema: deckhand/LayeringPolicy/v1
@ -222,6 +228,8 @@ tests:
query_parameters:
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 4

View File

@ -29,8 +29,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -38,7 +38,7 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize_layering_policy_base_case
desc: |
@ -47,6 +47,8 @@ tests:
is abstract has layer region.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -66,6 +68,8 @@ tests:
substitutions from secret documents.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-and-substitution-sample.yaml
- name: verify_base_case
@ -74,6 +78,8 @@ tests:
query_parameters:
metadata.name: armada-chart-01
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].metadata.name: armada-chart-01
@ -95,6 +101,8 @@ tests:
Re-initailize the layering policy with 3 layers so that the top is empty
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -113,6 +121,8 @@ tests:
Same case as before, except with a top empty layer.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-and-substitution-sample.yaml
- name: verify_empty_top_layer
@ -121,6 +131,8 @@ tests:
query_parameters:
metadata.name: armada-chart-01
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].metadata.name: armada-chart-01
@ -143,6 +155,8 @@ tests:
empty
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -162,6 +176,8 @@ tests:
Same case as before, except with multiple empty top layers.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-and-substitution-sample.yaml
- name: verify_multiple_empty_top_layers
@ -170,6 +186,8 @@ tests:
query_parameters:
metadata.name: armada-chart-01
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].metadata.name: armada-chart-01
@ -192,6 +210,8 @@ tests:
layers.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -212,6 +232,8 @@ tests:
Same case as before, except with multiple empty interspersed layers.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-and-substitution-sample.yaml
- name: verify_multiple_empty_interspersed_layers
@ -220,6 +242,8 @@ tests:
query_parameters:
metadata.name: armada-chart-01
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].metadata.name: armada-chart-01
@ -241,6 +265,8 @@ tests:
Initailize the layering policy with 2 layers.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -260,6 +286,8 @@ tests:
the correct substitution order.
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/layering-and-substitution-dag-sample.yaml
- name: verify_substitution_dependency_chain
@ -275,6 +303,8 @@ tests:
schema: armada/Chart/v1
sort: metadata.name
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 3
$.[0].metadata.name: armada-chart-01

View File

@ -9,8 +9,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -18,7 +18,7 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: |-
@ -30,6 +30,8 @@ tests:
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -114,6 +116,8 @@ tests:
schema: armada/Chart/v1
metadata.name: nova
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[*].metadata.name: nova

View File

@ -9,8 +9,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -18,12 +18,14 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: initialize
desc: Create initial documents
PUT: /api/v1.0/buckets/mop/documents
status: 200
response_headers:
content-type: application/x-yaml
data: <@resources/replacement.yaml
- name: verify_replacement_document_receives_substitution
@ -35,6 +37,8 @@ tests:
query_parameters:
schema: armada/Chart/v1
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[*].metadata.name: example-chart-01

View File

@ -28,8 +28,8 @@
defaults:
request_headers:
content-type: application/x-yaml
response_headers:
content-type: application/x-yaml
# response_headers:
# content-type: application/x-yaml
verbose: true
tests:
@ -37,12 +37,14 @@ tests:
desc: Begin testing from known state.
DELETE: /api/v1.0/revisions
status: 204
response_headers: null
response_headers: {}
- name: create_a
desc: Create documents in bucket_a
PUT: /api/v1.0/buckets/bucket_a/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: deckhand/LayeringPolicy/v1
@ -70,6 +72,8 @@ tests:
desc: Modify data value of doc-a document in bucket_a
PUT: /api/v1.0/buckets/bucket_a/documents
status: 200
response_headers:
content-type: application/x-yaml
data: |-
---
schema: example/Kind/v1
@ -88,6 +92,8 @@ tests:
desc: Verify deepdiff of modified data value of doc-a document
GET: /api/v1.0/revisions/1/deepdiff/2
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0].'bucket_a': modified
@ -105,6 +111,8 @@ tests:
desc: Verify deepdiff when revision=0 comparision_revision=0
GET: /api/v1.0/revisions/0/deepdiff/0
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0]: {}
@ -113,6 +121,8 @@ tests:
desc: Verify deepdiff when revision=0
GET: /api/v1.0/revisions/0/deepdiff/2
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0]:
@ -122,6 +132,8 @@ tests:
desc: Verify deepdiff when comparision_revision=0
GET: /api/v1.0/revisions/2/deepdiff/0
status: 200
response_headers:
content-type: application/x-yaml
response_multidoc_jsonpaths:
$.`len`: 1
$.[0]:
@ -131,6 +143,8 @@ tests:
desc: Add new document doc-b in bucket_a
PUT: /api/v1.0/buckets/bucket_a/documents
status: 200