Commit Graph

58 Commits

Author SHA1 Message Date
Ruslan Aliev a58678d5d2 Add configurable ETCD parameters to aux cluster
Bump k8s, calico, etcd, coredns and helm.

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I77373c223c6ea723ee31fe51e6fb4a9e84be03f7
2024-04-18 13:22:17 -05:00
Sergiy Markin 69a74590e7 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 perfoemed based on
  airflow-2.6.2 constraints

Change-Id: I9c3e139b3437414a61af7e7c0b7d7e533fadefda
2023-08-29 21:12:11 +00:00
Sergiy Markin 32ad8a96b0 [focal] Python modules sync with Airship project
- uplifted/downgraded some python modules
- fixed falcon.API deprecation - -> falcon.App
- uplifted deckhand reference for python deps
- fixed formatting style  using yapf linter
- added bindep role and bindep.txt file with required deps
- fixed quai docker image publishing
- re-enabled openstack-tox-py38 gate job

Change-Id: I0e248182efad75630721a1291bc86a5edc79c22a
2023-04-21 06:09:14 +00:00
Wahlstedt, Walter (ww229g) 8ce937a9f7 updates for focal
add focal dockerfile
update zuul jobs for focal
update tox for tox4 changes
update all requirements to latest and match deckhand
update cfssl from R1.2 to v1.6.3
fixed local gates for focal
updated examples promenade manifests to run on focal

Change-Id: I2af4043784766d36588c6f738053ad66e7b89a90
2023-02-27 12:11:07 -05:00
Sean Eagan 731deccf05 charts: move to helm 3 preferred apis
- `helm.sh/hook: test-success` > `helm.sh/hook: test`

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: If7dded45533705ee028e5d6da326ea94a634529d
2021-09-30 16:57:16 -05:00
Sean Eagan 9d696ca0a4 Use helm 3 in chart build
`helm serve` is removed in helm 3 so this moves
to using local `file://` dependencies [0] instead.

[0]: https://helm.sh/docs/chart_best_practices/dependencies/#repository-urls

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: Ia45c57e0cccac477f6ff59a254d03d6fcec14bef
2021-09-30 16:57:05 -05:00
Phil Sphicas c7e72942a9 Remove hyperkube extraction functionality
The extraction of the monolithic hyperkube binary from its container
image to be used as kubelet was last relevant in Kubernetes 1.16. Since
then, the hyperkube image has been deprecated, the structure of the
image has been changed, and it has ultimately been eliminated in
Kubernetes 1.19.

This change cleans up promenade accordingly.

Reverts the following commits:
* 886007b New CLI option to extract hyperkube
* 32a6c15 hyperkube image in promenade init
* 955deed New source for hyperkube binary definition

Change-Id: Ib62ecdf1af13abe8202a4ba4f86c39b9042ed13f
2021-02-11 17:23:32 +00:00
Chris Wedgwood 630e504e3e Update to container image repo k8s.gcr.io
gcr.io/google_containers/ no longer contains some of the image
versions we require, use the new location.

Change-Id: I8f9a976a35ca632d785dd4d05f2a55713bde8c3e
2021-01-11 17:42:31 +00:00
Andrii Ostapenko 940253563a
Change helm-toolkit dependency version to ">= 0.1.0"
Since we introduced chart version check in gates, requirements are not
satisfied with strict check of 0.1.0

Change-Id: Ifd2d7af1f2dabe9bbccd65551e0223dddff529dc
2020-09-24 19:43:10 -05:00
Mahmoudi, Ahmad (am495p) c302a083a6 Upgrade k8s from v1.17.3 to v1.18.6
This ps makes following changes to upgrade kubernetes from v1.17.3
to v1.18.6.
  - Updated all references to k8s images to 1.18.6
  - Updated command options and api object and versions based on
    k8s 1.18 release notes:
      https://kubernetes.io/docs/setup/release/notes/
  - Uplifted uwsgi to 2.0.19.1 to align with other airship
    components, and to bring in fixes and improvements.
  - Added build-essentials and python3-dev packages to pass the zull
    gate, which was looking for a c compiler.

Change-Id: I1160d1e6e2f02a0524043641b9296ea39edb301e
2020-08-19 15:56:45 +00:00
KHIYANI, RAHUL (rk0850) 4eb069dd88 Add missing security context template to promenade init container
This change adds security context template at container level
to implement readOnly-fs flag

