Comment 6 for bug 1806390

Revision history for this message
Yang Youseok (ileixe) wrote :

@Miguel

Hello Miguel. Thanks for the attention.

1) The problem we encounter, DHCP lease file is not updated until VM instance booted, so the VM does not have IP from times to time. (And the larger the scale, the more and more such a trend has occurred) It came from unique deployment architecture (DHCP agent per every compute nodes) which generates DB overhead, and what I suggest is to ease the DB overhead.

I did not profile so I not 100% sure for the root cause, but empirically guessed, DB overhead which I mentioned is generally come from the two functions below.

- get_active_network_info(): this function makes query for every ports in a giant network. We are currently having more than 20000 ports in a network. So whenever new port is added, almost 1000(number of DHCP agents) * 20000 (number of ports) = 2000000 queries are generated.

- dhcp_ready_on_ports(): even worse, this function makes more query for every ports from the `get_active_network_info()). What I found is after upgrade Newton release (after adopting provisioning_block scheme), missing DHCP lease is accelerated a lot.

2) I did not propose a patch yet. We actually has a custom code to avoid the situation, and I want to add more test to justify the solution. It's related to the scale issue so I have a plan to add rally test case for our use.

And at the same time, currently I am focusing on upgrading Openstack cluster in our company (We are way behind...), so I did not make it yet.

But I will definitely make a patch in that I don't want to maintain custom code and be reviewed by community for our code.

I hope my explanation would be a little bit helpful.

Thanks!