Public bug reported:

class ProcessManager[1] is used to managed processes in neutron agents. The 
reload_cfg function is used to reload configuration by sending HUB signal to 
the target process. This may work for a linux system administrator, where 
she/he updates the config file and then sends HUP signal to reload.
But in openstack, this is a bit different. I have read the code about 
dnsmasq[2] and haproxy. The parameters and config files are generated by a 
callback function. This function generates config files and return the 
command(with parameters). Sending HUP signal doesn't change parameters, neither 
regenerate config files.

I would suggest another way to reload/restart process which makes sure
the callback function is called.

[1] 
https://github.com/openstack/neutron/blob/8c59cfe98eb15f024b6c24312c0bf51af02a5dc3/neutron/agent/linux/external_process.py#L50
[2] 
https://github.com/openstack/neutron/blob/8c59cfe98eb15f024b6c24312c0bf51af02a5dc3/neutron/agent/linux/dhcp.py#L457-L458

** Affects: neutron
     Importance: Undecided
     Assignee: cheng li (chengli3)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => cheng li (chengli3)

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

Title:
  reload_cfg doesn't work correctly

Status in neutron:
  New

Bug description:
  class ProcessManager[1] is used to managed processes in neutron agents. The 
reload_cfg function is used to reload configuration by sending HUB signal to 
the target process. This may work for a linux system administrator, where 
she/he updates the config file and then sends HUP signal to reload.
  But in openstack, this is a bit different. I have read the code about 
dnsmasq[2] and haproxy. The parameters and config files are generated by a 
callback function. This function generates config files and return the 
command(with parameters). Sending HUP signal doesn't change parameters, neither 
regenerate config files.

  I would suggest another way to reload/restart process which makes sure
  the callback function is called.

  [1] 
https://github.com/openstack/neutron/blob/8c59cfe98eb15f024b6c24312c0bf51af02a5dc3/neutron/agent/linux/external_process.py#L50
  [2] 
https://github.com/openstack/neutron/blob/8c59cfe98eb15f024b6c24312c0bf51af02a5dc3/neutron/agent/linux/dhcp.py#L457-L458

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to