← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1554151] [NEW] After the Neutron server has been restarted, the first create_port or update_port will fail to propagate DNS attributes to external DNS service because the driver not loaded properly. All subsequent create_port or update_port operations will correctly propagate DNS attributes to the external DNS service.

 

Public bug reported:

Steps to reproduce:
Make sure your environment is configured to use the dns-integration extension.
Have an existing port created. Restart the server. It might be helpful first to insert a line into the beginning of the  process_update_port method in neutron/neutron/plugins/ml2/extensions/dns_integration.py that prints out the DNS_DRIVER variable. It will be None the first time this method is called, afterwards it will correctly be an instance of your DNS driver object.
After restarting the server, run neutron port-update my-port with any arguments.
While the behavior is the same regardless of the argument, the bug only becomes a problem if the arguments are relevant to the DNS extension, such as dns_name or updating the IP address.

The command will claim to have completed successfully, but the DNS
driver is not loaded until the end of the process, after it has been
used. Certain functions will check to make sure the DNS driver has been
loaded and will exit silently and prematurely because it hasn't been
loaded yet. Any subsequent port-update commands will be fine because the
driver is now loaded until the server gets restarted again.

DevStack all-in-one built from master
Perceived severity: medium

** Affects: neutron
     Importance: High
     Assignee: James Anziano (janzian)
         Status: Confirmed


** Tags: l3-ipam-dhcp

** Description changed:

  Steps to reproduce:
  Make sure your environment is configured to use the dns-integration extension.
  Have an existing port created. Restart the server. It might be helpful first to insert a line into the beginning of the  process_update_port method in neutron/neutron/plugins/ml2/extensions/dns_integration.py that prints out the DNS_DRIVER variable. It will be None the first time this method is called, afterwards it will correctly be an instance of your DNS driver object.
  After restarting the server, run neutron port-update my-port with any arguments.
  While the behavior is the same regardless of the argument, the bug only becomes a problem if the arguments are relevant to the DNS extension, such as dns_name or updating the IP address.
-  
- The command will claim to have completed successfully, but the DNS driver is not loaded until the end of the process, after it has been used. Certain functions will check to make sure the DNS driver has been loaded and will exit silently and prematurely because it hasn't been loaded yet. Any subsequent port-update commands will be fine because the driver is now loaded until the server gets restarted again.
  
+ The command will claim to have completed successfully, but the DNS
+ driver is not loaded until the end of the process, after it has been
+ used. Certain functions will check to make sure the DNS driver has been
+ loaded and will exit silently and prematurely because it hasn't been
+ loaded yet. Any subsequent port-update commands will be fine because the
+ driver is now loaded until the server gets restarted again.
+ 
+ DevStack all-in-one built from master
  Perceived severity: medium

** Changed in: neutron
     Assignee: (unassigned) => James Anziano (janzian)

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

Title:
  After the Neutron server has been restarted, the first create_port or
  update_port will fail to propagate DNS attributes to external DNS
  service because the driver not loaded properly. All subsequent
  create_port or update_port operations will correctly propagate DNS
  attributes to the external DNS service.

Status in neutron:
  Confirmed

Bug description:
  Steps to reproduce:
  Make sure your environment is configured to use the dns-integration extension.
  Have an existing port created. Restart the server. It might be helpful first to insert a line into the beginning of the  process_update_port method in neutron/neutron/plugins/ml2/extensions/dns_integration.py that prints out the DNS_DRIVER variable. It will be None the first time this method is called, afterwards it will correctly be an instance of your DNS driver object.
  After restarting the server, run neutron port-update my-port with any arguments.
  While the behavior is the same regardless of the argument, the bug only becomes a problem if the arguments are relevant to the DNS extension, such as dns_name or updating the IP address.

  The command will claim to have completed successfully, but the DNS
  driver is not loaded until the end of the process, after it has been
  used. Certain functions will check to make sure the DNS driver has
  been loaded and will exit silently and prematurely because it hasn't
  been loaded yet. Any subsequent port-update commands will be fine
  because the driver is now loaded until the server gets restarted
  again.

  DevStack all-in-one built from master
  Perceived severity: medium

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


Follow ups