porthole/images/etcdctl-utility
Sergiy Markin 04a8cb59b5 Porthole upgrades
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
2023-06-23 18:48:26 +00:00
..
2023-06-23 18:48:26 +00:00

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
  1. Add the following entries to /etc/sudoers.
        root    ALL=(ALL) NOPASSWD: ALL
        ubuntu  ALL=(ALL) NOPASSWD: ALL
  1. 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:/$