Skip site navigation (1)Skip section navigation (2)
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>