Change-Id: Iab814a3dd5a9bc46251939d6335af6aab21e5eb5
2020-08-05 13:23:33 -05:00
KHIYANI, RAHUL (rk0850) 62c4040a41 Implement helm-toolkit snippet to promenade test pods/containers
This updates the promenade chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag to true

Change-Id: I688017f329b267e75178053b8e18d56090900f11
2020-07-02 09:56:38 -05:00
Smruti Soumitra Khuntia da7c79f6b9 Upgrade Hyperkube version from 1.16.2 to 1.17.3
Changes to use to Hyperkube v1.17.3 instead  of
v1.16.2

Change-Id: I442694afad7f718dcd4db7fa7bb2c60beec8bdaa
2020-05-22 15:23:37 +00:00
KHIYANI, RAHUL (rk0850) 83104b345f Promenade: Add apparmor profile to promenade charts
This change adds apparmor profile to coredns, haproxy, etcd and
promenade charts

Change-Id: Ic0000f0bf515f6ddf0085b5ec0085a5a51e591b2
2020-05-18 16:18:28 +00:00
KHIYANI, RAHUL (rk0850) 535e39262b promenade: Add default apparmor profile to init containers
Adding profile to promenade-util and haproxy-perms init containers

Change-Id: I46f4c6a3fe561f994860a9434d7e5cb10884e190
2020-04-30 09:42:40 -05:00
Zuul 68337cd83c Merge " Add Docker default AppArmor profile to promenade" 2020-02-18 18:08:08 +00:00
Zuul 146a9a5b8e Merge "promenade: convert configmap-etc to secret" 2020-02-12 21:39:29 +00:00
NarlaSandeepNarlaSaibaba fc331e5124 Add Docker default AppArmor profile to promenade
Change-Id: Ic3983f963ae5003445642f842a9c550cf49d4d34
2020-02-12 01:19:30 -06:00
Matt McEuen bfd4924452 promenade: convert configmap-etc to secret
This converts the etc configmap to be a secret, whic provides
additional obfuscation against accidental inspection of secrets.

Change-Id: Ifd522a786eb751e7fad35d3f9ee17ec2bb87e010
2019-12-17 15:07:57 -06:00
Samuel Pilla b77c6fe637 Upgrade Hyperkube version for k8s 1.16
Upgrade Hyperkube to v1.16.2

Change-Id: I3f17ac007e3704c1f4ae2f79e0c41704074c2010
2019-12-06 18:20:13 +00:00
Evgeny L 5d67e96441 Allow to configure service network policy
The patch introduces network policy configuration similar
to openstack-helm services. It allows users to configure
policies depending on the environment.

* Network policies are disabled by default.
* When enabled default policies allow all ingress and
  egress traffic (i.e. policy set to {}), this may be
  changed in future patch-sets.

Change-Id: Ie73a33f5e27c3bc97748a86378abfab4ed6222e8
2019-09-20 19:54:10 +00:00
Luna Das d50735681a Add facility to configure log levels in promenade
Add 'INFO' as default log level.Create logging
section in /etc/promenade/promenade.conf. Set log_level
key in the logging section of promenade.conf to override
the default log level.The allowed log_level values are
as follows:
	1. 'DEBUG'
        2. 'INFO'
        3. 'WARNING'
        4. 'ERROR'
        5. 'CRITICAL'

Add log_level under logging section in promenade charts values.yaml.

Change-Id: I9bbd36e04bbac96779d3f198b0484176e0045a4e
2019-08-07 19:53:57 +05:30
Egorov, Stanislav (se6518) 32a6c15ffd hyperkube image in promenade init
Use hyperkube image for promenade init container.
It's purpose is to extract and cache hyperkube binary from image.
This binary will be used in promenade-api container as a backup plan.

Init container stores binary in a shared volume where
promenade-api container can use it. It will use it when
promenade config has no docker endpoint to call docker API
from promenade source code.

See https://review.opendev.org/657953 for reference.

Change-Id: I7edcb1acbe0d864324a4341c682bbcb9b110c4eb
2019-06-28 12:46:28 -07:00
Zuul 78f76b6ecd Merge "Add release uuid annotation to POD spec" 2019-06-26 13:33:19 +00:00
Kumar, Nishant(nk613n) 75d3a86234 Add release uuid annotation to POD spec
Change-Id: Id4a96de7da9233589b54217e04a346281eaea68c
2019-06-25 14:55:05 +00:00
Dejaeger, Darren (dd118r) d46d4bf85c Add node selector to test pods
This PS looks to add a node selector into the test pod's spec.

