A declarative framework for resilient Kubernetes deployment.
Go to file
Phil Sphicas 3e28b0ee2d Fix kube-apiserver anchor script rendering
This change corrects two rendering issues in the kube-apiserver anchor
script. The details and impact are mentioned below.

1. The kube-apiserver anchor script fails to clean up some files from
the host, because the path is incomplete. For example, the cleanup()
function of the script includes:

    rm -f "/host/acconfig.yaml"

instead of

    rm -f "/host/etc/kubernetes/apiserver/acconfig.yaml"

2. A recent change to allow fileless command options [0] caused some
extraneous lines to end up in the script. For example, the rendered
script includes:

    snapshot_files() {
        cp "/tmp/etc/" "${SNAPSHOT_DIR}/etc/kubernetes/apiserver/"
    }

    compare_copy_files() {
        SRC="${SNAPSHOT_DIR}/etc/kubernetes/apiserver/"
        DEST="/host/etc/kubernetes/apiserver/"
        if [ ! -e "${DEST}" ] || ! cmp -s "${SRC}" "${DEST}"; then
            mkdir -p $(dirname "${DEST}")
            cp "${SRC}" "${DEST}"
            chmod go-rwx "${DEST}"
        fi
    }

    cleanup() {
        rm -f "/host/"
    }

Since the 'cp' and 'rm' commands don't include '-r', this is actually
non-impacting, other than some log messages.

0: https://review.opendev.org/c/airship/promenade/+/788092

Change-Id: Id0a47727d56268d13ebb4718b8578d94272c2181
2021-08-09 16:45:24 +00:00
.github Update Airship vulnerability link 2020-05-18 21:27:18 +00:00
charts Fix kube-apiserver anchor script rendering 2021-08-09 16:45:24 +00:00
doc Uplift tiller and helm install script to v2.17.0 2021-08-09 09:37:48 -07:00
etc/promenade Minor testing-related cleanup 2018-01-02 10:14:10 -06:00
examples Uplift tiller and helm install script to v2.17.0 2021-08-09 09:37:48 -07:00
images/promenade Gate stability improvements 2021-04-30 14:08:24 -07:00
promenade Kubelet warning fix 2021-07-27 18:58:46 +00:00
tests Uplift tiller and helm install script to v2.17.0 2021-08-09 09:37:48 -07:00
tools Uplift tiller and helm install script to v2.17.0 2021-08-09 09:37:48 -07:00
.dockerignore Remove tests from images 2018-08-02 15:37:18 -05:00
.gitignore Upgrade mismatch dependencies for pegleg 2019-09-20 15:23:21 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:18 +00:00
.readthedocs.yaml Fix: Promenade Exceptions docs rendering on RTD 2019-08-27 22:57:15 +02:00
.zuul.yaml fix - pep8 and image build gates 2020-09-22 08:42:40 -05:00
LICENSE Initial commit 2017-02-14 11:13:39 -08:00
Makefile Makefile; clean should include .tox 2020-12-08 12:21:44 -06:00
README.md Update the README.md File 2018-07-30 15:52:23 -05:00
entrypoint.sh [uwsgi] remove extraneous argument 2020-04-23 22:28:39 +00:00
requirements-direct.txt Remove hyperkube extraction functionality 2021-02-11 17:23:32 +00:00
requirements-frozen.txt Gate stability improvements 2021-04-30 14:08:24 -07:00
requirements.txt Pull requirements-direct into requirements 2019-08-26 13:52:04 +00:00
setup.cfg Fix outdated external references 2019-09-06 13:11:17 -05:00
setup.py Enable using PBR for package library 2018-10-25 17:04:29 -05:00
test-requirements.txt Update pip package versions in preparation of pip 20.3 2020-09-28 16:34:04 -04:00
tox.ini Adjust plugin cri parameters 2020-03-26 05:02:37 +00:00

README.md

Promenade

Promenade is a tool for bootstrapping a resilient Kubernetes cluster and managing its life-cycle via Helm charts.

Documentation can be found here.

Roadmap

The detailed Roadmap can be viewed on the OpenStack StoryBoard.

  • Cluster bootstrapping
    • Initial Genesis process results in a single node Kubernetes cluster with Under-cloud components deployed using Armada.
    • Joining sufficient master nodes results in a resilient Kubernetes cluster.
    • Destroy Genesis node after bootstrapping and re-provision as a normal node to ensure consistency.
  • Life-cycle management
    • Decommissioning of nodes.
    • Updating Kubernetes version.

Getting Started

To get started, see getting started.

Configuration is documented here.

Bugs

Bugs are tracked in OpenStack StoryBoard.