From owner-freebsd-hackers@freebsd.org Wed Dec 19 15:58:39 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5B5AC133A8A3 for ; Wed, 19 Dec 2018 15:58:39 +0000 (UTC) (envelope-from araujobsdport@gmail.com) Received: from mail-lj1-x243.google.com (mail-lj1-x243.google.com [IPv6:2a00:1450:4864:20::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5620587077; Wed, 19 Dec 2018 15:58:38 +0000 (UTC) (envelope-from araujobsdport@gmail.com) Received: by mail-lj1-x243.google.com with SMTP id k19-v6so17821898lji.11; Wed, 19 Dec 2018 07:58:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=YgzwF7UXKX740IkhO7MvIU2h/aLY6fO1EU9iwxdW4tA=; b=JZxFCE2ET8GUpQEIMeKWXeyFiLNovDQZjDiQafefOUDyA5N2U9oyfpS8YbU0r+qVIp /Tmv0taatiCxo6bLX1R/fHa9Kmo4fw51wyZZZEObMqgCnSeSJylEStj40kh3uXtlR6lX UhxtaqG0425qypKYz1dEMxZ4fOVBrH1KqInR8L5ByHrmPPSzUTDLpC4RCIaUoYhA11RW j2+Hg1Lm0p3lxUPPqzLymyALxKYwotio+mqbfPiHCfJ82QqAhq31s0huc5jItv4UB3Pu CrZo+mEkDcG4NRbocFRqhU6WvLU7pWAYWcHlv9Ddvp5+aL00CSSZ2Rei7K376990wXRt twXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=YgzwF7UXKX740IkhO7MvIU2h/aLY6fO1EU9iwxdW4tA=; b=Eyic7Hf85QYeA3TKXdq8iUfXLCTAIOKkWN2FzbWR2vsk6xky//Mo9O5bJ+orE0nIzQ mNTqIskTMqvOCP/3fgCUhjy+Cep0BBExCkYIWOUN87sY4DAwAICdO+dQuU7Vi1XSMNjl f0CfVihtHNr9D1weLIInE2LJFitJtknVndHfOqRQ2N6RidAPNjKqFZy9us+E0b3IK5it KOmoXlJZ9A1Z5FX7xgiQu0OQsLrSfkPQie/Z37xjRVE4bDRVYP0BBQSLZQS2F1S/x7sF ok/IWk23xk20cHn5DM4l8zpVrFtk9dp4R1mWKpavj/dpKoxWdIiz/nHzGdu9tJ/yMqD/ Hd5Q== X-Gm-Message-State: AA+aEWbgRjuRyd4QtBoRLwMv1v0rgfwDYnE45q5kXCRBmtR2+FiOQN2S lX6RD0eFYMIzixijmyZieOUNJIs0swDEeeTAN60mvQ== X-Google-Smtp-Source: AFSGD/VN7WxutfGXF7vMiMIa5avjCDfokwWAclRQC6VL+4ELdbDP1ywiv0VTjYscRMuz1gUvrpdVBswvxO57YWQq8/k= X-Received: by 2002:a2e:5303:: with SMTP id h3-v6mr5620897ljb.35.1545235116547; Wed, 19 Dec 2018 07:58:36 -0800 (PST) MIME-Version: 1.0 References: <397FBAFF-2575-4AE4-B2BC-2DFDA769040A@FreeBSD.org> <7BBA9943-7CA1-4349-9B48-1641BA11FCA3@FreeBSD.org> In-Reply-To: Reply-To: araujo@freebsd.org From: Marcelo Araujo Date: Wed, 19 Dec 2018 23:58:24 +0800 Message-ID: Subject: Re: OpenRC on FreeBSD To: Matt Joras Cc: Marcelo Araujo , Warner Losh , Joe Maloney , ken@ixsystems.com, Martin Wilke , "freebsd-hackers@freebsd.org" , Warren Block , Kris Moore X-Rspamd-Queue-Id: 5620587077 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=JZxFCE2E; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of araujobsdport@gmail.com designates 2a00:1450:4864:20::243 as permitted sender) smtp.mailfrom=araujobsdport@gmail.com X-Spamd-Result: default: False [-1.33 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; HAS_REPLYTO(0.00)[araujo@freebsd.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCPT_COUNT_SEVEN(0.00)[9]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.54)[-0.537,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.31)[0.309,0]; NEURAL_HAM_LONG(-0.29)[-0.285,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[3.4.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(0.20)[ip: (4.05), ipnet: 2a00:1450::/32(-1.59), asn: 15169(-1.39), country: US(-0.08)]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Dec 2018 15:58:39 -0000 Em qua, 19 de dez de 2018 =C3=A0s 23:55, Matt Joras escreveu: > > > On Wed, Dec 19, 2018, 9:49 AM Marcelo Araujo wrote: > >> Em qua, 19 de dez de 2018 =C3=A0s 23:02, Warner Losh >> escreveu: >> >> > >> > >> > On Wed, Dec 19, 2018 at 7:57 AM Martin Wilke wrote: >> > >> >> Hi, >> >> >> >> The missing bit was actually the flag for switching the rc=E2=80=99s = which have >> >> been resolved. >> >> >> > >> > No. The missing bit is an articulated plan. While that minor sub-issue >> may >> > be resolved, I see no plan for integration into the tree. Unless the >> plan >> > is 'commit the review in one big push' which really isn't a viable pla= n. >> > There are problems with the review (it's too large to be successful, a= nd >> > has issues that need to be discussed in a less massively huge >> environment). >> > This isn't what the working group's conclusion would be the next steps= . >> The >> > FCP I provided feedback on died. It was a good start on a plan, but wa= s >> > just dropped with my feedback completely ignored. >> > >> >> Hi Warner, >> >> I have asked miwi@ to keep that huge patch on the review because of the >> lack of coordination and discussion between different groups and also >> because there is not a clear plan how to bring OpenRC into FreeBSD. So i= n >> that way people could try the patch easily without chasing different ope= n >> reviews, and to be honest, without further discussion regarding to how t= he >> transition would happens between rcd and OpenRC, there is nothing much t= o >> review there. >> > > Just making a small suggestion here, does our Phabricator support > "stacked" diffs? That is the defacto way for a group of diffs on > Phabricator to be logically grouped so they are easy to navigate and revi= ew > separately. > It does support Parent and Child reviews. > > >> IMHO, if we want to move forward with OpenRC on FreeBSD we would need a >> broad discussion, because it will impacts not only the base system but >> also >> ports, and also docs needs to get involved because we eventually would >> need >> to update our documentation. We have people that wants OpenRC also in >> other >> hands we have people that wants to keep things as it is. >> >> NOTE: I have updated the review with the same content of this email just >> to >> make it registered there. >> >> I agree for review purpose small chunks are better, however I don't see >> yet >> a plan for all this migration between rcd and OpenRC. >> Best, >> >> >> > >> > Warner >> > >> > >> >> - Martin >> >> >> >> On 19 Dec 2018, at 10:51 PM, Warner Losh wrote: >> >> >> >> >> >> >> >> On Wed, Dec 19, 2018 at 7:39 AM Martin Wilke wrote= : >> >> >> >>> Hi >> >>> >> >>> I'd like to reopen the discussion for OpenRC on FreeBSD. Basically >> this >> >>> is the second attempt to get it into FreeBSD. >> >>> >> >>> I've opened a review here with a working patch for CURRENT, >> >>> https://reviews.freebsd.org/D18578 >> >>> >> >>> >> >>> To recap the discussion >> >>> * First attempt of RFC in March of 2018: >> >>> >> https://lists.freebsd.org/pipermail/freebsd-hackers/2018-March/052358.ht= ml >> >>> * Working group at BSDCan: >> >>> https://wiki.freebsd.org/DevSummit/201806/OpenRC >> >>> >> >>> Here some key points: >> >>> >> >>> OpenRC provides additional features for service management without >> >>> requiring kernel changes or replacing pid 1, unlike launchd and othe= r >> >>> solutions. All rc.d scripts have been converted with a few changes, >> >>> typically changing the shebang and making sure the start function is >> named >> >>> start(). Most service scripts are simplified, usually needing only >> name, >> >>> command, and, if required, depends statements. >> >>> >> >>> History: >> >>> OpenRC started out as an init system by Roy Marples, developed for t= he >> >>> Gentoo Alt (FreeBSD) kernel branch. It was more widely adopted into >> Gentoo >> >>> as baselayout v2, and was then split off as a separate BSD-licensed >> >>> project. It is under active development, portable, and remains BSD >> licensed >> >>> today. >> >>> >> >>> OpenRC and RC: >> >>> Both can coexist and be chosen with a setting in /boot/loader.conf. >> >>> >> >>> OpenRC Features: >> >>> >> >>> Service supervision and service monitoring: any service can be >> >>> supervised. Supervised services that crash are automatically >> restarted. The >> >>> rc-status command shows how many times a service has restarted. >> >>> >> >>> Device hotplug support and event-driven service management: the >> hotplug >> >>> feature allows devd to take actions when devices are connected. For >> >>> example, a USB wifi adapter can create additional network services >> when >> >>> attached. The net-online service can, for example, detect when a >> network >> >>> connection is restored, and restart ntp. >> >>> >> >>> Network profiles: using stacked runlevels, different profiles can be >> >>> established for different networking settings. For instance, differe= nt >> >>> profiles can be used for wired or wireless networking, or for >> differing >> >>> wireless networks, as well as dependency caching and parallel startu= p >> speed >> >>> up booting. >> >>> >> >>> Interactive mode: >> >>> The boot process can be run interactively for more effective >> debugging. >> >>> >> >>> OpenRC uses the term =E2=80=9Crunlevels=E2=80=9D to refer to the con= text in which a >> >>> script is running. There are only three at present: >> >>> sysinit (the OpenRC system is starting), boot (start base services >> when >> >>> the computer is booting), and default (normal execution). >> >>> >> >>> OpenRC, by default, provides a =E2=80=9Ccolorized=E2=80=9D text boot= , using ANSI color >> >>> sequences. This can be disabled. >> >>> >> >>> Ports: >> >>> As of July 2017, iXsystems has created OpenRC versions of port servi= ce >> >>> scripts for the entire ports tree. These scripts coexist with the rc= .d >> >>> versions. >> >>> >> >>> License: >> >>> OpenRC is a BSD licensed RC init system written in C. From a user >> >>> perspective, it is very similar to the FreeBSD rc.d init system, >> making it >> >>> easy to use and learn. >> >>> >> >>> Tested: OpenRC has been used as the init system for TrueOS since >> October >> >>> 2016. >> >>> >> >>> Ken Moore has an OpenRC vs RC.d comparison which can be found here: >> >>> http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf < >> >>> http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf> >> >>> I look forward to discuss the features and capabilities of OpenRC. >> >>> >> >> >> >> This is cool technology. >> >> >> >> However, what was missing last time was a written plan that could be >> >> critiqued for fit with the project's needs. The result of the working >> group >> >> was that this was to be produced, and we'd iterate through it to ease >> the >> >> landing of openrc in the tree. I think there's wide agreement this is >> cool, >> >> and that we'd like tot have both it and rc.d in the tree for a >> transition >> >> period. Absent a plan, though, it's not really possible to say 'go do >> it' >> >> or 'that's insane'. >> >> >> >> So maybe start there? >> >> >> >> Warner >> >> >> >> >> >> >> >> -- >> >> -- >> Marcelo Araujo (__)araujo@FreeBSD.org >> \\\'',)http://www.FreeBSD.org \/ \ ^ >> Power To Server. .\. /_) >> _______________________________________________ >> freebsd-hackers@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.or= g >> " >> > --=20 --=20 Marcelo Araujo (__)araujo@FreeBSD.org \\\'',)http://www.FreeBSD.org \/ \ ^ Power To Server. .\. /_)