Re:[watcher][qa] Thoughts on performance testing for Watcher

li.canwei2 at li.canwei2 at
Wed May 8 03:26:50 UTC 2019

Hi Matt,

I'm glad that you are interesting to Watcher.

Though we never do such a simulated test, I wish you can get what you want.

Some notes:

1, Watcher updates its data model based nova versioned notifications, so you

   should enable nova notification in your simulated environment.

2, Watcher needs node name getting from or socket.gethostname,

   If you have two or more controller nodes they don't have same host name.

3, Watcher doesn't consider nova cell, now watcher filter nodes through host

  aggregate and zone. You can get more info by CLI cmd: watcher help audittemplate create

4, Watcher needs metric data source such as Ceilometer, so your fake nodes and VMs

   should have metric data. 

5,  For optimizing resource utilization, I think you could use strategy [1]

6, There are two audit type:ONESHOT and CONTINUOUS in Watcher, you can get 

  more help by CLI cmd: watcher help audit create

If any questions, let us know




发件人:MattRiedemann <mriedemos at>
收件人:openstack-discuss at <openstack-discuss at>;
日 期 :2019年05月08日 04:57
主 题 :[watcher][qa] Thoughts on performance testing for Watcher


I'm new to Watcher and would like to do some performance and scale 
testing in a simulated environment and wondering if anyone can give some 
pointers on what I could be testing or looking for.

If possible, I'd like to be able to just setup a single-node devstack 
with the nova fake virt driver which allows me to create dozens of fake 
compute nodes. I could also create multiple cells with devstack, but 
there gets to be a limit with how much you can cram into a single node 
8GB RAM 8VCPU VM (I could maybe split 20 nodes across 2 cells). I could 
then create dozens of VMs to fill into those compute nodes.

I'm mostly trying to figure out what could be an interesting set of 
tests. The biggest problem I'm trying to solve with Watcher is 
optimizing resource utilization, i.e. once the computes hit the Tetris 
problem and there is some room on some nodes but none of the nodes are 
fully packed.

I was thinking I could simulate this by configuring nova so it spreads 
rather than packs VMs onto hosts (or just use the chance scheduler which 
randomly picks a host), using VMs of varying sizes, and then run some 
audit / action plan (I'm still learning the terminology here) to live 
migrate the VMs such that they get packed onto as few hosts as possible 
and see how long that takes. Naturally with devstack using fake nodes 
and no networking on the VMs, that live migration is basically a noop, 
but I'm more interested in profiling how long it takes Watcher itself to 
execute the actions.

Once I get to know a bit more about how Watcher works, I could help with 
optimizing some of the nova-specific stuff using placement [1].

Any advice or guidance here would be appreciated.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openstack-discuss mailing list