diff options
-rw-r--r-- | packer/provision/basebuild.sh | 124 | ||||
-rw-r--r-- | packer/provision/baseline.sh | 27 |
2 files changed, 90 insertions, 61 deletions
diff --git a/packer/provision/basebuild.sh b/packer/provision/basebuild.sh index fa1f44468..50bf999df 100644 --- a/packer/provision/basebuild.sh +++ b/packer/provision/basebuild.sh @@ -184,61 +184,79 @@ ubuntu_systems() { opensuse_systems() { - # openSuSE Install build tools - echo "---> Installing openSuSE build tools $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_TOOLS_PKGS="glibc-devel-static java-1_8_0-openjdk-devel yum-utils \ - openssl indent pkg-config emacs" - zypper install -y "${OPENSUSE_TOOLS_PKGS}" - - # Memory leakage checks - zypper install -y valgrind - - # openSuSE Install Python dependencies - echo "---> Installing openSuSE Python dependencies $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_PYTHON_PKGS="python-devel python-virtualenv python-setuptools \ - python-pip python-wheel libmysqlclient-dev kernel-devel" - zypper install -y "${OPENSUSE_PYTHON_PKGS}" - - # openSuSE Install Documentation packages - echo "---> Installing openSuSE documentation packages $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_DOC_PKGS="doxygen graphviz python-jinja2 asciidoc dblatex \ - source-highlight python-sphinx libxml2 libffi-devel python-cffi \ - python-pyparsing libstdc++6 python-sphinx_rtd_theme" - zypper install -y "${OPENSUSE_DOC_PKGS}" - - # openSuSE Install GCC packages - echo "---> Installing openSuSE GCC packages $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_GCC_PKGS="cpp gcc gcc-c++ cmake make lcov" - zypper install -y "${OPENSUSE_GCC_PKGS}" - - # openSuSE Install components to build Ganglia modules - # ganglia-devel not available for 42.3 - echo "---> Installing openSuSE components $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_GANGLIA_MODS="libconfuse-devel python-mock rrdtool rrdtool-devel \ - libapr1 libapr1-devel libexpat-devel pcre-devel" - zypper install -y "${OPENSUSE_GANGLIA_MODS}" - - # openSuSE Install VPP packages to shorten build times - echo "---> Installing VPP dependencies $(date +'%Y%m%dT%H%M%S')" - OPENSUSE_VPP_PKGS="curl autoconf automake bison ccache git libtool \ - git-review ctags cscope libxml2-tools unzip lsb-release devscripts" - zypper install -y "${OPENSUSE_VPP_PKGS}" - - # openSuSE Install TLDK dependencies - OPENSUSE_TLKD_PKGS="libpcap-devel libcap-devel" - yum install -y "${OPENSUSE_TLKD_PKGS}" + # Creating a function to install packages. openSUSE doesn't read the + # packages variables as expected. + function install_pkgs () + { + for pkgs in $@; do + zypper -n install "$pkgs" + done + } + + # Update to latest available packages and security bug-fixes + zypper update -y + + # Replacing cloud.cfg, it's not supported by cloud-init + cp /etc/cloud/cloud.cfg.orig /etc/cloud/cloud.cfg + + # Install openSUSE Development tool packages + echo "--->Installing Development tool packages $(date +'%Y%m%dT%H%M%S')" + ODTL="java-1_8_0-openjdk-devel indent pkg-config lcov cscope libtool ctags \ + bison libxml2-tools libxslt-devel python-virtualenv libopenssl-devel" + install_pkgs "$ODTL" + + # Install openSUSE Development resources and libraries + echo "--->Installing DEV resources & libraries $(date +'%Y%m%dT%H%M%S')" + ODRL="kernel-devel libffi-devel libconfuse-devel libapr1 libapr1-devel \ + libexpat-devel pcre-devel libxml2-devel ruby-devel zlib-devel \ + glibc-devel-static libstdc++6 libclang llvm-clang check-devel" + install_pkgs "$ODRL" + + # Install openSUSE Packaging utilities and resources + echo "--->Installing PKG utilities & resources $(date +'%Y%m%dT%H%M%S')" + OPP="yum-utils" + install_pkgs "$OPP" + + # Install openSUSE Python resources and libraries + echo "--->Installing Python resources & libraries $(date +'%Y%m%dT%H%M%S')" + OPRL="python-devel python-setuptools python-pip python-wheel python-mock \ + python3-devel python3-pip python-rpm-macros shadow libnuma-devel \ + python3" + install_pkgs "$OPRL" + + # Install openSUSE Documentation packages + echo "---> Installing Documentation packages $(date +'%Y%m%dT%H%M%S')" + ODP="doxygen graphviz asciidoc dblatex source-highlight python-sphinx \ + libxml2 python-jinja2 python-cffi python-pyparsing \ + python-sphinx_rtd_theme" + install_pkgs "$ODP" + + # Install openSUSE Compliation packages + echo "--->Installing Compliation packages $(date +'%Y%m%dT%H%M%S')" + OCP="cpp gcc gcc-c++ cmake make gcc6 libstdc++-devel ruby-devel" + install_pkgs "$OCP" + + # Install openSUSE Debugging tool packages + echo "--->Installing Debugging tool packages $(date +'%Y%m%dT%H%M%S')" + ODTP="valgrind rrdtool rrdtool-devel autoconf automake ccache chrpath" + install_pkgs "$ODTP" + + # Install openSUSE Misc tool packages + echo "--->Installing Misc tool packages $(date +'%Y%m%dT%H%M%S')" + OMTP="openssl emacs curl git git-review unzip devscripts \ + iproute2 ethtool vlan bridge-utils vim gdb gdbserver \ + lsb-release distribution-release" + install_pkgs "$OMTP" + + # Install openSUSE TLDK dependencies + OTD="libpcap-devel libcap-devel" + install_pkgs "${OTD}" zypper -n install -t pattern devel_basis - # openSuSE Manipulation tools, edits debugger, and LSB - echo "---> Installing tools packages $(date +'%Y%m%dT%H%M%S')" - TOOL_PKGS="iproute2 ethtool vlan bridge-utils vim gdb gdbserver" - zypper install -y "${TOOL_PKGS}" - - - # openSuSE Install Puppet packages - PUPPET_PKGS="libxml2-devel libxslt-devel ruby-devel zlib-devel" - zypper install -y "${PUPPET_PKGS}" - + # Leap 42.3 does not have a recent NASM version and VPP requires NASM 2.12 + # minimum so installing from TW repo + zypper install -y \ + https://download.opensuse.org/tumbleweed/repo/oss/suse/x86_64/nasm-2.13.01-2.2.x86_64.rpm } all_systems() { diff --git a/packer/provision/baseline.sh b/packer/provision/baseline.sh index 7d18d5aba..2546d440c 100644 --- a/packer/provision/baseline.sh +++ b/packer/provision/baseline.sh @@ -211,21 +211,32 @@ EOF opensuse_systems() { # SELinux? - echo "---> Updating operating system" - zypper -n clean - zypper -n update - - # add in components we need or want on systems + # Replacing cloud.cfg, it's not supported by cloud-init + cp /etc/cloud/cloud.cfg /etc/cloud/cloud.cfg.orig + + # Clean and add repos and refresh + zypper clean -a + zypper --non-interactive --gpg-auto-import-keys ar \ + http://download.opensuse.org/update/leap/42.3/oss/openSUSE:Leap:42.3:Update.repo + zypper --gpg-auto-import-keys ref + zypper --non-interactive --gpg-auto-import-keys ar \ + http://download.opensuse.org/repositories/Cloud:/Tools/openSUSE_Leap_42.3/ Cloud:Tools.repo + + # Add in components we need or want on systems echo "---> Installing base packages" - zypper install -y unzip xz puppet git git-review perl-XML-XPath wget make + zypper -n install unzip xz puppet perl-XML-XPath + + # Instlal tools + echo "---> Installing tools packages" + zypper -n install git git-review wget libstdc++-devel ruby-devel # All of our systems require Java (because of Jenkins) echo "---> Configuring OpenJDK" - zypper install -y 'java-*-openjdk-devel' + zypper -n install 'java-*-openjdk-devel' # Needed to parse OpenStack commands used by infra stack commands # to initialize Heat template based systems. - zypper install -y jq + zypper -n install jq } |