← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1652728] [NEW] Adding a random lease_time value for dhcp-agent in large scale environment

 

Public bug reported:

In our large scale environment, we sometimes found it can't be
guaranteed when booting a large number of new instances at the same
time. Meanwhile, the lease time from all these instances will also age
simultaneously. In addition, it will cause a burst of the network
traffic of dhcp broadcast for a while.

According to dhcp-agent, it's simply dealt with by the key word
"dhcp_lease_duration" in the configuration, which is fixed in
/etc/neutron/neutron.conf, with a value 600.

So our team modified this issue by adding another value, which is called
dhcp_lease_random, with a random number. And it's used by dnsmasq for
being plus the value when the dhcp server gives client a real lease
time.

Here we use the modulo(%) operator with part of the network_id, and the
modulus is the dhcp_lease_random.

* conditions:
You'd better have a large scale environment which hosts over around 300 VMs and create or delete them at the same time. Or creating them and watching them after the lease time.

* Version:
Openstack Newton, deployed with Fuel 10.0
Ubuntu Ubuntu 16.04.1 LTS, running kernel 4.4.0-57-generic
Neutron version 5.1.0
Dnsmasq version 2.75

** Affects: neutron
     Importance: Undecided
     Assignee: siyingchun (wintersi)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => siyingchun (wintersi)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1652728

Title:
  Adding a random lease_time value for dhcp-agent in large scale
  environment

Status in neutron:
  New

Bug description:
  In our large scale environment, we sometimes found it can't be
  guaranteed when booting a large number of new instances at the same
  time. Meanwhile, the lease time from all these instances will also age
  simultaneously. In addition, it will cause a burst of the network
  traffic of dhcp broadcast for a while.

  According to dhcp-agent, it's simply dealt with by the key word
  "dhcp_lease_duration" in the configuration, which is fixed in
  /etc/neutron/neutron.conf, with a value 600.

  So our team modified this issue by adding another value, which is
  called dhcp_lease_random, with a random number. And it's used by
  dnsmasq for being plus the value when the dhcp server gives client a
  real lease time.

  Here we use the modulo(%) operator with part of the network_id, and
  the modulus is the dhcp_lease_random.

  * conditions:
  You'd better have a large scale environment which hosts over around 300 VMs and create or delete them at the same time. Or creating them and watching them after the lease time.

  * Version:
  Openstack Newton, deployed with Fuel 10.0
  Ubuntu Ubuntu 16.04.1 LTS, running kernel 4.4.0-57-generic
  Neutron version 5.1.0
  Dnsmasq version 2.75

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1652728/+subscriptions


Follow ups