Change-Id: I438a9bf08f6ef6c4d8961f9197928b8b17cfbbd2
2019-06-21 10:04:38 -04:00
Egorov, Stanislav (se6518) 955deeda41 New source for hyperkube binary definition
Now it's possible to use hyperkube Docker image to extract hyperkube binary.
Use case for this feature is kubelet/kubectl delivery in one binary(hyperkube)
which is built into Docker image. Promenade will extract hyperkube from Docker image,
create symlinks for kubelet/kubectl pointed to hyperkube. To do so promenade container
need to be configured to use Docker on the host where this container will be created.
This is happening only for script generation for genesis node. Later when promenade
will be started as a service pod inside ucp cluster it will generate scripts for joining nodes
by using cached hyperkube from /tmp.

Old way to delivery kubelet from tarball is still supported.

Configuration for the new method.

Need to export environment variables to properly configure Docker in Docker.
Docker socket should be provided as a mounted file inside promenade.
Also need to set temporary permissions for this socket during the build scripts stage.

Example:
DOCKER_SOCK="/var/run/docker.sock"
sudo chmod o+rw $DOCKER_SOCK
export DOCKER_HOST="unix:/${DOCKER_SOCK}"
export PROMENADE_TMP="abs_path_tmp_dir_on_host"
export PROMENADE_TMP_LOCAL="tmp_dir_inside_container"

After genesis scripts generation Docker socket permission should be turned back:
sudo chmod o-rw $DOCKER_SOCK

Change-Id: Ida22ea934fc551fec34df162d8147c8b9e630330
2019-06-06 10:30:29 -07:00
Zuul 2741ea1f90 Merge "Use apps/v1 k8s controllers and add labels" 2019-04-24 13:08:37 +00:00
Sean Eagan 2e2a30515c Use apps/v1 k8s controllers and add labels
Daemonset update strategy defaults to OnDelete in v1beta1, whereas
it defaults to RollingUpdate in v1, which seems prefereable.

This also adds helm-toolkit based labels at the controller level
to match standard usage such as for example by armada as wait labels.

This change has been tested using the promenade resiliency gate.

Change-Id: I9fd1bc4caedc0a6717b779e5333640ca8dc78b7e
2019-04-23 09:24:53 -05:00
RAHUL KHIYANI 479433aa80 Promenade: Add security context for pod/container
This adds a security context to the promenade chart, which
changes the pod's user from root to the nobody user instead

This also adds the container security context to set
allowPrivilegeEscalation to false and readOnlyRootFilesystem to true

Change-Id: I269d034f6f8a1c14f2897bb375e899abc99e0c01
2019-04-09 20:21:02 -05:00
Mark Burnett 621669d7d4 Fix incorrect volumeMount entry for policy.yaml
Change-Id: I49ad7e897543f230475f9c7d1aec5d002293077d
2018-12-20 16:24:22 -06:00
Rahul Khiyani e7f61a12fa [US:349446] Adding capabilites for reading policy.yaml file.
Change-Id: I202a98d37988d57e0f09e15200d719f9111231d3
2018-12-12 11:09:44 -05:00
Matt McEuen eae60aba15 Add release uuid to pods and rc objects (prom)
This PS adds the ability to attach a release uuid to pods and rc
objects as desired.  This can be used, for example, to force an
artificial manifest change in CICD scenarios, for upgradability
testing purposes.

Change-Id: I8d0ffac306258f940c63799e86e7e26b5c2c5add
2018-10-16 12:43:32 -05:00
Roman Gorshunov f44b3cc384 Fix: various documentation and URL fixes
1) UCP -> Airship
2) readthedocs.org -> readthedocs.io (there is redirect)
3) http -> https
4) attcomdev -> airshipit (repo on quay.io)
5) att-comdev -> openstack/airship-* (repo on github/openstack git)
6) many URLs have been verified and adjusted to be current
7) no need for 'en/latest/' path in URL of the RTD
8) added more info to some setup.cfg and setup.py files
9) ucp-integration docs are now in airship-in-a-bottle
10) various other minor fixes

Change-Id: I55f546b8ad22bf2e3097ff831d021ed5a35059de
2018-09-25 11:44:57 +02:00
Drew Walters a41db85b0f Update Keystone API ports in Promenade chart
This change modifies the internal Keystone API port in the Promenade
chart from 80 to 5000 and removes the default admin port to match the
Keystone chart provided by OpenStack-Helm.

