
This PS delivers the following changes: - adds values_overrides folders into utility binaries charts for flexible testing the charts and images; - values_overrides added to .helmignore files for every chart; - added munch python package into bionic images for compartibility with newer openstack client dependences; - improved Makefile clean section; - uses treasuremap v1.9 deploy-k8s.sh script to deploy test k8s cluster; - adds appropriate changes to deploy k8s script, setup apparmor; - porthole utility charts deployment script have been enriched with and ability to control additional values from values_overrides folders of each chart; - added env-variables.sh and get-values-overrides.sh to power up the changes describes in previous point; - removed deploy.sh script for clarity of actions in playbooks; - improved airship-porthole-gate-runner playbook; - removed install-deps playbook that was used to pre-setup zuul gate; - united make-unit-tests and make-feature-tests playbooks into one make-functional tests playbook; - helm version has been bumped up to 3.11.1; - improved helm_tk.sh script in order to solve issues with multiple charts build process; - bumped up version of stable helm-toolkit used for charts build; - airship-porthole-gate-runner playbook is now used as pre-run script for tox profiles gates and as main run playbook for functional tests gate; Change-Id: I202c573ff85ed2b80191057b537a65a5f5d4600e
Etcdctl Utility Container
Prerequisites: Deploy Airship in a Bottle (AIAB)
To get started, deploy Airship and OpenStack Helm (OSH). Execute the following in a fresh Ubuntu 16.04 VM having these minimum requirements:
- 4 vCPU
- 20 GB RAM
- 32 GB disk storage
- Add the following entries to
/etc/sudoers
.
root ALL=(ALL) NOPASSWD: ALL
ubuntu ALL=(ALL) NOPASSWD: ALL
- Install the latest versions of Git, CA Certs, and Make if necessary.
set -xe \
sudo apt-get update \
sudo apt-get install --no-install-recommends -y \
ca-certificates \
git \
make \
jq \
nmap \
curl \
uuid-runtime
Deploy Airship in a Bottle (AIAB)
Deploy Airship in a Bottle (AIAB), which deploys the etcdctl-utility pod.
sudo -i \
mkdir -p root/deploy && cd "$_" \
git clone https://opendev.org/airship/treasuremap \
cd /root/deploy/treasuremap/tools/deployment/aiab \
./airship-in-a-bottle.sh
Usage and Test
Get into the etcdctl-utility pod using kubectl exec
.
Perform an operation as in the following example.
kubectl exec -it <POD_NAME> -n utility -- /bin/bash
Example:
utilscli etcdctl member list
utilscli etcdctl endpoint health
utilscli etcdctl endpoint status
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl member list
90d1b75fa1b31b89, started, ubuntu, https://10.0.2.15:2380, https://10.0.2.15:2379
ab1f60375c5ef1d3, started, auxiliary-1, https://10.0.2.15:22380, https://10.0.2.15:22379
d8ed590018245b3c, started, auxiliary-0, https://10.0.2.15:12380, https://10.0.2.15:12379
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl endpoint health
https://kubernetes-etcd.kube-system.svc.cluster.local:2379 is healthy:
successfully committed proposal: took = 1.787714ms
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl alarm list
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl version
etcdctl version: 3.4.2
API version: 3.3
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$