summaryrefslogtreecommitdiff
path: root/contrib/cirrus/packer/rhel_base-setup.sh
blob: fbf9f61af18a58e124b187214d2c35dcdc35e417 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash

# N/B: This script is not intended to be run by humans.  It is used to configure the
# rhel base image for importing, so that it will boot in GCE

set -e

[[ "$1" == "post" ]] || exit 0  # pre stage is not needed

# Load in library (copied by packer, before this script was run)
source $GOSRC/$SCRIPT_BASE/lib.sh

req_env_var "
    RHSM_COMMAND $RHSM_COMMAND
"

install_ooe

rhsm_enable

echo "Setting up repos"
# Frequently needed
ooe.sh sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# Required for google to manage ssh keys
ooe.sh sudo tee /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-compute]
name=google-cloud-compute
baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-compute-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM

echo "Updating all packages"
ooe.sh sudo yum -y update

echo "Installing/removing packages"
ooe.sh sudo yum -y install rng-tools google-compute-engine google-compute-engine-oslogin

echo "Enabling critical services"
ooe.sh sudo systemctl enable \
    rngd \
    google-accounts-daemon \
    google-clock-skew-daemon \
    google-instance-setup \
    google-network-daemon \
    google-shutdown-scripts \
    google-startup-scripts

rhel_exit_handler  # release subscription!

echo "Configuring boot"
cat << "EOF" | sudo tee /etc/default/grub
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=38400"
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0,38400n8"
GRUB_DISABLE_RECOVERY="true"
EOF
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

echo "Configuring networking"
ooe.sh sudo nmcli connection modify 'System eth0' 802-3-ethernet.mtu 1460
ooe.sh sudo nmcli connection modify 'System eth0' connection.autoconnect yes
ooe.sh sudo nmcli connection modify 'System eth0' connection.autoconnect-priority
ooe.sh sudo nmcli connection modify 'System eth0' ipv4.method auto
ooe.sh sudo nmcli connection modify 'System eth0' ipv4.dhcp-send-hostname yes
ooe.sh sudo nmcli connection modify 'System eth0' ipv4.dhcp-timeout 0
ooe.sh sudo nmcli connection modify 'System eth0' ipv4.never-default no
ooe.sh /usr/bin/google_instance_setup

rh_finalize

echo "SUCCESS!"