Merge pull request #151 from marineam/mount
fix(configdrive): Use mount units, give virtfs a new mount point.
This commit is contained in:
		| @@ -3,9 +3,9 @@ | ||||
| ACTION!="add|change", GOTO="coreos_configdrive_end" | ||||
|  | ||||
| # 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 | ||||
| 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" | ||||
|   | ||||
| @@ -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] | ||||
| 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] | ||||
| 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