#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you 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. set -e set -x HOSTNAME=systemvm function configure_resolv_conf() { grep 8.8.8.8 /etc/resolv.conf && grep 8.8.4.4 /etc/resolv.conf && return cat > /etc/resolv.conf << EOF nameserver 8.8.8.8 nameserver 8.8.4.4 EOF } # Delete entry in /etc/hosts derived from dhcp function delete_dhcp_ip() { result=$(grep 127.0.1.1 /etc/hosts || true) [ "${result}" == "" ] && return sed -i '/127.0.1.1/d' /etc/hosts } function configure_hostname() { sed -i "s/root@\(.*\)$/root@$HOSTNAME/g" /etc/ssh/ssh_host_*.pub echo "$HOSTNAME" > /etc/hostname hostname $HOSTNAME } function configure_interfaces() { cat > /etc/network/interfaces << EOF source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp EOF } function configure_networking() { configure_interfaces configure_resolv_conf delete_dhcp_ip configure_hostname } return 2>/dev/null || configure_networking