#!/bin/bash # -------------------------------------------------------------------------- # # Copyright 2010-2017, OpenNebula Systems # # # # 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. # #--------------------------------------------------------------------------- # NETWORK=${NETWORK:-yes} NETWORK_EC2=${NETWORK_EC2:-no} SERVICES=${SERVICES:-one-context-local one-context} rm -f /etc/udev/rules.d/70-persistent-cd.rules rm -f /etc/udev/rules.d/70-persistent-net.rules # Reload udev rules udevadm control --reload >/dev/null 2>&1 || : # Enable services if which systemctl >/dev/null 2>&1 && \ [ -d /etc/systemd ] && \ [ -f /usr/lib/systemd/system/one-context.service ]; then for S in ${SERVICES}; do systemctl enable "${S}.service" done fi if which chkconfig >/dev/null 2>&1; then for S in ${SERVICES}; do chkconfig --add "${S}" >/dev/null 2>&1 done # EL6: refresh initramfs via dracut for growroot module if [ -f /usr/share/dracut/modules.d/50growroot/install ]; then for I in $(find /boot -name 'initramfs-*.img'); do KERNEL_VERS=$(echo "${I}" | sed -e 's/.*initramfs-\(.*\)\.img/\1/') dracut -f "${I}" "${KERNEL_VERS}" || : done fi elif which update-rc.d >/dev/null 2>&1; then for S in ${SERVICES}; do update-rc.d "${S}" enable >/dev/null 2>&1 update-rc.d "${S}" defaults >/dev/null 2>&1 done elif which rc-update >/dev/null 2>&1; then for S in ${SERVICES}; do rc-update add "${S}" boot >/dev/null 2>&1 done else echo 'WARNING: Contextualization service not enabled automatically' >&2 fi # Cleanup network configuration if [ "${NETWORK}" != 'yes' ]; then exit fi # Debian based distros if [ -d /etc/network ]; then # Prepare network files cp /etc/network/interfaces /etc/network/interfaces.$(date "+%s") rm -rf /etc/network/interfaces.d if [ "${NETWORK_EC2}" = 'yes' ]; then cat > /etc/network/interfaces < /etc/network/interfaces <> /etc/default/networking # fi # fi fi # RedHat based distros if [ -d /etc/sysconfig/network-scripts ]; then # Prepare network files find /etc/sysconfig/network-scripts -type f \ -name 'ifcfg-*' ! -name 'ifcfg-lo' \ -exec rm -f {} \; if [ "${NETWORK_EC2}" = 'yes' ]; then cat >/etc/sysconfig/network-scripts/ifcfg-eth0 </etc/sysconfig/network/ifcfg-eth0 <