[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] AW: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create
OK, last message for today ;o). --wait option of xl will not wait for domain to have shut down. BR, Carsten. -----Ursprüngliche Nachricht----- Von: Carsten Schiers Gesendet: Mittwoch, 25. Mai 2011 22:37 An: 'fantonifabio'; 'Ian.Campbell' Cc: 'xen-devel'; 'Stefano.Stabellini' Betreff: AW: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create Sorry, one add-on: I have the feeling that /etc/init.d/xendomains stop will not wait for the domains to shut down. It is finished very quickly and I can see the domains shutting down with xl list afterwards. I guess this is not the default behavior, as the xm version waits for every domain to have disappeared. BR, Carsten. -----Ursprüngliche Nachricht----- Von: Carsten Schiers Gesendet: Mittwoch, 25. Mai 2011 21:07 An: fantonifabio; Ian.Campbell Cc: xen-devel; Stefano.Stabellini Betreff: AW: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create Crosscheck: renamed domain_create_info -> create_info_domain domain_build_info -> build_info_domain domid (in three device blocks) -> devdomid in tools/libxl/xl_cmdimpl.c and everything works as expected with my /etc/default/xendomains, which ist shutting down and restarting from /etc/xen/auto only. BR, Carsten. -----Ursprüngliche Nachricht----- Von: Carsten Schiers Gesendet: Mittwoch, 25. Mai 2011 20:47 An: fantonifabio; Ian.Campbell Cc: xen-devel; Stefano.Stabellini Betreff: AW: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create I found the problem. The (domain_create_info) and (domain_build_info) statements from the "xl list -l" and eventually also the repeating (domid) statements in the listing of devices per domain are confusing the parseln logic, which is trying to guess a domid/domname combo from the output: root@data:~# xm list -l | grep '(\(domain\|domid\|name\)' (domain (domid 0) (name Domain-0) (domain (domid 10) (name blip) (domain (domid 9) (name blub) root@data:~# xl list -l | grep '(\(domain\|domid\|name\)' (domain (domid 9) (domain_create_info) (name blub) (domain_build_info) (domid 0) (domid 0) (domid 0) (domain (domid 10) (domain_create_info) (name blip) (domain_build_info) (domid 0) (domid 0) (domid 0) parseln() { if [[ "$1" =~ '(domain' ]]; then name=;id= else if [[ "$1" =~ '(name' ]]; then name=$(echo $1 | sed -e 's/^.*(name \(.*\))$/\1/') else if [[ "$1" =~ '(domid' ]]; then id=$(echo $1 | sed -e 's/^.*(domid \(.*\))$/\1/') fi; fi; fi [ -n "$name" -a -n "$id" ] && return 0 || return 1 } is resetting on each (domain_create_info) and (domain_build_info) as well the name/id pair and will set domid to 0 each time it comes across the device listing (domid 0). This will result in ignoring the entry also, as stop is containing: name=;id= while read LN; do parseln "$LN" || continue if test $id = 0; then continue; fi echo -n " $name" and I think it assumes in the "if test" part that it came across Domain-0. I leave it to you guys "in charge" to either modify the "xl list -l" command or rewrite /etc/init.d/xendomains. The patch is still needed. By the way: I had to patch it partly manually, the last few lines didn't work for me when patching original xen-4.1.0. BR, Carsten. -----Ursprüngliche Nachricht----- Von: Carsten Schiers Gesendet: Dienstag, 24. Mai 2011 22:19 An: Ian.Campbell Cc: xen-devel; Stefano.Stabellini Betreff: AW: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create Hi, the patch is doing what you would expect, but still not solving my issue. /etc/init.d/xendomains will start all domains, but is not stopping it. It's somewhere in the parseln function, which is not recognizing the (name xyz) part. Unfortunately, I have not enough time today to test further. I currently have no clue where the input from the parseln function will come from in stop function. I would Need to find out and check the differences between the xm and xl version. In order to make it workable, I had by the way to modify the xendomains script and remove the dependency of xend. As said, I plan to start all DomUs per /etc/xen/auto and shutdown with shutdown of Dom0 without having xend running. If you don't see it by my description, I'll check more tomorrow evening. BR, Carsten. -----Ursprüngliche Nachricht----- Von: Ian Campbell [mailto:Ian.Campbell@xxxxxxxxxxxxx] Gesendet: Dienstag, 24. Mai 2011 11:43 An: Carsten Schiers Cc: xen-devel; Stefano Stabellini Betreff: Re: AW: [Xen-devel] Possible Compatibility Bug in xl create On Tue, 2011-05-24 at 10:40 +0100, Carsten Schiers wrote: > I'll check that tonight. Thanks. > Yep, I think modifying xendomains would be the > better way. Sorry that I overlooked your other day's question. No worries, it was just a vague aside in some other conversation I think... Ian. > > BR, > Carsten. > > ----- Originalnachricht ----- > Von: Ian Campbell <Ian.Campbell@xxxxxxxxxx> > Gesendet: Die, 24.5.2011 11:27 > An: Carsten Schiers <carsten@xxxxxxxxxx> > Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx> ; Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx> > Betreff: Re: [Xen-devel] Possible Compatibility Bug in xl create > > On Mon, 2011-05-23 at 21:01 +0100, Carsten Schiers wrote: > > Dear all, > > > > there is a problem with xl that will still prevent it tob e a > > replacement for xm in /etc/init.d/xendomains. > > > > I tracked it down to the rdname function in the a.m. file, which is > > expecting the command > > > > xm create --dryrun --quiet <config-file> > > > > to create a Lisp-like structure, where the xendomain script will extract > > the DomU name from. > > > > xl create --dryrun --quiet <config-file> > > > > will not output such a structure. > > > > xl -d -f <config-file> > > > > will do, but as soon as combined with -n, it will not. > > > > My setting is starting/shutting down only DomUs mentioned in > > /etc/xen/auto. > > Thanks, I was just asking the other day who/what used that sxp output... > > Personally think this behaviour of grepping the name out of the sxp is > pretty mad (I think an xl command to parse the configuration and output > a specific request field value would be far better) but in the interests > of xm compatibility does the following work for you? > > 8<-------------------------------------- > > # HG changeset patch > # User Ian Campbell <ian.campbell@xxxxxxxxxx> > # Date 1306229164 -3600 > # Node ID 29bd959c779a629def4de2cda7c1cc2eae291df5 > # Parent 32d62506e3be95124097775dc79c42304a18084c > xl: print sxp on dry-run of create. > > The help text for xm create's --dry-run says "Dry run - prints the resulting > configuration in SXP but does not create the domain." so update xl > implementation to match. > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > diff -r 32d62506e3be -r 29bd959c779a tools/libxl/xl_cmdimpl.c > --- a/tools/libxl/xl_cmdimpl.c Tue May 24 10:14:10 2011 +0100 > +++ b/tools/libxl/xl_cmdimpl.c Tue May 24 10:26:04 2011 +0100 > @@ -1470,10 +1470,6 @@ static int create_domain(struct domain_c > > parse_config_data(config_file, config_data, config_len, &d_config, &d_config.dm_info); > > - ret = 0; > - if (dom_info->dryrun) > - goto out; > - > if (migrate_fd >= 0) { > if (d_config.c_info.name) { > /* when we receive a domain we get its name from the config > @@ -1492,9 +1488,13 @@ static int create_domain(struct domain_c > } > } > > - if (debug) > + if (debug || dom_info->dryrun) > printf_info(-1, &d_config, &d_config.dm_info); > > + ret = 0; > + if (dom_info->dryrun) > + goto out; > + > start: > domid = -1; > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |