meta-virtualization.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@gmail.com>
To: Adrian Freihofer <adrian.freihofer@gmail.com>
Cc: meta-virtualization@lists.yoctoproject.org,
	Adrian Freihofer <adrian.freihofer@siemens.com>
Subject: Re: [meta-virtualization][PATCH] k3s: fix systemd service install
Date: Wed, 29 Dec 2021 11:44:00 -0500	[thread overview]
Message-ID: <CADkTA4OpKLgj476pvsuC7OqzT9D3zmLcWS9F9Wdqt5gp_kTnDQ@mail.gmail.com> (raw)
In-Reply-To: <20211229120539.2392783-1-adrian.freihofer@siemens.com>

On Wed, Dec 29, 2021 at 7:05 AM Adrian Freihofer
<adrian.freihofer@gmail.com> wrote:
>
> - sed was complicated and fragile
> - sed runs on k3s-agent.service before it was installed

Was that actually causing breakage ? As long as WORKDIR is used, it
typically doesn't break anything.

> - not all paths were replaced

Which ones in particular ? We should document

> - "if systemd in DISTRO_FEATURES" is already handled in systemd.bbclass

It still needs to be protected by the check. We shouldn't be
installing them at all if it isn't enabled. The bbclass doesn't help
with that.

Bruce

>
> Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
> ---
>  recipes-containers/k3s/k3s/k3s-agent.service |  4 ++--
>  recipes-containers/k3s/k3s/k3s.service       |  4 ++--
>  recipes-containers/k3s/k3s_git.bb            | 12 ++++++------
>  3 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/recipes-containers/k3s/k3s/k3s-agent.service b/recipes-containers/k3s/k3s/k3s-agent.service
> index 9f9016d..eeeef2a 100644
> --- a/recipes-containers/k3s/k3s/k3s-agent.service
> +++ b/recipes-containers/k3s/k3s/k3s-agent.service
> @@ -21,6 +21,6 @@ Restart=always
>  RestartSec=5s
>  ExecStartPre=-/sbin/modprobe br_netfilter
>  ExecStartPre=-/sbin/modprobe overlay
> -ExecStart=/usr/local/bin/k3s agent
> -ExecStopPost=/usr/local/bin/k3s-clean
> +ExecStart=@@BIN_PREFIX@@/bin/k3s agent
> +ExecStopPost=@@BIN_PREFIX@@/bin/k3s-clean
>
> diff --git a/recipes-containers/k3s/k3s/k3s.service b/recipes-containers/k3s/k3s/k3s.service
> index 33d3ee7..b82d8ce 100644
> --- a/recipes-containers/k3s/k3s/k3s.service
> +++ b/recipes-containers/k3s/k3s/k3s.service
> @@ -29,9 +29,9 @@ RestartSec=5s
>  ExecStartPre=/bin/sh -xc '! systemctl is-enabled --quiet nm-cloud-setup.service'
>  ExecStartPre=-/sbin/modprobe br_netfilter
>  ExecStartPre=-/sbin/modprobe overlay
> -ExecStart=/usr/local/bin/k3s server
> +ExecStart=@@BIN_PREFIX@@/bin/k3s server
>  # Avoid any delay due to this service when the system is rebooting or shutting
>  # down by using the k3s-killall.sh script to kill all of the running k3s
>  # services and containers
>  ExecStopPost=/bin/sh -c "if systemctl is-system-running | grep -i \
> -                           'stopping'; then /usr/local/bin/k3s-killall.sh; fi"
> +                           'stopping'; then @@BIN_PREFIX@@/bin/k3s-killall.sh; fi"
> diff --git a/recipes-containers/k3s/k3s_git.bb b/recipes-containers/k3s/k3s_git.bb
> index c9779ea..d38044c 100644
> --- a/recipes-containers/k3s/k3s_git.bb
> +++ b/recipes-containers/k3s/k3s_git.bb
> @@ -63,12 +63,12 @@ do_install() {
>          install -m 755 "${WORKDIR}/k3s-clean" "${D}${BIN_PREFIX}/bin"
>          install -m 755 "${WORKDIR}/k3s-killall.sh" "${D}${BIN_PREFIX}/bin"
>
> -        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
> -                install -D -m 0644 "${WORKDIR}/k3s.service" "${D}${systemd_system_unitdir}/k3s.service"
> -                install -D -m 0644 "${WORKDIR}/k3s-agent.service" "${D}${systemd_system_unitdir}/k3s-agent.service"
> -                sed -i "s#\(Exec\)\(.*\)=\(.*\)\(k3s\)#\1\2=${BIN_PREFIX}/bin/\4#g" "${D}${systemd_system_unitdir}/k3s.service" "${D}${systemd_system_unitdir}/k3s-agent.service"
> -                install -m 755 "${WORKDIR}/k3s-agent" "${D}${BIN_PREFIX}/bin"
> -        fi
> +        install -D -m 0644 "${WORKDIR}/k3s.service" "${D}${systemd_system_unitdir}/k3s.service"
> +        install -D -m 0644 "${WORKDIR}/k3s-agent.service" "${D}${systemd_system_unitdir}/k3s-agent.service"
> +        install -m 755 "${WORKDIR}/k3s-agent" "${D}${BIN_PREFIX}/bin"
> +        sed -i -e "s#@@BIN_PREFIX@@#${BIN_PREFIX}#g" \
> +            "${D}${systemd_system_unitdir}/k3s.service" \
> +            "${D}${systemd_system_unitdir}/k3s-agent.service"
>  }
>
>  PACKAGES =+ "${PN}-server ${PN}-agent"
> --
> 2.31.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#6988): https://lists.yoctoproject.org/g/meta-virtualization/message/6988
> Mute This Topic: https://lists.yoctoproject.org/mt/88013223/1050810
> Group Owner: meta-virtualization+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


      reply	other threads:[~2021-12-29 16:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-29 12:05 [meta-virtualization][PATCH] k3s: fix systemd service install Adrian Freihofer
2021-12-29 16:44 ` Bruce Ashfield [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADkTA4OpKLgj476pvsuC7OqzT9D3zmLcWS9F9Wdqt5gp_kTnDQ@mail.gmail.com \
    --to=bruce.ashfield@gmail.com \
    --cc=adrian.freihofer@gmail.com \
    --cc=adrian.freihofer@siemens.com \
    --cc=meta-virtualization@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).