blob: 81f076524f1425e2fdc517c251789ebfaa872a05 [file] [log] [blame]
David Bainbridgecfd7ca12019-10-06 03:31:41 +00001#!/bin/bash
2# Copyright 2019 Ciena Corporation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16# This script calculates the SIZE of the ETCD database
17
18set -o pipefail
19
David Bainbridge1d2c5842020-06-03 15:29:07 -070020ETCD=$(kubectl -n "$INFRA_NS" get pods 2>&1 | grep etcd | awk '{print $1}' | head -1)
David Bainbridgecfd7ca12019-10-06 03:31:41 +000021if [ -z "$ETCD" ]; then
22 echo "N/A"
23else
David Bainbridge1d2c5842020-06-03 15:29:07 -070024 VALUE=$(kubectl -n "$INFRA_NS" exec -ti $ETCD -- sh -c 'ETCDCTL_API=3 etcdctl --command-timeout=10s endpoint status -w json' 2>/dev/null | tr -d '\r\n' | jq .[].Status.dbSize 2>/dev/null)
David Bainbridgecfd7ca12019-10-06 03:31:41 +000025 if [ -z "$VALUE" ]; then
26 echo "N/A"
27 else
28 numfmt --to=iec $VALUE
29 fi
30fi