Date: Mon, 5 Aug 2024 18:12:38 +0200 From: Harry Schmalzbauer <freebsd@omnilan.de> To: freebsd-current@freebsd.org Cc: virtualization@FreeBSD.org Subject: RFC: rc(8) script for bhyve(8) on FreeBSD Message-ID: <178d585e-2ce0-4b69-a017-8af7f9b78a57@omnilan.de>
index | next in thread | raw e-mail
[-- Attachment #1 --]
Hello,
two years elapsed since I last deployed a FreeBSD machine that utilizd
bhyve(8), which already had bhyve_config(5) support back then.
I was astonished that I still couldn't find bhyve in /etc/rc.d in
14.1-stable as of last week.
Since I utilize ng_bridge(8) and do some more things differently than
vm-bhyve / iocage and the like, I wanted to have something straight
forward, capable of making use of the wonderful bhyve_config(5) feature,
for use cases where /usr/share/examples/bhyve/vmrun.sh isn't suitable.
Please find attached my first approch, which currently covers the
following features:
- auto-preload FreeBSD guest using bhyveload(8) in case config file
doesn't define lpc.bootrom
- Allows referencing %(youname_somevar) in config file if defined as
bhyve_youname_somevar in rc.conf(5).
(For example:
bhyve_vmdisk_default_pool="myppol2"
bhyve_vmdisk_default_dataset="bhyveVOL/sys"
and
pci.0.3.0.path=/dev/zvol/%(vmdisk_default_pool)/%(vmdisk_default_dataset)/%(name)
in bhyve_config(5) file
)
- Adaptive handling of start/stop requests depending on 'AUTO' 'ALL' or
specific list of VM names, depending on the non-bhyve_cfg(5) 'autostart'
option.
- Hopefully balanced amount of messages about what's going on, to be
user friendly but not spamming.
There's a lot of room for improvements (selectable pre-jail/post-jail
order, bootdisk detection, priority handling, a useful 'status'
implementation, style) and for sure some bugs, but this version works
well for my current setup.
Happy to contribute if useful for others, feedback welcome.
-harry
[-- Attachment #2 --]
7zXZ ִF ! t/kd] \v>Eِ"2=*!T<͒KOd1z -/3_n̞ߒ[J+{ϤGȬ'
q;wC6p7Кn+*)Z܆{ڗ
Lfe-T8p"'gQ> xڥ˅l5[sTc*RS\Tg
gbp4@YJvz>- "N1+} HѨkJPY"bgó٘ylU]^,sO,e\uHBЇqbώٗ
A9.?EB
iR6apb-m˒aOL"y7'-7pyzUգR.,gu_!Luyt l'`g(uC'!8tuE~5s`<I27bWD(l "_!ieaIU89YtT
%︧2~-EʸBjt
GPg{hq~EՍ߃>\7石H6Rs|#ZMǷ^q'TRbP Bp'%fYf#+x"<eד{#[GL͎NImPVݢ]ztR/WK
%)EN{mi6vwkټjmU}W4BYGuߑGplTFyՎSCpsW驚c4Mp-%|!ZhcP"2Dh,H]$'Ѻ|4DY7ʦ˧ҧtg\SecPm:z54EZCrEdnȘ=Uce+ YGV!TJ
ȶj!ern0TA3h.b}çHPͨ~mbC=Á
탩@s0yqY7]+ʲ _cZϸj P%\iD wj<WטOh:Of|ce|_dk::djJ'iU)ueϔ1x
MAY~Wi{
ԸN-[i \xwkuDMPRiiSsHogG-z
+f;W5;X_:?izGtC,*/ynXfqc8@.`
sATRȬ]LKʛXtCn@8c=
_(։G^0'|/
a-b5xw 7v/
0-Z8jmZ`^@RhÚS
P2{
^2֍P[f~T(27jo\Y~k!rge
f/5vh\e:J6 SPwOɈI< Hҹv5at9sE7w4Qؙa2R
g
_,pY\m+(-4k4^-R+Rv.:XC9vԞ O
4IrWĉz6 :A 7YIBHD)Soi(0wCXp|j'i:հV&| :=|ڒ`T8BJA#ۙezSL34=ǚƄ{qAVޣ$MƭjX8p<= +[-Kf̱'E "~: "t.tJfB]]mhC ЀiI&i <D3h/
%~xh)$o%FdzfhC9;##jmav(Kq$TO˪["
P
vpޡ#0)_WD.ݻ"
v aY4(/?#<֧=Y}KLHޕpŏvCgJدmʚ
".NLϾ7<
,Zd! \(8Դ)RFhbma$ď
aJNd8&JQ$ҿ3?˰LNyQ`i4O
4I94Rn«OFz6o|ymg<R
~ )T7O;xxkq/(+5(OGLX"tÞ(pSG\D^6BXV3H7*D
OlO(PZ[S|2 )5c`p)ɕ`Un+AC~L hp'`jy}zSRF pi
$zҳؓ@\3f |jvV9pS0;|x1H#FxJ(P:M>cg*_<Ǡb"*3ONZNOku\#wc+2$5d lE@#w5PvE*t'zY ݣzun0휡[, ɲءs?b0Q!,cH[wini;u;yl_0
<mfRzEWyq,oBt^H.Td
17([:t)PEѣ'`foq)y+dl1C!^8l2zG*;nT\8^Oo[J<MY"
DMEc@nlyw_ܡa7}֤g4!9h|$"p^ifǡ)5ع&2GuH.by$qD(+ܩ_H&ִ*+0"^=5Du(j/p~ʮwF4Y2*Ri
eQW%h}6$8W˷&jIUWz[EPXQ.174B=z+ D!n_3l-)yVH$o?fL)ThZt{MpL)XE
JPJq߀ĻDɊSulWaaRxd8bd)
R=|J'nLJdHRmAPbBVr3Wʦ? m=\AtfN952uZ:,W0W
G<d<eF}@/6L6$s Qs͆簯j
i~>H9|BOw~}P&&Qlk-"g@ H$eFbX,
l*LĄ燓)Tbk2dj2.LjJ#(5ݚ%s*!و
βi()3.AʶȊ<6Ms1bJ[pLi%\e=]5[ ̪gzkr#Ҩ\Tx-;+ȏ,p\wH$/dfbnO:41gZ.Tm4x6)wՎaꇤ 1)Ws*X-1n@
Wc;*nWEyEtB1)`jU6qt ce%q+2d)蝽W6! 0'74.^R+dHck5t^ǘ?J8m~sxL7tʡ,r\WV"˵
[A
㎕6szjL7?k*z#S .Ma}hwʗss
>ZmЍ
u
My2q*B+t45>Cq{33*{N]|f<_ӂƟ\N#2^],'%J>v1u'h.IݪYFe}HT?)!;d.|
&Aa~/0JaYLPmX9<8g՞5猺<VK[rIc,ܸ+dW aܤ!oGuux;QjDS/C܉ќ",gHN dov.=T^c}~d$K©}2gtpIe Qdl[X9qݻ#[?^dd_%1X|j4>sjGwѲ*(Gs-sQF`& wlҠY2nKh2š͙LW(,A4aQ~3_SՂ:LGbxo&9;xn=2o'[rfW#(% Wi_X7>R9S9v!Үoiǰ BX=&[<%I"KDv |b/J0>~IG'Q7X^w8|Hi!hKgZ@Ayߺ-(ML%B>U[7Okn%*?g9q)ɼr1| t2:)$YKh)^5GWW&`8Z};Si ~1>R9aC*y>7
"v0Įlĥ?
ĉOK,bA{n`-LREZ&>ѺJE,k1S?eVFY(u/&d"!(½wWRT6}]x)XykQpjsWeO ėY'"G>Vff!٢=pD бY&.TwHʱk,~JM5fqK\C2nf_CjM :/m?b/H#DI!*sp
H]m pz.Ī[q[3{|A/
Ԛr_E[dX4_Ů;@5Iaߏ@cmq(ُ-~RϙNG/rraT'8DrJ
`mT>YX #T anSc Wqzn"ɕb(RP<ũ+,vAbIRm6iUT~h W
YSnEGi0V(I䊥v]Co ?bj#5:'/j]'8ze}R~tє<$IhTx~|K꾧<RX|iiXw}*L]@H(`q';:%܇2D#o]` {9Ҷ( 'qI?8ŐE+2o!ܣ9,zA86w<
$ -M~`J++-ϿV3.L}hPlX
9eqXugj6\$r:
lS;EəF?{K'K-ԋ:ovw8=t,lj9ːr .䔈*FKsHRMFJ&JDRcnpPE|Г9ˀ7R2( `#u?^@B6NZ_n}ɇ1}%s\ŝFY64i-ax36%Ck_ʇM6@29XoAmƨ,Ң')%~aP,\@q_p+SnnRWJ N}N}Lt|Rڟ/s:XT2r raZ"
cF6L)IKޣIb^?Q=z*tp}-0 #5pA(8YD<i|,pu*@IټٻUxhEOlOᝏZTHK8,rVڨ z`rkM([m>
r`}{3Z-/@4Jc!nE1^Z)q]1\zm,M
y1)G>('_[88
-<fwz~7AͼLC<~ՄEK0Z襦KoOD!p֮RV^R5?@'b
o1*-MWV0rhN^~=0{tpeSNQnΊ}Z6I0^G[|ߍ}S$yFX+u&' ?xԶX8!7YĝeӁx'MoTrHIL9<
/2|/hF6#^
`"/_M(vO]BJΛW$oWjYŊ\-2I6&!lCn_RE|^I+ 4;ssJSv\N ^)-Ǜ2N2KB)Gk6i /J=#sRSL}&'ylqRG<TFj1
.')'<&I.g-މt3 CHNx^ƽu?DTkq>J BTx2=y"DUccapǘU
$tY֡y݃M<¸/d`羼; J/6ćg
hgqa+'/JpBLO2&»OQ챝vU)8DNO/LPmTz}S&Y5H1 J0VpA8*]Dq[kaVT<'yH0k̃vuuܰLAR`uKr0O샟8r̕R<)Mi n/iA+dӑfv. !JT#-u _'|كS#5IHcQbLx1ix
D\5@֞hɘ?5/숻7JX]2F "j
p MiJyխ"[0]obھ;iBD'7$Mg!Ru2=5Z^w*UR)(;5I<)Qk"`vkk 14ry\]bn|("'%rWHJ\X>^HM<@<$[#21v p Sl#$ ; ̕B\g YZ
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?178d585e-2ce0-4b69-a017-8af7f9b78a57>
