Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d0a6d6f92f | ||
|
2be1e52f32 | ||
|
784a71e2bf | ||
|
160668284c | ||
|
41b9dfcb1c | ||
|
ef4c3483b6 | ||
|
4bdf633075 | ||
|
c9fc718e18 | ||
|
4461b3d33d | ||
|
c6a1412f6b |
@@ -14,7 +14,7 @@ import (
|
|||||||
"github.com/coreos/coreos-cloudinit/system"
|
"github.com/coreos/coreos-cloudinit/system"
|
||||||
)
|
)
|
||||||
|
|
||||||
const version = "0.7.5"
|
const version = "0.7.7"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var printVersion bool
|
var printVersion bool
|
||||||
|
@@ -12,7 +12,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
locksmithUnit = "locksmithd.service"
|
locksmithUnit = "locksmithd.service"
|
||||||
|
updateEngineUnit = "update-engine.service"
|
||||||
)
|
)
|
||||||
|
|
||||||
// updateOption represents a configurable update option, which, if set, will be
|
// updateOption represents a configurable update option, which, if set, will be
|
||||||
@@ -36,7 +37,6 @@ var updateOptions = []*updateOption{
|
|||||||
&updateOption{
|
&updateOption{
|
||||||
key: "group",
|
key: "group",
|
||||||
prefix: "GROUP=",
|
prefix: "GROUP=",
|
||||||
valid: []string{"master", "beta", "alpha", "stable"},
|
|
||||||
},
|
},
|
||||||
&updateOption{
|
&updateOption{
|
||||||
key: "server",
|
key: "server",
|
||||||
@@ -155,7 +155,7 @@ func (uc UpdateConfig) Units(root string) ([]system.Unit, error) {
|
|||||||
}
|
}
|
||||||
if rue {
|
if rue {
|
||||||
ue := system.Unit{
|
ue := system.Unit{
|
||||||
Name: "update-engine",
|
Name: updateEngineUnit,
|
||||||
Command: "restart",
|
Command: "restart",
|
||||||
}
|
}
|
||||||
units = append(units, ue)
|
units = append(units, ue)
|
||||||
|
@@ -114,8 +114,8 @@ SERVER=http://foo.com`
|
|||||||
t.Errorf("unexpected number of files returned from UpdateConfig: want 1, got %d", len(uu))
|
t.Errorf("unexpected number of files returned from UpdateConfig: want 1, got %d", len(uu))
|
||||||
} else {
|
} else {
|
||||||
unit := uu[0]
|
unit := uu[0]
|
||||||
if unit.Name != "update-engine" {
|
if unit.Name != "update-engine.service" {
|
||||||
t.Errorf("bad name for generated unit: want update-engine, got %s", unit.Name)
|
t.Errorf("bad name for generated unit: want update-engine.service, got %s", unit.Name)
|
||||||
}
|
}
|
||||||
if unit.Command != "restart" {
|
if unit.Command != "restart" {
|
||||||
t.Errorf("bad command for generated unit: want restart, got %s", unit.Command)
|
t.Errorf("bad command for generated unit: want restart, got %s", unit.Command)
|
||||||
|
@@ -3,9 +3,9 @@
|
|||||||
ACTION!="add|change", GOTO="coreos_configdrive_end"
|
ACTION!="add|change", GOTO="coreos_configdrive_end"
|
||||||
|
|
||||||
# A normal config drive. Block device formatted with iso9660 or fat
|
# A normal config drive. Block device formatted with iso9660 or fat
|
||||||
SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="iso9660|vfat", ENV{ID_FS_LABEL}=="config-2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="configdrive-block.service"
|
SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="iso9660|vfat", ENV{ID_FS_LABEL}=="config-2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="media-configdrive.mount"
|
||||||
|
|
||||||
# Addtionally support virtfs from QEMU
|
# Addtionally support virtfs from QEMU
|
||||||
SUBSYSTEM=="virtio", DRIVER=="9pnet_virtio", ATTR{mount_tag}=="config-2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="configdrive-virtfs.service"
|
SUBSYSTEM=="virtio", DRIVER=="9pnet_virtio", ATTR{mount_tag}=="config-2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="media-configvirtfs.mount"
|
||||||
|
|
||||||
LABEL="coreos_configdrive_end"
|
LABEL="coreos_configdrive_end"
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Mount config drive
|
|
||||||
Conflicts=configdrive-virtfs.service umount.target
|
|
||||||
ConditionPathIsMountPoint=!/media/configdrive
|
|
||||||
# Only mount config drive block devices automatically in virtual machines
|
|
||||||
ConditionVirtualization=vm
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=no
|
|
||||||
ExecStart=/bin/mount -t auto -o ro,x-mount.mkdir LABEL=config-2 /media/configdrive
|
|
@@ -1,14 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Mount config drive from virtfs
|
|
||||||
Conflicts=configdrive-block.service umount.target
|
|
||||||
ConditionPathIsMountPoint=!/media/configdrive
|
|
||||||
ConditionVirtualization=vm
|
|
||||||
|
|
||||||
# Support old style setup for now
|
|
||||||
Wants=addon-run@media-configdrive.service addon-config@media-configdrive.service
|
|
||||||
Before=addon-run@media-configdrive.service addon-config@media-configdrive.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=no
|
|
||||||
ExecStart=/bin/mount -t 9p -o trans=virtio,version=9p2000.L,x-mount.mkdir config-2 /media/configdrive
|
|
13
units/media-configdrive.mount
Normal file
13
units/media-configdrive.mount
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Wants=user-configdrive.service
|
||||||
|
Before=user-configdrive.service
|
||||||
|
# Only mount config drive block devices automatically in virtual machines
|
||||||
|
# or any host that has it explicitly enabled and not explicitly disabled.
|
||||||
|
ConditionVirtualization=|vm
|
||||||
|
ConditionKernelCommandLine=|coreos.configdrive=1
|
||||||
|
ConditionKernelCommandLine=!coreos.configdrive=0
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=LABEL=config-2
|
||||||
|
Where=/media/configdrive
|
||||||
|
Options=ro
|
18
units/media-configvirtfs.mount
Normal file
18
units/media-configvirtfs.mount
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[Unit]
|
||||||
|
Wants=user-configvirtfs.service
|
||||||
|
Before=user-configvirtfs.service
|
||||||
|
# Only mount config drive block devices automatically in virtual machines
|
||||||
|
# or any host that has it explicitly enabled and not explicitly disabled.
|
||||||
|
ConditionVirtualization=|vm
|
||||||
|
ConditionKernelCommandLine=|coreos.configdrive=1
|
||||||
|
ConditionKernelCommandLine=!coreos.configdrive=0
|
||||||
|
|
||||||
|
# Support old style setup for now
|
||||||
|
Wants=addon-run@media-configvirtfs.service addon-config@media-configvirtfs.service
|
||||||
|
Before=addon-run@media-configvirtfs.service addon-config@media-configvirtfs.service
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=config-2
|
||||||
|
Where=/media/configvirtfs
|
||||||
|
Options=ro,trans=virtio,version=9p2000.L
|
||||||
|
Type=9p
|
@@ -1,5 +1,10 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Watch for a cloud-config at /media/configdrive
|
Description=Watch for a cloud-config at /media/configdrive
|
||||||
|
|
||||||
|
# Note: This unit is essentially just here as a fall-back mechanism to
|
||||||
|
# trigger cloudinit if it isn't triggered explicitly by other means
|
||||||
|
# such as by a Wants= in the mount unit. This ensures we handle the
|
||||||
|
# case where /media/configdrive is provided to a CoreOS container.
|
||||||
|
|
||||||
[Path]
|
[Path]
|
||||||
DirectoryNotEmpty=/media/configdrive
|
DirectoryNotEmpty=/media/configdrive
|
||||||
|
11
units/user-configvirtfs.service
Normal file
11
units/user-configvirtfs.service
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Load cloud-config from /media/configvirtfs
|
||||||
|
Requires=coreos-setup-environment.service
|
||||||
|
After=coreos-setup-environment.service
|
||||||
|
Before=user-config.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
EnvironmentFile=-/etc/environment
|
||||||
|
ExecStart=/usr/bin/coreos-cloudinit --from-configdrive=/media/configvirtfs
|
Reference in New Issue
Block a user