github.com/looshlee/cilium@v1.6.12/examples/mesos/Vagrantfile (about) 1 # -*- mode: ruby -*- 2 # vi: set ft=ruby : 3 4 Vagrant.require_version ">= 2.0.0" 5 6 $bootstrap = <<SCRIPT 7 sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list 8 apt-get update 9 #apt-get -y upgrade 10 #install new kernel? 11 12 apt -y install docker.io 13 14 curl -sL http://repos.mesosphere.com/ubuntu/pool/main/m/mesos/mesos_1.5.0-2.0.1.ubuntu1704_amd64.deb > /tmp/mesos_1.5.0-2.0.1.ubuntu1704_amd64.deb 15 apt -y install /tmp/mesos_1.5.0-2.0.1.ubuntu1704_amd64.deb 16 17 # remove openjdk-9 as it conflicts with zookeeper 18 # removing openjdk-9 will install openjdk-8 automatically 19 apt -y remove openjdk-9-jre-headless 20 21 echo "/var/lib/mesos" > /etc/mesos/work_dir 22 echo "zk://192.168.44.11:2181/mesos" > /etc/mesos/zk 23 echo "192.168.44.11" > /etc/mesos-master/ip 24 echo "192.168.44.11" > /etc/mesos-slave/ip 25 echo "/var/run/docker.sock" > /etc/mesos-slave/docker_socket 26 echo "docker,mesos" > /etc/mesos-slave/containerizers 27 echo "docker" > /etc/mesos-slave/image_providers 28 echo "filesystem/linux,docker/runtime" > /etc/mesos-slave/isolation 29 echo "/opt/cni/bin" > /etc/mesos-slave/network_cni_plugins_dir 30 echo "/etc/cni/net.d" > /etc/mesos-slave/network_cni_config_dir 31 32 curl -sL https://downloads.mesosphere.com/marathon/releases/1.6.322/marathon-1.6.322-2bf46b341.tgz | tar -xz 33 mv marathon-1.6.322-2bf46b341 marathon 34 35 # allow default user to use docker 36 usermod -aG docker vagrant 37 38 curl -sL https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose 39 chmod a+x /usr/bin/docker-compose 40 41 service zookeeper restart 42 service mesos-master restart 43 service mesos-slave restart 44 45 cd /home/vagrant/allfiles 46 47 docker-compose up -d 48 49 while [[ -z $cilium_docker ]]; do 50 sleep 1 51 cilium_docker=$(docker ps -a -q --filter="ancestor=cilium/cilium:stable" --filter="status=running") 52 done 53 54 # copy cilium from container to host 55 mkdir /home/vagrant/bin 56 docker cp $cilium_docker:/usr/bin/cilium /home/vagrant/bin/cilium 57 docker exec $cilium_docker /cni-install.sh 58 echo 'PATH=$PATH:/home/vagrant/bin' >> /home/vagrant/.bashrc 59 60 chown -R vagrant:vagrant /home/vagrant/ 61 echo "Deploying Vagrant VM + Cilium + Mesos...done" 62 63 echo 'cd /home/vagrant/allfiles' >> /home/vagrant/.bashrc 64 SCRIPT 65 66 Vagrant.configure(2) do |config| 67 config.vm.box = "bento/ubuntu-17.04" 68 config.vm.provision "file", source: "./allfiles", destination: "./allfiles" 69 config.vm.provision "bootstrap", type: "shell", inline: $bootstrap 70 config.vm.network "forwarded_port", guest: 8080, host: 8080 71 config.vm.network "private_network", ip: "192.168.44.11" 72 config.vm.provider "virtualbox" do |v| 73 v.memory = 1024 74 end 75 end