You are browsing a read-only backup copy of Wikitech. The primary site can be found at wikitech.wikimedia.org
User:JMeybohm/Docker-Registry-Stresstest
< User:JMeybohm
Jump to navigation
Jump to search
Revision as of 13:04, 20 May 2021 by imported>JMeybohm
#!/bin/bash
REPO=docker-registry.discovery.wmnet
IMAGE=restricted/mediawiki-multiversion
TAG=2021-05-14-185433-publish
test_name=$1
repo_uri="https://${REPO}"
# Craft the AuthConfig object needed to authenticate to docker-registry.discovery.wmnet
basicauth=$(sudo cat /var/lib/kubelet/config.json | jq -r ".auths.\"${repo_uri}\".auth" | base64 -d)
if [ -z "$basicauth" ]; then
echo "Credentials for docker registry not found, aborting"
exit 1
fi
arr=(${basicauth//:/ })
auth=$(echo -n "{\"username\": \"${arr[0]}\",\"password\": \"${arr[1]}\",\"serveraddress\": \"${repo_uri}\"}" | base64 -w 0)
cd /home/jayme
mkdir -p ./pulltiming/
if [ -n "$test_name" ]; then
outfile_base="${HOSTNAME}_${test_name}_$(date +%s)"
else
outfile_base="${HOSTNAME}_$(date +%s)"
fi
for idx in $(seq 3); do
outfile="${outfile_base}_${idx}"
sudo docker rmi "${REPO}/${IMAGE}:${TAG}" > /dev/null 2>&1
sudo curl -s --unix-socket /var/run/docker.sock -XPOST \
-d "fromImage=${REPO}/${IMAGE}&tag=${TAG}" \
-H "X-Registry-Auth: ${auth}" \
'http://docker/v1.18/images/create' | \
jq -c --unbuffered '. + {time: now}' > "./pulltiming/${outfile}.json"
done
chown jayme:wikidev -R ./pulltiming/
# cumin1001
HOSTS="kubernetes[2001-2017].codfw.wmnet,kubestage[2001-2002].codfw.wmnet"
sudo SSH_AUTH_SOCK=/run/keyholder/proxy.sock clush -v -w $HOSTS --copy /home/jayme/pulltiming.sh --dest /home/jayme/
for n in $(seq 1 10); do hosts=$(nodeset --pick=$n -f $HOSTS); sudo cumin --force $hosts "/home/jayme/pulltiming.sh p${n}"; done
# Grab results from nodes
sudo SSH_AUTH_SOCK=/run/keyholder/proxy.sock clush -v -w $HOSTS --rcopy /home/jayme/pulltiming --dest /home/jayme/pulltiming/
sudo chown jayme:wikidev -R pulltiming
# local
ssh cumin1001.eqiad.wmnet "tar cfz - pulltiming" | tar xfz -
Script to parse/process the data: https://phabricator.wikimedia.org/P15954