From 0f278e5633fcd698d2e45be0e30257761ecda99d Mon Sep 17 00:00:00 2001 From: Alex Crawford Date: Tue, 14 Jul 2015 16:26:19 -0700 Subject: [PATCH] sys-apps/ignition: update to match new stages This now includes ignition-disks.service and ignition-files.service which run their respective stages. Both of these services are required by ignition.target which is wanted when the udev rule matches an unbooted disk. --- .../sys-apps/ignition/files/90-ignition.rules | 1 + .../ignition/files/coreos-metadata.target | 2 -- .../ignition/files/ignition-disks.service | 19 +++++++++++++++++++ .../ignition/files/ignition-files.service | 19 +++++++++++++++++++ .../sys-apps/ignition/files/ignition.service | 16 ---------------- .../sys-apps/ignition/files/ignition.target | 13 +++++++++++++ .../sys-apps/ignition/files/mnt-oem.mount | 8 ++++++++ .../sys-apps/ignition/ignition-9999.ebuild | 9 ++++++--- 8 files changed, 66 insertions(+), 21 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/90-ignition.rules delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/coreos-metadata.target create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-disks.service create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-files.service delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.service create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.target create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/mnt-oem.mount diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/90-ignition.rules b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/90-ignition.rules new file mode 100644 index 0000000000..bf3c1ab1de --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/90-ignition.rules @@ -0,0 +1 @@ +SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_PART_TABLE_UUID}=="00000000-0000-0000-0000-000000000001", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ignition.target" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/coreos-metadata.target b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/coreos-metadata.target deleted file mode 100644 index 27a4130330..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/coreos-metadata.target +++ /dev/null @@ -1,2 +0,0 @@ -[Unit] -Description=Runtime Metadata diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-disks.service b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-disks.service new file mode 100644 index 0000000000..d8679fc424 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-disks.service @@ -0,0 +1,19 @@ +[Unit] +Description=Ignition +DefaultDependencies=false +Conflicts=initrd-switch-root.target +Before=initrd-switch-root.target + +Requires=local-fs-pre.target +Before=local-fs-pre.target + +Requires=mnt-oem.mount +After=mnt-oem.mount + +[Service] +Type=oneshot +TimeoutStartSec=30s +Environment=OEM_NAME=pxe +Environment=FETCH_TIMEOUT=1m +EnvironmentFile=-/mnt/oem/environment +ExecStart=/usr/bin/ignition --root=/sysroot --oem=${OEM_NAME} --stage=disks --fetchtimeout=${FETCH_TIMEOUT} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-files.service b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-files.service new file mode 100644 index 0000000000..fb85828759 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition-files.service @@ -0,0 +1,19 @@ +[Unit] +Description=Ignition +DefaultDependencies=false +Conflicts=initrd-switch-root.target +Before=initrd-switch-root.target + +Requires=initrd-root-fs.target +After=initrd-root-fs.target + +Requires=mnt-oem.mount +After=mnt-oem.mount + +[Service] +Type=oneshot +TimeoutStartSec=30s +Environment=OEM_NAME=pxe +Environment=FETCH_TIMEOUT=1m +EnvironmentFile=-/mnt/oem/environment +ExecStart=/usr/bin/ignition --root=/sysroot --oem=${OEM_NAME} --stage=files --fetchtimeout=${FETCH_TIMEOUT} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.service b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.service deleted file mode 100644 index 92611521c0..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=Ignition -Requires=initrd-fs.target -After=initrd-fs.target -ConditionPathExists=/etc/initrd-release -ConditionPathExists=!/sysroot/etc/machine-id - -[Service] -Type=oneshot -RemainAfterExit=yes -Environment=OEM_NAME=pxe -EnvironmentFile=-/usr/share/oem/environment -ExecStart=/usr/bin/ignition --root=/sysroot --oem=${OEM_NAME} - -[Install] -WantedBy=initrd.target diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.target b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.target new file mode 100644 index 0000000000..334b9a79c3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/ignition.target @@ -0,0 +1,13 @@ +[Unit] +DefaultDependencies=false +Conflicts=initrd-switch-root.target +Before=initrd-switch-root.target + +OnFailure=emergency.target +OnFailureJobMode=replace-irreversibly + +Requires=ignition-disks.service +After=ignition-disks.service + +Requires=ignition-files.service +After=ignition-files.service diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/mnt-oem.mount b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/mnt-oem.mount new file mode 100644 index 0000000000..71139f2105 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/mnt-oem.mount @@ -0,0 +1,8 @@ +[Unit] +DefaultDependencies=false +Conflicts=initrd-switch-root.target +Before=initrd-switch-root.target + +[Mount] +What=/dev/disk/by-label/OEM +Where=/mnt/oem diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild index 2433df593f..e3a3b466ab 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild @@ -26,9 +26,12 @@ src_compile() { src_install() { newbin ${GOBIN}/src ${PN} - systemd_dounit "${FILESDIR}"/coreos-metadata.target - systemd_dounit "${FILESDIR}"/ignition.service - systemd_enable_service initrd.target ignition.service + udev_dorules "${FILESDIR}"/90-ignition.rules + + systemd_dounit "${FILESDIR}"/mnt-oem.mount + systemd_dounit "${FILESDIR}"/ignition.target + systemd_dounit "${FILESDIR}"/ignition-disks.service + systemd_dounit "${FILESDIR}"/ignition-files.service coreos-dodoc -r doc/* }