mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-07-27 12:37:35 +00:00
lxc-oci: add DHCP option leveraging dhclient hooks
Signed-off-by: Jonathan Calmels <jcalmels@nvidia.com>
This commit is contained in:
parent
1689c7cf90
commit
9a962dc622
@ -36,6 +36,7 @@ done
|
|||||||
|
|
||||||
LOCALSTATEDIR="@LOCALSTATEDIR@"
|
LOCALSTATEDIR="@LOCALSTATEDIR@"
|
||||||
LXC_TEMPLATE_CONFIG="@LXCTEMPLATECONFIG@"
|
LXC_TEMPLATE_CONFIG="@LXCTEMPLATECONFIG@"
|
||||||
|
LXC_HOOK_DIR="@LXCHOOKDIR@"
|
||||||
|
|
||||||
# Some useful functions
|
# Some useful functions
|
||||||
cleanup() {
|
cleanup() {
|
||||||
@ -180,7 +181,7 @@ EOF
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
options=$(getopt -o u:h -l help,url:,username:,password:,no-cache,\
|
options=$(getopt -o u:h -l help,url:,username:,password:,no-cache,dhcp,\
|
||||||
name:,path:,rootfs:,mapped-uid:,mapped-gid: -- "$@")
|
name:,path:,rootfs:,mapped-uid:,mapped-gid: -- "$@")
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
@ -193,6 +194,7 @@ OCI_URL=""
|
|||||||
OCI_USERNAME=
|
OCI_USERNAME=
|
||||||
OCI_PASSWORD=
|
OCI_PASSWORD=
|
||||||
OCI_USE_CACHE="true"
|
OCI_USE_CACHE="true"
|
||||||
|
OCI_USE_DHCP="false"
|
||||||
|
|
||||||
LXC_MAPPED_GID=
|
LXC_MAPPED_GID=
|
||||||
LXC_MAPPED_UID=
|
LXC_MAPPED_UID=
|
||||||
@ -207,6 +209,7 @@ while :; do
|
|||||||
--username) OCI_USERNAME=$2; shift 2;;
|
--username) OCI_USERNAME=$2; shift 2;;
|
||||||
--password) OCI_PASSWORD=$2; shift 2;;
|
--password) OCI_PASSWORD=$2; shift 2;;
|
||||||
--no-cache) OCI_USE_CACHE="false"; shift 1;;
|
--no-cache) OCI_USE_CACHE="false"; shift 1;;
|
||||||
|
--dhcp) OCI_USE_DHCP="true"; shift 1;;
|
||||||
--name) LXC_NAME=$2; shift 2;;
|
--name) LXC_NAME=$2; shift 2;;
|
||||||
--path) LXC_PATH=$2; shift 2;;
|
--path) LXC_PATH=$2; shift 2;;
|
||||||
--rootfs) LXC_ROOTFS=$2; shift 2;;
|
--rootfs) LXC_ROOTFS=$2; shift 2;;
|
||||||
@ -317,6 +320,11 @@ if [ -e "${LXC_TEMPLATE_CONFIG}/oci.common.conf" ]; then
|
|||||||
echo "lxc.include = ${LXC_TEMPLATE_CONFIG}/oci.common.conf" >> "${LXC_CONF_FILE}"
|
echo "lxc.include = ${LXC_TEMPLATE_CONFIG}/oci.common.conf" >> "${LXC_CONF_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${OCI_USE_DHCP}" = "true" ]; then
|
||||||
|
echo "lxc.hook.start-host = ${LXC_HOOK_DIR}/dhclient" >> "${LXC_CONF_FILE}"
|
||||||
|
echo "lxc.hook.stop = ${LXC_HOOK_DIR}/dhclient" >> "${LXC_CONF_FILE}"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "lxc.uts.name = ${LXC_NAME}" >> "${LXC_CONF_FILE}"
|
echo "lxc.uts.name = ${LXC_NAME}" >> "${LXC_CONF_FILE}"
|
||||||
# set the hostname
|
# set the hostname
|
||||||
cat <<EOF > ${LXC_ROOTFS}/etc/hostname
|
cat <<EOF > ${LXC_ROOTFS}/etc/hostname
|
||||||
|
Loading…
Reference in New Issue
Block a user