kubernetes deployment strategy notes
This commit is contained in:
@@ -0,0 +1,247 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "# Running [control-plane.k8s.lab.cudanet.org] host initial configuration"
|
||||
|
||||
|
||||
exit_and_cancel_build() {
|
||||
echo 'Host [control-plane.k8s.lab.cudanet.org] initial configuration failed'
|
||||
|
||||
SSL_CA_CERT=$(mktemp)
|
||||
cat << EOF > $SSL_CA_CERT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG6TCCBNGgAwIBAgIUIacbh/WYmORFpiddBg25g/W4jlQwDQYJKoZIhvcNAQEL
|
||||
BQAwgYExCzAJBgNVBAYTAlVTMRcwFQYDVQQIDA5Ob3J0aCBDYXJvbGluYTEQMA4G
|
||||
A1UEBwwHUmFsZWlnaDEQMA4GA1UECgwHS2F0ZWxsbzEUMBIGA1UECwwLU29tZU9y
|
||||
Z1VuaXQxHzAdBgNVBAMMFnNhdGwwMS5sYWIuY3VkYW5ldC5vcmcwHhcNMjYwOTEx
|
||||
MTc1NTA1WhcNMzgwMTE3MTc1NTA1WjCBgTELMAkGA1UEBhMCVVMxFzAVBgNVBAgM
|
||||
Dk5vcnRoIENhcm9saW5hMRAwDgYDVQQHDAdSYWxlaWdoMRAwDgYDVQQKDAdLYXRl
|
||||
bGxvMRQwEgYDVQQLDAtTb21lT3JnVW5pdDEfMB0GA1UEAwwWc2F0bDAxLmxhYi5j
|
||||
dWRhbmV0Lm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAN6uVBDW
|
||||
Qp941uKRabwV2vtuGftmply2vA4cFbw0k1vAosRPE130ULNkhm8wK7qwu+bqNKi6
|
||||
2okdfIBAm+u7Tw0NYufcMDyEjngqMCG54w3OGbLW4ZQIefIliKw/kdUhxvKvzxNT
|
||||
DP7kK+uwnunW6l79G8azAtDddhNa0wafkMHpQYeU/Y650oto+c3qjETTIC3M2QVr
|
||||
N7D5niWAmrLvHyR/2S/W2Oa2929PmENMuBUsEgcoYthagDjse7G2hp8Gll4cCVh4
|
||||
LysBzTUFUBC5NRx7eqf0iCycexXcAZunHQfNCwHJNXdUFc61pBeFmTtslxTMdNmV
|
||||
FZ9SV5++ESHK75RYlhnfHGSiByUtstDXGT1vCUkipmzI4p3zVRPj5whlg0i15hdz
|
||||
R58q9uftSYOwr5od3UIXJQM2fNlip7rIy85av2le3TkwmjObQqP7nNmacWarwQfs
|
||||
dTVcslv+CI7vXtdWGqcRMo0db+QQN8tSGOfSTGDqt4lmwk7ESg48UocOAhoOEzIY
|
||||
pEQnBLtSxEDBsFEu4vwNlq5DanSD3vuxwyDC6T8AdxTQvVclM+x+CsANaVzrLM6W
|
||||
e7KJOYfe7J/dM28OWOTdLSSJ+L9gYxtdXme9uYLmQptce7KnuwoHozRY/aP0hFN/
|
||||
2hMNEYlPFkUGvvb+hKzziagh+Rky9IP8/dWjAgMBAAGjggFVMIIBUTAMBgNVHRME
|
||||
BTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH
|
||||
AwIwEQYJYIZIAYb4QgEBBAQDAgJEMDUGCWCGSAGG+EIBDQQoFiZLYXRlbGxvIFNT
|
||||
TCBUb29sIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUepliLqnv9s1n
|
||||
TKkZeHtZA8eNPdgwgasGA1UdIwSBozCBoKGBh6SBhDCBgTELMAkGA1UEBhMCVVMx
|
||||
FzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQHDAdSYWxlaWdoMRAwDgYD
|
||||
VQQKDAdLYXRlbGxvMRQwEgYDVQQLDAtTb21lT3JnVW5pdDEfMB0GA1UEAwwWc2F0
|
||||
bDAxLmxhYi5jdWRhbmV0Lm9yZ4IUIacbh/WYmORFpiddBg25g/W4jlQwDQYJKoZI
|
||||
hvcNAQELBQADggIBAGeB30OcUUdVO5gTWnNorYHhkhxuWri1ThCQqzBlaUKFQ35I
|
||||
120CcZ2rc22Q/kQqLHfB3bvGEe379Bw/6kRKOZVf7cd34yqqORSQxWqkPSQIjKfw
|
||||
K5kXRn2aCQSh/Ohfoowz0ow5HngTzShiL+KlPuix6Zuz2R+1uZwpDZifUiUVydnx
|
||||
Ru0XiZBFX+u4zUAPJHYC94t14Omvpo8J1qbfC9Wc9Anlx4I7PXqJ8rygSrxU8him
|
||||
QhExutff7TC4yA2nPVLvGJV96eAl9nQdiux8EKhvJ4y66/e4IqFNVYtiyCpH2epv
|
||||
rLRgWCmpBDONHL2LM82HJZXKtU8rwRUCsKnt2pjRR2BTEkCH5GNQasLI76TEorV3
|
||||
Z+d8LWBHZgmsbR2BcCv7eSd29NAMoRalCx1emEJm/yizzXm3ADlH9PWR9bwuwMxx
|
||||
IRcB1EsKXpWlzaJY3TfJ8p1cUqcx3Dm8majSb9nkTkbH5XuVf2hipz1URpYlcDjk
|
||||
DUcFWbs+2BqLU9Gg4mZJMHc6XDsduv+sjaA5D8w5bYZfgqLA39/LPKPQCQ2vcYIm
|
||||
CviivD2WpDXdkp2BFNV3lX/H6Vnlc2Mc6utUxMem2Ip7bBISIGayZKHyjOsAU+hh
|
||||
T/giRQe8jtPFNh+pnEWBo83XMalqn0V5C7m/Jwb28bc7IPtPPlRcfYsnhY5y
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
EOF
|
||||
if [ -x /usr/bin/curl ]; then
|
||||
/usr/bin/curl -o /dev/null -H 'Content-Type: text/plain' --fail --data 'Host initial configuration failed, please see the registration log for more details.' --noproxy \* --cacert $SSL_CA_CERT --silent 'https://satl01.lab.cudanet.org/unattended/failed?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
elif [ -x /usr/bin/wget ]; then
|
||||
/usr/bin/wget -q -O /dev/null --method POST --header 'Content-Type: text/plain' --body-data='Host initial configuration failed, please see the registration log for more details.' --no-proxy --ca-certificate $SSL_CA_CERT 'https://satl01.lab.cudanet.org/unattended/failed?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
else
|
||||
wget -q -O /dev/null --header 'Content-Type: text/plain' 'https://satl01.lab.cudanet.org/unattended/failed?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
fi
|
||||
FINAL_STATUS=$?
|
||||
|
||||
if [ -x "$(command -v subscription-manager)" ] ; then
|
||||
subscription-manager facts --update
|
||||
SUB_MAN_STATUS=$?
|
||||
|
||||
if [ $FINAL_STATUS -eq 0 ]; then
|
||||
FINAL_STATUS=$SUB_MAN_STATUS
|
||||
fi
|
||||
fi
|
||||
|
||||
(exit $FINAL_STATUS);
|
||||
exit 1
|
||||
}
|
||||
|
||||
set +e
|
||||
trap 'exit_and_cancel_build' ERR
|
||||
|
||||
|
||||
|
||||
|
||||
# Select package manager for the OS (sets the $PKG_MANAGER* variables)
|
||||
if [ -z "$PKG_MANAGER" ]; then
|
||||
if [ -f /etc/os-release ] ; then
|
||||
. /etc/os-release
|
||||
fi
|
||||
|
||||
if [ "${NAME%.*}" = 'FreeBSD' ]; then
|
||||
PKG_MANAGER='pkg'
|
||||
PKG_MANAGER_INSTALL="${PKG_MANAGER} install -y"
|
||||
PKG_MANAGER_REMOVE="${PKG_MANAGER} delete -y"
|
||||
PKG_MANAGER_UPGRADE="${PKG_MANAGER} install -y"
|
||||
elif [ -f /etc/fedora-release -o -f /etc/redhat-release -o -f /etc/amazon-linux-release -o -f /etc/system-release ]; then
|
||||
PKG_MANAGER='dnf'
|
||||
if [ -f /etc/redhat-release -a "${VERSION_ID%.*}" -le 7 ]; then
|
||||
PKG_MANAGER='yum'
|
||||
elif [ -f /etc/system-release ]; then
|
||||
PKG_MANAGER='yum'
|
||||
fi
|
||||
PKG_MANAGER_INSTALL="${PKG_MANAGER} install -y"
|
||||
PKG_MANAGER_REMOVE="${PKG_MANAGER} remove -y"
|
||||
PKG_MANAGER_UPGRADE="${PKG_MANAGER} upgrade -y"
|
||||
elif [ -f /etc/debian_version ]; then
|
||||
PKG_MANAGER='apt-get'
|
||||
PKG_MANAGER_INSTALL="${PKG_MANAGER} -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' install -y"
|
||||
PKG_MANAGER_REMOVE="${PKG_MANAGER} -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' remove -y"
|
||||
PKG_MANAGER_UPGRADE="${PKG_MANAGER} -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' -o APT::Get::Upgrade-Allow-New='true' upgrade -y"
|
||||
elif [ -f /etc/arch-release ]; then
|
||||
PKG_MANAGER='pacman'
|
||||
PKG_MANAGER_INSTALL="${PKG_MANAGER} --noconfirm -S"
|
||||
PKG_MANAGER_REMOVE="${PKG_MANAGER} --noconfirm -R"
|
||||
PKG_MANAGER_UPGRADE="${PKG_MANAGER} --noconfirm -S"
|
||||
elif [ x$ID = xopensuse-tumbleweed -o x$ID = xsles ]; then
|
||||
PKG_MANAGER='zypper'
|
||||
PKG_MANAGER_INSTALL="${PKG_MANAGER} --non-interactive install --auto-agree-with-licenses"
|
||||
PKG_MANAGER_REMOVE="${PKG_MANAGER} --non-interactive remove"
|
||||
PKG_MANAGER_UPGRADE="${PKG_MANAGER} --non-interactive update"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
user_exists=false
|
||||
getent passwd root >/dev/null 2>&1 && user_exists=true
|
||||
|
||||
|
||||
if $user_exists; then
|
||||
|
||||
|
||||
mkdir -p ~root/.ssh
|
||||
|
||||
cat << EOF >> ~root/.ssh/authorized_keys
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHN+jdbQeYICJHV6iVLv/dj+oqeAapadgAUM8y7ZRRvS foreman-proxy@satl01.lab.cudanet.org
|
||||
EOF
|
||||
|
||||
chmod 0700 ~root/.ssh
|
||||
chmod 0600 ~root/.ssh/authorized_keys
|
||||
chown -R root: ~root/.ssh
|
||||
|
||||
# Restore SELinux context with restorecon, if it's available:
|
||||
command -v restorecon && restorecon -RvF ~root/.ssh || true
|
||||
|
||||
|
||||
|
||||
else
|
||||
echo 'The remote_execution_ssh_user does not exist and remote_execution_create_user is not set to true. remote_execution_ssh_keys snippet will not install keys'
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
echo '#'
|
||||
echo '# Installing Insights client'
|
||||
echo '#'
|
||||
|
||||
yum install -y insights-client
|
||||
insights-client --register < /dev/null
|
||||
|
||||
|
||||
|
||||
|
||||
if command -v subscription-manager &>/dev/null; then
|
||||
echo "Refreshing subscription data"
|
||||
subscription-manager refresh
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Call home to exit build mode
|
||||
|
||||
trap - ERR
|
||||
SSL_CA_CERT=$(mktemp)
|
||||
cat << EOF > $SSL_CA_CERT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG6TCCBNGgAwIBAgIUIacbh/WYmORFpiddBg25g/W4jlQwDQYJKoZIhvcNAQEL
|
||||
BQAwgYExCzAJBgNVBAYTAlVTMRcwFQYDVQQIDA5Ob3J0aCBDYXJvbGluYTEQMA4G
|
||||
A1UEBwwHUmFsZWlnaDEQMA4GA1UECgwHS2F0ZWxsbzEUMBIGA1UECwwLU29tZU9y
|
||||
Z1VuaXQxHzAdBgNVBAMMFnNhdGwwMS5sYWIuY3VkYW5ldC5vcmcwHhcNMjYwOTEx
|
||||
MTc1NTA1WhcNMzgwMTE3MTc1NTA1WjCBgTELMAkGA1UEBhMCVVMxFzAVBgNVBAgM
|
||||
Dk5vcnRoIENhcm9saW5hMRAwDgYDVQQHDAdSYWxlaWdoMRAwDgYDVQQKDAdLYXRl
|
||||
bGxvMRQwEgYDVQQLDAtTb21lT3JnVW5pdDEfMB0GA1UEAwwWc2F0bDAxLmxhYi5j
|
||||
dWRhbmV0Lm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAN6uVBDW
|
||||
Qp941uKRabwV2vtuGftmply2vA4cFbw0k1vAosRPE130ULNkhm8wK7qwu+bqNKi6
|
||||
2okdfIBAm+u7Tw0NYufcMDyEjngqMCG54w3OGbLW4ZQIefIliKw/kdUhxvKvzxNT
|
||||
DP7kK+uwnunW6l79G8azAtDddhNa0wafkMHpQYeU/Y650oto+c3qjETTIC3M2QVr
|
||||
N7D5niWAmrLvHyR/2S/W2Oa2929PmENMuBUsEgcoYthagDjse7G2hp8Gll4cCVh4
|
||||
LysBzTUFUBC5NRx7eqf0iCycexXcAZunHQfNCwHJNXdUFc61pBeFmTtslxTMdNmV
|
||||
FZ9SV5++ESHK75RYlhnfHGSiByUtstDXGT1vCUkipmzI4p3zVRPj5whlg0i15hdz
|
||||
R58q9uftSYOwr5od3UIXJQM2fNlip7rIy85av2le3TkwmjObQqP7nNmacWarwQfs
|
||||
dTVcslv+CI7vXtdWGqcRMo0db+QQN8tSGOfSTGDqt4lmwk7ESg48UocOAhoOEzIY
|
||||
pEQnBLtSxEDBsFEu4vwNlq5DanSD3vuxwyDC6T8AdxTQvVclM+x+CsANaVzrLM6W
|
||||
e7KJOYfe7J/dM28OWOTdLSSJ+L9gYxtdXme9uYLmQptce7KnuwoHozRY/aP0hFN/
|
||||
2hMNEYlPFkUGvvb+hKzziagh+Rky9IP8/dWjAgMBAAGjggFVMIIBUTAMBgNVHRME
|
||||
BTADAQH/MAsGA1UdDwQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH
|
||||
AwIwEQYJYIZIAYb4QgEBBAQDAgJEMDUGCWCGSAGG+EIBDQQoFiZLYXRlbGxvIFNT
|
||||
TCBUb29sIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUepliLqnv9s1n
|
||||
TKkZeHtZA8eNPdgwgasGA1UdIwSBozCBoKGBh6SBhDCBgTELMAkGA1UEBhMCVVMx
|
||||
FzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYDVQQHDAdSYWxlaWdoMRAwDgYD
|
||||
VQQKDAdLYXRlbGxvMRQwEgYDVQQLDAtTb21lT3JnVW5pdDEfMB0GA1UEAwwWc2F0
|
||||
bDAxLmxhYi5jdWRhbmV0Lm9yZ4IUIacbh/WYmORFpiddBg25g/W4jlQwDQYJKoZI
|
||||
hvcNAQELBQADggIBAGeB30OcUUdVO5gTWnNorYHhkhxuWri1ThCQqzBlaUKFQ35I
|
||||
120CcZ2rc22Q/kQqLHfB3bvGEe379Bw/6kRKOZVf7cd34yqqORSQxWqkPSQIjKfw
|
||||
K5kXRn2aCQSh/Ohfoowz0ow5HngTzShiL+KlPuix6Zuz2R+1uZwpDZifUiUVydnx
|
||||
Ru0XiZBFX+u4zUAPJHYC94t14Omvpo8J1qbfC9Wc9Anlx4I7PXqJ8rygSrxU8him
|
||||
QhExutff7TC4yA2nPVLvGJV96eAl9nQdiux8EKhvJ4y66/e4IqFNVYtiyCpH2epv
|
||||
rLRgWCmpBDONHL2LM82HJZXKtU8rwRUCsKnt2pjRR2BTEkCH5GNQasLI76TEorV3
|
||||
Z+d8LWBHZgmsbR2BcCv7eSd29NAMoRalCx1emEJm/yizzXm3ADlH9PWR9bwuwMxx
|
||||
IRcB1EsKXpWlzaJY3TfJ8p1cUqcx3Dm8majSb9nkTkbH5XuVf2hipz1URpYlcDjk
|
||||
DUcFWbs+2BqLU9Gg4mZJMHc6XDsduv+sjaA5D8w5bYZfgqLA39/LPKPQCQ2vcYIm
|
||||
CviivD2WpDXdkp2BFNV3lX/H6Vnlc2Mc6utUxMem2Ip7bBISIGayZKHyjOsAU+hh
|
||||
T/giRQe8jtPFNh+pnEWBo83XMalqn0V5C7m/Jwb28bc7IPtPPlRcfYsnhY5y
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
EOF
|
||||
if [ -x /usr/bin/curl ]; then
|
||||
/usr/bin/curl -o /dev/null -H 'Content-Type: text/plain' --fail --noproxy \* --cacert $SSL_CA_CERT --silent 'https://satl01.lab.cudanet.org/unattended/built?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
elif [ -x /usr/bin/wget ]; then
|
||||
/usr/bin/wget -q -O /dev/null --method POST --header 'Content-Type: text/plain' --no-proxy --ca-certificate $SSL_CA_CERT 'https://satl01.lab.cudanet.org/unattended/built?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
else
|
||||
wget -q -O /dev/null --header 'Content-Type: text/plain' 'https://satl01.lab.cudanet.org/unattended/built?token=10fd076d-92f5-4f80-83ad-3cb330ac4069'
|
||||
fi
|
||||
FINAL_STATUS=$?
|
||||
|
||||
if [ -x "$(command -v subscription-manager)" ] ; then
|
||||
subscription-manager facts --update
|
||||
SUB_MAN_STATUS=$?
|
||||
|
||||
if [ $FINAL_STATUS -eq 0 ]; then
|
||||
FINAL_STATUS=$SUB_MAN_STATUS
|
||||
fi
|
||||
fi
|
||||
|
||||
(exit $FINAL_STATUS);
|
||||
|
||||
|
||||
if [[ $? == 0 ]] ; then
|
||||
echo "Host [control-plane.k8s.lab.cudanet.org] successfully configured."
|
||||
else
|
||||
echo "ERROR: Host [control-plane.k8s.lab.cudanet.org] configured, but failed to report status to Foreman." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
subscription-manager repos
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user