Last active
March 28, 2017 13:15
-
-
Save tienthanh2509/3af45586a9b21651c510b21c559cbf76 to your computer and use it in GitHub Desktop.
Nimbus install script
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 | |
# Author: Phạm Tiến Thành | |
# Copyright (c) 2017 PT Studio, All rights reserved. | |
# Zero to Cloud Guide | |
# http://www.nimbusproject.org/docs/current/admin/z2c/service-dependencies.html | |
sudo sed -i 's/http:\/\/archive.ubuntu.com/http:\/\/opensource.xtdv.net/g' /etc/apt/sources.list | |
sudo sed -i 's/http:\/\/vn.archive.ubuntu.com/http:\/\/opensource.xtdv.net/g' /etc/apt/sources.list | |
sudo apt update | |
sudo apt install -y git nano curl wget unzip zip aria2 | |
sudo apt install -y openjdk-8-jdk g++ gcc sqlite3 | |
sudo apt install -y ant ant-optional \ | |
python2.7 python-dev python-openssl libssl-dev python-pip | |
pip install twisted | |
sudo pip install cumulus | |
sudo pip install --upgrade virtualenv | |
sudo ln -s /usr/lib/python2.7/plat-*/_sysconfigdata_nd.py /usr/lib/python2.7/ # Work around import error | |
# Service Installation | |
# http://www.nimbusproject.org/docs/current/admin/z2c/service-setup.html | |
# Create nimbus user | |
sudo adduser nimbus --disabled-password | |
# Nimbus IaaS | |
sudo chown $USER:$USER /opt | |
cd /opt | |
aria2c -x8 http://www.nimbusproject.org/downloads/nimbus-iaas-2.10.1-src.tar.gz | |
tar -zxvf nimbus-iaas-*-src.tar.gz | |
#rm -f nimbus-iaas-*-src.tar.gz | |
# Manual edit | |
# Mở file | |
# sudo nano /usr/include/openssl/x509.h | |
# Nhấn Ctrl+w để tìm | |
# Sửa X509_REVOKED_dup thành X509_REVOKED_dupe | |
export NIMBUS_HOME=/opt/nimbus | |
cd nimbus-iaas-*-src | |
./install $NIMBUS_HOME | |
# Admin command | |
# Creating Cumulus repository with the following commands: | |
#/opt/nimbus/ve/bin/cumulus-create-repo-admin Repo | |
/opt/nimbus/bin/nimbusctl start | |
# thanh@PTT-UVM:/opt/nimbus-iaas-2.10.1-src$ /opt/nimbus/bin/nimbusctl start | |
# Launching Nimbus services... OK | |
# Launching Cumulus services... OK | |
# thanh@PTT-UVM:/opt/nimbus-iaas-2.10.1-src$ sudo netstat -lnp | |
# Active Internet connections (only servers) | |
# Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name | |
# tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1030/sshd | |
# tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 21683/python | |
# tcp6 0 0 :::22 :::* LISTEN 1030/sshd | |
# tcp6 0 0 :::8443 :::* LISTEN 21652/java | |
# tcp6 0 0 :::8444 :::* LISTEN 21652/java | |
# tcp6 0 0 :::8446 :::* LISTEN 21652/java | |
# udp 0 0 0.0.0.0:68 0.0.0.0:* 919/dhclient | |
# udp 0 0 0.0.0.0:68 0.0.0.0:* 898/dhclient | |
cd /opt/nimbus | |
# Create first user | |
# http://www.nimbusproject.org/docs/current/admin/z2c/service-setup.html#nimbususer | |
./bin/nimbus-new-user -d /opt/tmp/workspace-thanh [email protected] | |
# thanh@PTT-UVM:/opt/nimbus$ ./bin/nimbus-new-user -d /opt/tmp/workspace-thanh [email protected] | |
# cert : /opt/tmp/workspace-thanh/usercert.pem | |
# key : /opt/tmp/workspace-thanh/userkey.pem | |
# dn : /O=Auto/OU=PT Studio/[email protected] | |
# canonical id : e73309f8-1391-11e7-8f80-080027580107 | |
# access id : rkVEgBPok07hu9nu17qsH | |
# access secret : BF05xElAdgmSmVRTESnbv21JnKFX7pVUOVnkYemv2a | |
# url : None | |
# web id : None | |
# cloud properties : /opt/tmp/workspace-thanh/cloud.properties | |
# Install cloud client and credentials | |
# http://www.nimbusproject.org/docs/current/admin/z2c/service-setup.html#clcl | |
cd /opt | |
aria2c -x8 http://www.nimbusproject.org/downloads/nimbus-cloud-client-022.tar.gz | |
tar -zxvf nimbus-cloud-client-022.tar.gz | |
#rm -f nimbus-cloud-client-022.tar.gz | |
cp /opt/tmp/workspace-thanh/cloud.properties nimbus-cloud-client-022/conf/ | |
mkdir -p ~/.nimbus/ | |
cp /opt/tmp/workspace-thanh/*.pem ~/.nimbus/ | |
cp $NIMBUS_HOME/var/ca/trusted-certs/* nimbus-cloud-client-022/lib/certs/ | |
# Try it out! | |
cd /opt/nimbus-cloud-client-022/ | |
./bin/cloud-client.sh --status | |
################################################# | |
# Install DHCPd and Configure Networking | |
sudo apt install qemu-kvm libvirt-bin virtinst | |
# Test | |
sudo virsh -c 'qemu:///system' list | |
# Thêm vào cuối file /etc/libvirt/qemu.conf (Không có "# ") | |
user = "root" | |
group = "root" | |
dynamic_ownership = 0 | |
clear_emulator_capabilities = 0 | |
# Thêm vào cuối file /etc/libvirt/libvirtd.conf (Không có "# ") | |
unix_sock_group = "libvirtd" | |
unix_sock_ro_perms = "0770" | |
unix_sock_rw_perms = "0770" | |
unix_sock_dir = "/var/run/libvirt" | |
sudo usermod -a -G libvirtd $USER | |
sudo usermod -a -G libvirtd nimbus | |
# Khởi động lại | |
sudo reboot | |
# Install workspace-control | |
export NIMBUS_HOME=/opt/nimbus | |
cd /opt | |
aria2c -x8 http://www.nimbusproject.org/downloads/nimbus-iaas-controls-2.10.1.tar.gz | |
tar -zxvf nimbus-iaas-controls-2.10.1.tar.gz | |
# rm -f nimbus-iaas-controls-2.10.1.tar.gz | |
cp -R nimbus-iaas-controls-2.10.1/workspace-control/* $NIMBUS_HOME | |
cd $NIMBUS_HOME | |
sudo chown -R root bin etc lib libexec src | |
sudo chown -R nimbus var | |
sudo find . -type d -exec chmod 775 {} \; | |
sudo find . -type f -exec chmod 664 {} \; | |
sudo find bin sbin libexec -iname "*sh" -exec chmod 755 {} \; | |
sudo -u nimbus /opt/nimbus-control/sbin/test-dependencies.sh | |
export KERNELDIR=/opt/nimbus-control/var/workspace-control/kernels | |
sudo cp /boot/vmlinuz-4.4.0-70-generic $KERNELDIR/default | |
sudo cp /boot/initrd.img-4.4.0-70-generic $KERNELDIR/default-initrd | |
# Sửa Xen thành "kvm0" trong file /opt/nimbus/etc/workspace-control/libvirt.conf | |
#[libvirt] | |
#vmm: kvm0 | |
sudo nano /opt/nimbus-control/etc/workspace-control/libvirt.conf | |
export NIMBUS_HOME=/opt/nimbus | |
aria2c -x8 http://www.nimbusproject.org/downloads/ubuntu10.10.gz | |
gunzip ubuntu10.10.gz | |
rm -f $NIMBUS_HOME/var/workspace-control/persistence/control-test-nicset | |
cp $NIMBUS_HOME/services/var/nimbus/control.netsample.txt /opt/tmp/control.netsample.txt | |
cd /opt/nimbus-control | |
./sbin/libvirt-xml.sh --image /opt/ubuntu10.10 --netsample \ | |
/opt/tmp/control.netsample.txt --memory 256 --mountpoint hda | |
./sbin/libvirt-xml.sh --image /opt/ubuntu10.10 --netsample \ | |
/opt/tmp/control.netsample.txt --memory 256 --mountpoint hda > /opt/tmp/z2c.xml | |
virsh -c 'qemu:///system' create /opt/tmp/z2c.xml | |
./sbin/destroy-control-test.sh | |
# SSH Setup | |
# http://www.nimbusproject.org/docs/current/admin/z2c/ssh-setup.html | |
ssh-keygen |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment