[Starlingx-discuss] [multi os] Need of systemd for adoption of flock services in other os
Victor Rodriguez
vm.rod25 at gmail.com
Fri Sep 13 15:37:06 UTC 2019
On Thu, Sep 12, 2019 at 1:42 PM Dominig ar Foll (Intel Open Source)
<dominig.arfoll at fridu.net> wrote:
>
> On 12/09/2019 19:37, Victor Rodriguez wrote:
> > ...
> > The proposal would be to have most of the existing services handled by
> > SM via systemd in order to deprecate the sysvinit scripts. SM will
> > directly manage the services, via systemd commands. A bit of rewrite
> > to current scripts might be necessary. This way there is a consistent
> > set of scripts/unit/service files. So, SM would need to be extended to
> > understand systemd interactions
> Victor,
>
> all modern distros are using systemD and today if I look at the Warning
> raised by OpenSUSE build system (OBS), [build error log at the end of
> this email], it is clear that the current mix of systemD/init.d/direct
> script calls, will not pass any distro QA as it is.
> I already had to tweak rpmlintrc to reduce the badness in order to get
> packages to be accepted to be published by the OBS.
> But for me the fundamental issue is not on how bad is look but how
> dangerous it is from a security point of view.
>
> SystemD is by far the best way to start a service to be run in
> isolation. We can restrict the privileges, enforce cgroup limits,
> isolate via namespaces.
> When it come to provide a secure system, it's by far the easiest launch
> and maintain processes with reduced attack surface.
>
Agree
> Now in StrarlingX we have many processes which are to be started and
> controlled by the Service Manager (SM).
> What we should do, is to modify SM in order for SM to use SystemD calls
> to start services which are to be monitored by SM.
> For those services, we shall not let systemD deamon starts them
> automatically, nor to monitor them for potential restart (easy, just a
> config).
> We can still use automatic dependency to let systemD start underlying
> required service (not managed by SM) where it make sense.
>
Ok, I see that as a valid solution. I would like to ask feedback from
Bin and team
> Replacing direct script calls to start service in SM, by calls to
> systemD cannot be that complex for someone who know where the calls are
> hidden in the code.
> We could do a hack by having an init script to call systemD but that
> would be a mistake as trouble shooting errors would become very messy,
> security latency poor.
>
> The best would be to use systemD library API calls (requires systemD >=
> 219 not an issue for OpenSUSE but what about CentOS)
We do have 219 in centOS
# systemctl --version
systemd 219
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_build/outputs/RPMS/std/
in order to do the
> equivalent of systemctl start service_name at unit_number.service without
> using system(), popen(), or exec() what would lake the system, safer,
> quicker and easier to debug.
>
>
> --
> Dominig ar Foll
> Senior Software Architect
> Intel Open Source Technology Centre
>
> ---------- rpmlint report building worker-utils ------------
> [ 3s] RPMLINT report:
> [ 3s] ===============
> [ 3s] worker-utils.noarch: W: no-reload-entry /etc/init.d/cpumap_functions.sh
> [ 3s] worker-utils.noarch: W: no-reload-entry /etc/init.d/task_affinity_functions.sh
> [ 3s] In your init script (/etc/rc.d/init.d/your_file), you don't have a 'reload'
> [ 3s] entry, which is necessary for good functionality.
> [ 3s]
> [ 3s] worker-utils.noarch: W: no-status-entry /etc/init.d/cpumap_functions.sh
> [ 3s] In your init script (/etc/rc.d/init.d/your_file), you don't have a 'status'
> [ 3s] entry, which is necessary for good functionality.
> [ 3s]
> [ 3s] worker-utils.noarch: W: suse-deprecated-init-script /etc/init.d/affine-platform.sh
> [ 3s] worker-utils.noarch: W: suse-deprecated-init-script /etc/init.d/affine-tasks.sh
> [ 3s] worker-utils.noarch: W: suse-deprecated-init-script /etc/init.d/cpumap_functions.sh
> [ 3s] worker-utils.noarch: W: suse-deprecated-init-script /etc/init.d/task_affinity_functions.sh
> [ 3s] SysV init scripts are deprecated. Please migrate to systemd service files.
> [ 3s]
> [ 3s] worker-utils.noarch: W: suse-missing-rclink affine-platform.sh
> [ 3s] worker-utils.noarch: W: suse-missing-rclink affine-tasks
> [ 3s] worker-utils.noarch: W: suse-missing-rclink affine-tasks.sh
> [ 3s] worker-utils.noarch: W: suse-missing-rclink cpumap_functions.sh
> [ 3s] worker-utils.noarch: W: suse-missing-rclink task_affinity_functions.sh
> [ 3s] The package contains an init script or systemd service file but lacks the
> [ 3s] symlink /usr/sbin/rcFOO -> /usr/sbin/service
> [ 3s]
> [ 3s] worker-utils.noarch: W: suse-systemd-shadowed-initscript affine-platform.sh
> [ 3s] The package contains both an init script and a systemd service file. Please
> [ 3s] decide for one.
> [ 3s]
> [ 3s] 2 packages and 0 specfiles checked; 0 errors, 13 warnings.
>
Thanks for the log, it is much more clear for me the need for this change.
Thanks
>
> _______________________________________________
> Starlingx-discuss mailing list
> Starlingx-discuss at lists.starlingx.io
> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
More information about the Starlingx-discuss
mailing list