RiftWare Build VM Script
From OSM Public Wiki
#enable the RIFT mirrors: # some of the FC20 versions of the packages that RIFT.ware depends on are hard to find, so RIFT.io manages a mirror. # in the near future, we will relax the restrictions on the versions, and then this script will become much more generic rm -f /etc/yum.repos.d/* /bin/yum localinstall --assumeyes http://repo.riftio.com/releases/riftware-release-latest.rpm /bin/yum clean all /bin/yum makecache
# install installers # note that I often get hung up here so be careful /bin/yum --assumeyes --nogpgcheck install python3 python3-pip perl curl https://wheel.riftio.com/mirrors/python3_wheelhouse/pip-7.1.2-py2.py3-none-any.whl -o /tmp/pip-7.1.2-py2.py3-none-any.whl /bin/python3-pip install /tmp/pip-7.1.2-py2.py3-none-any.whl sed -i -e 's:1.4.1:7.1.2:g' /bin/python3-pip /bin/python3-pip install --upgrade pip sed -i -e 's:7.1.2:8.1.2:g' /bin/python3-pip /bin/yum --assumeyes --nogpgcheck install yum-utils yum-config-manager --quiet --enable updates3 /bin/yum --assumeyes --nogpgcheck install deltarpm
# get the kernel /bin/yum --assumeyes --nogpgcheck install kernel-3.12.9-301.fc20.x86_64 kernel-devel-3.12.9-301.fc20.x86_64 kernel-modules-extra-3.12.9-301.fc20.x86_64
# install libraries and tools /bin/yum --assumeyes --nogpgcheck --disablerepo updates3 install gcc-4.8.2-7.fc20.x86_64 gcc-c++-4.8.2-7.fc20.x86_64 /bin/yum --assumeyes --nogpgcheck install cloud-utils-growpart-0.27-9.fc20.noarch json-c-devel-0.11-3.fc20.x86_64 lua-devel bzip2 \ cracklib-dicts-2.9.0-5.fc20.x86_64 bind-license-9.9.4-8.fc20.noarch bzip2-libs-1.0.6-9.fc20.x86_64 audit-libs-python-2.3.2-1.fc20.x86_64 cracklib-2.9.0-5.fc20.x86_64 \ bind-utils npm xml-common boost-filesystem-1.54.0-9.fc20.x86_64 wget python3-devel gtk-doc libdb-devel augeas-libs-1.1.0-2.fc20.x86_64 cronie-anacron-1.4.11-4.fc20.x86_64 \ libpng-devel libffi-devel libev-devel libgudev1 python-devel c-ares-devel-1.10.0-2.fc20.x86_64 libguestfs-tools-c libssh2-devel libxslt-devel boost-system-1.54.0-9.fc20.x86_64 \ c-ares-1.10.0-2.fc20.x86_64 cronie-1.4.11-4.fc20.x86_64 boost-devel lcov libtool-2.4.2-23.fc20.x86_64 bison-2.7-3.fc20.x86_64 \ libnl-devel cpio-2.11-24.fc20.x86_64 libicu-devel-50.1.2-10.fc20.x86_64 icu libnl3-devel flex bind-libs-lite-9.9.4-8.fc20.x86_64 texlive-latex2man-bin \ coreutils-8.21-18.fc20.x86_64 qemu-img cmake-2.8.12.1-1.fc20.x86_64 audit-libs-2.3.2-1.fc20.x86_64 crontabs-1.11-6.20121102git.fc20.noarch boost-thread-1.54.0-9.fc20.x86_64 \ ncurses-devel corosync-2.3.3-1.fc20.x86_64 glib-devel libxml-devel cpp-4.8.2-7.fc20.x86_64 python-lxml python-tools audit-2.3.2-1.fc20.x86_64 vala bzip2-1.0.6-9.fc20.x86_64 \ go binutils-2.23.88.0.1-13.fc20.x86_64 bc bash-4.2.45-4.fc20.x86_64 ceph-libs-0.67.3-2.fc20.x86_64 flex-devel libudev-devel automake-1.13.4-5.fc20.noarch \ boost-filesystem make-4.0-3.1.fc22.x86_64 ca-certificates-2013.1.94-18.fc20.noarch basesystem-10.0-9.fc20.noarch libevent-devel chkconfig-1.3.60-4.fc20.x86_64 \ cloud-init-0.7.2-7.fc20.noarch autoconf-2.69-14.fc20.noarch autogen-libopts-5.18-1.fc20.x86_64 curl libpcap-devel libxml2-devel nbd luajit-devel \ unzip clang-3.3-4.fc20.x86_64 python-pip ruby libuuid-devel cryptopp-5.6.2-3.fc20.x86_64 corosynclib-2.3.3-1.fc20.x86_64 valgrind-devel git \ gnome-common-3.10.0-1.fc20.noarch intltool acl-2.2.52-4.fc20.x86_64 avahi-libs-0.6.31-21.fc20.x86_64 /bin/python3-pip install --use-wheel --no-index --find-links=https://wheel.riftio.com/mirrors/python3_wheelhouse/ \ asyncio==3.4.3 boto3==1.1.3 boto==2.38.0 certifi==2015.4.28 \ crossbar==0.11.1 dicttoxml ecdsa==0.13 enum34==1.0.4 futures==2.2.0 junit-xml jsonpath-rw==1.4.0 jujuclient==0.50.5 kazoo==2.1 lxml==3.4.4 matplotlib mock==1.0.1 \ netifaces==0.10.4 nose numpy objectpath==0.5 paramiko==1.15.2 pycrypto==2.6.1 PyYAML==3.11 pytest pytest-xdist requests==2.8.1 six==1.10.0 statistics tornado==4.1 \ tosca-parser==0.4.1.dev40 websockets xmltodict zake==0.2.1 beautifulsoup4 dictdiffer psutil pip install --upgrade six /bin/python3-pip install --use-wheel --no-index --find-links=https://wheel.riftio.com/mirrors/python3_kilo_rel_4.2_wheelhouse/ python-ceilometerclient==2.0.1 \ python-novaclient python-neutronclient python-glanceclient python-cinderclient
# node and NPM /bin/yum --assumeyes --nogpgcheck install npm # upgrade nodejs from our mirror wget http://repo.riftio.com/releases/open.riftio.com/4.2.0/node -O $(which node) npm set registry https://npm.riftio.com:4873/ npm set strict-ssl false npm set progress=false # never completes first try npm install npm@latest -g npm install npm@latest -g npm install -g --production forever
# configure system systemctl enable sshd setcap cap_net_raw+ep /bin/ping
# runtime dependencies # these are only needed if you want to run launchpad in the same VM that # you build in /bin/yum --assumeyes --nogpgcheck install salt-master salt-minion screen java zookeeper-java-3.4.5-12.fc20.noarch \ nss-softokn-freebl-3.17.1-2.fc20.x86_64 \ glibc-common-2.18-16.fc20.x86_64 \ glibc-2.18-16.fc20.x86_64 \ apr-1.5.1-1.fc20.x86_64 \ apr-util-1.5.3-1.fc20.x86_64 \ lxc-libs-0.9.0-2.fc20.x86_64 \ openssh-6.4p1-5.fc20.x86_64 \ python3-lxc-0.9.0-2.fc20.x86_64 \ httpd-tools-2.4.10-1.fc20.x86_64 \ php-xml-5.5.18-1.fc20.x86_64 \ php-cli-5.5.18-1.fc20.x86_64 \ php-process-5.5.18-1.fc20.x86_64 \ php-common-5.5.18-1.fc20.x86_64 \ php-pear-1.9.5-3.fc20.noarch \ php-pecl-jsonc-1.3.6-1.fc20.x86_64 \ t1lib-5.1.2-14.fc20.x86_64 \ ldns-utils-1.6.17-7.fc20.x86_64 \ ldns-1.6.17-7.fc20.x86_64 \ glibc-headers-2.18-16.fc20.x86_64 \ snappy-1.1.0-2.fc20.x86_64 \ fedora-logos-httpd-21.0.1-1.fc20.noarch \ httpd-2.4.10-1.fc20.x86_64 \ xen-licenses-4.3.1-8.fc20.x86_64 \ xen-libs-4.3.1-8.fc20.x86_64 \ php-5.5.18-1.fc20.x86_64 \ leveldb-1.12.0-5.fc20.x86_64 \ glibc-devel-2.18-16.fc20.x86_64 \ php-gd-5.5.18-1.fc20.x86_64 \ lxc-extra-0.9.0-2.fc20.x86_64 \ openssh-server-6.4p1-5.fc20.x86_64 \ openssh-clients-6.4p1-5.fc20.x86_64 \ lxc-0.9.0-2.fc20.x86_64 \ socat-1.7.2.2-3.fc20.x86_64 \ sshpass-1.05-5.fc20.x86_64 \ tmux-1.9a-2.fc20.x86_64 \ expect-5.45-10.fc20.x86_64 \ python3-magic-5.19-7.fc20.noarch
systemctl enable salt-master systemctl enable salt-minion systemctl enable libvirtd ln -s /home/rift /usr/rift
yum install -y grub2 grub2-mkconfig -o /boot/grub2/grub.cfg grub2-set-default "Fedora, with Linux 3.12.9-301.fc20.x86_64"
# enable SSH as root # take all defaults ssh-keygen cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
echo REBOOT before attempting a compile # then continue at step 2 in RiftWare installation (release 0)