Change-Id: I123aed5ba2408f4bc1369910cb9b6c3992970e45
2018-08-23 22:40:09 +00:00
Mark Burnett ea4c9b73e4 Remove unused image references
Change-Id: I152ccc1d8b10bdad89bff1f3cabc471ffd8d0734
2018-07-23 11:17:41 -05:00
Mark Burnett 9cb2c5a5ca Add local file cache for Builder tarball fetch
Change-Id: I4741b50c4a4b505f4f70ff2cbc5e9689b9f28b7b
2018-06-25 07:51:44 -05:00
anthony.lin 6e81ed7b40 Update Labels - Application/Component
1) Kubernetes Template (Bootstrap)
2) Other charts within Promenade Repo

Change-Id: I872802112587bdff84d3630a5b2542dc4b3f77f8
2018-05-30 22:56:15 +08:00
Anthony Lin 8060aa9783 Update HTK Path - OSH Infra
Updated configurations to point to openstack-helm-infra
for reference to helm-toolkit as helm-toolkit has been
removed from the openstack-helm repo [0]

Also aligned with changes to the keystone user set up in
OSH using Helm ToolKit so as to get pass Helm Lint.

[0] https://review.openstack.org/#/c/558065/

Change-Id: I10645c907565df4fd7920ae6ef0615348517f969
2018-05-15 13:47:51 +00:00
Mark Burnett 8a7791e13a Bump Kubernetes version from 1.8.6 to 1.10.2
* Updates version references
* Increase memory of test VMs due to higher usage with bump
* Move etcd chart scripts from /tmp to /tmp/bin
* Remove certificate signing options for controller manager
* Remove -a from `kubectl get pods`, since that is deprecated in 1.10
* Shorten liveness/readiness probe times for CoreDNS

Change-Id: I16db0370f1c619e16002dd58e29025eb1538691f
2018-05-04 09:21:18 -05:00
Aaron Sheffield 2885218d35 Add Helm test for HAProxy
- Added a helm test to test HAProxy's health via kubernetes healthz endpoint.

Change-Id: I0ffba39d4e4245fad69c27f0fcafdcb58fdc9067
2018-04-19 12:16:27 -04:00
Aaron Sheffield d1b6e1e676 Fix Promenade Helm Test Linting
- Removed 'api' from the resources for test.

Change-Id: Ia46d1d0abd3c6364f7552e4d95147c006124e355
2018-04-11 11:04:15 -05:00
Aaron Sheffield f360201920 Added basic Promenade Helm Test
- Added a Helm test for Promenade that calls the health check api.

Change-Id: Ic7ac7f35e20c920d1b2635dce01da2b559db036d
2018-04-10 11:23:46 -04:00
Pete Birley c11dc22e08 Images: depreciate kolla heat-engine image for LOCI
This PS deprecates the kolla heat-engine image for it's LOCI
replacement.

Change-Id: If9eb615be127041ab3d66f94fdd83cd7d765c414
2018-03-09 03:04:39 +00:00
Mark Burnett b4449434a5 Fix DNS name list for kube services in certs
* Also adds liveness and readiness probes for Prom deployment

Change-Id: Id65d1e555e14478f2439c14dd6d6d7952411256d
2018-02-14 15:33:41 -06:00
Mark Burnett ff3787c2ad Use HAProxy for apiserver discovery
This removes the reliance on coredns for APIserver discovery, allowing
a simpler configuration that is compatible with corednx 1.0.x

Change-Id: Ia3b7b5627c16ec47af6b0d6d5e8dee2674e9b1ee
2018-02-08 14:30:35 -06:00
Mark Burnett eeee591f8e Add deckhand design_ref support
* Add ability to fetch design from Deckhand
* Add functional testing for Deckhand design_ref integration
* Update complete example to work with changes to Ceph chart

Change-Id: Ice25a27b340e68a8ab38a23021cd91e032ca537b
2018-01-22 08:28:19 -06:00
Mark Burnett a245d57eba Delete now-unneeded RBAC chart
Change-Id: I7a97e7e1aa3fb0ab4083fbd02055a211c9abc1b4
2018-01-19 16:00:37 -06:00
Mark Burnett 8992927f4d Support HTTP proxy in the Promenade API deployment
Change-Id: Iac99c4ea7c5b6f381910fd97207b3a16d644de75
2018-01-08 12:49:15 -05:00
Mark Burnett 2215843d72 Remove unneeded configuration
Removing use of some helm-toolkit features that are not needed.

Change-Id: Ic9e01e3669604d2329eb0b10303e1b38ac9f60fc
2018-01-08 10:25:22 -05:00