-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature/137 service management (#143)
* Implementation done for basic commands using ConfigMap, tests needed and DrainAndTerminate needed * k8s state propogation working, unit test needed and stateful management of queue sub systems remain to be implemented * Added trigger for testing purposes * cuda discovery changes during builds * Improved CUDA results for test builds * Support for k8s hosted builds and tests, a TODO might be to add something like https://github.com/GoogleContainerTools/kaniko * Get rid of github testing token and retire it from the github test account * Fix naming convention for k8s config maps * Add update case for configMap * Broadcast tests implemented * RMQ no longer leaking auth data, k8s configmap states verified as stopping processing manually, prometheus now available for counters to confirm this when test validation is written * k8s testing filter added * RMQ incorporated into k8s test * relocate rmq directories to prevent server panics, push expensive cache test to kubernetes only * Allow testing code in one package to test the queue availability in the production code of another package * Moved queue probe test info the runner package non test section so it can be used throughout the system * Use state updates from within the cmd runner directory not inside the internal package * Add support for dynamic namespaces supplied by the k8s downward API * Expand env vars inside the amqp references during a new, added cluster role bindings for k8s side testing * Work on the k8s logic for testing * Port number needs the bump to be converted into the admin port * Admin timing out a lot add a timeout of our own * Make test queue name compliant with defaults that are used by studio * Admin timing out a lot add a timeout of our own, increase it to 15 seconds * Header timeouts now an issue, manually specify one * Change queue checking intervals to allow the test to detect queues and run the processing service logic * Syntax fix * Set initial state to running * Added auto configuration of the exchange when testing is being used * Debug amqp bindings in the cluster * Debugging and testing pass * Add the step to catch ignored passes, do some logging cleanup * Match up the auto delete setting between the amqp clinet and the rabbit hole client * Give the prometheus dimension a value * Fix metrics names * change success criteria * Add checked and ignored counter to verify the test case for the state management * Add checked and ignored counter to verify the test case for the state management * Improve k8s test builds documentation * Doc changes and unused var rem0ved * End to end test for states within k8s config maps including global and host specific versions * Work on getting the namespace auto detected * Add a push of a state to flush out the updates and prevent the listener going silent on a state modification that results in no update because the state was already at that value * Add handling for when a config map is not yet created * Fix error handling * Additional logging for test validation * Allow the logger to use a striner method * Debugging * Debugging * Use the main logger when running tests in the server * When logging in the main runner dont overload the logger * Expunge the last of the assignments to logger * Message logging * Version bump * Add change log entries for the 0.8.0 release * Add change log entries for the 0.8.0 release
- Loading branch information
Showing
84 changed files
with
85,055 additions
and
335 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# linguist is a package used by github to characterise the files in your code base, see https://github.com/github/linguist | ||
|
||
# For an explanation of using these flags with the vendor directory please read https://medium.com/@clarkbw/managing-generated-files-in-github-1f1989c09dfd | ||
|
||
vendor/**/* -diff -merge | ||
vendor/**/* linguist-vendored | ||
|
||
docs/* linguist-documentation | ||
|
||
internal/datatypes/*_enumer.go linguist-generated=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,3 +18,4 @@ pkg/ | |
src/ | ||
certs/ | ||
Dockerfile.tmp | ||
clusters |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
FROM ubuntu:16.04 | ||
|
||
MAINTAINER [email protected] | ||
|
||
ENV LANG C.UTF-8 | ||
|
||
ENV CUDA_8_DEB "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb" | ||
ENV CUDA_9_DEB "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb" | ||
ENV CUDA_PACKAGE_VERSION 8-0 | ||
ENV CUDA_FILESYS_VERSION 8.0 | ||
ENV NVIDIA_VERSION 384 | ||
|
||
RUN apt-get -y update && apt-get -y upgrade | ||
|
||
RUN \ | ||
apt-get -y install apt-transport-https software-properties-common wget openssl ssh curl jq apt-utils && \ | ||
apt-get -y install make git gcc && apt-get clean | ||
|
||
RUN cd /tmp && \ | ||
wget -q -O /tmp/cuda_8.deb ${CUDA_8_DEB} && \ | ||
dpkg -i /tmp/cuda_8.deb && \ | ||
apt-get -y update && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends nvidia-cuda-dev cuda-nvml-dev-${CUDA_PACKAGE_VERSION} && \ | ||
rm /tmp/cuda*.deb && \ | ||
apt-get clean | ||
|
||
#wget --quiet -O /tmp/cuda_9.deb ${CUDA_9_DEB} && \ | ||
#dpkg -i /tmp/cuda_9.deb && \ | ||
# apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub && \ | ||
#apt-get -y update && \ | ||
#DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends cuda-runtime-9-2 && \ | ||
#rm /tmp/cuda*.deb | ||
|
||
RUN \ | ||
ln -s /usr/local/cuda-${CUDA_FILESYS_VERSION} /usr/local/cuda && \ | ||
ln -s /usr/local/cuda/targets/x86_64-linux/include /usr/local/cuda/include && \ | ||
ln -s /usr/lib/nvidia-${NVIDIA_VERSION} /usr/lib/nvidia && \ | ||
apt-get clean && \ | ||
apt-get autoremove | ||
|
||
|
||
ENV GO_VERSION 1.11 | ||
|
||
RUN mkdir -p /project/go && \ | ||
mkdir -p /project/src/github.com/SentientTechnologies && \ | ||
cd /project && \ | ||
wget -q -O /tmp/go.tgz https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz && \ | ||
tar xzf /tmp/go.tgz && \ | ||
rm /tmp/go.tgz | ||
|
||
RUN mkdir -p /project/.local/bin && \ | ||
wget -q -O /project/.local/bin/minio https://dl.minio.io/server/minio/release/linux-amd64/minio && \ | ||
chmod +x /project/.local/bin/minio | ||
|
||
# Install RabbitMQ, originally from https://github.com/dockerfile/rabbitmq/blob/master/Dockerfile | ||
RUN wget -q -O - 'https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc' | apt-key add - && \ | ||
echo "deb https://dl.bintray.com/rabbitmq/debian xenial main erlang" | tee /etc/apt/sources.list.d/bintray.rabbitmq.list && \ | ||
apt-get update && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y rabbitmq-server && \ | ||
rabbitmq-plugins enable rabbitmq_management && \ | ||
echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config && \ | ||
mkdir -p /data | ||
|
||
ENV RABBITMQ_LOG_BASE /data/log | ||
ENV RABBITMQ_MNESIA_BASE /data/mnesia | ||
|
||
ENV GOPATH=/project | ||
ENV PATH=$GOPATH/bin:$PATH | ||
ENV PATH=$PATH:/project/.local/bin:/project/go/bin | ||
ENV GOROOT=/project/go | ||
|
||
ENV LOGXI='*=INF' | ||
ENV LOGXI_FORMAT='happy,maxcol=1024' | ||
|
||
WORKDIR /project/src/github.com/SentientTechnologies | ||
|
||
RUN mkdir $GOPATH/bin && \ | ||
(curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh) && \ | ||
git config --global url."git://github.com".insteadOf "https://github.com" && \ | ||
go get github.com/karlmutch/enumer | ||
|
||
CMD /bin/bash -c 'git clone https://github.com/SentientTechnologies/studio-go-runner.git && cd studio-go-runner && ( [[ -n $GIT_BRANCH ]] && git checkout $GIT_BRANCH ) && git branch && dep ensure && go generate ./internal/types && go run build.go -r -dirs=internal && go run build.go -r -dirs=cmd' | ||
|
||
# Done last to prevent lots of disruption when bumping versions | ||
LABEL vendor="Sentient Technologies INC Open Source" \ | ||
ai.sentient.module.version={{.duat.version}} \ | ||
ai.sentient.module.name={{.duat.module}} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.