github.com/elfadel/cilium@v1.6.12/test/packet/scripts/install.sh (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  # Ensure no prompts from apt & co.
     6  export DEBIAN_FRONTEND=noninteractive
     7  
     8  GOLANG_VERSION="1.12.5"
     9  VAGRANT_VERSION="2.2.4"
    10  PACKER_VERSION="1.3.5"
    11  VIRTUALBOX_VERSION="6.0"
    12  
    13  #repositories
    14  
    15  echo "deb http://download.virtualbox.org/virtualbox/debian bionic contrib" > /etc/apt/sources.list.d/virtualbox.list
    16  
    17  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    18  sudo apt-key fingerprint 0EBFCD88
    19  wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox_2016.asc -O- | sudo apt-key add -
    20  wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
    21  sudo add-apt-repository \
    22     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    23     $(lsb_release -cs) \
    24     stable"
    25  
    26  sudo --preserve-env=DEBIAN_FRONTEND apt-get update
    27  sudo --preserve-env=DEBIAN_FRONTEND apt-get install -y \
    28      curl jq apt-transport-https htop bmon zip \
    29      linux-tools-common linux-tools-generic \
    30      ca-certificates software-properties-common \
    31      git openjdk-8-jdk gcc make perl unzip awscli \
    32      linux-headers-`uname -r` \
    33      virtualbox-${VIRTUALBOX_VERSION} docker-ce
    34  
    35  cd /tmp/
    36  wget https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb
    37  dpkg -i vagrant_*.deb
    38  
    39  # this block will attempt to preload required vagrant boxes from the vagrant cache server
    40  # (it's configuration is in vagrant-cache directory in root of this repo).
    41  # vagrant cache server is a separate packet box which vagrant-cache.ci.cilium.io points to
    42  cp /provision/add_vagrant_box /usr/local/bin/
    43  chmod 755 /usr/local/bin/add_vagrant_box
    44  
    45  curl -s https://raw.githubusercontent.com/cilium/cilium/master/vagrant_box_defaults.rb > defaults.rb
    46  /usr/local/bin/add_vagrant_box defaults.rb
    47  
    48  wget https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_amd64.zip
    49  unzip packer_${PACKER_VERSION}_linux_amd64.zip
    50  mv packer /usr/local/bin/
    51  
    52  # Kernel parameters
    53  export CPU=$(($(nproc)-1))
    54  for i in $(seq 0 $CPU);
    55  do
    56     echo performance > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor
    57  done
    58  
    59  #Install Golang
    60  cd /tmp/
    61  sudo curl -Sslk -o go.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-amd64.tar.gz"
    62  sudo tar -C /usr/local -xzf go.tar.gz
    63  sudo rm go.tar.gz
    64  sudo ln -s /usr/local/go/bin/* /usr/local/bin/
    65  go version
    66  sudo mkdir /go/
    67  export GOPATH=/go/
    68  go get -u github.com/cilium/go-bindata/...
    69  go get -u github.com/google/gops
    70  go get -u github.com/onsi/ginkgo/ginkgo
    71  go get -u github.com/onsi/gomega/...
    72  sudo ln -sf /go/bin/* /usr/local/bin/
    73  
    74  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
    75  sudo chmod +x /usr/local/bin/docker-compose
    76  
    77  echo 'cd /root/go/src/github.com/cilium/cilium' >> /root/.bashrc