On 14-11-2014 15:15, Aline Manera wrote:
The reset() function is to clean up all the mockup resources as it is
running for the first time.
The whole code is:
params = {'vms': [u'test'], 'templates': [],
'networks': [u'default'], 'storagepools':
[u'default-pool']}
for res, items in params.iteritems():
resources = getattr(self, '%s_get_list' % res)()
for i in resources:
if i in items:
continue
try:
getattr(self, '%s_deactivate' % res[:-1])(i)
except:
pass
getattr(self, '%s_delete' % res[:-1])(i)
"params" hold the first time configuration - so one only VM named
"test" must persist on 'test:///default' URI and the same for
storagepools and networks.
The first loop (for res, items in params.iteritems()) is to go by the
"params" list.
Then I collect all the resources for the API (resources =
getattr(self, '%s_get_list' % res)()).
The seconds loop is to identify the resources that need to be removed,
ie, will not be in the first run time. So I compared the item against
the "params" values.
Does that make sense?
The logic makes sense but that's not what that code snippet does. The
keyword "continue" will skip the current iteration of the *inner loop*,
not the outer one - which I guess is what you intended. In other words,
the inner loop doesn't do anything.
Try removing the inner loop entirely; the code will still work as before.