scripts/rpm/
scripts/system
scripts/test/
-scripts/util/
scripts/packaging/
.gitmodules.deps.orig
.gitmodules.orig
--- /dev/null
+#!/bin/bash
+
+
+CONTAINER=${1:-osm}
+
+if [ ! -f riftware_install.sh ]; then
+ wget -O riftware_install.sh i'https://osm.etsi.org/gitweb/?p=osm/riftware.git;a=blob_plain;f=scripts/util/riftware_install.sh;hb=HEAD'
+ echo -e '\n\n please review riftware_install.sh and then run this script again\n\n'
+ exit 0
+fi
+
+
+echo -e '\n\n using container name $CONTAINER \n\n'
+lxc launch fc20 $CONTAINER
+
+
+lxc file push riftware_install.sh ${CONTAINER}/root/
+while ! lxc exec ${CONTAINER} ifconfig eth0 | grep -q 'inet '; do
+ echo waiting for network
+ sleep 1
+done
+lxc exec ${CONTAINER} ifconfig eth0
+sleep 1
+lxc exec ${CONTAINER} -- bash -xe /root/riftware_install.sh
+
+ADDRESS=$(lxc exec ${CONTAINER} ifconfig eth0 | awk '/inet / { print $2 }')
+echo "installation complete. Open a browser on https://${ADDRESS}:8443"
--- /dev/null
+#!/bin/bash
+
+# Find the platform and return a short name
+
+PLATFORM=$(python -mplatform)
+if [[ ! $PLATFORM ]]; then
+ echo "Cannot find platform using python -mplatform" >&2
+ exit 1
+fi
+
+case $PLATFORM in
+ *Ubuntu-16.04*) echo ub16; exit;;
+ *fedora-20*) echo fc20; exit;;
+ *fedora-23*) echo fc23; exit;;
+ *) echo "Unknown platform: $PLATFORM" >&2 ; exit 1;;
+esac
--- /dev/null
+#!/bin/bash
+
+
+
+#REPO_URL=jmordkof@jeremy-pc:/home/jmordkof/workspace/osm/riftware
+REPO_URL=https://osm.etsi.org/gerrit/osm/riftware.git
+USE_RIFT_MIRRORS=true
+
+set -e
+echo -e '\n\n=========== Installing base packages ========\n\n'
+yum install -y git curl python3 screen which wget
+
+echo -e '\n\n=========== Cloning RIFT.ware ========\n\n'
+if [ -e riftware ]; then
+ cd riftware
+ git pull
+else
+ git clone $REPO_URL riftware
+ cd riftware
+fi
+
+echo -e '\n\n=========== Setting up YUM repositories ========\n\n'
+if $USE_RIFT_MIRRORS; then
+ rm -f /etc/yum.repos.d/*
+ cp scripts/vm_image/riftware-mirrors.repo /etc/yum.repos.d/
+fi
+cp scripts/vm_image/riftware.repo /etc/yum.repos.d/
+yum clean all
+yum makecache
+
+echo -e '\n\n=========== Installing prerequisites ========\n\n'
+./rift-shell -r -e -- ./scripts/vm_image/mkcontainer --no-repo-file --modes ui
+
+echo -e '\n\n=========== Installing RIFT.ware Launchpad ========\n\n'
+yum install -y riftware-launchpad
+echo -e '\n\n=========== Starting RIFT.ware Launchpad ========\n\n'
+systemctl start rwlp
+
+
+
+
+
+
+
+
+
--- /dev/null
+
+
+vm_image scripts
+
+LXC instructions
+as of this writing, this code is only in branch lezz-mkvmimg
+
+create a fc20 image. Default name is fc20
+ wget http://repo.riftio.com/releases/open.riftio.com/OSM/fc20.tar
+ lxc image import fc20.tar --alias fc20
+
+extract two files from git
+ ./scripts/vm_image/scripts/init_container
+ ./scripts/vm_image/scripts/build_rift_runtime
+
+execute build_rift_runtime
+ bash ./build_rift_runtime
+
+
+
+
+
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
echo "export LC_ALL=en_US.UTF-8" >>$STAGING/etc/environment
if [ -e ${STAGING}/etc/selinux/config ]; then
sed -i 's,^\(SELINUX=\).*,\1permissive,' ${STAGING}/etc/selinux/config || die "sed failed"
fi
-cp $RIFTROOT/scripts/setup/skel/etc/sysctl.d/riftware.conf $STAGING/etc/sysctl.d/
+cp $RIFT_ROOT/scripts/setup/skel/etc/sysctl.d/riftware.conf $STAGING/etc/sysctl.d/
cat >> ${STAGING}/etc/security/limits.d/90-rift.conf <<EOF
# RiftIO cranked fd limits
* soft core unlimited
EOF
-cmd setcap cap_net_raw+ep `which ping`
\ No newline at end of file
+if ! $CONTAINER; then
+ cmd setcap cap_net_raw+ep `which ping`
+fi
+
+if [[ $PLATFORM_OS == 'Ubuntu-16.04' ]]; then
+ cmd pip install --upgrade pip
+ cmd $PIP3_INSTALLER install --upgrade pip
+fi
deltarpm
+ub16: emacs
gdb
+ub16: python3-pip
+ub16: python-pip
+ub16: pkgconf
+ub16: nodejs
+ub16: language-pack-en
+ub16: sudo
--- /dev/null
+# Install enum34 if we are at python 3.4 or earlier
+if python3 -c 'import sys;assert sys.version_info < (3,5)'; then
+ cmd $PIP3_INSTALLER install enum34==1.0.4
+fi
#!/bin/bash
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
echo "1a) checking pip six"
cmd "pip list | grep -i six"
echo "1b) checking pip3 six"
-cmd "python3-pip list | grep -i six"
+cmd "$PIP3_INSTALLER list | grep -i six"
echo "upgrading pip six"
cmd "pip install --upgrade six"
echo "2a) checking pip six"
cmd "pip list | grep -i six"
echo "2b) checking pip3 six"
-cmd "python3-pip list | grep -i six"
\ No newline at end of file
+cmd "$PIP3_INSTALLER list | grep -i six"
-autoconf-2.69-14.fc20.noarch
-automake-1.13.4-5.fc20.noarch
+# fc20: Fedora Core 20
+# ub16: Ubuntu 16.04
+
+fc20: Xvfb
+ub16: xvfb
+
+asciidoc
+
+fc20: autoconf-2.69-14.fc20.noarch
+ub16: autoconf
+
+fc20: automake-1.13.4-5.fc20.noarch
+ub16: automake
+
bc
-bison-2.7-3.fc20.x86_64
-boost-devel
-boost-filesystem
+
+fc20: bison-2.7-3.fc20.x86_64
+ub16: bison
+
+fc20: boost-devel
+fc20: boost-filesystem
+ub16: libboost-dev
+ub16: libboost-filesystem-dev
+
bzip2
-clang-3.3-4.fc20.x86_64
-cmake-2.8.12.1-1.fc20.x86_64
+
+fc20: cairo-gobject-devel
+ub16: libcairo-gobject2
+
+chrpath
+
+fc20: clang-3.3-4.fc20.x86_64
+ub16: clang
+
+fc20: cmake-2.8.12.1-1.fc20.x86_64
+ub16: cmake
+
+cscope
+
curl
+dos2unix
+
+doxygen
+
+fc20: elfutils-libelf-devel
+ub16: libelf-dev
+ub16: elfutils
+
+fc20: emacs-el
+ub16: emacs24-el
+
flex
-flex-devel
-gcc-4.8.2-7.fc20.x86_64
-gcc-c++-4.8.2-7.fc20.x86_64
+
+fc20: flex-devel
+# No flex-devel for Ubuntu
+
+fc20: fontconfig-devel
+ub16: libfontconfig1-dev
+
+fc20: freetype-devel
+ub16: libfreetype6-dev
+
+fc20: gamin-devel
+ub16: libgamin-dev
+
+fc20: gcc-4.8.2-7.fc20.x86_64
+ub16: gcc
+
+fc20: gcc-c++-4.8.2-7.fc20.x86_64
+# No gcc-c++ for Ubuntu
+
git
-gnome-common-3.10.0-1.fc20.noarch
-go
-gtk-doc
-icu
+
+fc20: glade3-libgladeui
+ub16: libgladeui-dev
+
+fc20: gnome-common-3.10.0-1.fc20.noarch
+ub16: gnome-common
+
+fc20: go
+ub16: golang
+
+fc20: gperf
+ub16: gperf
+
+fc20: gtk+
+fc20: gtk-doc
+ub16: libgtk2.0-dev
+ub16: libgtk2.0-doc
+
+fc20: icu
+ub16: icu-devtools
+
intltool
-json-c-devel-0.11-3.fc20.x86_64
+
+fc20: jemalloc-devel
+ub16: libjemalloc-dev
+
+fc20: json-c-devel-0.11-3.fc20.x86_64
+ub16: libjson-c-dev
+
lcov
-libdb-devel
-libev-devel
-libevent-devel
-libffi-devel
-libgudev1
-libguestfs-tools-c
-libicu-devel-50.1.2-10.fc20.x86_64
-libnl3-devel
-libnl-devel
-libpcap-devel
-libpng-devel
-libssh2-devel
-libtool-2.4.2-23.fc20.x86_64
-libudev-devel
-libuuid-devel
-libxml2-devel
-libxml-devel
-libxslt-devel
-luajit-devel
-make-4.0-3.1.fc22.x86_64
-nbd
-ncurses-devel
+
+fc20: libX11-devel
+fc20: libXfixes-devel
+ub16: libx11-dev
+ub16: libxfixes-dev
+
+fc20: libXft-devel
+ub16: libxft-dev
+
+fc20: libattr-devel
+ub16: libattr1-dev
+
+fc20: libcap-devel
+ub16: libcap-dev
+
+fc20: libcurl-devel
+ub16: libcurl4-gnutls-dev
+
+fc20: libdb-devel
+ub16: libdb-dev
+
+fc20: libev-devel
+ub16: libev-dev
+
+fc20: libevent-devel
+ub16: libevent-dev
+
+fc20: libffi-devel
+ub16: libffi-dev
+
+fc20: libgudev1
+ub16: libgudev-1.0-dev
+
+fc20: libguestfs-tools-c
+ub16: libguestfs-tools
+
+fc20: libicu-devel-50.1.2-10.fc20.x86_64
+ub16: libicu-dev
+
+fc20: libnl-devel
+fc20: libnl3-devel
+ub16: libnl-3-dev
+
+fc20: libpcap-devel
+ub16: libpcap-dev
+
+fc20: libpng-devel
+ub16: libpng12-dev
+
+fc20: libssh2-devel
+ub16: libssh2-1-dev
+
+fc20: libtalloc-devel
+ub16: libtalloc-dev
+
+fc20: libtool-2.4.2-23.fc20.x86_64
+ub16: libtool
+
+fc20: libudev-devel
+ub16: libudev-dev
+
+fc20: libunwind-devel
+ub16: libunwind-dev
+
+fc20: libuuid-devel
+ub16: libuuid1
+
+fc20: libxml-devel
+ub16:
+
+fc20: libxml2-devel
+ub16: libxml2-dev
+
+fc20: libxslt-devel
+ub16: libxslt1-dev
+
+fc20: lua-devel
+ub16: libtolua-dev
+
+lua-markdown
+
+lyx
+fc20: luajit-devel
+ub16: libluajit-5.1-dev
+
+fc20: make-4.0-3.1.fc22.x86_64
+ub16: make
+
+fc20: maven-local
+ub16:
+
+fc20: mesa-libGL-devel
+ub16: libgl1-mesa-dev
+
+fc20: nbd
+ub16: nbdkit
+
+fc20: ncurses-devel
+ub16: libncurses5-dev
+
npm
-python3-devel
-python-devel
+openssh-server
+pdftk
+
+fc20: pycairo-devel
+ub16: python-cairo-dev
+
+fc20: python-devel
+ub16: python-dev
+
python-lxml
+python-nose
python-pip
-python-tools
-qemu-img
-ruby
-texlive-latex2man-bin
+python-sphinx
+
+fc20: python-tools
+ub16:
+
+fc20: python3-cairo-devel
+ub16: python3-cairo-dev
+
+fc20: python3-devel
+ub16: python3-dev
+
+fc20: qemu-img
+ub16: qemu-utils
+
+fc20: rpm-build
+ub16:
+
+fc20: ruby
+ub16: ruby
+
+fc20: rubygem-asciidoctor-0.1.4-1.fc20.noarch
+ub16: asciidoctor
+
+sharutils
+
+fc20: strongswan-charon-nm.x86_64
+ub16: strongswan-charon
+
+fc20: strongswan.x86_64
+ub16: strongswan
+
+fc20: systemtap-sdt-devel
+ub16: systemtap-sdt-dev
+
+texi2html
+texinfo
+
+fc20: texlive-latex2man-bin
+ub16:
+
unzip
-vala
-valgrind-devel
+
+fc20: vala
+ub16: valac
+
+fc20: vala-devel-0.22.1
+ub16: libvala-0.30-dev
+
+fc20: valgrind-devel
+ub16: valgrind
+
wget
-xml-common
+
+fc20: xml-common
+ub16:
+
+xmlto
--- /dev/null
+fc20: golang-github-hashicorp-logutils-devel-0:0.rw-0.fc20.noarch
+fc20: xalan-c-0:1.11.0.rw-0.fc20.x86_64
+fc20: libBlocksRuntime-0:0.3.rw-0.fc20.x86_64
+fc20: vala-doc-0:0.31.1.rw-0.fc20.noarch
+fc20: libkqueue-0:2.0.1.rw-0.fc20.x86_64
+fc20: xalan-c-doc-0:1.11.0.rw-0.fc20.x86_64
+fc20: redis-0:3.0.4-1.fc20.x86_64
+fc20: zsh-0:5.0.7.rw-0.fc20.x86_64
+fc20: golang-github-mitchellh-mapstructure-unit-test-0:0.rw-0.fc20.x86_64
+fc20: nanomsg-doc-0:0.2.rw-0.fc20.x86_64
+fc20: yuma-0:2.4.rw-0.fc20.x86_64
+fc20: vala-0:0.31.1.rw-0.fc20.x86_64
+fc20: protobuf-python-0:2.6.1.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-mdns-unit-test-0:0.rw-0.fc20.x86_64
+fc20: python-ncclient-0:0.4.3.rw-0.fc20.noarch
+fc20: libpeas-devel-0:1.17.0.rw-0.fc20.x86_64
+fc20: zsh-html-0:5.0.7.rw-0.fc20.x86_64
+fc20: libuinet-0:1.0.rw-0.fc20.x86_64
+fc20: userspace-rcu-devel-0:0.8.1.rw-0.fc20.x86_64
+fc20: libpthread_workqueue-0:0.8.2.rw-0.fc20.x86_64
+fc20: vala-tools-0:0.31.1.rw-0.fc20.x86_64
+fc20: protobuf-javadoc-0:2.6.1.rw-0.fc20.x86_64
+fc20: uthash-devel-0:1.9.9.rw-0.fc20.noarch
+fc20: golang-github-hashicorp-serf-unit-test-0:0.rw-0.fc20.x86_64
+fc20: vala-devel-0:0.31.1.rw-0.fc20.x86_64
+fc20: xerces-c-0:3.1.1.rw-0.fc20.x86_64
+fc20: gtest-0:1.7.0.rw-0.fc20.x86_64
+fc20: estw-devel-0:03052011.rw-0.fc20.x86_64
+fc20: zsh-devel-0:5.0.7.rw-0.fc20.x86_64
+fc20: golang-github-mitchellh-cli-unit-test-0:0.rw-0.fc20.x86_64
+fc20: protobuf-java-0:2.6.1.rw-0.fc20.x86_64
+fc20: golang-github-mitchellh-mapstructure-devel-0:0.rw-0.fc20.noarch
+fc20: nanomsg-devel-0:0.2.rw-0.fc20.x86_64
+fc20: glib2-0:2.46.2.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-go-msgpack-devel-0:0.rw-0.fc20.noarch
+fc20: msgpack-0:0.5.9.rw-0.fc20.x86_64
+fc20: libpthread_workqueue-devel-0:0.8.2.rw-0.fc20.x86_64
+fc20: libpeas-loader-python3-0:1.17.0.rw-0.fc20.x86_64
+fc20: glib2-fam-0:2.46.2.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-serf-devel-0:0.rw-0.fc20.noarch
+fc20: tcpdump-14:4.5.0.rw-0.fc20.x86_64
+fc20: CFLite-0:0.1.2.rw-0.fc20.x86_64
+fc20: libuinet-devel-0:1.0.rw-0.fc20.x86_64
+fc20: protobuf-devel-0:2.6.1.rw-0.fc20.x86_64
+fc20: libdispatch-0:1.0.rw-0.fc20.x86_64
+fc20: pyang-0:1.6.rw-0.fc20.noarch
+fc20: protobuf-emacs-0:2.6.1.rw-0.fc20.x86_64
+fc20: protobuf-c-devel-0:1.1.0.rw-0.fc20.x86_64
+fc20: golang-github-ryanuber-columnize-devel-0:0.rw-0.fc20.noarch
+fc20: protobuf-c-0:1.1.0.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-mdns-devel-0:0.rw-0.fc20.noarch
+fc20: golang-github-armon-go-metrics-devel-0:0.rw-0.fc20.noarch
+fc20: libkqueue-devel-0:2.0.1.rw-0.fc20.x86_64
+fc20: tcpdump-devel-14:4.5.0.rw-0.fc20.x86_64
+fc20: protobuf-lite-0:2.6.1.rw-0.fc20.x86_64
+fc20: lua-struct-0:0.2.rw-0.fc20.x86_64
+fc20: luaunit-0:3.0.rw-0.fc20.x86_64
+fc20: libpeas-0:1.17.0.rw-0.fc20.x86_64
+fc20: nanomsg-0:0.2.rw-0.fc20.x86_64
+fc20: xerces-c-doc-0:3.1.1.rw-0.fc20.noarch
+fc20: glib2-doc-0:2.46.2.rw-0.fc20.noarch
+fc20: golang-github-miekg-dns-unit-test-0:0.rw-0.fc20.x86_64
+fc20: protobuf-vim-0:2.6.1.rw-0.fc20.x86_64
+fc20: protobuf-static-0:2.6.1.rw-0.fc20.x86_64
+fc20: golang-github-mitchellh-cli-devel-0:0.rw-0.fc20.noarch
+fc20: python-gobject-base-0:3.18.0.rw-0.fc20.x86_64
+fc20: pygobject3-devel-0:3.18.0.rw-0.fc20.x86_64
+fc20: xalan-c-devel-0:1.11.0.rw-0.fc20.x86_64
+fc20: python3-gobject-0:3.18.0.rw-0.fc20.x86_64
+fc20: golang-github-miekg-dns-devel-0:0.rw-0.fc20.noarch
+fc20: nanomsg-utils-0:0.2.rw-0.fc20.x86_64
+fc20: glib2-devel-0:2.46.2.rw-0.fc20.x86_64
+fc20: libBlocksRuntime-devel-0:0.3.rw-0.fc20.x86_64
+fc20: google-coredumper-0:1.2.1.rw-0.fc20.x86_64
+fc20: hiredis-0:0.12.1-3.fc20.x86_64
+fc20: python-gobject-0:3.18.0.rw-0.fc20.x86_64
+fc20: gobject-introspection-0:1.46.0.rw-0.fc20.x86_64
+fc20: lua-clidebugger-0:1.0.rw-0.fc20.x86_64
+fc20: xerces-c-devel-0:3.1.1.rw-0.fc20.x86_64
+fc20: gobject-introspection-devel-0:1.46.0.rw-0.fc20.x86_64
+fc20: protobuf-python3-0:2.6.1.rw-0.fc20.x86_64
+fc20: google-coredumper-devel-0:1.2.1.rw-0.fc20.x86_64
+fc20: msgpack-devel-0:0.5.9.rw-0.fc20.x86_64
+fc20: estw-0:03052011.rw-0.fc20.x86_64
+fc20: lua-lgi-samples-0:0.9.0.rw-0.fc20.x86_64
+fc20: python3-gobject-base-0:3.18.0.rw-0.fc20.x86_64
+fc20: golang-github-armon-circbuf-devel-0:0.rw-0.fc20.noarch
+fc20: gtest-devel-0:1.7.0.rw-0.fc20.x86_64
+fc20: protobuf-0:2.6.1.rw-0.fc20.x86_64
+fc20: protobuf-compiler-0:2.6.1.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-net-devel-0:0.rw-0.fc20.noarch
+fc20: libdispatch-devel-0:1.0.rw-0.fc20.x86_64
+fc20: protobuf-emacs-el-0:2.6.1.rw-0.fc20.x86_64
+fc20: CFLite-devel-0:0.1.2.rw-0.fc20.x86_64
+fc20: protobuf-lite-devel-0:2.6.1.rw-0.fc20.x86_64
+fc20: hiredis-devel-0:0.12.1-3.fc20.x86_64
+fc20: protobuf-lite-static-0:2.6.1.rw-0.fc20.x86_64
+fc20: yuma-doc-0:2.4.rw-0.fc20.noarch
+fc20: golang-github-hashicorp-go-syslog-devel-0:0.rw-0.fc20.noarch
+fc20: yuma-devel-0:2.4.rw-0.fc20.noarch
+fc20: seagull-0:1.8.2.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-serf-0:0.rw-0.fc20.x86_64
+fc20: libpeas-loader-python-0:1.17.0.rw-0.fc20.x86_64
+fc20: lua-lgi-0:0.9.0.rw-0.fc20.x86_64
+fc20: userspace-rcu-0:0.8.1.rw-0.fc20.x86_64
+fc20: ck-0:0.3.5.rw-0.fc20.x86_64
+fc20: ck-devel-0:0.3.5.rw-0.fc20.x86_64
+fc20: golang-github-hashicorp-memberlist-devel-0:0.rw-0.fc20.noarch
+fc20: gmock-devel-0:1.7.0.rw-0.fc20.x86_64
--- /dev/null
+mkvmimg
\ No newline at end of file
#!/bin/bash
+# vim: set ts=4 sw=4 sts=4 et :
+# Copyright 2016 RIFT.IO Inc
#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# Copyright 2016 RIFT.IO Inc
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
# 12-24-2014 -- JLM
# removing the naming system. We will be only be using one set of flags from here on out
# deprecating the -d switch -- there is a script inside the VM that can enable developer mode
# 1-7-2015 -- JLM -- parameterize the kernel rev
+# 6-23-2016 -- JLM -- pretty major rewrite to allow for running inside a container
#
-# WARNING TO ANYONE MERGING THIS FILE TO/FROM ATG
-# THIS FILE WAS MANUALLY MERGED WITH ATG AND COPIED TO MASTER
#
trap "exit 1" 2
_on_exit() {
- local m i
+ local m i
- for m in $(echo ${_MOUNTS} | sort); do
- echo "Unmounting ${m}..."
- umount -f ${m}
- done
+ for m in $(echo ${_MOUNTS} | sort); do
+ echo "Unmounting ${m}..."
+ umount -f ${m}
+ done
- _MOUNTS=""
+ _MOUNTS=""
- for m in ${_NBD_NODES}; do
- echo "Unexporting ${m}..."
- kpartx -d ${m}
- qemu-nbd -d ${m}
- done
+ for m in ${_NBD_NODES}; do
+ echo "Unexporting ${m}..."
+ kpartx -d ${m}
+ qemu-nbd -d ${m}
+ done
- _NBD_NODES=""
+ _NBD_NODES=""
}
die() {
- echo
- echo "ERROR2: $*"
- echo
- exit 1
+ echo
+ echo "ERROR2: $*"
+ echo
+ exit 1
}
announce() {
- echo -e "=============================\n$*\n=============================" >&2
+ echo -e "=============================\n$*\n=============================" >&2
}
fetch_seed() {
- announce $FUNCNAME
- if [ -f ${SEED_PATH} ]; then
- return
- fi
-
- if [[ ${SEED_URL} =~ ^http:// ]]; then
- echo "curl ${SEED_URL}/${SEED} "
- curl --location \
- --output ${SEED_PATH} \
- ${SEED_URL}/${SEED} \
- || die "Failed to download ${SEED_URL}/${SEED}"
- elif [[ ${SEED_URL} =~ ^file:// ]]; then
- cp ${SEED_URL#file:/}/${SEED} ${SEED_PATH} \
- || die "Failed to copy ${SEED_URL}/${SEED}"
- else
- die "Unknown resource type for seed url ${SEED_URL}"
- fi
+ announce $FUNCNAME
+ if [ -f ${SEED_PATH} ]; then
+ return
+ fi
+
+ if [[ ${SEED_URL} =~ ^http:// ]]; then
+ echo "curl ${SEED_URL}/${SEED} "
+ curl --location \
+ --output ${SEED_PATH} \
+ ${SEED_URL}/${SEED} \
+ || die "Failed to download ${SEED_URL}/${SEED}"
+ elif [[ ${SEED_URL} =~ ^file:// ]]; then
+ cp ${SEED_URL#file:/}/${SEED} ${SEED_PATH} \
+ || die "Failed to copy ${SEED_URL}/${SEED}"
+ else
+ die "Unknown resource type for seed url ${SEED_URL}"
+ fi
}
_find_free_nbd_node() {
- local node
-
- for node in /dev/nbd[0-9]*; do
- nbd-client -c $node >/dev/null 2>&1
- if [ $? -ne 1 ]; then
- continue
- fi
- if [ ! -f /sys/block/${node##*/}/pid ]; then
- echo ${node}
- break
- fi
- done
+ local node
+
+ for node in /dev/nbd[0-9]*; do
+ nbd-client -c $node >/dev/null 2>&1
+ if [ $? -ne 1 ]; then
+ continue
+ fi
+ if [ ! -f /sys/block/${node##*/}/pid ]; then
+ echo ${node}
+ break
+ fi
+ done
}
setup() {
- local nbd_dev
- local mp
- local tmp_mp
- local rc
-
- announce $FUNCNAME
- if ! lsmod | grep -q nbd; then
- modprobe nbd max_devices=256 || die "Failed to modprobe nbd"
- fi
-
- mkdir -p ${STAGING} 2>&1
-
- nbd_dev=$(_find_free_nbd_node)
-
- if [ -z "${nbd_dev}" ]; then
- die "Failed to find free nbd node"
- fi
-
- echo "nbd_dev=${nbd_dev}"
-
- qemu-nbd -c ${nbd_dev} ${SEED_PATH}\
- || die "Failed to qemu-nbd ${SEED_PATH} on ${nbd_dev}"
- _NBD_NODES="${_NBD_NODES} ${nbd_dev}"
- kpartx -s -a ${nbd_dev} || die "kpartx ${nbd_dev} failed"
-
- tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
- mp=/dev/mapper/${nbd_dev##*/}p1
- if ! mount ${mp} ${tmp_mp}; then
- rmdir ${tmp_mp}
- die "Failed to mount ${SEED_PATH} (${mp}) on ${tmp_mp})"
- fi
- if [ -n "REBUILD" ]; then
- rsync -a ${tmp_mp}/ ${STAGING}/
- rc=$?
- else
- rsync -a --delete-after ${tmp_mp}/ ${STAGING}/
- rc=$?
- fi
- umount -f ${tmp_mp}
- rmdir ${tmp_mp}
-
- if [ ${rc} -ne 0 ]; then
- die "Failed to sync to ${STAGING}"
- fi
-
- echo "Done syncing to ${STAGING}"
-
- for mp in sys proc dev; do
- mount -o bind /${mp} ${STAGING}/${mp} || die "Failed to bind mount ${mp}"
- _MOUNTS="${STAGING}/${mp} ${_MOUNTS}"
- done
-
- cp -L /etc/resolv.conf ${STAGING}/etc/
-
- # set up the default console for openstack
- cp $RIFTROOT/scripts/vm/etc/default/grub $STAGING/etc/default/grub
+ local nbd_dev
+ local mp
+ local tmp_mp
+ local rc
+
+ announce $FUNCNAME
+ if ! lsmod | grep -q nbd; then
+ modprobe nbd max_devices=256 || die "Failed to modprobe nbd"
+ fi
+
+ mkdir -p ${STAGING} 2>&1
+
+ nbd_dev=$(_find_free_nbd_node)
+
+ if [ -z "${nbd_dev}" ]; then
+ die "Failed to find free nbd node"
+ fi
+
+ echo "nbd_dev=${nbd_dev}"
+
+ qemu-nbd -c ${nbd_dev} ${SEED_PATH}\
+ || die "Failed to qemu-nbd ${SEED_PATH} on ${nbd_dev}"
+ _NBD_NODES="${_NBD_NODES} ${nbd_dev}"
+ kpartx -s -a ${nbd_dev} || die "kpartx ${nbd_dev} failed"
+
+ tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
+ mp=/dev/mapper/${nbd_dev##*/}p1
+ if ! mount ${mp} ${tmp_mp}; then
+ rmdir ${tmp_mp}
+ die "Failed to mount ${SEED_PATH} (${mp}) on ${tmp_mp})"
+ fi
+ if [ -n "REBUILD" ]; then
+ rsync -a ${tmp_mp}/ ${STAGING}/
+ rc=$?
+ else
+ rsync -a --delete-after ${tmp_mp}/ ${STAGING}/
+ rc=$?
+ fi
+ umount -f ${tmp_mp}
+ rmdir ${tmp_mp}
+
+ if [ ${rc} -ne 0 ]; then
+ die "Failed to sync to ${STAGING}"
+ fi
+
+ echo "Done syncing to ${STAGING}"
+
+ for mp in sys proc dev; do
+ mount -o bind /${mp} ${STAGING}/${mp} || die "Failed to bind mount ${mp}"
+ _MOUNTS="${STAGING}/${mp} ${_MOUNTS}"
+ done
+
+ cp -L /etc/resolv.conf ${STAGING}/etc/
+
+ # set up the default console for openstack
+ cp $RIFT_ROOT/scripts/vm/etc/default/grub $STAGING/etc/default/grub
}
compress_qcow2() {
- local dest
- local src
-
- announce $FUNCNAME
-
- if ! [ -x "$(command -v virt-sparsify)" ]; then
- echo "virt-sparsify is not installed, not compressing."
- else
- # save the big qcow
- mv ${IMG_PREFIX}.qcow2 ${IMG_PREFIX}.orig.qcow2
+ local dest
+ local src
- src=${IMG_PREFIX}.orig.qcow2
- dest=${IMG_PREFIX}.qcow2
+ announce $FUNCNAME
- # zero fill the free space and compress the qcow2
- virt-sparsify --compress ${src} ${dest}
+ if ! [ -x "$(command -v virt-sparsify)" ]; then
+ echo "virt-sparsify is not installed, not compressing."
+ return
+ fi
+ temp=${IMG_PREFIX}.orig.qcow2
+ orig=${IMG_PREFIX}.qcow2
- # we can safely remove the big qcow
- rm -fv ${IMG_PREFIX}.orig.qcow2
- fi
-
-}
-
-pack_qcow2() {
- local bind_mp
- local img_size
- #local sha # we need global
- local dest
- local nbd_dev
- local p_dev
- local tmp_mp
- local rc
-
- announce $FUNCNAME
- img_size=$(du --exclude='proc/*' --exclude='sys/*' -sk ${STAGING} | cut -f1)
- img_size=$((img_size + ${_EXTRA_DISK_SPACE_K} + 500 * 1024))
-
- dest=${IMG_PREFIX}.qcow2
-
- echo "Setting up NBD:"
- qemu-img create -f qcow2 ${dest} ${img_size}k
- nbd_dev=$(_find_free_nbd_node)
-
- if [ -z "${nbd_dev}" ]; then
- die "Failed to find free nbd node"
- fi
-
- qemu-nbd -c ${nbd_dev} ${dest} || die "Failed to qemu-nbd ${dest} on ${nbd_dev}"
- _NBD_NODES="${_NBD_NODES} ${nbd_dev}"
-
- echo "Partitioning and Formatting:"
- echo ",," | sfdisk ${nbd_dev} || die "Failed to partition ${nbd_dev}"
- kpartx -s -a ${nbd_dev} || die "kpartx ${nbd_dev} failed"
- p_dev=/dev/mapper/${nbd_dev##*/}p1
- mkfs.ext4 -q ${p_dev} || die "Failed to mkfs ${p_dev}"
-
- tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
- if ! mount ${p_dev} ${tmp_mp}; then
- rmdir ${tmp_mp}
- die "Filed to mount ${dest} on ${tmp_mp}"
- fi
-
- #echo "PQ1) Checking"
- #ls -all ${STAGING}/home/rift/scripts/
- #ls -all ${tmp_mp}/home/rift/scripts/
-
- echo "Start Rsyncing..."
- rsync -a --exclude='/sys/*' --exclude='/proc/*' ${STAGING}/ ${tmp_mp}/
+ # zero fill the free space and compress the qcow2
+ LIBGUESTFS_DEBUG=1 virt-sparsify --check-tmpdir fail --compress ${orig} ${temp}
rc=$?
- if [ ${rc} -ne 0 ]; then
- umount -f ${tmp_mp}
- die "Failed to sync from ${STAGING}"
+ if [ $rc -ne 0 ]; then
+ echo "Sparsify failed. rc=$rc"
+ echo "Check that /tmp has a lot of free space ... 40+GB"
+ return
fi
- echo "Done Rsyncing."
-
- echo "PQ2) Checking Scripts"
- #ls -all ${STAGING}/home/rift/scripts/*
- ls -all ${tmp_mp}/home/rift/scripts/*
-
- # I think this assumes the host is running the right release
- #
- for bind_mp in dev proc sys; do
- mount -o bind /${bind_mp} ${tmp_mp}/${bind_mp} || die "Failed to bind mount ${tmp_mp}/${bind_mp}"
- _MOUNTS="${_MOUNTS} ${tmp_mp}/${bind_mp}"
- done
-
- # grub2 install isonly really needed for qcow2/kvm -- AWS uses grub
-
- chroot ${tmp_mp} $YUM install -y grub2 || die "Failed to yum install grub2"
- chroot ${tmp_mp} grub2-mkconfig -o /boot/grub2/grub.cfg || die "Failed to create grub2 config"
- chroot ${tmp_mp} grub2-set-default "Fedora, with Linux ${KERNEL_REV}"
+
+ # can we safely remove the big qcow
+ if [ ! -s ${temp} ]; then
+ echo "sparsify failed: temp file not found"
+ fi
- cat > ${tmp_mp}/boot/grub2/device.map <<-EOF
- (hd0) ${nbd_dev}
- EOF
+ echo success
+ echo original
+ ls -l ${orig}
+ echo new
+ ls -l ${temp}
+ rm -fv {$orig}
+ mv ${temp} ${orig}
- if [ $RELEASE == 20 ]; then
- chroot ${tmp_mp} grub2-install -f ${nbd_dev} || die "Failed to grub2-install"
- else
- chroot ${tmp_mp} grub2-install ${nbd_dev} || die "Failed to grub2-install"
- fi
-
- cat > ${tmp_mp}/etc/fstab <<-EOF
- /dev/vda1 / ext4 defaults,noatime 0 0
- EOF
+}
- cat > ${tmp_mp}/etc/rc.d/rc.local <<-EOF
+pack_qcow2() {
+ local bind_mp
+ local img_size
+ #local sha # we need global
+ local dest
+ local nbd_dev
+ local p_dev
+ local tmp_mp
+ local rc
+
+ announce $FUNCNAME
+ img_size=$(du --exclude='proc/*' --exclude='sys/*' -sk ${STAGING} | cut -f1)
+ img_size=$((img_size + ${_EXTRA_DISK_SPACE_K} + 500 * 1024))
+
+ dest=${IMG_PREFIX}.qcow2
+
+ echo "Setting up NBD:"
+ qemu-img create -f qcow2 ${dest} ${img_size}k
+ nbd_dev=$(_find_free_nbd_node)
+
+ if [ -z "${nbd_dev}" ]; then
+ die "Failed to find free nbd node"
+ fi
+
+ qemu-nbd -c ${nbd_dev} ${dest} || die "Failed to qemu-nbd ${dest} on ${nbd_dev}"
+ _NBD_NODES="${_NBD_NODES} ${nbd_dev}"
+
+ echo "Partitioning and Formatting:"
+ echo ",," | sfdisk ${nbd_dev} || die "Failed to partition ${nbd_dev}"
+ kpartx -s -a ${nbd_dev} || die "kpartx ${nbd_dev} failed"
+ p_dev=/dev/mapper/${nbd_dev##*/}p1
+ mkfs.ext4 -q ${p_dev} || die "Failed to mkfs ${p_dev}"
+
+ tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
+ if ! mount ${p_dev} ${tmp_mp}; then
+ rmdir ${tmp_mp}
+ die "Filed to mount ${dest} on ${tmp_mp}"
+ fi
+
+ #echo "PQ1) Checking"
+ #ls -all ${STAGING}/home/rift/scripts/
+ #ls -all ${tmp_mp}/home/rift/scripts/
+
+ echo "Start Rsyncing..."
+ rsync -a --exclude='/sys/*' --exclude='/proc/*' ${STAGING}/ ${tmp_mp}/
+ rc=$?
+ if [ ${rc} -ne 0 ]; then
+ umount -f ${tmp_mp}
+ die "Failed to sync from ${STAGING}"
+ fi
+ echo "Done Rsyncing."
+
+ echo "PQ2) Checking Scripts"
+ #ls -all ${STAGING}/home/rift/scripts/*
+ ls -all ${tmp_mp}/home/rift/scripts/*
+
+ # I think this assumes the host is running the right release
+ #
+ for bind_mp in dev proc sys; do
+ mount -o bind /${bind_mp} ${tmp_mp}/${bind_mp} || die "Failed to bind mount ${tmp_mp}/${bind_mp}"
+ _MOUNTS="${_MOUNTS} ${tmp_mp}/${bind_mp}"
+ done
+
+ # grub2 install isonly really needed for qcow2/kvm -- AWS uses grub
+
+ chroot ${tmp_mp} $YUM install -y grub2 || die "Failed to yum install grub2"
+ chroot ${tmp_mp} grub2-mkconfig -o /boot/grub2/grub.cfg || die "Failed to create grub2 config"
+ chroot ${tmp_mp} grub2-set-default "Fedora, with Linux ${KERNEL_REV}"
+
+ cat > ${tmp_mp}/boot/grub2/device.map <<-EOF
+ (hd0) ${nbd_dev}
+EOF
+
+ if [ $RELEASE == 20 ]; then
+ chroot ${tmp_mp} grub2-install -f ${nbd_dev} || die "Failed to grub2-install"
+ else
+ chroot ${tmp_mp} grub2-install ${nbd_dev} || die "Failed to grub2-install"
+ fi
+
+ cat > ${tmp_mp}/etc/fstab <<-EOF
+ /dev/vda1 / ext4 defaults,noatime 0 0
+EOF
+
+ cat > ${tmp_mp}/etc/rc.d/rc.local <<-EOF
#!/bin/bash
fi
exit 1
- EOF
- chmod +x ${tmp_mp}/etc/rc.d/rc.local
+EOF
+ chmod +x ${tmp_mp}/etc/rc.d/rc.local
- for bind_mp in dev proc sys; do
- umount -f ${tmp_mp}/${bind_mp}
- _MOUNTS=$(echo ${_MOUNTS} | sed "s,${tmp_mp}/${bind_mp},,")
- done
+ for bind_mp in dev proc sys; do
+ umount -f ${tmp_mp}/${bind_mp}
+ _MOUNTS=$(echo ${_MOUNTS} | sed "s,${tmp_mp}/${bind_mp},,")
+ done
- umount -f ${tmp_mp}
- rmdir ${tmp_mp}
- [ -n "${SUDO_UID}" ] && chown ${SUDO_UID} ${dest}
+ umount -f ${tmp_mp}
+ rmdir ${tmp_mp}
+ [ -n "${SUDO_UID}" ] && chown ${SUDO_UID} ${dest}
- if [ ${rc} -ne 0 ]; then
- die "Failed to sync from ${STAGING}"
- fi
+ if [ ${rc} -ne 0 ]; then
+ die "Failed to sync from ${STAGING}"
+ fi
}
pack_image() {
- local img_size
- local sha
- local dest
- local nbd_dev
- local tmp_mp
- local rc
-
- announce $FUNCNAME
- img_size=$(du --exclude='proc/*' --exclude='sys/*' -sk ${STAGING} | cut -f1)
- img_size=$((img_size + ${_EXTRA_DISK_SPACE_K} + 500 * 1024))
-
- dest=${IMG_PREFIX}.img
-
- dd if=/dev/zero of=${dest} bs=1024 count=${img_size} || die "Failed to create disk image"
- mkfs.ext4 -F -q ${dest} || die "Failed to format ${dest}"
-
- tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
- if ! mount -o loop ${dest} ${tmp_mp}; then
- rmdir ${tmp_mp}
- die "Filed to mount ${dest} on ${tmp_mp}"
- fi
-
- rsync -a --exclude='/sys/*' --exclude='/proc/*' ${STAGING}/ ${tmp_mp}/
- rc=$?
-
- # NOTE this menu is for grub which is used for AWS
- # kvm uses grub2
- if [ -n "$KERNEL_REV" ]; then
- cat > ${tmp_mp}/boot/grub/menu.lst <<-EOF
- default=0
- timeout=0
-
- title Fedora ($KERNEL_REV})
- root (hd0)
- kernel /boot/vmlinuz-${KERNEL_REV} ro root=/dev/xvda1 console=hvc0 console=ttyS0,115200n8 LANG=en_US.UTF-8
- initrd /boot/initramfs-${KERNEL_REV}.img
- EOF
- fi
-
- cat > ${tmp_mp}/etc/fstab <<-EOF
- /dev/xvda1 / ext4 defaults,noatime 0 0
- EOF
-
- umount -f ${tmp_mp}
- rmdir ${tmp_mp}
- [ -n "${SUDO_UID}" ] && chown ${SUDO_UID} ${dest}
-
- if [ ${rc} -ne 0 ]; then
- die "Failed to sync from ${STAGING}"
- fi
+ local img_size
+ local sha
+ local dest
+ local nbd_dev
+ local tmp_mp
+ local rc
+
+ announce $FUNCNAME
+ img_size=$(du --exclude='proc/*' --exclude='sys/*' -sk ${STAGING} | cut -f1)
+ img_size=$((img_size + ${_EXTRA_DISK_SPACE_K} + 500 * 1024))
+
+ dest=${IMG_PREFIX}.img
+
+ dd if=/dev/zero of=${dest} bs=1024 count=${img_size} || die "Failed to create disk image"
+ mkfs.ext4 -F -q ${dest} || die "Failed to format ${dest}"
+
+ tmp_mp=$(mktemp -d --tmpdir=${BUILDDIR})
+ if ! mount -o loop ${dest} ${tmp_mp}; then
+ rmdir ${tmp_mp}
+ die "Filed to mount ${dest} on ${tmp_mp}"
+ fi
+
+ rsync -a --exclude='/sys/*' --exclude='/proc/*' ${STAGING}/ ${tmp_mp}/
+ rc=$?
+
+ # NOTE this menu is for grub which is used for AWS
+ # kvm uses grub2
+ if [ -n "$KERNEL_REV" ]; then
+ cat > ${tmp_mp}/boot/grub/menu.lst <<-EOF
+ default=0
+ timeout=0
+
+ title Fedora ($KERNEL_REV})
+ root (hd0)
+ kernel /boot/vmlinuz-${KERNEL_REV} ro root=/dev/xvda1 console=hvc0 console=ttyS0,115200n8 LANG=en_US.UTF-8
+ initrd /boot/initramfs-${KERNEL_REV}.img
+EOF
+ fi
+
+ cat > ${tmp_mp}/etc/fstab <<-EOF
+ /dev/xvda1 / ext4 defaults,noatime 0 0
+EOF
+
+ umount -f ${tmp_mp}
+ rmdir ${tmp_mp}
+ [ -n "${SUDO_UID}" ] && chown ${SUDO_UID} ${dest}
+
+ if [ ${rc} -ne 0 ]; then
+ die "Failed to sync from ${STAGING}"
+ fi
}
cmd() {
- echo "${@:1:40} ..." >&2
- if [ "${STAGING}" == "" ]; then
- /bin/bash -c "$*" || die "Failed to run $@"
- else
- chroot ${STAGING} /bin/bash -c "$*" || die "Failed to run $@"
- fi
- echo "...done" >&2
+ cmd_rc "$@"
+ rc=$?
+ if [ $rc != 0 ]; then
+ die "Failed to run $@"
+ fi
+}
+cmd_rc() {
+ echo "${@:1:40} ..." >&2
+ if [ "${STAGING}" == "" ]; then
+ /bin/bash -c "$*"
+ rc=$?
+ else
+ chroot ${STAGING} /bin/bash -c "$*"
+ rc=$?
+ fi
+ echo "...done rc is $rc" >&2
+ return $rc
}
+
yum_install() {
- cmd $YUM --assumeyes --nogpgcheck install "$@" || die "yum '$@' failed"
+ if [[ $DISTRO == fedora ]]; then
+ cmd $YUM --assumeyes --nogpgcheck install "$@" || die "$YUM '$@' failed"
+ else
+ cmd $YUM -y install "$@" || die "$YUM '$@' failed"
+ fi
+}
+yum_update() {
+ if [[ $DISTRO == fedora ]]; then
+ cmd $YUM --assumeyes --nogpgcheck update "$@" || die "$YUM '$@' failed"
+ else
+ cmd $YUM -y update "$@" || die "$YUM '$@' failed"
+ fi
}
pip_install() {
- cmd=$1
- repo=$2
- shift
- shift
- if [ $USE_INTERNET_REPOS == 1 ]; then
- cmd $cmd install "$@" || die "$cmd install $@ from internet failed"
- else
- #cmd $cmd install --use-wheel --no-index \
- # --find-links=https://wheel.riftio.com/mirrors/${repo}/ \
- # "$@" || die "$cmd install $@ from $repo failed"
- cmd $cmd install --use-wheel --no-index \
- --find-links=${repo} \
- "$@" || die "$cmd install $@ from $repo failed"
- fi
+ cmd=$1
+ repo=$2
+ shift
+ shift
+ if [ $USE_INTERNET_REPOS == 1 ]; then
+ cmd $cmd install --use-wheel \
+ --find-links=${repo} \
+ "$@" || die "$cmd install $@ from $repo failed"
+ else
+ cmd $cmd install --use-wheel --no-index \
+ --find-links=${repo} \
+ "$@" || die "$cmd install $@ from $repo failed"
+ fi
}
pip2_install() {
- #pip_install /bin/pip2 wheelhouse "$@"
- # pip2 needs to be non-ssl for now
- pip_install /bin/pip2 http://wheel.riftio.com/mirrors/wheelhouse/ "$@"
+ #pip_install /bin/pip2 wheelhouse "$@"
+ # pip2 needs to be non-ssl for now
+ pip_install /bin/pip2 http://wheel.riftio.com/mirrors/wheelhouse/ "$@"
}
pip3_install() {
- #pip_install $PIP3_INSTALLER python3_wheelhouse "$@"
- pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_wheelhouse/ "$@"
+ #pip_install $PIP3_INSTALLER python3_wheelhouse "$@"
+ pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_wheelhouse/ "$@"
}
pip3_install_kilo_modules() {
- #pip_install $PIP3_INSTALLER python3_kilo_wheelhouse "$@"
- pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_kilo_wheelhouse/ "$@"
+ #pip_install $PIP3_INSTALLER python3_kilo_wheelhouse "$@"
+ pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_kilo_wheelhouse/ "$@"
}
pip3_install_kilo42_modules() {
- #pip_install $PIP3_INSTALLER python3_kilo_wheelhouse "$@"
- pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_kilo_rel_4.2_wheelhouse/ "$@"
+ #pip_install $PIP3_INSTALLER python3_kilo_wheelhouse "$@"
+ pip_install $PIP3_INSTALLER https://wheel.riftio.com/mirrors/python3_kilo_rel_4.2_wheelhouse/ "$@"
}
-setup_fedora_repos() {
- announce $FUNCNAME
+setup_yum_repos() {
+ announce $FUNCNAME
- if [ $ONLY_RIFT_REPOS == 1 ]; then
- cmd $YUM clean all
- rm -f $STAGING/etc/yum.repos.d/*
- cmd rpm --rebuilddb
- fi
+ if [[ $ONLY_RIFT_REPOS == 1 ]]; then
+ rm -f $STAGING/etc/yum.repos.d/*
+ cmd rpm --rebuilddb
+ fi
+ if [[ $DISTRO == fedora ]]; then
if [[ $REPO_FILE =~ .rpm$ ]]; then
- cmd $YUM localinstall --assumeyes $REPO_FILE
+ cmd rpm -i --force $REPO_FILE
+ else
+ cp $REPO_FILE $STAGING/etc/yum.repos.d/
+ fi
+ elif [[ $DISTRO == Ubuntu ]]; then
+ if [[ $REPO_FILE =~ .deb$ ]]; then
+ cmd dpkg -i $REPO_FILE
else
- cp $REPO_FILE $STAGING/etc/yum.repos.d/
+ cp $REPO_FILE $STAGING/etc/apt/sources.list.d
fi
+ fi
- cmd $YUM clean all
+ cmd $YUM clean all
+ if [[ $DISTRO == fedora ]]; then
cmd $YUM makecache
+ else
+ cmd $YUM update
+ fi
+
+ if [[ $DISTRO == fedora ]]; then
+ yum_install yum-utils
+ # ok if this fails
+ cmd yum-config-manager --quiet --enable updates3
+ if [[ $RELEASE == 20 ]]; then
+ # avoid a conflict later
+ yum_update vim-minimal
+ fi
+ fi
+}
- if [ $FIX_PIP == 1 ]; then
-
- # PIP3
- echo "1) pip3 version is: "`cmd /bin/python3-pip --version`
- rm -Rfv /tmp/pip_build_root # fixes: The temporary folder for building (/tmp/pip_build_root) is not owned by your user!
- yum_install python3 python3-pip
- #cat $STAGING/bin/python3-pip
- ls -ld $STAGING/bin/*pip*
- # the default version of pip is so old that it can't use a https server that has multiple servers
- echo "2) pip3 version is: "`cmd /bin/python3-pip --version`
- cmd 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
- cmd /bin/python3-pip install /tmp/pip-7.1.2-py2.py3-none-any.whl
- perl -i -p -e 's/1\.4\.[0-9]/7.1.2/g;' $STAGING/bin/python3-pip
- echo "3) pip3 version is: "`cmd /bin/python3-pip --version`
+setup_pip_repos() {
- else
- pip3 install --upgrade pip
- fi
-
- yum_install yum-utils
- # ok if this fails
- cmd yum-config-manager --quiet --enable updates3
+ rm -Rfv /tmp/pip_build_root # fixes: The temporary folder for building (/tmp/pip_build_root) is not owned by your user!
+ yum_install python3
+ cmd curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py
+ cmd python3 get-pip.py
+ PIP3_INSTALLER=/bin/pip3
}
# this needs to be after the .rpms installs so that yum-utils is installed
config_rw_repos() {
- announce $FUNCNAME
+ announce $FUNCNAME
+ if [[ $DISTRO == fedora ]]; then
# release(stable) is the default in the riftware.repo
# we never want to leave these enabled in production
if [[ "$RW_REPO" = "nightly" ]]; then
- YUM_OPTS="--enablerepo=RIFT.ware-4.1-nightly,RIFT.ware-4.1-testing"
+ YUM_OPTS="--enablerepo=RIFT.ware-4.1-nightly,RIFT.ware-4.1-testing"
elif [[ "$RW_REPO" = "testing" ]]; then
- YUM_OPTS="--enablerepo=RIFT.ware-4.1-testing"
+ YUM_OPTS="--enablerepo=RIFT.ware-4.1-testing"
fi
cmd $YUM clean all
cmd $YUM makecache
+ fi
}
install_kernel() {
- if [ -n "$KERNEL_REV" ]; then
- yum_install kernel-${KERNEL_REV} kernel-devel-${KERNEL_REV} kernel-modules-extra-${KERNEL_REV}
+ if [ -n "$KERNEL_REV" ]; then
+ if $CONTAINER; then
+ yum_install kernel-devel-${KERNEL_REV}
+ else
+ yum_install kernel-${KERNEL_REV} kernel-devel-${KERNEL_REV} kernel-modules-extra-${KERNEL_REV}
+ fi
+ if [ ! -e /lib/modules/${KERNEL_REV}/build ]; then
+ mkdir -p /lib/modules/${KERNEL_REV}
+ ln -s /usr/src/kernels/${KERNEL_REV} /lib/modules/${KERNEL_REV}/build
+ fi
+ else
+ if [[ $DISTRO == fedora ]]; then
+ yum_install kernel-devel
+ else
+ :
fi
+ fi
}
setup_usr_rift() {
- announce $FUNCNAME
+ announce $FUNCNAME
- # RIFT-11697
- #yum_install $YUM_OPTS rift_scripts
+ # RIFT-11697
+ #yum_install $YUM_OPTS rift_scripts
- cmd adduser -m -s /bin/bash -U rift
- echo "rift:rift" | cmd chpasswd
+ cmd_rc id rift
+ if [ $? -ne 0 ]; then
+ if [[ $DISTRO == fedora ]]; then
+ cmd adduser -m -s /bin/bash -U rift
+ elif [[ $DISTRO == ubuntu ]]; then
+ cmd adduser --disabled-password --shell /bin/bash --gecos rift rift
+ fi
+ fi
+ echo "rift:rift" | cmd chpasswd
- #rm -rf $STAGING/home/rift/scripts
- #ln -s /usr/rift/scripts $STAGING/home/rift/scripts
+ #rm -rf $STAGING/home/rift/scripts
+ #ln -s /usr/rift/scripts $STAGING/home/rift/scripts
+ if [[ $PLATFORM_OS == fc20 ]]; then
yum_install $YUM_OPTS riftware-base
+ fi
- #
- # FIX ME
- #cp $REPO_FILE $STAGING/etc/yum.repos.d/
- # this looks fixed in setup_fedora_repos
+ #
+ # FIX ME
+ #cp $REPO_FILE $STAGING/etc/yum.repos.d/
+ # this looks fixed in setup_repos
}
setup_access() {
- announce $FUNCNAME
+ announce $FUNCNAME
+
+ # sshd is already enabled for other distros
+ if [[ $DISTRO == fedora ]]; then
cmd systemctl enable sshd
+ fi
+
echo root:toor | cmd chpasswd
echo "ALL ALL=NOPASSWD: ALL" >> ${STAGING}/etc/sudoers
sed -i '/requiretty/s/^/#/' ${STAGING}/etc/sudoers || die "sed failed"
- install --group=root --owner=root --mode=700 -d $STAGING/root/.ssh/
- cp $RIFTROOT/scripts/vm/root/.ssh/* $STAGING/root/.ssh/
- chmod 600 $STAGING/root/.ssh/*
+ install --group=root --owner=root --mode=700 -d $STAGING/root/.ssh/
+ if $CONTAINER; then
+ test -f /root/.ssh/id_rsa || ssh-keygen -N "" -f /root/.ssh/id_rsa
+ cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
+ else
+ cp $RIFT_ROOT/scripts/vm/root/.ssh/* $STAGING/root/.ssh/
+ fi
+ chmod 600 $STAGING/root/.ssh/*
- perl -i -p -e 's/PasswordAuthentication yes/PasswordAuthentication no/;' ${STAGING}/etc/ssh/sshd_config
- if [ -e ${STAGING}/etc/selinux/config ]; then
- sed -i 's,^\(SELINUX=\).*,\1permissive,' ${STAGING}/etc/selinux/config || die "sed failed"
- fi
+ sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' ${STAGING}/etc/ssh/sshd_config
+ if [ -e ${STAGING}/etc/selinux/config ]; then
+ sed -i 's,^\(SELINUX=\).*,\1permissive,' ${STAGING}/etc/selinux/config || die "sed failed"
+ fi
}
brand_images() {
announce $FUNCNAME
+ if ! $CONTAINER; then
+ echo "${SHA}" > ${STAGING}/etc/rift.hash
+ echo -e "checking /etc/rift.hash: `cat ${STAGING}/etc/rift.hash` ";
+ fi
- echo "${SHA}" > ${STAGING}/etc/rift.hash
- echo -e "checking /etc/rift.hash: `cat ${STAGING}/etc/rift.hash` ";
-
- # remove extra spaces and make into CSV
- clean_modes=$(echo "$MODES" | awk '$1=$1' | sed 's/ /,/g' )
+ # remove extra spaces and make into CSV
+ clean_modes=$(echo "$MODES" | awk '$1=$1' | sed 's/ /,/g' )
- json=$(echo "{\"modes\":\"${clean_modes}\",\"build_number\":\"${RIFT_BUILD_NUMBER}\",\"version\":\"${VERSION}\",\"branch\":\"${BRANCH}\",\"hash\":\"${SHA}\"}")
- echo "${json}" > ${STAGING}/etc/rift.vm
+ json=$(echo "{\"modes\":\"${clean_modes}\",\"build_number\":\"${RIFT_BUILD_NUMBER}\",\"version\":\"${VERSION}\",\"branch\":\"${BRANCH}\",\"hash\":\"${SHA}\"}")
+ echo "${json}" > ${STAGING}/etc/rift.vm
echo -e "checking /etc/rift.vm: `cat ${STAGING}/etc/rift.vm` ";
}
output_images() {
- local output_type
-
- announce $FUNCNAME
- for output_type in ${OUTPUTS}; do
- case ${output_type} in
- qcow2)
- pack_qcow2
- compress_qcow2
- ;;
- disk-image)
- pack_image
- ;;
- *)
- echo
- echo "WARNING: Unknown output type '${output_type}'"
- echo
- ;;
- esac
- done
+ local output_type
+
+ announce $FUNCNAME
+ for output_type in ${OUTPUTS}; do
+ case ${output_type} in
+ qcow2)
+ pack_qcow2
+ compress_qcow2
+ ;;
+ disk-image)
+ pack_image
+ ;;
+ *)
+ echo
+ echo "WARNING: Unknown output type '${output_type}'"
+ echo
+ ;;
+ esac
+ done
}
-install_host_packages() {
-
- yum -y install nbd
+RIFT_ROOT=$(dirname $(dirname $(dirname $(realpath $0))))
+BUILDDIR="${RIFT_ROOT}/.build/vm"
-}
-
-RIFTROOT=$(dirname $(dirname $(dirname $(realpath $0))))
-BUILDDIR="${RIFTROOT}/.build/vm"
+PLATFORM_OS=$(${RIFT_ROOT}/scripts/util/host-platform)
#SEED_URL=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/x86_64/
SEED_URL=http://repo.riftio.com/releases/4.0/vm_images
-SEED=Fedora-x86_64-20-20131211.1-sda.qcow2
SEED_PATH=""
FEDORA_REL=20
OUTPUTS="qcow2 disk-image"
IMG_PREFIX="rift"
INSTALL_ONLY=false
INSTALL_EXTRA=true
-ENABLE_LAB=fals3
+ENABLE_LAB=false
RW_REPO="release"
+# If we are in a container then proc 1 (the init process) will have control group
+# restrictions. If we are not in a container then proc 1 will be in control group
+# "/" for all control groups. So if /proc/1/cgroups has any line that does NOT
+# end with /, we are in a container
+if [ "$(basename $0)" == "mkcontainer" ]; then
+ CONTAINER=true
+elif egrep '/.' /proc/1/cgroup >/dev/null 2>&1; then
+ CONTAINER=true
+else
+ CONTAINER=false
+fi
+
+echo "Setting up a container: $CONTAINER"
# Are we building a local RIFT.io dev image. If so
# additional configuration will be included that assumes
# This is roughly the amount of space required to hold the .install tree when
# built with NOT_DEVELOPER_BUILD=TRUE, also known as 1.5G
_EXTRA_DISK_SPACE_K=1572864
-KERNEL_REV="3.12.9-301.fc20.x86_64"
-REPO_FILE=http://repo.riftio.com/releases/riftware-release-latest.rpm
-ONLY_RIFT_REPOS=1
-USE_INTERNET_REPOS=0
-FIX_PIP=1
-PIP3_INSTALLER=/bin/python3-pip
-YUM=/bin/yum
-RELEASE=20
+if [[ $PLATFORM_OS == 'fc20' ]]; then
+ DISTRO=fedora
+ RELEASE=20
+ SHORTNAME=fc20
+ YUM=/bin/yum
+ PIP3_INSTALLER=/bin/python3-pip
+ FIX_PIP=1
+ ONLY_RIFT_REPOS=1
+ USE_INTERNET_REPOS=0
+ KERNEL_REV="3.12.9-301.fc20.x86_64"
+ SEED=Fedora-x86_64-20-20131211.1-sda.qcow2
+ REPO_FILE=http://repos.riftio.com/releases/riftware-fedora.rpm
+ NODEJS=/usr/bin/node
+
+elif [[ $PLATFORM_OS == 'fc23' ]]; then
+ DISTRO=fedora
+ RELEASE=23
+ SHORTNAME=fc23
+ YUM=dnf
+ PIP3_INSTALLER=/bin/pip3
+ FIX_PIP=0
+ ONLY_RIFT_REPOS=0
+ USE_INTERNET_REPOS=1
+ KERNEL_REV=""
+ SEED="Fedora-Cloud-Base-23-20151030.x86_64.qcow2"
+ REPO_FILE="riftware-release.repo"
+ NODEJS=/usr/bin/node
+
+elif [[ $PLATFORM_OS == 'ub16' ]]; then
+ DISTRO=ubuntu
+ RELEASE=16.04
+ SHORTNAME=ub16
+ YUM="DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get"
+ PIP3_INSTALLER=/usr/bin/pip3
+ FIX_PIP=0
+ ONLY_RIFT_REPOS=0
+ USE_INTERNET_REPOS=1
+ KERNEL_REV=""
+ REPO_FILE=
+ NODEJS=/usr/bin/nodejs # renamed from 'node' to 'nodejs' in more recent versions
+
+else
+ echo "Internal error: PLATFORM_OS is set to $PLATFORM_OS" >&2
+ exit 1
+
+fi
usage() {
- MODES=$(ls $(dirname $0).rpm)
- cat <<-EOF
- $(basename $0) [ARGUMENTS]
-
- This script is used to create base VM images capable of running the RW.OS. In addition
- it can also add a full RIFT.io developer environment which adds internal tools like
- ldap and nfs.
-
- ARGUMENTS:
- -h, --help This screen
- -c, --clean clean the build area
-
- -b, --builddir [PATH] Directory to use for building the build [${BUILDDIR}]
- -p, --prefix Prefix for the image filename [${IMG_PREFIX}]
- -s, --seed [URL] Image seed [${SEED_URL}/${SEED}]
- -r, --rwrepo [REPO] RW Repo to enable: release/testing/nightly [${RW_REPO}]
- -o, --outputs [OUTPUTS] Comma seperated list of images to generate [${OUTPUTS}]
- --install-only Only install packages, do not produce images
- -m, --modes [MODES] Include packages for specified modes
- -e, --extra extra space to reserve in GB
- --repo_file file file to use to enable additional repos
- --internet do not delete existing repo files and get stuff from internet
-
- OUTPUTS:
- qcow2: Openstack/kvm suitable image
- disk-image: Raw disk image, suitable for EC2
-
- EXAMPLES:
- build an image to be used in our environment, run in $RIFT_ROOT:
- mkdir tmp
- sudo ./scripts/cloud/mkvmimage -d -b tmp -o qcow2
-
- MODES:
- one or more of $MODES
-
- EOF
+ MODES=$(ls $(dirname $0).rpm)
+ cat <<-EOF
+ $(basename $0) [ARGUMENTS]
+
+ This script is used to create base VM images or initialize a container so it is
+ capable of running the RW.OS. In addition
+ it can also add a full RIFT.io developer environment which adds internal tools like
+ ldap and nfs.
+
+ Arguments and options for VM creation are very different from the arguments and options
+ for initializing a container.
+
+ When initializing a container, it is assumed that /etc/resolv.conf is already initialized.
+
+ COMMON OPTIONS:
+ -h, --help This screen
+ --container Initialize this container
+ -r, --rwrepo [REPO] RW Repo to enable: release/testing/nightly [${RW_REPO}]
+ -m, --modes [MODE] Include packages for specified modes, may be repeated for multiple modes
+ --repofile file file to use to enable additional repos
+ --internet do not delete existing repo files and get stuff from internet
+
+ CONTAINER OPTIONS:
+
+ VM OPTIONS:
+ -c, --clean clean the build area
+
+ -b, --builddir [PATH] Directory to use for building the build [${BUILDDIR}]
+ -p, --prefix Prefix for the image filename [${IMG_PREFIX}]
+ -s, --seed [URL] Image seed [${SEED_URL}/${SEED}]
+ -o, --outputs [OUTPUTS] Comma seperated list of images to generate [${OUTPUTS}]
+ --install-only Only install packages, do not produce images
+ -e, --extra extra space to reserve in GB
+
+ VM OUTPUTS:
+ qcow2: Openstack/kvm suitable image
+ disk-image: Raw disk image, suitable for EC2
+
+ EXAMPLES:
+ build an image to be used in our environment, run in $RIFT_ROOT:
+ mkdir tmp
+ sudo ./scripts/cloud/mkvmimage -d -b tmp -o qcow2
+
+ initialize a new container to be used for development (run as root):
+ ./scripts/vm_image/mkvmimage --container
+
+ MODES:
+ one or more of $MODES
+
+EOF
}
while [ $# -gt 0 ]; do
- case "$1" in
- -h|--help)
- usage
- exit 0
- ;;
- -b|--builddir)
- shift
- BUILDDIR=${1}
- ;;
- -p|--prefix)
- shift
- IMG_PREFIX=${1}
- ;;
- -r|--rwrepo)
- shift
- RW_REPO=${1}
- ;;
- -s|--seed)
- shift
- SEED_URL=${1%/*}
- SEED=${1##*/}
- ;;
- -e|--extra)
- shift
- _EXTRA_DISK_SPACE_K=$(expr $1 \* 1024 \* 1024)
- ;;
- -o|--outputs)
- shift
- OUTPUTS=$(echo ${1} | tr ',' ' ')
- ;;
- --install-only)
- INSTALL_ONLY=true
- ;;
- --modes|-m)
- shift
- modes_in="$modes_in ${1}"
- ;;
- --clean|-c)
- CLEAN_FIRST=true
- ;;
- --repo-file)
- shift
- REPO_FILE="$1"
- ;;
- --internet)
- ONLY_RIFT_REPOS=0
- USE_INTERNET_REPOS=1
- ;;
- --no-fix-pip)
- FIX_PIP=0
- ;;
- --kernel)
- shift
- KERNEL_REV="$1"
- ;;
- --fc23)
- # short hand
- PIP3_INSTALLER=/bin/pip3
- FIX_PIP=0
- ONLY_RIFT_REPOS=0
- USE_INTERNET_REPOS=1
- KERNEL_REV=""
- SEED="Fedora-Cloud-Base-23-20151030.x86_64.qcow2"
- YUM=dnf
- RELEASE=23
- REPO_FILE="riftware-release.repo"
- ;;
- *)
- set -x
- echo "args= $# "
- #die "Unknown argument $1"
- ;;
- esac
- shift
+ case "$1" in
+ -h|--help)
+ usage
+ exit 0
+ ;;
+ -b|--builddir)
+ shift
+ BUILDDIR=${1}
+ ;;
+ -p|--prefix)
+ shift
+ IMG_PREFIX=${1}
+ ;;
+ -r|--rwrepo)
+ shift
+ RW_REPO=${1}
+ ;;
+ -s|--seed)
+ shift
+ SEED_URL=${1%/*}
+ SEED=${1##*/}
+ ;;
+ -e|--extra)
+ shift
+ _EXTRA_DISK_SPACE_K=$(expr $1 \* 1024 \* 1024)
+ ;;
+ -o|--outputs)
+ shift
+ OUTPUTS=$(echo ${1} | tr ',' ' ')
+ ;;
+ --install-only)
+ INSTALL_ONLY=true
+ ;;
+ --modes|-m)
+ shift
+ modes_in="$modes_in ${1}"
+ ;;
+ --clean|-c)
+ CLEAN_FIRST=true
+ ;;
+ --repo-file|--repofile)
+ shift
+ REPO_FILE="$1"
+ ;;
+ --no-repo-file)
+ REPO_FILE=""
+ ;;
+ --internet)
+ ONLY_RIFT_REPOS=0
+ USE_INTERNET_REPOS=1
+ ;;
+ --no-fix-pip)
+ FIX_PIP=0
+ ;;
+ --kernel)
+ shift
+ KERNEL_REV="$1"
+ ;;
+ *)
+ set -x
+ echo "args= $# "
+ die "Unknown argument $1"
+ ;;
+ esac
+ shift
done
+if ${CONTAINER}; then
+ # These need to be reset when setting up a container:
+ BUILDDIR=
+ STAGING=
+fi
+
if [ ${UID} != 0 ]; then
- die "$(basename $0) must be run as root"
+ die "$(basename $0) must be run as root"
fi
VM_DIR=$(dirname $0)
-if $CLEAN_FIRST; then
- rm -rf $BUILDDIR
+if ! ${CONTAINER}; then
+ if $CLEAN_FIRST; then
+ rm -rf $BUILDDIR
+ fi
+ mkdir -p $BUILDDIR
fi
-mkdir -p $BUILDDIR
-# process MODES
+# process MODES
MODES=" "
add_mode2() {
- if [[ "$MODES" =~ " $1 " ]]; then
- return
- fi
- if [ -f $VM_DIR/${1}.depends ]; then
- for dep in $(cat $VM_DIR/${1}.depends); do
- add_mode2 $dep
- done
- fi
- MODES=" $MODES $1 "
+ if [[ "$MODES" =~ " $1 " ]]; then
+ return
+ fi
+ if [ -f $VM_DIR/${1}.depends ]; then
+ for dep in $(cat $VM_DIR/${1}.depends); do
+ add_mode2 $dep
+ done
+ fi
+ MODES=" $MODES $1 "
}
add_mode() {
- IMG_PREFIX="${IMG_PREFIX}-${1}"
- add_mode2 $1
+ IMG_PREFIX="${IMG_PREFIX}-${1}"
+ add_mode2 $1
}
for mode in $modes_in; do
- add_mode $mode
+ add_mode $mode
done
-SHA=$(git rev-parse --short HEAD)
-if [ -z "${SHA}" ]; then
- die "Failed to find a git sha"
-fi
+if ! ${CONTAINER}; then
+ SHA=$(git rev-parse --short HEAD)
+ if [ -z "${SHA}" ]; then
+ die "Failed to find a git sha"
+ fi
-BRANCH=$(git rev-parse --abbrev-ref HEAD)
-VERSION=$(cat ./RELEASE) # full 4 digits like 4.2.0.0
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
+ VERSION=$(cat ./RELEASE) # full 4 digits like 4.2.0.0
-RIFT_ROOT=$(pwd)
-source ./scripts/packaging/getbuild
-echo "RIFT_BUILD_NUMBER=${RIFT_BUILD_NUMBER}";
+ source ${RIFT_ROOT}/scripts/packaging/getbuild
+ echo "RIFT_BUILD_NUMBER=${RIFT_BUILD_NUMBER}";
-#if [ $BRANCH == "master" ]; then
-# IMG_PREFIX="${IMG_PREFIX}-${SHA}"
-#else
- #IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${BRANCH}-${SHA}"
- #IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${RIFT_BUILD_NUMBER}-${BRANCH}"
-#fi
+ #if [ $BRANCH == "master" ]; then
+ # IMG_PREFIX="${IMG_PREFIX}-${SHA}"
+ #else
+ # IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${BRANCH}-${SHA}"
+ # IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${RIFT_BUILD_NUMBER}-${BRANCH}"
+ #fi
-IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${RIFT_BUILD_NUMBER}-${BRANCH}"
+ IMG_PREFIX="${IMG_PREFIX}-${VERSION}-${RIFT_BUILD_NUMBER}-${BRANCH}"
+
+ announce "BUILDING $IMG_PREFIX "
+fi
-announce "BUILDING $IMG_PREFIX "
echo "MODES=$MODES "
#echo "printenv:"
#printenv
+if ! ${CONTAINER}; then
+ #check_build_area -- we cannot be under $RIFT_ROOT unless we are also in .build
+ # JLM -- IS THIS STILL TRUE????
+ x=$(realpath $BUILDDIR)
+ if [[ $x =~ $RIFT_ROOT && ! $x =~ $RIFT_ROOT/.build ]]; then
+ echo "ERROR $x is not an approriate BUILDDIR. It must not be inside RIFT_ROOT unless it is under .build"
+ exit 1
+ fi
-#check_build_area -- we cannot be under $RIFT_ROOT unless we are also in .build
-# JLM -- IS THIS STILL TRUE????
-x=$(realpath $BUILDDIR)
-if [[ $x =~ $RIFTROOT && ! $x =~ $RIFTROOT/.build ]]; then
- echo "ERROR $x is not an approriate BUILDDIR. It must not be inside RIFTROOT unless it is under .build"
- exit 1
-fi
-
-
-STAGING=${BUILDDIR}/image-staging
-if ${INSTALL_ONLY}; then
- STAGING=""
-fi
-SEED_PATH=${BUILDDIR}/${SEED}
+ STAGING=${BUILDDIR}/image-staging
+ if ${INSTALL_ONLY}; then
+ STAGING=""
+ fi
-install_host_packages
+ SEED_PATH=${BUILDDIR}/${SEED}
-if ! ${INSTALL_ONLY}; then
- fetch_seed
- setup
+ if ! ${INSTALL_ONLY}; then
+ fetch_seed
+ setup
+ fi
fi
-setup_fedora_repos
+if [ -n "$REPO_FILE" ]; then
+ setup_yum_repos
+fi
+setup_pip_repos
install_kernel
cmd df -h /
for mode in $MODES; do
- announce "installing $mode"
- basename="$VM_DIR/$mode"
- if [ -s $basename.setup.sh ]; then
- announce "Sourcing $basename.setup.sh"
- source $basename.setup.sh
- cmd df -h /
- fi
- if [ -s $basename.rpms ]; then
- announce "Installing $basename.rpms"
- yum_install $(cat $basename.rpms)
- cmd df -h /
- fi
- if [ -s $basename.pip ]; then
- announce "Installing $basename.pip"
- pip2_install $(cat $basename.pip)
- cmd df -h /
- fi
- if [ -s $basename.pip3 ]; then
- announce "Installing $basename.pip3"
- pip3_install $(cat $basename.pip3)
- cmd df -h /
- fi
- if [ -s $basename.kilo ]; then
- announce "Installing $basename.kilo"
-
- #pip3_install_kilo_modules $(cat $basename.kilo)
- # switch to new kilo pip3 wheelhouse after 4.1
- pip3_install_kilo42_modules $(cat $basename.kilo)
-
- cmd df -h /
- fi
- if [ -s $basename.config.sh ]; then
- announce "Sourcing $basename.config.sh"
- source $basename.config.sh
- cmd df -h /
- fi
+ announce "installing $mode"
+ basename="$VM_DIR/$mode"
+ if [ -s $basename.setup.sh ]; then
+ announce "Sourcing $basename.setup.sh"
+ source $basename.setup.sh
+ cmd df -h /
+ fi
+ if [ -s $basename.rpms ]; then
+ announce "Installing $basename.rpms"
+ # The format of the .rpms file is:
+ # - Comments run from '#' to end-of-line
+ # - Blank lines are ignored
+ # - Packages listed on a line without : are always included
+ # - format of other lines is: "os(,os)*:pkg" where os is ub16, fc20, etc.
+ yum_install $(cat $basename.rpms | sed 's/#.*//' | egrep -v '^\s*$' | egrep '^[^:]*'$SHORTNAME'[^:]*:|^[^:]+$' | sed -r 's/^[^:]*:\s*//')
+ cmd df -h /
+ fi
+ if [ -s $basename.pip ]; then
+ announce "Installing $basename.pip"
+ pip2_install $(cat $basename.pip)
+ cmd df -h /
+ fi
+ if [ -s $basename.pip3 ]; then
+ announce "Installing $basename.pip3"
+ pip3_install $(cat $basename.pip3)
+ cmd df -h /
+ fi
+ if [ -s $basename.kilo ]; then
+ announce "Installing $basename.kilo"
+
+ #pip3_install_kilo_modules $(cat $basename.kilo)
+ # switch to new kilo pip3 wheelhouse after 4.1
+ pip3_install_kilo42_modules $(cat $basename.kilo)
+
+ cmd df -h /
+ fi
+ if [ -s $basename.config.sh ]; then
+ announce "Sourcing $basename.config.sh"
+ source $basename.config.sh
+ cmd df -h /
+ fi
done
# needs to happen after .rpm installs to yum-utils is installed
setup_access
if ${INSTALL_ONLY}; then
- exit 0
+ exit 0
fi
brand_images
-output_images
+
+if ! $CONTAINER; then
+ output_images
+fi
_on_exit
-# vim: noet
--- /dev/null
+# Needed for building:
+ub16: autoconf
+ub16: autoconf-archive
+ub16: autofs
+ub16: automake
+ub16: autopoint
+ub16: autotools-dev
+ub16: bison
+ub16: build-essential
+ub16: bzr
+ub16: bzr-builder
+ub16: ca-certificates
+ub16: cdbs
+ub16: debconf
+ub16: debhelper
+ub16: debianutils
+ub16: debootstrap
+ub16: devscripts
+ub16: dh-autoreconf
+ub16: dh-python
+ub16: dh-strip-nondeterminism
+ub16: dh-translations
+ub16: dpkg-dev
+ub16: fakeroot
+ub16: git-build-recipe
+ub16: gnome-pkg-tools
+ub16: gnupg
+ub16: gtk-doc-tools
+ub16: language-pack-en
+ub16: lintian
+ub16: make
+ub16: patch
+ub16: patchutils
+ub16: pbuilder
+ub16: pbzip2
+ub16: pkg-config
+ub16: po-debconf
+ub16: pristine-tar
+ub16: quilt
--- /dev/null
+[fedora]
+name=Fedora $releasever - $basearch
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/releases/$releasever/Everything/$basearch/os/
+enabled=1
+metadata_expire=7d
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[fedora-debuginfo]
+name=Fedora $releasever - $basearch - Debug
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/releases/$releasever/Everything/$basearch/debug/
+enabled=0
+#metadata_expire=7d
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[fedora-source]
+name=Fedora $releasever - Source
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/releases/$releasever/Everything/source/SRPMS/
+enabled=0
+#metadata_expire=7d
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates2]
+name=RW Fedora Updates2
+baseurl=http://repos.riftio.com/frozen/fedora/updates2/
+enabled=1
+skip_if_unavailable=False
+
+[updates3]
+name=RW Fedora Updates3
+baseurl=http://repos.riftio.com/frozen/fedora/updates3/$releasever/$basearch/
+enabled=1
+skip_if_unavailable=False
+
+[updates]
+name=Fedora $releasever - $basearch - Updates
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/$releasever/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates-debuginfo]
+name=Fedora $releasever - $basearch - Updates - Debug
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/$releasever/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates-source]
+name=Fedora $releasever - Updates Source
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/$releasever/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates-testing]
+name=Fedora $releasever - $basearch - Test Updates
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/testing/$releasever/$basearch/
+enabled=0
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates-testing-debuginfo]
+name=Fedora $releasever - $basearch - Test Updates Debug
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/testing/$releasever/$basearch/debug/
+enabled=0
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+[updates-testing-source]
+name=Fedora $releasever - Test Updates Source
+failovermethod=priority
+baseurl=http://repos.riftio.com/frozen/fedora/updates/testing/$releasever/SRPMS/
+enabled=0
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+skip_if_unavailable=False
+
+
+
+++ /dev/null
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# RIFT.ware 4.1
-#
-[RIFT.ware-4.1]
-name=RIFT.ware
-baseurl=http://repo.riftio.com/releases/riftware/4.1/20/x86_64/release
-enabled=1
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-
-[RIFT.ware-4.1-testing]
-name=RIFT.ware Testing
-baseurl=http://repo.riftio.com/releases/riftware/4.1/20/x86_64/testing
-enabled=0
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-
-[RIFT.ware-4.1-nightly]
-name=RIFT.ware Nightly
-baseurl=http://repo.riftio.com/releases/riftware/4.1/20/x86_64/nightly
-enabled=0
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-#
-# RIFT.ware 4.1
-#
-
-#
-# RIFT.ware 4.0
-#
-[RIFT.ware]
-name=RIFT.ware
-baseurl=http://repo.riftio.com/releases/riftware/4.0/20/x86_64/release
-enabled=0
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-
-[RIFT.ware-testing]
-name=RIFT.ware Testing
-baseurl=http://repo.riftio.com/releases/riftware/4.0/20/x86_64/testing
-enabled=0
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-
-[RIFT.ware-nightly]
-name=RIFT.ware Nightly
-baseurl=http://repo.riftio.com/releases/riftware/4.0/20/x86_64/nightly
-enabled=0
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-#
-# RIFT.ware 4.0
-#
-
-[RW.misc]
-name=Misc Packages Repacked by RIFT.io
-baseurl=http://repo.riftio.com/misc
-enabled=1
-metadata_expire=1m
-gpgcheck=0
-skip_if_unavailable=False
-
-[RW.kilo]
-name=openstack packstack Repacked by RIFT.io
-baseurl=http://repo.riftio.com/releases/4.0/kilo_yum
-enabled=1
-metadata_expire=1d
-gpgcheck=0
-skip_if_unavailable=False
-
-
--- /dev/null
+#
+# RIFT.ware
+# Source is available at https://github.com/RIFTIO/RIFT.ware
+#
+[RIFT.ware]
+name=RIFT.ware
+baseurl=http://repos.riftio.com/releases/riftware/release/fedora/$releasever
+enabled=1
+metadata_expire=1m
+gpgcheck=0
+skip_if_unavailable=False
+#
+# open source projects modified and/or repackaged by RIFT.io
+# modified packages can be found in our github account https://github.com/RIFTIO/
+#
+[RIFT.packages]
+name=RIFT.ware Packages
+baseurl=http://repos.riftio.com/packages/fedora/$releasever
+enabled=1
+metadata_expire=1m
+gpgcheck=0
+skip_if_unavailable=False
+#
+# miscelaneous packages that are not part of a stock fc20 distribution
+#
+[RIFT.misc]
+name=Misc Packages collected by RIFT.io
+baseurl=http://repos.riftio.com/mirrors/fedora/$releasever/misc
+enabled=1
+metadata_expire=1m
+gpgcheck=0
+skip_if_unavailable=False
+#
+# RIFT.ware OSM
+#
+[RIFT.ware-OSM]
+name=RIFT.ware OSM
+baseurl=http://repos.riftio.com/public/releases/riftware/OSM/fedora/20
+enabled=1
+metadata_expire=1m
+gpgcheck=0
+skip_if_unavailable=False
--- /dev/null
+#!/bin/bash
+
+
+if [ $(whoami) != "root" ]; then
+ echo "MUST be root to get a prviliged container with LXC"
+ exit 1
+fi
+container=${1:-rift-build}
+image=${2:-fc20}
+script=${3:-init_build_container_osm}
+echo building container ${container} based on image ${image} using script ${script}
+lxc launch ${image} ${container}
+
+output=$(lxc exec ${container} -- ping -c 1 repo.riftio.com)
+while [[ ! $output =~ "1 received" ]]; do
+ echo "waiting for DNS"
+ sleep 1
+ output=$(lxc exec ${container} -- ping -c 1 repo.riftio.com)
+done
+lxc file push ${script} ${container}/root/${script}
+lxc exec ${container} -- bash /root/${script}
--- /dev/null
+#!/bin/bash
+
+re="Starting ([-a-z]+)\b"
+
+echo building container....
+output=$(lxc launch rift)
+if [[ $output =~ $re ]]; then
+ echo $output
+ container=${BASH_REMATCH[1]}
+ echo container name is $container
+else
+ echo -e "error parsing output for container name:\n$output\n"
+ exit 1
+fi
+
+
+lxc exec $container -- yum-config-manager --enable RIFT.ware-4.2-testing
+output=$(lxc exec $container -- host repo.riftio.com)
+re="repo\.riftio\.com has address 50\.252\.212\.201"
+while [[ ! $output =~ $re ]]; do
+ echo waiting for DNS
+ sleep 1
+ output=$(lxc exec $container -- host repo.riftio.com)
+done
+lxc exec $container -- yum makecache
+lxc exec $container -- yum install -y riftware-launchpad.x86_64
+lxc exec $container -- systemctl start rwlp
--- /dev/null
+#!/bin/bash
+
+
+if [ $(whoami) != "root" ]; then
+ echo "MUST be root to get a privileged container with LXC"
+ exit 1
+fi
+container=${1:-rift}
+image=${2:-fc20}
+script=${3:-init_container_osm}
+echo building container ${container} based on image ${image} using script ${script}
+lxc launch ${image} ${container}
+
+output=$(lxc exec ${container} -- ping -c 1 repo.riftio.com)
+while [[ ! $output =~ "1 received" ]]; do
+ echo "waiting for DNS"
+ sleep 1
+ output=$(lxc exec ${container} -- ping -c 1 repo.riftio.com)
+done
+lxc file push ${script} ${container}/root/${script}
+lxc exec ${container} -- bash /root/${script}
--- /dev/null
+#!/bin/bash
+
+
+yum -y install wget
+mkdir rift
+cd rift
+wget -O - http://repo.riftio.com/releases/open.riftio.com/OSM/mkvmimg.tar | tar xf -
+bash ./mkvmimg --container --modes build
+echo Container is now ready to build RIFT.ware
+# got clone ...
+# cd ....
+# make build
--- /dev/null
+#!/bin/bash
+
+
+yum install -y git
+git config --global user.email "Jeremy.Mordkoff@riftio.com"
+git config --global user.name "Jeremy Mordkoff"
+git config --global push.default simple
+
+mkdir .ssh
+cat <<EOF >.ssh/config
+StrictHostKeyChecking no
+
+
+host git
+ user git
+ forwardX11 no
+ identityFile ~/.ssh/id_git
+
+EOF
+
+cat <<EOF >.ssh/id_git
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAycReMTCf0oDQRagaPmvxokzaWu4h7uBgUc06eJxUnfAO6zAU
+RzPHL35+X7xXVONjEY27taMLY3KNaNAl15vKjcidb6PpFMWDLHQrlV5uipTbojgF
+rkQ/tZ8PhPSVcoWsSSXJr0jZipIGRZnu3evd7b18qDBlj8eRLR6K2FZKAvVhygXe
+Ele5eXEU/McqMh/Dm0ejJ4qp0BtiyEf5tFAUMNnNGt4WgiwQ9CGpdzt/kSfBSgIA
+Cx/CEX5GeudpK3Ny2cYHpQGbbdangTzy7EOgG9bNkODM7dtFhmhYWRs9Cdy2xAQn
+4I825PpaUYiJW9/G/bZvimgs/wVuLDve/TU+gwIBIwKCAQEAm6YcxtxeCMnFPQym
+h+ze+Yu+Y2c+v5clu3Ju71QGwvsEMcYBA7o6klpEOzmFMttMbKCJfX3G9PH4Dwb4
+nwMnOi0LvIXCbxwGGvqIBYNclsqazZjucH3Kv07RdTG1HdTVXP/kumtl/S7Ro2ge
+qzJMHcywnwDDYEl+nyYwmEKQ3bSbEKH516stIOzc+1VkajzYVCOmQ4yIuqQD6uh3
+Pwpq/3X1Rsu9Bw1970+P00t+1bKhq8k37biUZDAXPoU6CnY2eLPq35mL0Cc5Wv3S
+CDfwTn8BePma3o9pgtbxDDTVcC2+mmV66ny3+8rP0q6uZeJ/vTALOwcXG+LPFT6n
+ugVlcwKBgQD3b5uk1/28sn8ehynVNg5l9S/pMCAtsPKkXhwvLolIfn3RnAysf/jR
+Au+jNNgF3A3bIv316UN2vK9K14qW5DI7ApDG40yvzh+3Hx106gbCISZroyRdbS2X
+yv0kiy0AWsKZd09x1OQAoNWPtxaLgyOLi3Qdx93cvuNt3kQ3UPbTDQKBgQDQwBz+
+1u3euLVvtI10AJMV0LobVAApsfVRCkDRIRgbEd+Ep8lPDAVQ12wS7h4OLk7Iuhul
+MBLzRLaRp6ajfBBGkBMjQQpS1EG4/yJRTOrfXAu+1ahH7mWNQTghQtkoAT2hexS3
+5S93LSdeY2mghBHhteeYiPxhs7AjRWQQnqkzzwKBgQCGUoexQg1mb4bWDtwx6iUS
+xu4fgIZ/NCvy1ACr5hACyFLuIYM5EkU+Q2wlZdRa880B7mybcAANQduAZmEtV053
+zjFWBlzUdzXJzw/9o51E0CrMt6YG1N48dYIbJvssFAM9XgaOQF6D/4ngTXKjgbQ1
+z1xKrlPeO71KRXV9HVLKVwKBgGVkoF6Fpryi28iK5Z6+c1O9JzHYV9m81j1OH3uF
+GlZKgoJC3h8Ud5xLYGD3UG1JsTzsrleMYPnQ6vZKHb0fAJdNSx/AgVtuaRC2b8EW
+uzlJ9xOMWQz+w5xhganBYilfsDh9nFlSD72K9d1jfHKJSoOS3jQlR2Knu/Pf4CVU
+YNAFAoGBAKU4EcntM5eA1EAsJ29i8GlB3e2+Q7JE1bPO98iAZEmYzew7+4yYN6Nd
+8cJhaVM6YUb2K7AU1sLJtibi59NO/hJx1epLgyPMEPVe55IdFw91a479dmv2lP9G
+Ma4ub/Xn1ReaRkZYnz/VZEQ598heAJ5hNLkf8EzS8v7iV/leDXjw
+-----END RSA PRIVATE KEY-----
+EOF
+
+chmod 700 .ssh
+chmod 600 .ssh/*
+
+git clone git@git:rift.git
+cd rift
+git checkout lezz-mkvmimage
+./scripts/vm_image/mkvmimg --container --modes ui
+yum install -y riftware-launchpad
+systemctl start rwlp
--- /dev/null
+#!/bin/bash
+
+
+yum -y install wget
+mkdir rift
+cd rift
+wget -O - http://repo.riftio.com/releases/open.riftio.com/OSM/mkvmimg.tar | tar xf -
+bash ./mkvmimg --container --modes ui
+yum install -y riftware-launchpad
+systemctl start rwlp
#!/bin/bash
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
echo "installing lab scripts"
#cmd yum -y --enablerepo='*' install riftware-scripts-internal-lab
#ls -all $STAGING/home/rift/scripts/
echo "running enable_lab"
+# For VMs this MUST come from /usr/rift so
+# do containers need this from $RIFT_ROOT ???
cmd /usr/rift/scripts/cloud/enable_lab
echo "2) checking RPMS"
cmd "rpm -qa | grep -i rift"
-<<<<<<< HEAD
#echo "2a) checking scripts"
#cmd "ls -all /home/rift/scripts/"
#echo "2b) checking scripts"
#ls -all $STAGING/home/rift/scripts/
-=======
-echo "2a) checking scripts"
-cmd "ls -all /home/rift/scripts/"
-echo "2b) checking scripts"
-ls -all $STAGING/home/rift/scripts/
->>>>>>> 124aa0224ed0fc6c0ae399e03292388eab11fe35
+
+if [ ! -e /usr/rift/bin/ssh_root ]; then
+ ln -s /usr/rift/scripts/env/ssh_root /usr/rift/bin/
+fi
+
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-#
+
+# STANDARD_RIFT_IO_COPYRIGHT
# upgrade node binary manually
if [[ -f $STAGING/usr/bin/node ]]; then
cmd npm set strict-ssl false
cmd npm set progress=false
-# NPM self-update
-echo "===== NPM self-update take #1"
-cmd npm install npm@3.8.6 -g
-echo "===== NPM self-update take #2 (twice is required to pull in and update everything!)"
-cdm npm install npm@3.8.6 -g
+if [[ $PLATFORM_OS == 'fc20' ]]; then
+ # NPM self-update
+ echo "===== NPM self-update take #1"
+ cmd npm install npm@3.8.6 -g
+ echo "===== NPM self-update take #2 (twice is required to pull in and update everything!)"
+ cmd npm install npm@3.8.6 -g
+fi
# upgrade node-gyp?
#npm explore npm -g -- npm install node-gyp
cmd npm install -g --production forever
echo "===== Checking Versions:"
-echo "node:"; cmd node -v
+echo "node:"; cmd $NODEJS -v
echo "npm:"; cmd npm -v
echo "node-gyp:"; cmd node-gyp -v
echo 'auto_accept: True' >>$STAGING/etc/salt/master
cmd systemctl enable salt-master
cmd systemctl enable salt-minion
-cmd systemctl enable libvirtd
\ No newline at end of file
+if [[ -f /etc/sysconfig/libvirtd ]]; then
+ cmd systemctl enable libvirtd
+elif [[ -f etc/init/libvirt-bin.conf ]]; then
+ cmd sysetmctl enable libvirt-bin
+fi
crossbar==0.11.1
dicttoxml
ecdsa==0.13
-enum34==1.0.4
futures==2.2.0
junit-xml
jsonpath-rw==1.4.0
PyYAML==3.11
pytest
pytest-xdist
+python-daemon
requests==2.8.1
six==1.10.0
statistics
tornado==4.1
+tosca-parser==0.4.1.dev40
websockets
xmltodict
zake==0.2.1
-acl-2.2.52-4.fc20.x86_64
-audit-2.3.2-1.fc20.x86_64
-audit-libs-2.3.2-1.fc20.x86_64
-audit-libs-python-2.3.2-1.fc20.x86_64
-augeas-libs-1.1.0-2.fc20.x86_64
-autogen-libopts-5.18-1.fc20.x86_64
-avahi-libs-0.6.31-21.fc20.x86_64
-basesystem-10.0-9.fc20.noarch
-bash-4.2.45-4.fc20.x86_64
-bind-libs-lite-9.9.4-8.fc20.x86_64
-bind-license-9.9.4-8.fc20.noarch
-bind-utils
-binutils-2.23.88.0.1-13.fc20.x86_64
-boost-filesystem-1.54.0-9.fc20.x86_64
-boost-system-1.54.0-9.fc20.x86_64
-boost-thread-1.54.0-9.fc20.x86_64
-bzip2-1.0.6-9.fc20.x86_64
-bzip2-libs-1.0.6-9.fc20.x86_64
-ca-certificates-2013.1.94-18.fc20.noarch
-c-ares-1.10.0-2.fc20.x86_64
-c-ares-devel-1.10.0-2.fc20.x86_64
-ceph-libs-0.67.3-2.fc20.x86_64
-chkconfig-1.3.60-4.fc20.x86_64
-cloud-init-0.7.2-7.fc20.noarch
-cloud-utils-growpart-0.27-9.fc20.noarch
-coreutils-8.21-18.fc20.x86_64
-corosync-2.3.3-1.fc20.x86_64
-corosynclib-2.3.3-1.fc20.x86_64
-cpio-2.11-24.fc20.x86_64
-cpp-4.8.2-7.fc20.x86_64
-cracklib-2.9.0-5.fc20.x86_64
-cracklib-dicts-2.9.0-5.fc20.x86_64
-cronie-1.4.11-4.fc20.x86_64
-cronie-anacron-1.4.11-4.fc20.x86_64
-crontabs-1.11-6.20121102git.fc20.noarch
-cryptopp-5.6.2-3.fc20.x86_64
-cryptsetup-libs-1.6.2-1.fc20.x86_64
-curl-7.32.0-3.fc20.x86_64
-cyrus-sasl-2.1.26-14.fc20.x86_64
-cyrus-sasl-lib-2.1.26-14.fc20.x86_64
-cyrus-sasl-md5-2.1.26-14.fc20.x86_64
-dbus-1.6.12-1.fc20.x86_64
-dbus-libs-1.6.12-1.fc20.x86_64
-device-mapper-1.02.82-5.fc20.x86_64
-device-mapper-event-1.02.82-5.fc20.x86_64
-device-mapper-event-libs-1.02.82-5.fc20.x86_64
-device-mapper-libs-1.02.82-5.fc20.x86_64
-device-mapper-persistent-data-0.2.8-1.fc20.x86_64
-dhclient-4.2.5-26.fc20.x86_64
-dhcp-common-4.2.5-26.fc20.x86_64
-dhcp-libs-4.2.5-26.fc20.x86_64
-diffutils-3.3-4.fc20.x86_64
-dmidecode-2.12-4.fc20.x86_64
-dnsmasq-2.68-1.fc20.x86_64
-dracut-034-64.git20131205.fc20.x86_64
-dracut-config-generic-034-64.git20131205.fc20.x86_64
-dtc-1.4.0-2.fc20.x86_64
-dwz-0.11-2.fc20.x86_64
-e2fsprogs-1.42.8-3.fc20.x86_64
-e2fsprogs-libs-1.42.8-3.fc20.x86_64
-ebtables-2.0.10-11.fc20.x86_64
-elfutils-libelf-0.157-1.fc20.x86_64
-expat-2.1.0-7.fc20.x86_64
-expect-5.45-10.fc20.x86_64
-fedora-logos-21.0.1-1.fc20.x86_64
-fedora-release-20-1.noarch
-file-5.14-14.fc20.x86_64
-file-libs-5.14-14.fc20.x86_64
-filesystem-3.2-19.fc20.x86_64
-findutils-4.5.11-4.fc20.x86_64
-fipscheck-1.4.1-2.fc20.x86_64
-fipscheck-lib-1.4.1-2.fc20.x86_64
-freetype-2.5.0-4.fc20.x86_64
-fuse-libs-2.9.3-2.fc20.x86_64
-gawk-4.1.0-2.fc20.x86_64
-gcc-4.8.2-7.fc20.x86_64
-gcc-c++-4.8.2-7.fc20.x86_64
-gdbm-1.10-7.fc20.x86_64
-gettext-0.18.3.1-1.fc20.x86_64
-gettext-libs-0.18.3.1-1.fc20.x86_64
-glib2
-glibc
-glibc-common
-glibc-devel
-glibc-headers
-glusterfs-3.4.2-1.fc20.x86_64
-glusterfs-api-3.4.2-1.fc20.x86_64
-glusterfs-fuse-3.4.2-1.fc20.x86_64
-glusterfs-libs-3.4.2-1.fc20.x86_64
-gmp-5.1.2-2.fc20.x86_64
-gnupg2-2.0.22-1.fc20.x86_64
-gnutls-3.1.20-1.fc20.x86_64
-gnutls-dane-3.1.20-1.fc20.x86_64
-gnutls-utils-3.1.20-1.fc20.x86_64
-gpgme-1.3.2-4.fc20.x86_64
-grep-2.15-1.fc20.x86_64
-groff-base-1.22.2-8.fc20.x86_64
-grub2-2.00-25.fc20.x86_64
-grub2-tools-2.00-25.fc20.x86_64
-grubby-8.28-1.fc20.x86_64
-gyp-0.1-0.11.1617svn.fc20.noarch
-gzip-1.6-2.fc20.x86_64
-hardlink-1.0-18.fc20.x86_64
-heat-cfntools-1.2.3-2.fc20.noarch
-hostname-3.13-2.fc20.x86_64
-http-parser-2.0-5.20121128gitcd01361.fc20.x86_64
-http-parser-devel-2.0-5.20121128gitcd01361.fc20.x86_64
-httpd
-hwdata-0.260-1.fc20.noarch
-info-5.1-4.fc20.x86_64
-initscripts-9.50-1.fc20.x86_64
-iproute-3.11.0-1.fc20.x86_64
-iptables-1.4.19.1-1.fc20.x86_64
-iptables-services-1.4.19.1-1.fc20.x86_64
-iputils-20121221-4.fc20.x86_64
-iscsi-initiator-utils-6.2.0.873-17.fc20.x86_64
-jbigkit-libs-2.0-9.fc20.x86_64
-json-c-0.11-3.fc20.x86_64
-kbd-1.15.5-12.fc20.x86_64
-kbd-legacy-1.15.5-12.fc20.noarch
-kbd-misc-1.15.5-12.fc20.noarch
-keyutils
-keyutils-libs
-keyutils-libs-devel
-kmod-15-1.fc20.x86_64
-kmod-libs-15-1.fc20.x86_64
-kpartx-0.4.9-55.fc20.x86_64
-krb5-devel-1.11.3-39.fc20.x86_64
-krb5-libs-1.11.3-39.fc20.x86_64
-lcms-libs-1.19-10.fc20.x86_64
-ldns-1.6.16-6.fc20.x86_64
-less-458-4.fc20.x86_64
-leveldb-1.12.0-5.fc20.x86_64
-libacl-2.2.52-4.fc20.x86_64
-libaio-0.3.109-8.fc20.x86_64
-libassuan-2.1.0-2.fc20.x86_64
-libattr-2.4.47-3.fc20.x86_64
-libblkid-2.24-2.fc20.x86_64
-libcap-2.22-7.fc20.x86_64
-libcap-ng-0.7.3-6.fc20.x86_64
-libcgroup-0.38-7.fc20.x86_64
-libcom_err-1.42.8-3.fc20.x86_64
-libcom_err-devel-1.42.8-3.fc20.x86_64
-libcroco-0.6.8-3.fc20.x86_64
-libcurl-7.32.0-3.fc20.x86_64
-libdaemon-0.14-6.fc20.x86_64
-libdb-5.3.28-1.fc20.x86_64
-libdb-utils-5.3.28-1.fc20.x86_64
-libedit-3.1-2.20130601cvs.fc20.x86_64
-libestr-0.1.5-2.fc20.x86_64
-libevent-2.0.21-3.fc20.x86_64
-libffi-3.0.13-5.fc20.x86_64
-libgcc-4.8.2-7.fc20.x86_64
-libgcrypt-1.5.3-2.fc20.x86_64
-libgomp-4.8.2-7.fc20.x86_64
-libgpg-error-1.12-1.fc20.x86_64
-libibverbs-1.1.7-3.fc20.x86_64
-libicu-50.1.2-10.fc20.x86_64
-libidn-1.28-2.fc20.x86_64
-libiscsi-1.9.0-4.fc20.x86_64
-libjpeg-turbo-1.3.0-1.fc20.x86_64
-libmetalink-0.1.2-4.fc20.x86_64
-libmount-2.24-2.fc20.x86_64
-libmpc-1.0.1-2.fc20.x86_64
-libnfsidmap-0.25-7.fc20.x86_64
-libnl3-3.2.21-2.fc20.x86_64
-libpcap-1.5.3-1.fc20.x86_64
-libpciaccess-0.13.2-1.fc20.x86_64
-libpipeline-1.2.4-2.fc20.x86_64
-libpng-1.6.3-3.fc20.x86_64
-libpwquality-1.2.3-1.fc20.x86_64
-libqb-0.16.0-1.fc20.x86_64
-librdmacm-1.0.17-2.fc20.x86_64
-libselinux-2.2.1-6.fc20.x86_64
-libselinux-devel-2.2.1-6.fc20.x86_64
-libselinux-python-2.2.1-6.fc20.x86_64
-libselinux-utils-2.2.1-6.fc20.x86_64
-libsemanage-2.1.10-14.fc20.x86_64
-libsemanage-python-2.1.10-14.fc20.x86_64
-libsepol-2.1.9-2.fc20.x86_64
-libsepol-devel-2.1.9-2.fc20.x86_64
-libss-1.42.8-3.fc20.x86_64
-libssh2-1.4.3-8.fc20.x86_64
-libstdc++-4.8.2-1.fc20.x86_64
-libtasn1-3.3-2.fc20.x86_64
-libtiff-4.0.3-12.fc20.x86_64
-libtirpc-0.2.4-1.0.fc20.x86_64
-libunistring-0.9.3-9.fc20.x86_64
-libuser-0.60-3.fc20.x86_64
-libutempter-1.1.6-3.fc20.x86_64
-libuuid-2.24-2.fc20.x86_64
-libuv-0.10.21-1.fc20.x86_64
-libuv-devel-0.10.21-1.fc20.x86_64
-libverto-0.2.5-3.fc20.x86_64
-libverto-devel-0.2.5-3.fc20.x86_64
-libvirt-1.1.3.3-2.fc20.x86_64
-libvirt-client-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-config-network-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-config-nwfilter-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-interface-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-libxl-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-lxc-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-network-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-nodedev-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-nwfilter-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-qemu-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-secret-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-storage-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-uml-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-vbox-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-driver-xen-1.1.3.3-2.fc20.x86_64
-libvirt-daemon-lxc-1.1.3.3-2.fc20.x86_64
-libwebp-0.3.1-2.fc20.x86_64
-libwsman1-2.3.6-8.fc20.x86_64
-libxml2-2.9.1-2.fc20.x86_64
-libxslt-1.1.28-5.fc20.x86_64
-libyaml-0.1.4-5.fc20.x86_64
-linux-atm-libs-2.5.1-8.fc20.x86_64
-logrotate-3.8.7-1.fc20.x86_64
-lua-5.2.2-5.fc20.x86_64
-lvm2-2.02.103-5.fc20.x86_64
-lvm2-libs-2.02.103-5.fc20.x86_64
-lxc-0.9.0-2.fc20.x86_64
-lxc-extra-0.9.0-2.fc20.x86_64
-lxc-libs-0.9.0-2.fc20.x86_64
-lzo-2.06-5.fc20.x86_64
-lzop-1.03-9.fc20.x86_64
-m2crypto-0.21.1-13.fc20.x86_64
-make-4.0-3.1.fc22.x86_64
-man-db-2.6.5-2.fc20.x86_64
-mozjs17-17.0.0-8.fc20.x86_64
-mpfr-3.1.2-4.fc20.x86_64
-mtools-4.0.18-4.fc20.x86_64
-nbd
-ncurses-5.9-12.20130511.fc20.x86_64
-ncurses-base-5.9-12.20130511.fc20.noarch
-ncurses-libs-5.9-12.20130511.fc20.x86_64
-netcf-libs-0.2.3-5.fc20.x86_64
-net-snmp-libs-5.7.2-16.fc20.x86_64
-nettle-2.7.1-3.fc20.x86_64
-net-tools-2.0-0.15.20131119git.fc20.x86_64
-nfs-utils-1.2.9-3.0.fc20.x86_64
-nmap-ncat-6.40-2.fc20.x86_64
-node-gyp-0.10.6-2.fc20.noarch
-nodejs-0.10.24-1.fc20.x86_64
-nodejs-abbrev-1.0.4-7.fc20.noarch
-nodejs-ansi-0.2.1-1.fc20.noarch
-nodejs-archy-0.0.2-9.fc20.noarch
-nodejs-asn1-0.1.11-4.fc20.noarch
-nodejs-assert-plus-0.1.4-1.fc20.noarch
-nodejs-async-0.2.9-3.fc20.noarch
-nodejs-aws-sign-0.3.0-2.fc20.noarch
-nodejs-block-stream-0.0.7-1.fc20.noarch
-nodejs-boom-0.4.2-3.fc20.noarch
-nodejs-child-process-close-0.1.1-3.fc20.noarch
-nodejs-chmodr-0.1.0-5.fc20.noarch
-nodejs-chownr-0.0.1-10.fc20.noarch
-nodejs-cmd-shim-1.1.0-4.fc20.noarch
-nodejs-combined-stream-0.0.4-4.fc20.noarch
-nodejs-config-chain-1.1.7-2.fc20.noarch
-nodejs-cookie-jar-0.3.0-2.fc20.noarch
-nodejs-couch-login-0.1.18-1.fc20.noarch
-nodejs-cryptiles-0.2.2-1.fc20.noarch
-nodejs-ctype-0.5.3-4.fc20.noarch
-nodejs-delayed-stream-0.0.5-6.fc20.noarch
-nodejs-devel-0.10.24-1.fc20.x86_64
-nodejs-editor-0.0.4-3.fc20.noarch
-nodejs-forever-agent-0.5.0-2.fc20.noarch
-nodejs-form-data-0.1.1-1.fc20.noarch
-nodejs-fstream-0.1.24-1.fc20.noarch
-nodejs-fstream-ignore-0.0.7-2.fc20.noarch
-nodejs-fstream-npm-0.1.5-2.fc20.noarch
-nodejs-github-url-from-git-1.1.1-3.fc20.noarch
-nodejs-glob-3.2.6-1.fc20.noarch
-nodejs-graceful-fs-2.0.0-3.fc20.noarch
-nodejs-hawk-1.0.0-1.fc20.noarch
-nodejs-hoek-0.9.1-2.fc20.noarch
-nodejs-http-signature-0.10.0-4.fc20.noarch
-nodejs-inherits-2.0.0-4.fc20.noarch
-nodejs-ini-1.1.0-4.fc20.noarch
-nodejs-init-package-json-0.0.10-2.fc20.noarch
-nodejs-json-stringify-safe-5.0.0-2.fc20.noarch
-nodejs-lockfile-0.4.2-1.fc20.noarch
-nodejs-lru-cache-2.3.0-4.fc20.noarch
-nodejs-mime-1.2.11-1.fc20.noarch
-nodejs-minimatch-0.2.12-3.fc20.noarch
-nodejs-mkdirp-0.3.5-4.fc20.noarch
-nodejs-mute-stream-0.0.4-1.fc20.noarch
-nodejs-node-uuid-1.4.1-1.fc20.noarch
-nodejs-nopt-2.1.2-1.fc20.noarch
-nodejs-normalize-package-data-0.2.1-1.fc20.noarch
-nodejs-npmconf-0.1.2-1.fc20.noarch
-nodejs-npmlog-0.0.4-2.fc20.noarch
-nodejs-npm-registry-client-0.2.28-1.fc20.noarch
-nodejs-npm-user-validate-0.0.3-2.fc20.noarch
-nodejs-oauth-sign-0.3.0-2.fc20.noarch
-nodejs-once-1.1.1-6.fc20.noarch
-nodejs-opener-1.3.0-8.fc20.noarch
-nodejs-osenv-0.0.3-6.fc20.noarch
-nodejs-packaging-4-1.fc20.noarch
-nodejs-promzard-0.2.0-7.fc20.noarch
-nodejs-proto-list-1.2.2-6.fc20.noarch
-nodejs-qs-0.6.5-3.fc20.noarch
-nodejs-read-1.0.5-1.fc20.noarch
-nodejs-read-installed-0.2.3-1.fc20.noarch
-nodejs-read-package-json-1.1.3-1.fc20.noarch
-nodejs-request-2.25.0-1.fc20.noarch
-nodejs-retry-0.6.0-6.fc20.noarch
-nodejs-rimraf-2.2.2-1.fc20.noarch
-nodejs-semver-2.1.0-1.fc20.noarch
-nodejs-sha-1.2.1-1.fc20.noarch
-nodejs-sigmund-1.0.0-6.fc20.noarch
-nodejs-slide-1.1.5-1.fc20.noarch
-nodejs-sntp-0.2.4-2.fc20.noarch
-nodejs-tar-0.1.18-1.fc20.noarch
-nodejs-tunnel-agent-0.3.0-2.fc20.noarch
-nodejs-uid-number-0.0.3-8.fc20.noarch
-nodejs-which-1.0.5-9.fc20.noarch
-npm
-nspr-4.10.1-1.fc20.x86_64
-nss-3.15.2-3.fc20.x86_64
-nss-softokn-3.15.2-2.fc20.x86_64
-nss-softokn-freebl-3.17.1-2.fc20.x86_64
-nss-sysinit-3.15.2-3.fc20.x86_64
-nss-tools-3.15.2-3.fc20.x86_64
-nss-util-3.15.2-2.fc20.x86_64
-numactl-libs-2.0.9-1.fc20.x86_64
-numad-0.5-12.20130814git.fc20.x86_64
-openldap-2.4.36-4.fc20.x86_64
-openpgm-5.2.122-2.fc20.x86_64
-openssh
-openssh-clients
-openssh-server
-openssl
-openssl-devel
-openssl-libs
-os-prober-1.58-4.fc20.x86_64
-p11-kit-0.20.1-1.fc20.x86_64
-p11-kit-trust-0.20.1-1.fc20.x86_64
-pam-1.1.8-1.fc20.x86_64
-parted-3.1-13.fc20.x86_64
-passwd-0.79-2.fc20.x86_64
-pciutils-3.2.1-1.fc20.x86_64
-pciutils-libs-3.2.1-1.fc20.x86_64
-pcre-8.33-4.fc20.x86_64
-pcre-devel-8.33-4.fc20.x86_64
-perl-5.18.2-289.fc20.x86_64
-perl-Carp-1.26-245.fc20.noarch
-perl-constant-1.27-292.fc20.noarch
-perl-Encode-2.54-2.fc20.x86_64
-perl-Exporter-5.68-293.fc20.noarch
-perl-File-Path-2.09-292.fc20.noarch
-perl-File-Temp-0.23.01-4.fc20.noarch
-perl-Filter-1.49-5.fc20.x86_64
-perl-Getopt-Long-2.42-1.fc20.noarch
-perl-HTTP-Tiny-0.034-4.fc20.noarch
-perl-libs-5.18.2-289.fc20.x86_64
-perl-macros-5.18.2-289.fc20.x86_64
-perl-Module-CoreList-3.03-289.fc20.noarch
-perl-parent-0.228-1.fc20.noarch
-perl-PathTools-3.40-291.fc20.x86_64
-perl-Pod-Escapes-1.04-289.fc20.noarch
-perl-podlators-2.5.1-291.fc20.noarch
-perl-Pod-Perldoc-3.20-7.fc20.noarch
-perl-Pod-Simple-3.28-292.fc20.noarch
-perl-Pod-Usage-1.63-4.fc20.noarch
-perl-Scalar-List-Utils-1.31-293.fc20.x86_64
-perl-Socket-2.013-1.fc20.x86_64
-perl-srpm-macros-1-10.fc20.noarch
-perl-Storable-2.45-2.fc20.x86_64
-perl-Text-ParseWords-3.29-3.fc20.noarch
-perl-threads-1.89-1.fc20.x86_64
-perl-threads-shared-1.45-1.fc20.x86_64
-perl-Time-HiRes-1.9726-1.fc20.x86_64
-perl-Time-Local-1.2300-291.fc20.noarch
-perl-version-0.99.04-2.fc20.x86_64
-php
-php-gd
-pinentry-0.8.1-11.fc20.x86_64
-pkgconfig-0.28-3.fc20.x86_64
-pm-utils-1.4.1-26.fc20.x86_64
-policycoreutils-2.2.2-3.fc20.x86_64
-policycoreutils-python-2.2.2-3.fc20.x86_64
-polkit-0.112-2.fc20.x86_64
-polkit-pkla-compat-0.1-3.fc20.x86_64
-popt-1.13-15.fc20.x86_64
-procps-ng-3.3.8-14.fc20.x86_64
-pth-2.0.7-21.fc20.x86_64
-pygpgme-0.3-8.fc20.x86_64
-pyliblzma-0.5.3-10.fc20.x86_64
-python-2.7.5-9.fc20.x86_64
-python3-3.3.2-8.fc20.x86_64
-python3-libs-3.3.2-8.fc20.x86_64
-python3-lxc-0.9.0-2.fc20.x86_64
-python3-pip-1.4.1-1.fc20.noarch
-python3-setuptools-1.4.2-1.fc20.noarch
-python-babel-1.3-2.fc20.noarch
-python-backports-1.0-3.fc20.x86_64
-python-backports-ssl_match_hostname-3.4.0.2-1.fc20.noarch
-python-boto-2.13.3-1.fc20.noarch
-python-chardet-2.0.1-7.fc20.noarch
-python-cheetah-2.4.4-5.fc20.x86_64
-python-configobj-4.7.2-7.fc20.noarch
-python-crypto-2.6.1-1.fc20.x86_64
-python-iniparse-0.4-9.fc20.noarch
-python-IPy-0.75-6.fc20.noarch
-python-jinja2-2.7.1-1.fc20.noarch
-python-kitchen-1.1.1-5.fc20.noarch
-python-libs-2.7.5-9.fc20.x86_64
-python-markdown-2.3.1-3.fc20.noarch
-python-markupsafe-0.18-1.fc20.x86_64
-python-msgpack-0.1.13-4.fc20.x86_64
-python-pillow-2.2.1-2.fc20.x86_64
-python-prettytable-0.6.1-3.fc20.noarch
-python-psutil-1.0.1-1.fc20.x86_64
-python-pycurl-7.19.0-17.20120408git9b8f4e38.fc20.x86_64
-python-pygments-1.4-9.fc20.noarch
-python-requests-1.2.3-5.fc20.noarch
-python-setuptools-1.3.1-1.fc20.noarch
-python-six-1.4.1-1.fc20.noarch
-python-urlgrabber-3.9.1-32.fc20.noarch
-python-urllib3-1.7-4.fc20.noarch
-python-zmq-13.0.2-1.fc20.x86_64
-pyxattr-0.5.1-4.fc20.x86_64
-PyYAML-3.10-9.fc20.x86_64
-qemu-img-1.6.1-3.fc20.x86_64
-qrencode-libs-3.4.2-1.fc20.x86_64
-quota-4.01-10.fc20.x86_64
-quota-nls-4.01-10.fc20.noarch
-radvd-1.9.2-4.fc20.x86_64
-readline-6.2-8.fc20.x86_64
-redhat-rpm-config-9.1.0-54.fc20.noarch
-rootfiles-8.1-16.fc20.noarch
-rpcbind-0.2.1-0.2.fc20.x86_64
-rpm-4.11.1-7.fc20.x86_64
-rpm-build-libs-4.11.1-7.fc20.x86_64
-rpm-libs-4.11.1-7.fc20.x86_64
-rpm-python-4.11.1-7.fc20.x86_64
-rsync-3.1.0-1pre1.fc20.x86_64
-rsyslog-7.4.2-2.fc20.x86_64
-salt-master-2015.5.0-1.fc20.noarch
-salt-2015.5.0-1.fc20.noarch
-salt-minion-2015.5.0-1.fc20.noarch
-screen
-sed-4.2.2-5.fc20.x86_64
-selinux-policy-3.12.1-106.fc20.noarch
-selinux-policy-targeted-3.12.1-106.fc20.noarch
-setools-libs-3.3.7-41.fc20.x86_64
-setup-2.8.71-2.fc20.noarch
-shadow-utils-4.1.5.1-8.fc20.x86_64
-shared-mime-info-1.2-1.fc20.x86_64
-sheepdog-0.3.0-5.fc20.x86_64
-snappy-1.1.0-2.fc20.x86_64
-socat-1.7.2.2-3.fc20.x86_64
-sqlite-3.8.1-2.fc20.x86_64
-sshpass-1.05-5.fc20.x86_64
-sudo-1.8.8-1.fc20.x86_64
-syslinux-4.05-7.fc20.x86_64
-syslinux-extlinux-4.05-7.fc20.x86_64
-systemd-208-9.fc20.x86_64
-systemd-libs-208-9.fc20.x86_64
-sysvinit-tools-2.88-14.dsf.fc20.x86_64
-tar-1.26-29.fc20.x86_64
-tcl-8.5.14-1.fc20.x86_64
-tcp_wrappers-7.6-76.fc20.x86_64
-tcp_wrappers-libs-7.6-76.fc20.x86_64
-tmux
-trousers-0.3.11.2-1.fc20.x86_64
-tzdata-2013h-1.fc20.noarch
-uboot-tools-2013.10-3.fc20.x86_64
-unbound-libs-1.4.21-1.fc20.x86_64
-ustr-1.0.4-15.fc20.x86_64
-util-linux-2.24-2.fc20.x86_64
-v8-3.14.5.10-3.fc20.x86_64
-v8-devel-3.14.5.10-3.fc20.x86_64
-vim-minimal-7.4.027-2.fc20.x86_64
-which-2.20-6.fc20.x86_64
-xen-libs-4.3.1-8.fc20.x86_64
-xen-licenses-4.3.1-8.fc20.x86_64
-xz-5.1.2-6alpha.fc20.x86_64
-xz-libs-5.1.2-6alpha.fc20.x86_64
-yajl-2.0.4-3.fc20.x86_64
-yum-3.4.3-106.fc20.noarch
-yum-metadata-parser-1.1.4-9.fc20.x86_64
-yum-utils-1.1.31-20.fc20.noarch
-zeromq3-3.2.4-1.fc20.x86_64
-zip-3.0-9.fc20.x86_64
-zlib-1.2.8-3.fc20.x86_64
-zlib-devel-1.2.8-3.fc20.x86_64
-zookeeper-java.noarch
+fc20: acl-2.2.52-4.fc20.x86_64
+fc20: audit-2.3.2-1.fc20.x86_64
+fc20: audit-libs-2.3.2-1.fc20.x86_64
+fc20: audit-libs-python-2.3.2-1.fc20.x86_64
+fc20: augeas-libs-1.1.0-2.fc20.x86_64
+fc20: autogen-libopts-5.18-1.fc20.x86_64
+fc20: avahi-libs-0.6.31-21.fc20.x86_64
+fc20: basesystem-10.0-9.fc20.noarch
+fc20: bash-4.2.45-4.fc20.x86_64
+fc20: bind-libs-lite-9.9.4-8.fc20.x86_64
+fc20: bind-license-9.9.4-8.fc20.noarch
+fc20: bind-utils
+fc20: binutils-2.23.88.0.1-13.fc20.x86_64
+fc20: boost-filesystem-1.54.0-9.fc20.x86_64
+fc20: boost-system-1.54.0-9.fc20.x86_64
+fc20: boost-thread-1.54.0-9.fc20.x86_64
+fc20: bridge-utils
+fc20: bzip2-1.0.6-9.fc20.x86_64
+fc20: bzip2-libs-1.0.6-9.fc20.x86_64
+fc20: ca-certificates-2013.1.94-18.fc20.noarch
+fc20: c-ares-1.10.0-2.fc20.x86_64
+fc20: c-ares-devel-1.10.0-2.fc20.x86_64
+fc20: ceph-libs-0.67.3-2.fc20.x86_64
+fc20: chkconfig-1.3.60-4.fc20.x86_64
+fc20: cloud-init-0.7.2-7.fc20.noarch
+fc20: cloud-utils-growpart-0.27-9.fc20.noarch
+fc20: coreutils-8.21-18.fc20.x86_64
+fc20: corosync-2.3.3-1.fc20.x86_64
+fc20: corosynclib-2.3.3-1.fc20.x86_64
+fc20: cpio-2.11-24.fc20.x86_64
+fc20: cpp-4.8.2-7.fc20.x86_64
+fc20: cracklib-2.9.0-5.fc20.x86_64
+fc20: cracklib-dicts-2.9.0-5.fc20.x86_64
+fc20: cronie-1.4.11-4.fc20.x86_64
+fc20: cronie-anacron-1.4.11-4.fc20.x86_64
+fc20: crontabs-1.11-6.20121102git.fc20.noarch
+fc20: cryptopp-5.6.2-3.fc20.x86_64
+fc20: cryptsetup-libs-1.6.2-1.fc20.x86_64
+fc20: curl-7.32.0-3.fc20.x86_64
+fc20: cyrus-sasl-2.1.26-14.fc20.x86_64
+fc20: cyrus-sasl-lib-2.1.26-14.fc20.x86_64
+fc20: cyrus-sasl-md5-2.1.26-14.fc20.x86_64
+fc20: dbus-1.6.12-1.fc20.x86_64
+fc20: dbus-libs-1.6.12-1.fc20.x86_64
+fc20: device-mapper-1.02.82-5.fc20.x86_64
+fc20: device-mapper-event-1.02.82-5.fc20.x86_64
+fc20: device-mapper-event-libs-1.02.82-5.fc20.x86_64
+fc20: device-mapper-libs-1.02.82-5.fc20.x86_64
+fc20: device-mapper-persistent-data-0.2.8-1.fc20.x86_64
+fc20: dhclient-4.2.5-26.fc20.x86_64
+fc20: dhcp-common-4.2.5-26.fc20.x86_64
+fc20: dhcp-libs-4.2.5-26.fc20.x86_64
+fc20: diffutils-3.3-4.fc20.x86_64
+fc20: dmidecode-2.12-4.fc20.x86_64
+fc20: dnsmasq-2.68-1.fc20.x86_64
+fc20: dracut-034-64.git20131205.fc20.x86_64
+fc20: dracut-config-generic-034-64.git20131205.fc20.x86_64
+fc20: dtc-1.4.0-2.fc20.x86_64
+fc20: dwz-0.11-2.fc20.x86_64
+fc20: e2fsprogs-1.42.8-3.fc20.x86_64
+fc20: e2fsprogs-libs-1.42.8-3.fc20.x86_64
+fc20: ebtables-2.0.10-11.fc20.x86_64
+fc20: elfutils-libelf-0.157-1.fc20.x86_64
+fc20: expat-2.1.0-7.fc20.x86_64
+fc20: expect-5.45-10.fc20.x86_64
+fc20: fedora-logos-21.0.1-1.fc20.x86_64
+fc20: fedora-release-20-1.noarch
+fc20: file-5.14-14.fc20.x86_64
+fc20: file-libs-5.14-14.fc20.x86_64
+fc20: filesystem-3.2-19.fc20.x86_64
+fc20: findutils-4.5.11-4.fc20.x86_64
+fc20: fipscheck-1.4.1-2.fc20.x86_64
+fc20: fipscheck-lib-1.4.1-2.fc20.x86_64
+fc20: freetype-2.5.0-4.fc20.x86_64
+ub16: libfreetype6-dev
+fc20: fuse-libs-2.9.3-2.fc20.x86_64
+fc20: gawk-4.1.0-2.fc20.x86_64
+fc20: gcc-4.8.2-7.fc20.x86_64
+fc20: gcc-c++-4.8.2-7.fc20.x86_64
+fc20: gdbm-1.10-7.fc20.x86_64
+fc20: gettext-0.18.3.1-1.fc20.x86_64
+fc20: gettext-libs-0.18.3.1-1.fc20.x86_64
+fc20: glib2
+fc20: glibc
+fc20: glibc-common
+fc20: glibc-devel
+fc20: glibc-headers
+fc20: glusterfs-3.4.2-1.fc20.x86_64
+fc20: glusterfs-api-3.4.2-1.fc20.x86_64
+fc20: glusterfs-fuse-3.4.2-1.fc20.x86_64
+fc20: glusterfs-libs-3.4.2-1.fc20.x86_64
+fc20: gmp-5.1.2-2.fc20.x86_64
+fc20: gnupg2-2.0.22-1.fc20.x86_64
+fc20: gnutls-3.1.20-1.fc20.x86_64
+fc20: gnutls-dane-3.1.20-1.fc20.x86_64
+fc20: gnutls-utils-3.1.20-1.fc20.x86_64
+fc20: gpgme-1.3.2-4.fc20.x86_64
+fc20: grep-2.15-1.fc20.x86_64
+fc20: groff-base-1.22.2-8.fc20.x86_64
+fc20: grub2-2.00-25.fc20.x86_64
+fc20: grub2-tools-2.00-25.fc20.x86_64
+fc20: grubby-8.28-1.fc20.x86_64
+fc20: gyp-0.1-0.11.1617svn.fc20.noarch
+fc20: gzip-1.6-2.fc20.x86_64
+fc20: hardlink-1.0-18.fc20.x86_64
+fc20: heat-cfntools-1.2.3-2.fc20.noarch
+fc20: hostname-3.13-2.fc20.x86_64
+fc20: http-parser-2.0-5.20121128gitcd01361.fc20.x86_64
+fc20: http-parser-devel-2.0-5.20121128gitcd01361.fc20.x86_64
+fc20: hwdata-0.260-1.fc20.noarch
+fc20: info-5.1-4.fc20.x86_64
+fc20: initscripts-9.50-1.fc20.x86_64
+fc20: iproute-3.11.0-1.fc20.x86_64
+fc20: iptables-1.4.19.1-1.fc20.x86_64
+fc20: iptables-services-1.4.19.1-1.fc20.x86_64
+fc20: iputils-20121221-4.fc20.x86_64
+fc20: iscsi-initiator-utils-6.2.0.873-17.fc20.x86_64
+fc20: jbigkit-libs-2.0-9.fc20.x86_64
+fc20: json-c-0.11-3.fc20.x86_64
+fc20: kbd-1.15.5-12.fc20.x86_64
+fc20: kbd-legacy-1.15.5-12.fc20.noarch
+fc20: kbd-misc-1.15.5-12.fc20.noarch
+fc20: keyutils
+fc20: keyutils-libs
+fc20: keyutils-libs-devel
+fc20: kmod-15-1.fc20.x86_64
+fc20: kmod-libs-15-1.fc20.x86_64
+fc20: kpartx-0.4.9-55.fc20.x86_64
+fc20: krb5-devel-1.11.3-39.fc20.x86_64
+fc20: krb5-libs-1.11.3-39.fc20.x86_64
+fc20: lcms-libs-1.19-10.fc20.x86_64
+fc20: ldns-1.6.16-6.fc20.x86_64
+fc20: less-458-4.fc20.x86_64
+fc20: leveldb-1.12.0-5.fc20.x86_64
+fc20: libacl-2.2.52-4.fc20.x86_64
+fc20: libaio-0.3.109-8.fc20.x86_64
+fc20: libassuan-2.1.0-2.fc20.x86_64
+fc20: libattr-2.4.47-3.fc20.x86_64
+fc20: libblkid-2.24-2.fc20.x86_64
+fc20: libcap-2.22-7.fc20.x86_64
+fc20: libcap-ng-0.7.3-6.fc20.x86_64
+fc20: libcgroup-0.38-7.fc20.x86_64
+fc20: libcom_err-1.42.8-3.fc20.x86_64
+fc20: libcom_err-devel-1.42.8-3.fc20.x86_64
+fc20: libcroco-0.6.8-3.fc20.x86_64
+fc20: libcurl-7.32.0-3.fc20.x86_64
+fc20: libdaemon-0.14-6.fc20.x86_64
+fc20: libdb-5.3.28-1.fc20.x86_64
+fc20: libdb-utils-5.3.28-1.fc20.x86_64
+fc20: libedit-3.1-2.20130601cvs.fc20.x86_64
+fc20: libestr-0.1.5-2.fc20.x86_64
+fc20: libevent-2.0.21-3.fc20.x86_64
+fc20: libffi-3.0.13-5.fc20.x86_64
+ub16: libffi-dev
+fc20: libgcc-4.8.2-7.fc20.x86_64
+fc20: libgcrypt-1.5.3-2.fc20.x86_64
+fc20: libgomp-4.8.2-7.fc20.x86_64
+fc20: libgpg-error-1.12-1.fc20.x86_64
+fc20: libibverbs-1.1.7-3.fc20.x86_64
+fc20: libicu-50.1.2-10.fc20.x86_64
+fc20: libidn-1.28-2.fc20.x86_64
+fc20: libiscsi-1.9.0-4.fc20.x86_64
+fc20: libjpeg-turbo-1.3.0-1.fc20.x86_64
+fc20: libmetalink-0.1.2-4.fc20.x86_64
+fc20: libmount-2.24-2.fc20.x86_64
+fc20: libmpc-1.0.1-2.fc20.x86_64
+fc20: libnfsidmap-0.25-7.fc20.x86_64
+fc20: libnl3-3.2.21-2.fc20.x86_64
+fc20: libpcap-1.5.3-1.fc20.x86_64
+fc20: libpciaccess-0.13.2-1.fc20.x86_64
+fc20: libpipeline-1.2.4-2.fc20.x86_64
+fc20: libpng-1.6.3-3.fc20.x86_64
+ub16: libpng12-dev
+fc20: libpwquality-1.2.3-1.fc20.x86_64
+fc20: libqb-0.16.0-1.fc20.x86_64
+fc20: librdmacm-1.0.17-2.fc20.x86_64
+fc20: libselinux-2.2.1-6.fc20.x86_64
+fc20: libselinux-devel-2.2.1-6.fc20.x86_64
+fc20: libselinux-python-2.2.1-6.fc20.x86_64
+fc20: libselinux-utils-2.2.1-6.fc20.x86_64
+fc20: libsemanage-2.1.10-14.fc20.x86_64
+fc20: libsemanage-python-2.1.10-14.fc20.x86_64
+fc20: libsepol-2.1.9-2.fc20.x86_64
+fc20: libsepol-devel-2.1.9-2.fc20.x86_64
+fc20: libss-1.42.8-3.fc20.x86_64
+fc20: libssh2-1.4.3-8.fc20.x86_64
+fc20: libstdc++-4.8.2-1.fc20.x86_64
+fc20: libtasn1-3.3-2.fc20.x86_64
+fc20: libtiff-4.0.3-12.fc20.x86_64
+fc20: libtirpc-0.2.4-1.0.fc20.x86_64
+fc20: libunistring-0.9.3-9.fc20.x86_64
+fc20: libuser-0.60-3.fc20.x86_64
+fc20: libutempter-1.1.6-3.fc20.x86_64
+fc20: libuuid-2.24-2.fc20.x86_64
+fc20: libuv-0.10.21-1.fc20.x86_64
+fc20: libuv-devel-0.10.21-1.fc20.x86_64
+fc20: libverto-0.2.5-3.fc20.x86_64
+fc20: libverto-devel-0.2.5-3.fc20.x86_64
+fc20: libvirt-1.1.3.3-2.fc20.x86_64
+ub16: libvirt-bin
+fc20: libvirt-client-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-config-network-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-config-nwfilter-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-interface-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-libxl-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-lxc-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-network-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-nodedev-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-nwfilter-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-qemu-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-secret-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-storage-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-uml-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-vbox-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-driver-xen-1.1.3.3-2.fc20.x86_64
+fc20: libvirt-daemon-lxc-1.1.3.3-2.fc20.x86_64
+fc20: libwebp-0.3.1-2.fc20.x86_64
+fc20: libwsman1-2.3.6-8.fc20.x86_64
+fc20: libxml2-2.9.1-2.fc20.x86_64
+fc20: libxslt-1.1.28-5.fc20.x86_64
+fc20: libyaml-0.1.4-5.fc20.x86_64
+fc20: linux-atm-libs-2.5.1-8.fc20.x86_64
+fc20: logrotate-3.8.7-1.fc20.x86_64
+fc20: lua-5.2.2-5.fc20.x86_64
+fc20: lvm2-2.02.103-5.fc20.x86_64
+fc20: lvm2-libs-2.02.103-5.fc20.x86_64
+fc20: lxc-0.9.0-2.fc20.x86_64
+fc20: lxc-extra-0.9.0-2.fc20.x86_64
+fc20: lxc-libs-0.9.0-2.fc20.x86_64
+fc20: lzo-2.06-5.fc20.x86_64
+fc20: lzop-1.03-9.fc20.x86_64
+fc20: m2crypto-0.21.1-13.fc20.x86_64
+fc20: make-4.0-3.1.fc22.x86_64
+fc20: man-db-2.6.5-2.fc20.x86_64
+fc20: mozjs17-17.0.0-8.fc20.x86_64
+fc20: mpfr-3.1.2-4.fc20.x86_64
+fc20: mtools-4.0.18-4.fc20.x86_64
+fc20: nbd
+fc20: ncurses-5.9-12.20130511.fc20.x86_64
+fc20: ncurses-base-5.9-12.20130511.fc20.noarch
+fc20: ncurses-libs-5.9-12.20130511.fc20.x86_64
+fc20: netcf-libs-0.2.3-5.fc20.x86_64
+fc20: net-snmp-libs-5.7.2-16.fc20.x86_64
+fc20: nettle-2.7.1-3.fc20.x86_64
+fc20: net-tools-2.0-0.15.20131119git.fc20.x86_64
+fc20: nfs-utils-1.2.9-3.0.fc20.x86_64
+fc20: nmap-ncat-6.40-2.fc20.x86_64
+fc20: node-gyp-0.10.6-2.fc20.noarch
+fc20: nodejs-0.10.24-1.fc20.x86_64
+fc20: nodejs-abbrev-1.0.4-7.fc20.noarch
+fc20: nodejs-ansi-0.2.1-1.fc20.noarch
+fc20: nodejs-archy-0.0.2-9.fc20.noarch
+fc20: nodejs-asn1-0.1.11-4.fc20.noarch
+fc20: nodejs-assert-plus-0.1.4-1.fc20.noarch
+fc20: nodejs-async-0.2.9-3.fc20.noarch
+fc20: nodejs-aws-sign-0.3.0-2.fc20.noarch
+fc20: nodejs-block-stream-0.0.7-1.fc20.noarch
+fc20: nodejs-boom-0.4.2-3.fc20.noarch
+fc20: nodejs-child-process-close-0.1.1-3.fc20.noarch
+fc20: nodejs-chmodr-0.1.0-5.fc20.noarch
+fc20: nodejs-chownr-0.0.1-10.fc20.noarch
+fc20: nodejs-cmd-shim-1.1.0-4.fc20.noarch
+fc20: nodejs-combined-stream-0.0.4-4.fc20.noarch
+fc20: nodejs-config-chain-1.1.7-2.fc20.noarch
+fc20: nodejs-cookie-jar-0.3.0-2.fc20.noarch
+fc20: nodejs-couch-login-0.1.18-1.fc20.noarch
+fc20: nodejs-cryptiles-0.2.2-1.fc20.noarch
+fc20: nodejs-ctype-0.5.3-4.fc20.noarch
+fc20: nodejs-delayed-stream-0.0.5-6.fc20.noarch
+fc20: nodejs-devel-0.10.24-1.fc20.x86_64
+fc20: nodejs-editor-0.0.4-3.fc20.noarch
+fc20: nodejs-forever-agent-0.5.0-2.fc20.noarch
+fc20: nodejs-form-data-0.1.1-1.fc20.noarch
+fc20: nodejs-fstream-0.1.24-1.fc20.noarch
+fc20: nodejs-fstream-ignore-0.0.7-2.fc20.noarch
+fc20: nodejs-fstream-npm-0.1.5-2.fc20.noarch
+fc20: nodejs-github-url-from-git-1.1.1-3.fc20.noarch
+fc20: nodejs-glob-3.2.6-1.fc20.noarch
+fc20: nodejs-graceful-fs-2.0.0-3.fc20.noarch
+fc20: nodejs-hawk-1.0.0-1.fc20.noarch
+fc20: nodejs-hoek-0.9.1-2.fc20.noarch
+fc20: nodejs-http-signature-0.10.0-4.fc20.noarch
+fc20: nodejs-inherits-2.0.0-4.fc20.noarch
+fc20: nodejs-ini-1.1.0-4.fc20.noarch
+fc20: nodejs-init-package-json-0.0.10-2.fc20.noarch
+fc20: nodejs-json-stringify-safe-5.0.0-2.fc20.noarch
+fc20: nodejs-lockfile-0.4.2-1.fc20.noarch
+fc20: nodejs-lru-cache-2.3.0-4.fc20.noarch
+fc20: nodejs-mime-1.2.11-1.fc20.noarch
+fc20: nodejs-minimatch-0.2.12-3.fc20.noarch
+fc20: nodejs-mkdirp-0.3.5-4.fc20.noarch
+fc20: nodejs-mute-stream-0.0.4-1.fc20.noarch
+fc20: nodejs-node-uuid-1.4.1-1.fc20.noarch
+fc20: nodejs-nopt-2.1.2-1.fc20.noarch
+fc20: nodejs-normalize-package-data-0.2.1-1.fc20.noarch
+fc20: nodejs-npmconf-0.1.2-1.fc20.noarch
+fc20: nodejs-npmlog-0.0.4-2.fc20.noarch
+fc20: nodejs-npm-registry-client-0.2.28-1.fc20.noarch
+fc20: nodejs-npm-user-validate-0.0.3-2.fc20.noarch
+fc20: nodejs-oauth-sign-0.3.0-2.fc20.noarch
+fc20: nodejs-once-1.1.1-6.fc20.noarch
+fc20: nodejs-opener-1.3.0-8.fc20.noarch
+fc20: nodejs-osenv-0.0.3-6.fc20.noarch
+fc20: nodejs-packaging-4-1.fc20.noarch
+fc20: nodejs-promzard-0.2.0-7.fc20.noarch
+fc20: nodejs-proto-list-1.2.2-6.fc20.noarch
+fc20: nodejs-qs-0.6.5-3.fc20.noarch
+fc20: nodejs-read-1.0.5-1.fc20.noarch
+fc20: nodejs-read-installed-0.2.3-1.fc20.noarch
+fc20: nodejs-read-package-json-1.1.3-1.fc20.noarch
+fc20: nodejs-request-2.25.0-1.fc20.noarch
+fc20: nodejs-retry-0.6.0-6.fc20.noarch
+fc20: nodejs-rimraf-2.2.2-1.fc20.noarch
+fc20: nodejs-semver-2.1.0-1.fc20.noarch
+fc20: nodejs-sha-1.2.1-1.fc20.noarch
+fc20: nodejs-sigmund-1.0.0-6.fc20.noarch
+fc20: nodejs-slide-1.1.5-1.fc20.noarch
+fc20: nodejs-sntp-0.2.4-2.fc20.noarch
+fc20: nodejs-tar-0.1.18-1.fc20.noarch
+fc20: nodejs-tunnel-agent-0.3.0-2.fc20.noarch
+fc20: nodejs-uid-number-0.0.3-8.fc20.noarch
+fc20: nodejs-which-1.0.5-9.fc20.noarch
+fc20: npm
+ub16: npm
+fc20: nspr-4.10.1-1.fc20.x86_64
+fc20: nss-3.15.2-3.fc20.x86_64
+fc20: nss-softokn-3.15.2-2.fc20.x86_64
+fc20: nss-softokn-freebl-3.17.1-2.fc20.x86_64
+fc20: nss-sysinit-3.15.2-3.fc20.x86_64
+fc20: nss-tools-3.15.2-3.fc20.x86_64
+fc20: nss-util-3.15.2-2.fc20.x86_64
+fc20: numactl-libs-2.0.9-1.fc20.x86_64
+fc20: numad-0.5-12.20130814git.fc20.x86_64
+fc20: openldap-2.4.36-4.fc20.x86_64
+fc20: openpgm-5.2.122-2.fc20.x86_64
+fc20: openssh
+fc20: openssh-clients
+fc20: openssh-server
+fc20: openssl
+ub16: libssl-dev
+fc20: openssl-devel
+fc20: openssl-libs
+fc20: os-prober-1.58-4.fc20.x86_64
+fc20: p11-kit-0.20.1-1.fc20.x86_64
+fc20: p11-kit-trust-0.20.1-1.fc20.x86_64
+fc20: pam-1.1.8-1.fc20.x86_64
+fc20: parted-3.1-13.fc20.x86_64
+fc20: passwd-0.79-2.fc20.x86_64
+fc20: pciutils-3.2.1-1.fc20.x86_64
+fc20: pciutils-libs-3.2.1-1.fc20.x86_64
+fc20: pcre-8.33-4.fc20.x86_64
+fc20: pcre-devel-8.33-4.fc20.x86_64
+fc20: perl-5.18.2-289.fc20.x86_64
+fc20: perl-Carp-1.26-245.fc20.noarch
+fc20: perl-constant-1.27-292.fc20.noarch
+fc20: perl-Encode-2.54-2.fc20.x86_64
+fc20: perl-Exporter-5.68-293.fc20.noarch
+fc20: perl-File-Path-2.09-292.fc20.noarch
+fc20: perl-File-Temp-0.23.01-4.fc20.noarch
+fc20: perl-Filter-1.49-5.fc20.x86_64
+fc20: perl-Getopt-Long-2.42-1.fc20.noarch
+fc20: perl-HTTP-Tiny-0.034-4.fc20.noarch
+fc20: perl-libs-5.18.2-289.fc20.x86_64
+fc20: perl-macros-5.18.2-289.fc20.x86_64
+fc20: perl-Module-CoreList-3.03-289.fc20.noarch
+fc20: perl-parent-0.228-1.fc20.noarch
+fc20: perl-PathTools-3.40-291.fc20.x86_64
+fc20: perl-Pod-Escapes-1.04-289.fc20.noarch
+fc20: perl-podlators-2.5.1-291.fc20.noarch
+fc20: perl-Pod-Perldoc-3.20-7.fc20.noarch
+fc20: perl-Pod-Simple-3.28-292.fc20.noarch
+fc20: perl-Pod-Usage-1.63-4.fc20.noarch
+fc20: perl-Scalar-List-Utils-1.31-293.fc20.x86_64
+fc20: perl-Socket-2.013-1.fc20.x86_64
+fc20: perl-srpm-macros-1-10.fc20.noarch
+fc20: perl-Storable-2.45-2.fc20.x86_64
+fc20: perl-Text-ParseWords-3.29-3.fc20.noarch
+fc20: perl-threads-1.89-1.fc20.x86_64
+fc20: perl-threads-shared-1.45-1.fc20.x86_64
+fc20: perl-Time-HiRes-1.9726-1.fc20.x86_64
+fc20: perl-Time-Local-1.2300-291.fc20.noarch
+fc20: perl-version-0.99.04-2.fc20.x86_64
+fc20: php
+fc20: php-gd
+fc20: pinentry-0.8.1-11.fc20.x86_64
+fc20: pkgconfig-0.28-3.fc20.x86_64
+fc20: pm-utils-1.4.1-26.fc20.x86_64
+fc20: policycoreutils-2.2.2-3.fc20.x86_64
+fc20: policycoreutils-python-2.2.2-3.fc20.x86_64
+fc20: polkit-0.112-2.fc20.x86_64
+fc20: polkit-pkla-compat-0.1-3.fc20.x86_64
+fc20: popt-1.13-15.fc20.x86_64
+fc20: procps-ng-3.3.8-14.fc20.x86_64
+fc20: pth-2.0.7-21.fc20.x86_64
+fc20: pygpgme-0.3-8.fc20.x86_64
+fc20: pyliblzma-0.5.3-10.fc20.x86_64
+fc20: python-2.7.5-9.fc20.x86_64
+fc20: python3-3.3.2-8.fc20.x86_64
+fc20: python3-libs-3.3.2-8.fc20.x86_64
+fc20: python3-magic
+fc20: python3-lxc-0.9.0-2.fc20.x86_64
+fc20: python-babel-1.3-2.fc20.noarch
+fc20: python-backports-1.0-3.fc20.x86_64
+fc20: python-backports-ssl_match_hostname-3.4.0.2-1.fc20.noarch
+fc20: python-boto-2.13.3-1.fc20.noarch
+fc20: python-chardet-2.0.1-7.fc20.noarch
+fc20: python-cheetah-2.4.4-5.fc20.x86_64
+fc20: python-configobj-4.7.2-7.fc20.noarch
+fc20: python-crypto-2.6.1-1.fc20.x86_64
+fc20: python-iniparse-0.4-9.fc20.noarch
+fc20: python-IPy-0.75-6.fc20.noarch
+fc20: python-jinja2-2.7.1-1.fc20.noarch
+fc20: python-kitchen-1.1.1-5.fc20.noarch
+fc20: python-libs-2.7.5-9.fc20.x86_64
+fc20: python-markdown-2.3.1-3.fc20.noarch
+fc20: python-markupsafe-0.18-1.fc20.x86_64
+fc20: python-msgpack-0.1.13-4.fc20.x86_64
+fc20: python-pillow-2.2.1-2.fc20.x86_64
+fc20: python-prettytable-0.6.1-3.fc20.noarch
+fc20: python-psutil-1.0.1-1.fc20.x86_64
+fc20: python-pycurl-7.19.0-17.20120408git9b8f4e38.fc20.x86_64
+fc20: python-pygments-1.4-9.fc20.noarch
+fc20: python-requests-1.2.3-5.fc20.noarch
+fc20: python-six-1.4.1-1.fc20.noarch
+fc20: python-urlgrabber-3.9.1-32.fc20.noarch
+fc20: python-urllib3-1.7-4.fc20.noarch
+fc20: python-zmq-13.0.2-1.fc20.x86_64
+fc20: pyxattr-0.5.1-4.fc20.x86_64
+fc20: PyYAML-3.10-9.fc20.x86_64
+fc20: qemu-img-1.6.1-3.fc20.x86_64
+fc20: qrencode-libs-3.4.2-1.fc20.x86_64
+fc20: quota-4.01-10.fc20.x86_64
+fc20: quota-nls-4.01-10.fc20.noarch
+fc20: radvd-1.9.2-4.fc20.x86_64
+fc20: readline-6.2-8.fc20.x86_64
+fc20: redhat-rpm-config-9.1.0-54.fc20.noarch
+fc20: rootfiles-8.1-16.fc20.noarch
+fc20: rpcbind-0.2.1-0.2.fc20.x86_64
+fc20: rpm-4.11.3-1.fc20.x86_64
+fc20: rpm-build-libs-4.11.3-1.fc20.x86_64
+fc20: rpm-libs-4.11.3-1.fc20.x86_64
+fc20: rpm-python-4.11.3-1.fc20.x86_64
+fc20: rsync-3.1.0-1pre1.fc20.x86_64
+fc20: rsyslog-7.4.2-2.fc20.x86_64
+fc20: salt-master-2015.5.0-1.fc20.noarch
+ub16: salt-master
+fc20: salt-2015.5.0-1.fc20.noarch
+fc20: salt-minion-2015.5.0-1.fc20.noarch
+ub16: salt-minion
+fc20: screen
+fc20: sed-4.2.2-5.fc20.x86_64
+fc20: selinux-policy-3.12.1-106.fc20.noarch
+fc20: selinux-policy-targeted-3.12.1-106.fc20.noarch
+fc20: setools-libs-3.3.7-41.fc20.x86_64
+fc20: setup-2.8.71-2.fc20.noarch
+fc20: shadow-utils-4.1.5.1-8.fc20.x86_64
+fc20: shared-mime-info-1.2-1.fc20.x86_64
+fc20: sheepdog-0.3.0-5.fc20.x86_64
+fc20: snappy-1.1.0-2.fc20.x86_64
+fc20: socat-1.7.2.2-3.fc20.x86_64
+fc20: sqlite-3.8.1-2.fc20.x86_64
+fc20: sshpass-1.05-5.fc20.x86_64
+fc20: sudo-1.8.8-1.fc20.x86_64
+fc20: syslinux-4.05-7.fc20.x86_64
+fc20: syslinux-extlinux-4.05-7.fc20.x86_64
+fc20: sysvinit-tools-2.88-14.dsf.fc20.x86_64
+fc20: tar-1.26-29.fc20.x86_64
+fc20: tcl-8.5.14-1.fc20.x86_64
+fc20: tcp_wrappers-7.6-76.fc20.x86_64
+fc20: tcp_wrappers-libs-7.6-76.fc20.x86_64
+fc20: tmux
+fc20: trousers-0.3.11.2-1.fc20.x86_64
+fc20: tzdata-2013h-1.fc20.noarch
+fc20: uboot-tools-2013.10-3.fc20.x86_64
+fc20: unbound-libs-1.4.21-1.fc20.x86_64
+fc20: ustr-1.0.4-15.fc20.x86_64
+fc20: util-linux-2.24-2.fc20.x86_64
+fc20: v8-3.14.5.10-3.fc20.x86_64
+fc20: v8-devel-3.14.5.10-3.fc20.x86_64
+fc20: vim-minimal-7.4.027-2.fc20.x86_64
+fc20: which-2.20-6.fc20.x86_64
+fc20: xen-libs-4.3.1-8.fc20.x86_64
+fc20: xen-licenses-4.3.1-8.fc20.x86_64
+fc20: xz-5.1.2-6alpha.fc20.x86_64
+fc20: xz-libs-5.1.2-6alpha.fc20.x86_64
+fc20: yajl-2.0.4-3.fc20.x86_64
+fc20: yum-3.4.3-106.fc20.noarch
+fc20: yum-metadata-parser-1.1.4-9.fc20.x86_64
+fc20: yum-utils-1.1.31-20.fc20.noarch
+fc20: zeromq3-3.2.4-1.fc20.x86_64
+fc20: zip-3.0-9.fc20.x86_64
+fc20: zlib-1.2.8-3.fc20.x86_64
+fc20: zlib-devel-1.2.8-3.fc20.x86_64
+fc20: zookeeper-java.noarch
+fc20: pcs
-#
-# Copyright 2016 RIFT.IO Inc
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
cmd npm set registry https://npm.riftio.com:4873/
cmd npm set strict-ssl false
cmd npm install -g --production forever
certifi==2015.4.28
dicttoxml==1.6.6
ecdsa==0.13
-enum34==1.0.4
Flask_SocketIO==0.6.0
futures==2.2.0
jsonpath-rw==1.4.0
-libnl3-3.2.21-2.fc20.x86_64
+fc20: libnl3-3.2.21-2.fc20.x86_64
+ub16: libnl-3-200
+
zookeeper-java.noarch
-libpcap
-boost-filesystem-1.54.0-9.fc20.x86_64
-boost-system-1.54.0-9.fc20.x86_64
-boost-thread-1.54.0-9.fc20.x86_64
+
+fc20: libpcap
+ub16: libpcap0.8
+
+fc20: boost-filesystem-1.54.0-9.fc20.x86_64
+ub16: libboost-filesystem1.58.0
+fc20: boost-system-1.54.0-9.fc20.x86_64
+ub16: libboost-system1.58.0
+fc20: boost-thread-1.54.0-9.fc20.x86_64
+ub16: libboost-thread1.58.0
+fc20: i40evf-1.5.14
+
npm
pciutils
-icu
-vconfig
+
+fc20: qat_guest
+
+fc20: icu
+ub16: icu-devtools
+
+fc20: vconfig