Blame tools/hook-dhclient
|
Packit |
bc9a3a |
#!/bin/sh
|
|
Packit |
bc9a3a |
# This file is part of cloud-init. See LICENSE file for license information.
|
|
Packit |
bc9a3a |
|
|
Packit |
bc9a3a |
# This script writes DHCP lease information into the cloud-init run directory
|
|
Packit |
bc9a3a |
# It is sourced, not executed. For more information see dhclient-script(8).
|
|
Packit |
bc9a3a |
|
|
Packit |
bc9a3a |
is_azure() {
|
|
Packit |
bc9a3a |
local dmi_path="/sys/class/dmi/id/board_vendor" vendor=""
|
|
Packit |
bc9a3a |
if [ -e "$dmi_path" ] && read vendor < "$dmi_path"; then
|
|
Packit |
bc9a3a |
[ "$vendor" = "Microsoft Corporation" ] && return 0
|
|
Packit |
bc9a3a |
fi
|
|
Packit |
bc9a3a |
return 1
|
|
Packit |
bc9a3a |
}
|
|
Packit |
bc9a3a |
|
|
Packit |
bc9a3a |
is_enabled() {
|
|
Packit |
bc9a3a |
# only execute hooks if cloud-init is enabled and on azure
|
|
Packit |
bc9a3a |
[ -e /run/cloud-init/enabled ] || return 1
|
|
Packit |
bc9a3a |
is_azure
|
|
Packit |
bc9a3a |
}
|
|
Packit |
bc9a3a |
|
|
Packit |
bc9a3a |
if is_enabled; then
|
|
Packit |
bc9a3a |
case "$reason" in
|
|
Packit |
bc9a3a |
BOUND) cloud-init dhclient-hook up "$interface";;
|
|
Packit |
bc9a3a |
DOWN|RELEASE|REBOOT|STOP|EXPIRE)
|
|
Packit |
bc9a3a |
cloud-init dhclient-hook down "$interface";;
|
|
Packit |
bc9a3a |
esac
|
|
Packit |
bc9a3a |
fi
|