Date: Tue, 12 Apr 2011 14:09:24 -0700 From: Tobias Oberstein <tobias.oberstein@tavendo.de> To: Doug Barton <dougb@FreeBSD.org> Cc: "freebsd-emulation@freebsd.org" <freebsd-emulation@freebsd.org> Subject: AW: AW: rc.d script for running multiple VirtualBox VMs from /etc/rc.conf Message-ID: <634914A010D0B943A035D226786325D422B76F9275@EXVMBX020-12.exch020.serverdata.net> In-Reply-To: <4DA4AE8A.6020308@FreeBSD.org> References: <634914A010D0B943A035D226786325D422B76F91CA@EXVMBX020-12.exch020.serverdata.net> <4DA4A6C7.6050803@FreeBSD.org> <634914A010D0B943A035D226786325D422B76F9205@EXVMBX020-12.exch020.serverdata.net> <4DA4AE8A.6020308@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--_002_634914A010D0B943A035D226786325D422B76F9275EXVMBX02012ex_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > >> The canonical way to do what you're suggesting is to copy the script > >> so that you have one script per process you want to start, each with > >> a different > > > > I've tried that first .. but for me it gets unwieldy when you need to > > manage i.e. a dozen VMs >=20 > I don't see how it would be "unwieldy." The rc.conf stuff would be the sa= me, > the only difference would be the number of rc.d scripts. What problems > does having multiple scripts cause for you? No, it's the number of scripts. For me, it's just more clearly arranged to = edit everything in one place (/etc/rc.conf) and with minimum edits. And I like factoring code. Also, I can use the rc.d script to get status for one or for all VMs at one= time or start/stop all at once. But it's not that important. Lets call it an personal taste question. It's just that I've read the FreeBSD manual on rc.d, which doesnt talk abou= t multiple instances of daemons (if I've not overlooked s.th.). And I thought that the way the Apache rc.d script does it would be somehow sanctioned / canonical. >=20 > >> 2) when the system shuts down, it doesnt wait for "stop" to finish > >> graceful shutdown of VMs > > > > ? > > > > The problem is, that > > > > VBoxManage controlvm ${vboxvm_name} acpipowerbutton > > > > does exit immediately. > > > > It does not wait until the VM is actually powered down. > > > > Is there i.e. a rc.d "hook" which allows me to make the shutdown > > process wait for some condition (at least up to say a limit of 20s)? >=20 > By "shutdown process" are you referring to system shutdown? If so, what Yeah, "shutdown -r now". > you probably want to do is modify your _stop method to find the pid of th= e > vm and run wait_for_pids() on it. Reading through the comments in > /etc/rc.subr may be helpful for you in this regard. Ok. I'll look into that. Thanks. In the meantime, I've implemented stop_cmd as synchronous (it does not return until VM is stopped) and also restart_cmd. I somehow works .. but there seems to be a watchdog in place: I get "watchdog timeout 30s expired ... shutodown NOW" Is it possible to override the 30s watchdog? My current solution is not optimal, since it shuts down VMs sequentially and synchronously. Ideal would be: trigger shutdown of all VMs at once and in parallel, but th= en wait until all have stopped for the final system shutdown. Would that be possible with the wait_for_pids() you've mentioned? Thanks again, Tobias --_002_634914A010D0B943A035D226786325D422B76F9275EXVMBX02012ex_ Content-Type: text/plain; name="vboxvm.txt" Content-Description: vboxvm.txt Content-Disposition: attachment; filename="vboxvm.txt"; size=3819; creation-date="Tue, 12 Apr 2011 14:06:45 GMT"; modification-date="Tue, 12 Apr 2011 14:06:45 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCgojIFBST1ZJREU6IHZib3h2bQojIFJFUVVJUkU6IExPR0lOCiMgS0VZV09SRDog c2h1dGRvd24KCi4gL2V0Yy9yYy5zdWJyCgpuYW1lPSJ2Ym94dm0iCnJjdmFyPWBzZXRfcmN2YXJg Cgpsb2FkX3JjX2NvbmZpZyAkbmFtZQoKaWYgWyAtbiAiJDIiIF07IHRoZW4KCW1hY2hpbmU9IiQy IgoJaWYgWyAieCR7dmJveHZtX21hY2hpbmVzfSIgIT0gIngiIF07IHRoZW4KCQlldmFsIHZib3h2 bV9uYW1lPSJcJHt2Ym94dm1fJHttYWNoaW5lfV9uYW1lOi19IgoJCWlmIFsgIngke3Zib3h2bV9u YW1lfSIgPSAieCIgXTsgdGhlbgoJCQllY2hvICJZb3UgbXVzdCBkZWZpbmUgYSBWTSBuYW1lICh2 Ym94dm1fJHttYWNoaW5lfV9uYW1lKSIKCQkJZXhpdCAxCgkJZmkKCQlldmFsIHZib3h2bV91c2Vy PSJcJHt2Ym94dm1fJHttYWNoaW5lfV91c2VyOi19IgoJCWlmIFsgIngke3Zib3h2bV91c2VyfSIg PSAieCIgXTsgdGhlbgoJCQllY2hvICJZb3UgbXVzdCBkZWZpbmUgYSBWTSBleGVjdXRpb24gdXNl ciAodmJveHZtXyR7bWFjaGluZX1fdXNlcikiCgkJCWV4aXQgMQoJCWZpCgkJZXZhbCB2Ym94dm1f bG9nPSJcJHt2Ym94dm1fJHttYWNoaW5lfV9sb2c6LSR7dmJveHZtX25hbWV9LmxvZ30iCgkJZXZh bCB2Ym94dm1fdm5jcG9ydD0iXCR7dmJveHZtXyR7bWFjaGluZX1fdm5jcG9ydDotfSIKCQlldmFs IHZib3h2bV92bmNwYXNzd29yZD0iXCR7dmJveHZtXyR7bWFjaGluZX1fdm5jcGFzc3dvcmQ6LX0i CgkJaWYgWyAieCR7dmJveHZtX3ZuY3BvcnR9IiA9ICJ4IiAtYSAieCR7dmJveHZtX3ZuY3Bhc3N3 b3JkfSIgIT0gIngiIF07IHRoZW4KCQkJZWNobyAiV2FybmluZzogVk5DIHBhc3N3b3JkLCBidXQg bm8gVk5DIHBvcnQgc3BlY2lmaWVkIGZvciBtYWNoaW5lICcke21hY2hpbmV9JyAtIFZOQyB3aWxs IGJlIGRpc2FibGVkLiIKCQlmaQoJZWxzZQoJCWVjaG8gIiQwOiBleHRyYSBhcmd1bWVudCBpZ25v cmVkIgoJZmkKZWxzZQoJaWYgWyAieCR7dmJveHZtX21hY2hpbmVzfSIgIT0gIngiIC1hICJ4JDEi ICE9ICJ4IiBdOyB0aGVuCgkJZm9yIG1hY2hpbmUgaW4gJHt2Ym94dm1fbWFjaGluZXN9OyBkbwoJ CQlldmFsIF9lbmFibGU9Ilwke3Zib3h2bV8ke21hY2hpbmV9X2VuYWJsZX0iCgkJCWNhc2UgIngk e19lbmFibGU6LSR7dmJveHZtX2VuYWJsZX19IiBpbgoJCQl4fHhbTm5dW09vXXx4W05uXVtPb11b Tm5dW0VlXSkKICAgICAgICAgICAgZWNobyAiVkJveCBtYWNoaW5lICcke21hY2hpbmV9JyBza2lw cGVkIChkaXNhYmxlZCkuIgoJCQkJY29udGludWUKCQkJCTs7CgkJCXhbWXldW0VlXVtTc10pCgkJ CQk7OwoJCQkqKQoJCQkJaWYgdGVzdCAteiAiJF9lbmFibGUiOyB0aGVuCgkJCQkJX3Zhcj12Ym94 dm1fZW5hYmxlCgkJCQllbHNlCgkJCQkJX3Zhcj12Ym94dm1fIiR7bWFjaGluZX0iX2VuYWJsZQoJ CQkJZmkKCQkJCWVjaG8gIkJhZCB2YWx1ZSIgXAoJCQkJICAgICInJHtfZW5hYmxlOi0ke3Zib3h2 bV9lbmFibGV9fSciIFwKCQkJCSAgICAiZm9yICR7X3Zhcn0uICIgXAoJCQkJICAgICJWQm94IG1h Y2hpbmUgJyR7bWFjaGluZX0nIHNraXBwZWQuIgoJCQkJY29udGludWUKCQkJCTs7CgkJCWVzYWMK CQkJL3Vzci9sb2NhbC9ldGMvcmMuZC92Ym94dm0gJDEgJHttYWNoaW5lfQoJCQlyZXRjb2RlPSIk PyIKCQkJaWYgWyAiMCR7cmV0Y29kZX0iIC1uZSAwIF07IHRoZW4KCQkJCWZhaWxlZD0iJHttYWNo aW5lfSAoJHtyZXRjb2RlfSkgJHtmYWlsZWQ6LX0iCgkJCWVsc2UKCQkJCXN1Y2Nlc3M9IiR7bWFj aGluZX0gJHtzdWNjZXNzOi19IgoJCQlmaQoJCWRvbmUKCQlleGl0IDAKCWZpCmZpCgpzdGFydF9j bWQ9InZib3h2bV9zdGFydCIKc3RvcF9jbWQ9InZib3h2bV9zdG9wIgpzdGF0dXNfY21kPSJ2Ym94 dm1fc3RhdHVzIgpleHRyYV9jb21tYW5kcz0ic3RhdHVzIgoKaXNfcnVubmluZygpCnsKICAgIHJ1 bm5pbmd2bXM9ImBzdSAtbCAke3Zib3h2bV91c2VyfSAtYyAnZXhlYyAvdXNyL2xvY2FsL2Jpbi9W Qm94TWFuYWdlIGxpc3QgcnVubmluZ3ZtcydgIgogICAgbXl2bT0iYGVjaG8gJHtydW5uaW5ndm1z fSB8IGdyZXAgLWMgJHt2Ym94dm1fbmFtZX1gIgogICAgaWYgWyAiJHtteXZtfSIgLW5lICIwIiBd OyB0aGVuCiAgICAgICByZXR1cm4gMQogICAgZWxzZQogICAgICAgcmV0dXJuIDAKICAgIGZpCn0K CndhaXRfZm9yX3Bvd2VyZG93bigpCnsKICAgIGlzX3J1bm5pbmcKICAgIGlmIFsgIiQ/IiAtbmUg MCBdIDsgdGhlbgogICAgICAgc2xlZXAgNQogICAgICAgd2FpdF9mb3JfcG93ZXJkb3duCiAgICBm aQp9Cgp2Ym94dm1fc3RhcnQoKQp7CiAgICBpc19ydW5uaW5nCiAgICBpZiBbICIkPyIgLW5lIDAg XSA7IHRoZW4KICAgICAgIGVjaG8gIlZCb3ggbWFjaGluZSAnJHt2Ym94dm1fbmFtZX0nIGlzIGFs cmVhZHkgcnVubmluZy4iCiAgICBlbHNlCiAgICAgICBlY2hvICJWQm94IG1hY2hpbmUgJyR7dmJv eHZtX25hbWV9JyBwb3dlcmluZyB1cC4iCiAgICAgICBpZiBbICJ4JHt2Ym94dm1fdm5jcG9ydH0i ICE9ICJ4IiBdOyB0aGVuCiAgICAgICAgICBpZiBbICJ4JHt2Ym94dm1fdm5jcGFzc3dvcmR9IiA9 ICJ4IiBdOyB0aGVuCiAgICAgICAgICAgICB2bmNvcHRzPSItLXZuYyAtLXZuY3BvcnQgJHt2Ym94 dm1fdm5jcG9ydH0iCiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB2bmNvcHRzPSItLXZuYyAt LXZuY3BvcnQgJHt2Ym94dm1fdm5jcG9ydH0gLS12bmNwYXNzICR7dmJveHZtX3ZuY3Bhc3N3b3Jk fSIKICAgICAgICAgIGZpCiAgICAgICBmaQogICAgICAgaWYgWyAieCR7dmJveHZtX2xvZ30iICE9 ICJ4IiBdOyB0aGVuCiAgICAgICAgICBsb2dvcHRzPSIxPiR7dmJveHZtX2xvZ30gMj4mMSIKICAg ICAgIGZpCiAgICAgICBjbWQ9ImV4ZWMgL3Vzci9sb2NhbC9iaW4vVkJveEhlYWRsZXNzICR7dm5j b3B0c30gLXMgJHt2Ym94dm1fbmFtZX0gJHtsb2dvcHRzfSAmIgogICAgICAgc3UgLWwgJHt2Ym94 dm1fdXNlcn0gLWMgIiR7Y21kfSIKICAgIGZpCn0KCnZib3h2bV9zdG9wKCkKewogICAgaXNfcnVu bmluZwogICAgaWYgWyAiJD8iIC1uZSAwIF0gOyB0aGVuCiAgICAgICBlY2hvICJWQm94IG1hY2hp bmUgJyR7dmJveHZtX25hbWV9JyBwb3dlcmluZyBkb3duLiIKICAgICAgIHN1IC1sICR7dmJveHZt X3VzZXJ9IC1jICJleGVjIC91c3IvbG9jYWwvYmluL1ZCb3hNYW5hZ2UgY29udHJvbHZtICR7dmJv eHZtX25hbWV9IGFjcGlwb3dlcmJ1dHRvbiIKICAgICAgIHdhaXRfZm9yX3Bvd2VyZG93bgogICAg ZWxzZQogICAgICAgZWNobyAiVkJveCBtYWNoaW5lICcke3Zib3h2bV9uYW1lfScgbm90IHJ1bm5p bmcuIgogICAgZmkKfQoKdmJveHZtX3Jlc3RhcnQoKQp7CiAgICBpc19ydW5uaW5nCiAgICBpZiBb ICIkPyIgLW5lIDAgXSA7IHRoZW4KICAgICAgIGVjaG8gIlZCb3ggbWFjaGluZSAnJHt2Ym94dm1f bmFtZX0nIHBvd2VyaW5nIGRvd24uIgogICAgICAgc3UgLWwgJHt2Ym94dm1fdXNlcn0gLWMgImV4 ZWMgL3Vzci9sb2NhbC9iaW4vVkJveE1hbmFnZSBjb250cm9sdm0gJHt2Ym94dm1fbmFtZX0gYWNw aXBvd2VyYnV0dG9uIgogICAgICAgd2FpdF9mb3JfcG93ZXJkb3duCiAgICBmaQogICAgdmJveHZt X3N0YXJ0Cn0KCnZib3h2bV9zdGF0dXMoKQp7CiAgICBpc19ydW5uaW5nCiAgICBpZiBbICIkPyIg LW5lIDAgXSA7IHRoZW4KICAgICAgIGVjaG8gIlZCb3ggbWFjaGluZSAnJHt2Ym94dm1fbmFtZX0n IGlzIHJ1bm5pbmcuIgogICAgZWxzZQogICAgICAgZWNobyAiVkJveCBtYWNoaW5lICcke3Zib3h2 bV9uYW1lfScgaXMgcG93ZXJlZCBkb3duLiIKICAgIGZpCn0KCnJ1bl9yY19jb21tYW5kICIkMSIK --_002_634914A010D0B943A035D226786325D422B76F9275EXVMBX02012ex_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?634914A010D0B943A035D226786325D422B76F9275>