-
Notifications
You must be signed in to change notification settings - Fork 972
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
99 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ACTION=="add", SYMLINK=="virtio-ports/org.linuxcontainers.lxd", TAG+="systemd", ACTION=="add", RUN+="/bin/systemctl start lxd-agent.service" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
config BR2_PACKAGE_LXD_GUEST_AGENT | ||
bool "LXD Guest Agent" | ||
depends on BR2_USE_MMU # libglib2 | ||
depends on BR2_USE_WCHAR # libglib2 | ||
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 | ||
select BR2_PACKAGE_LIBGLIB2 | ||
select BR2_PACKAGE_ZLIB | ||
help | ||
LXD guest agent for LXD based virtualisations |
39 changes: 39 additions & 0 deletions
39
buildroot-external/package/lxd-guest-agent/lxd-agent-setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/sh | ||
set -eu | ||
PREFIX="/run/lxd_agent" | ||
|
||
# Functions. | ||
mount_virtiofs() { | ||
mount -t virtiofs config "${PREFIX}/.mnt" >/dev/null 2>&1 | ||
} | ||
|
||
mount_9p() { | ||
/sbin/modprobe 9pnet_virtio >/dev/null 2>&1 || true | ||
/bin/mount -t 9p config "${PREFIX}/.mnt" -o access=0,trans=virtio >/dev/null 2>&1 | ||
} | ||
|
||
fail() { | ||
umount -l "${PREFIX}" >/dev/null 2>&1 || true | ||
rmdir "${PREFIX}" >/dev/null 2>&1 || true | ||
echo "${1}" | ||
exit 1 | ||
} | ||
|
||
# Setup the mount target. | ||
umount -l "${PREFIX}" >/dev/null 2>&1 || true | ||
mkdir -p "${PREFIX}" | ||
mount -t tmpfs tmpfs "${PREFIX}" -o mode=0700,size=50M | ||
mkdir -p "${PREFIX}/.mnt" | ||
|
||
# Try virtiofs first. | ||
mount_virtiofs || mount_9p || fail "Couldn't mount virtiofs or 9p, failing." | ||
|
||
# Copy the data. | ||
cp -Ra "${PREFIX}/.mnt/"* "${PREFIX}" | ||
|
||
# Unmount the temporary mount. | ||
umount "${PREFIX}/.mnt" | ||
rmdir "${PREFIX}/.mnt" | ||
|
||
# Fix up permissions. | ||
chown -R root:root "${PREFIX}" |
17 changes: 17 additions & 0 deletions
17
buildroot-external/package/lxd-guest-agent/lxd-agent.service
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[Unit] | ||
Description=LXD - agent | ||
After=syslog.target network.target | ||
ConditionPathExists=/dev/virtio-ports/org.linuxcontainers.lxd | ||
|
||
[Service] | ||
Type=notify | ||
WorkingDirectory=-/run/lxd_agent | ||
ExecStartPre=/usr/lib/systemd/lxd-agent-setup | ||
ExecStart=/run/lxd_agent/lxd-agent | ||
Restart=on-failure | ||
RestartSec=5s | ||
StartLimitInterval=60 | ||
StartLimitBurst=10 | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
21 changes: 21 additions & 0 deletions
21
buildroot-external/package/lxd-guest-agent/lxd-guest-agent.mk
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
################################################################################ | ||
# | ||
# lxd-guest-agent | ||
# | ||
################################################################################ | ||
|
||
LXD_GUEST_AGENT_DEPENDENCIES = host-pkgconf | ||
|
||
define LXD_GUEST_AGENT_INSTALL_INIT_SYSTEMD | ||
$(INSTALL) -D -m 644 $(LXD_GUEST_AGENT_PKGDIR)/lxd-agent.service \ | ||
$(TARGET_DIR)/usr/lib/systemd/system/lxd-agent.service | ||
$(INSTALL) -D -m 755 $(LXD_GUEST_AGENT_PKGDIR)/lxd-agent-setup \ | ||
$(TARGET_DIR)/usr/lib/systemd/lxd-agent-setup | ||
$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants | ||
ln -fs /usr/lib/systemd/system/lxd-agent.service \ | ||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lxd-agent.service | ||
$(INSTALL) -D -m 644 $(LXD_GUEST_AGENT_PKGDIR)/99-lxd-agent.rules \ | ||
$(TARGET_DIR)/usr/lib/udev/rules.d/99-lxd-agent.rules | ||
endef | ||
|
||
$(eval $(generic-package)) |