Last active
July 25, 2019 02:29
-
-
Save kyujin-cho/5b5d1e38843d34746e142a817d51efa7 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
#!/bin/bash | |
sudo apt update | |
if ! hash docker 2>/dev/null; then | |
echo 'docker is not installed; installing...' | |
sudo apt-get install -y \ | |
apt-transport-https \ | |
ca-certificates \ | |
curl \ | |
gnupg2 \ | |
software-properties-common | |
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - | |
if [ $(lsb_release -is) == "Debian" ]; then | |
sudo add-apt-repository -y \ | |
"deb [arch=amd64] https://download.docker.com/linux/debian \ | |
$(lsb_release -cs) \ | |
stable" | |
else | |
sudo add-apt-repository -y \ | |
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) \ | |
stable" | |
fi | |
sudo apt-get install -y docker-ce docker-ce-cli containerd.io | |
fi | |
if ! hash docker-compose 2>/dev/null; then | |
echo 'docker-compose is not installed; installing...' | |
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
sudo usermod -aG docker $(whoami) | |
newgrp docker | |
fi | |
if ! hask kubectl 2>/dev/null; then | |
echo 'kubectl is not installed; installing...' | |
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl | |
chmod +x ./kubectl | |
sudo mv ./kubectl /usr/local/bin/kubectl | |
fi | |
sudo apt install -y python-pip python3-pip dpkg-dev \ | |
gcc \ | |
libbz2-dev \ | |
libc6-dev \ | |
libexpat1-dev \ | |
libffi-dev \ | |
libgdbm-dev \ | |
liblzma-dev \ | |
libncursesw5-dev \ | |
libreadline-dev \ | |
libsqlite3-dev \ | |
libssl-dev \ | |
make \ | |
tk-dev \ | |
wget \ | |
xz-utils \ | |
zlib1g-dev \ | |
libsnappy-dev | |
if ! hash pyenv 2>/dev/null; then | |
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash | |
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc | |
echo 'eval "$(pyenv init -)"' >> ~/.bashrc | |
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc | |
export PATH="$HOME/.pyenv/bin:$PATH" | |
eval "$(pyenv init -)" | |
eval "$(pyenv virtualenv-init -)" | |
fi | |
pyenv install 3.6.8 | |
pyenv virtualenv 3.6.8 venv-manager | |
pyenv virtualenv 3.6.8 venv-agent-k8s | |
cd $HOME | |
mkdir halfstack | |
cd halfstack | |
git clone https://github.com/lablup/backend.ai meta | |
cd meta | |
docker-compose -f docker-compose.halfstack.yml up -d | |
cd ../ | |
git clone https://github.com/lablup/backend.ai-common common | |
git clone https://github.com/lablup/backend.ai-manager manager | |
git clone https://github.com/lablup/backend.ai-agent agent | |
cd manager | |
pyenv local venv-manager | |
pip install -U pip setuptools | |
pip install -U -e . | |
pip install -U -e ../common | |
cp config/halfstack.toml ./manager.toml | |
cp config/halfstack.alembic.ini ./alembic.ini | |
sed -i "s/num-proc = 4/num-proc = $(nproc)/" manager.toml | |
python -m ai.backend.manager.cli etcd put config/redis/addr 127.0.0.1:8110 | |
python -m ai.backend.manager.cli etcd put config/docker/registry/index.docker.io "https://registry-1.docker.io" | |
python -m ai.backend.manager.cli etcd put config/docker/registry/index.docker.io/username "lablup" | |
python -m ai.backend.manager.cli etcd rescan-images index.docker.io | |
mkdir -p "$HOME/vfroot/local" | |
python -m ai.backend.manager.cli etcd put volumes/_mount "$HOME/vfroot" | |
python -m ai.backend.manager.cli etcd put volumes/_default_host local | |
python -m ai.backend.manager.cli schema oneshot | |
python -m ai.backend.manager.cli fixture populate sample-configs/example-keypairs.json | |
python -m ai.backend.manager.cli fixture populate sample-configs/example-resource-presets.json | |
cd .. | |
cd agent | |
git checkout feature/k8s-integration | |
pyenv local venv-agent-k8s | |
pip install -U pip setuptools | |
pip install -U -e . | |
pip install -U -e ../common | |
kubectl create namespace backend-ai | |
cp config/halfstack.toml agent.toml | |
cd .. | |
echo "Installation Complete" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment