[one-users] Problems with scheduling VMs / Bug in Scheduler.cc

Ruben S. Montero rubensm at dacya.ucm.es
Sat Feb 21 10:56:56 PST 2009


Hi Niraj,
	You are totally right. The current syntax for rank expressions does not work 
very well with floating point numbers. I've filed a bug for this one.

http://ruben@trac.opennebula.org/ticket/87

Thank you very much for your feedback

Cheers!

Ruben

On Saturday 21 February 2009 03:11:31 Niraj Tolia wrote:
> Hi Ruben,
>
> OK. That makes sense. I believe I might have been doing something
> wrong. Let me look into it.
>
> On a related note, I discovered something that seems to be
> inconsistent with the documentation at
> http://www.opennebula.org/doku.php?id=documentation:rel1.4:ug . The
> documentation states that you can say
>
> REQUIREMENTS = FREECPU > 0.6
>
> However, that will fail with the following error
>
> % onevm create <template>
> Error: Error parsing VM template
>
> Trying to replace that with REQUIREMENTS = 'FREECPU > 0.6' will lead
> to this error in sched.log -- "[HOST][E]: Error evaluating expresion:
> FREECPU > 0.6, error: syntax error, unexpected INTEGER, expecting $end
> at line 1, columns 12:13"
>
> The thing that does work is REQUIREMENTS = 'FREECPU > .6'
>
> Cheers,
> Niraj
>
> On Fri, Feb 20, 2009 at 5:46 PM, Ruben S. Montero <rubensm at dacya.ucm.es> 
wrote:
> > Hi Niraj,
> >
> > The host->match() function sets the matched variable to true or false
> > depending on the expression. The "rc" value returned by host->match() is
> > used to check whether an error (i.e. syntax) is found while evaluating
> > the expression. So rc==0 does not imply a matched resource.
> >
> > Could you send us the REQUIREMENTS that you are using, and the 'onehost
> > show' output for a resource that you expect that would match.
> >
> > Cheers
> >
> > Ruben
> >
> > On Saturday 21 February 2009 02:37:23 Niraj Tolia wrote:
> >> I have run into a couple of problem while evaluating OpenNebula and I
> >> might have found a bug in Scheduler::match().
> >>
> >> If you look at the code for the function match() in Scheduler.cc, the
> >> variable 'matched' starts out uninitialized. Now, if reqs != "",
> >> host->match() is called. However, even if the call to match is
> >> successful, matched is never set to true and and therefore that host
> >> is never checked for capacity. Simply setting match = true when rc ==0
> >> seems to fix the problem I am seeing.
> >>
> >> Please let me know if you need more details.
> >>
> >> Cheers,
> >> Niraj
> >> _______________________________________________
> >> Users mailing list
> >> Users at lists.opennebula.org
> >> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
> >
> > --
> > +---------------------------------------------------------------+
> >  Dr. Ruben Santiago Montero
> >  Associate Professor
> >  Distributed System Architecture Group (http://dsa-research.org)
> >
> >  URL:    http://dsa-research.org/doku.php?id=people:ruben
> >  Weblog: http://blog.dsa-research.org/?author=7
> >
> >  GridWay, http://www.gridway.org
> >  OpenNEbula, http://www.opennebula.org
> > +---------------------------------------------------------------+

-- 
+---------------------------------------------------------------+
 Dr. Ruben Santiago Montero
 Associate Professor
 Distributed System Architecture Group (http://dsa-research.org)

 URL:    http://dsa-research.org/doku.php?id=people:ruben
 Weblog: http://blog.dsa-research.org/?author=7
             
 GridWay, http://www.gridway.org
 OpenNEbula, http://www.opennebula.org
+---------------------------------------------------------------+




More information about the Users mailing list