aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbdul Halim <abdul.halim@intel.com>2015-10-27 16:51:04 +0000
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-11-12 16:56:00 +0000
commit41534201310f2ea651aa9ac988ec9e18b9d92567 (patch)
tree5e87ab2c4d6fc7929488a2e1158b36b062ea5383
parentd0b00cd36cedddd208ab6c4b0306e2ef9a8984a4 (diff)
Adding system build scripts for Fedora 21 and Fedora 22
Scripts are added for Fedora 21 and 22 to install system requirements and python packages on these systems. Also modified root build_base_machine.sh so that it can handle directory structures for version specific scripts if available. JIRA: VSPERF-93 Change-Id: If6a311bc7bb1116979faabff5e9097e39f2f5495 Signed-off-by: Abdul Halim <abdul.halim@intel.com> Reviewed-by: Billy O'Mahony<billy.o.mahony@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
-rwxr-xr-xsystems/Fedora/21/build_base_machine.sh66
-rwxr-xr-xsystems/Fedora/21/prepare_python_env.sh29
-rwxr-xr-xsystems/Fedora/22/build_base_machine.sh66
-rwxr-xr-xsystems/Fedora/22/prepare_python_env.sh29
-rwxr-xr-xsystems/build_base_machine.sh23
5 files changed, 200 insertions, 13 deletions
diff --git a/systems/Fedora/21/build_base_machine.sh b/systems/Fedora/21/build_base_machine.sh
new file mode 100755
index 00000000..77d95779
--- /dev/null
+++ b/systems/Fedora/21/build_base_machine.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#
+# Build a base machine for Fedora distro
+#
+# Copyright 2015 OPNFV, Intel Corporation.
+#
+# 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.
+#
+# Contributors:
+# Aihua Li, Huawei Technologies.
+# Martin Klozik, Intel Corporation.
+# Abdul Halim, Intel Corporation.
+
+yum -y install $(echo "
+# Make and Compilers
+make
+automake
+gcc
+gcc-c++
+libxml2
+glibc.i686
+kernel-devel
+fuse-libs
+fuse
+fuse-devel
+
+# tools
+curl
+autoconf
+libtool
+libpcap-devel
+libnet
+vim
+wget
+git
+pciutils
+cifs-utils
+socat
+
+# install python packages
+python3
+python3-virtualenv
+python3-setuptools
+python3-pip
+python3-dbus
+python3-devel
+python3-tkinter
+systemd-python3
+python3-libs
+libreport-python3
+abrt-python3
+abrt-addon-python3
+
+# install git-review tool
+git-review
+" | grep -v ^#) \ No newline at end of file
diff --git a/systems/Fedora/21/prepare_python_env.sh b/systems/Fedora/21/prepare_python_env.sh
new file mode 100755
index 00000000..0c1465ca
--- /dev/null
+++ b/systems/Fedora/21/prepare_python_env.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Fedora systems
+#
+# Copyright 2015 OPNFV, Intel Corporation.
+#
+# 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.
+
+if [ -d "$VSPERFENV_DIR" ] ; then
+ echo "Directory $VSPERFENV_DIR already exists. Skipping python virtualenv creation."
+ exit
+fi
+
+# enable virtual environment in a subshell, so QEMU build can use python 2.7
+
+(virtualenv-3.4 "$VSPERFENV_DIR"
+source "$VSPERFENV_DIR"/bin/activate
+pip install -r ../requirements.txt
+pip install pylint) \ No newline at end of file
diff --git a/systems/Fedora/22/build_base_machine.sh b/systems/Fedora/22/build_base_machine.sh
new file mode 100755
index 00000000..e54540b9
--- /dev/null
+++ b/systems/Fedora/22/build_base_machine.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#
+# Build a base machine for Fedora 22
+#
+# Copyright 2015 OPNFV, Intel Corporation.
+#
+# 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.
+#
+# Contributors:
+# Aihua Li, Huawei Technologies.
+# Martin Klozik, Intel Corporation.
+# Abdul Halim, Intel Corporation.
+
+dnf -y install $(echo "
+# Make and Compilers
+make
+automake
+gcc
+gcc-c++
+libxml2
+glibc.i686
+kernel-devel
+fuse-libs
+fuse
+fuse-devel
+
+# tools
+curl
+autoconf
+libtool
+libpcap-devel
+libnet
+vim
+wget
+git
+pciutils
+cifs-utils
+socat
+
+# install python packages
+python3
+python3-virtualenv
+python3-setuptools
+python3-pip
+python3-dbus
+python3-devel
+python3-tkinter
+systemd-python3
+python3-libs
+libreport-python3
+abrt-python3
+abrt-addon-python3
+
+# install git-review tool
+git-review
+" | grep -v ^#) \ No newline at end of file
diff --git a/systems/Fedora/22/prepare_python_env.sh b/systems/Fedora/22/prepare_python_env.sh
new file mode 100755
index 00000000..0b2c5a32
--- /dev/null
+++ b/systems/Fedora/22/prepare_python_env.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Fedora 22 systems.
+#
+# Copyright 2015 OPNFV, Intel Corporation.
+#
+# 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.
+
+if [ -d "$VSPERFENV_DIR" ] ; then
+ echo "Directory $VSPERFENV_DIR already exists. Skipping python virtualenv creation."
+ exit
+fi
+
+# enable virtual environment in a subshell, so QEMU build can use python 2.7
+
+(virtualenv-3.4 "$VSPERFENV_DIR"
+source "$VSPERFENV_DIR"/bin/activate
+pip install -r ../requirements.txt
+pip install pylint) \ No newline at end of file
diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh
index 2b09f910..84a8e36a 100755
--- a/systems/build_base_machine.sh
+++ b/systems/build_base_machine.sh
@@ -3,7 +3,7 @@
# Top level scripts to build basic setup for the host
#
-# Copyright 2015 OPNFV
+# Copyright 2015 OPNFV, Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -34,10 +34,7 @@ function die() {
exit 1
}
-# determine this machine's distro-version
-# replacing 'lsb_release' tool to detect OS distro name with using systemd distribution release file /etc/os-release
-# 'lsb_release' is not available by default on Fedora.
-
+# Detect OS name and version from systemd based os-release file
. /etc/os-release
# check if root
@@ -47,22 +44,22 @@ then
SUDO="sudo -E"
fi
-# Get distro name from variables imported; Special case for 'Fedora 22' - we need to get versions as well
-if [ "$NAME" == 'Fedora' -a $VERSION_ID -gt 21 ]
-then
- distro_dir="$NAME$VERSION_ID"
+# If there is version specific dir available then set distro_dir to that
+if [ -d "$NAME/$VERSION_ID" ]; then
+ distro_dir="$NAME/$VERSION_ID"
else
- distro_dir=`echo "$NAME" | cut -d ' ' -f1`
+ # Fallback - Default distro_dir = OS name
+ distro_dir="$NAME"
fi
-# build base system
-if [ -d "$distro_dir" ] && [ -e $distro_dir/build_base_machine.sh ]; then
+# build base system using OS specific scripts
+if [ -d "$distro_dir" ] && [ -e "$distro_dir/build_base_machine.sh" ]; then
$SUDO $distro_dir/build_base_machine.sh
else
die "$distro_dir is not yet supported"
fi
-if [ -d "$distro_dir" ] && [ -e $distro_dir/prepare_python_env.sh ] ; then
+if [ -d "$distro_dir" ] && [ -e "$distro_dir/prepare_python_env.sh" ] ; then
$distro_dir/prepare_python_env.sh
else
die "$distro_dir is not yet supported"