[Yahoo-eng-team] [Bug 2032770] Re: [OVN] port creation with --enable-uplink-status-propagation does not work with OVN mechanism driver

2023-11-02 Thread Mustafa Kemal Gilor
** Also affects: cloud-archive/victoria
   Importance: Undecided
   Status: New

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

Title:
  [OVN] port creation with --enable-uplink-status-propagation does not
  work with OVN mechanism driver

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive antelope series:
  New
Status in Ubuntu Cloud Archive ussuri series:
  Fix Committed
Status in Ubuntu Cloud Archive victoria series:
  New
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  New
Status in neutron source package in Focal:
  New
Status in neutron source package in Jammy:
  New
Status in neutron source package in Lunar:
  New

Bug description:
  The port "uplink_status_propagation" feature does not work when OVN is
  used as the mechanism driver. The reproducer below is working fine
  with openvswitch as the mechanism driver, but not with the OVN:

  openstack port create --binding-profile trusted=true --enable-uplink-
  status-propagation --net private --vnic-type direct test-sriov-bond-
  enable-uplink-status-propagation-vm-1-port-1

  The command fails with the following error when OVN is the mech
  driver:

  BadRequestException: 400: Client Error for url:
  https://10.5.3.81:9696/v2.0/ports, Unrecognized attribute(s)
  'propagate_uplink_status'

  With ML2/OVS, the port creation command above succeeds without any
  errors.

  As for the ml2_conf, "uplink_status_propagation" is listed in the
  extension drivers:

  [ml2]
  extension_drivers=port_security,dns_domain_ports,uplink_status_propagation
  type_drivers = geneve,gre,vlan,flat,local
  tenant_network_types = geneve,gre,vlan,flat,local
  mechanism_drivers = ovn,sriovnicswitch
  /*...*/

  I also found the following document which shows the feature gap
  between ML2/OVS and OVN, but the uplink_status_propagation is not
  listed: https://docs.openstack.org/neutron/latest/ovn/gaps.html#id9 ,
  maybe this page can be updated as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2032770/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 2032770] Re: [OVN] port creation with --enable-uplink-status-propagation does not work with OVN mechanism driver

2023-10-16 Thread Mustafa Kemal Gilor
** Also affects: neutron (Ubuntu Focal)
   Importance: Undecided
   Status: New

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

Title:
  [OVN] port creation with --enable-uplink-status-propagation does not
  work with OVN mechanism driver

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive antelope series:
  New
Status in Ubuntu Cloud Archive ussuri series:
  In Progress
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  New
Status in neutron source package in Focal:
  New
Status in neutron source package in Jammy:
  New
Status in neutron source package in Lunar:
  New

Bug description:
  The port "uplink_status_propagation" feature does not work when OVN is
  used as the mechanism driver. The reproducer below is working fine
  with openvswitch as the mechanism driver, but not with the OVN:

  openstack port create --binding-profile trusted=true --enable-uplink-
  status-propagation --net private --vnic-type direct test-sriov-bond-
  enable-uplink-status-propagation-vm-1-port-1

  The command fails with the following error when OVN is the mech
  driver:

  BadRequestException: 400: Client Error for url:
  https://10.5.3.81:9696/v2.0/ports, Unrecognized attribute(s)
  'propagate_uplink_status'

  With ML2/OVS, the port creation command above succeeds without any
  errors.

  As for the ml2_conf, "uplink_status_propagation" is listed in the
  extension drivers:

  [ml2]
  extension_drivers=port_security,dns_domain_ports,uplink_status_propagation
  type_drivers = geneve,gre,vlan,flat,local
  tenant_network_types = geneve,gre,vlan,flat,local
  mechanism_drivers = ovn,sriovnicswitch
  /*...*/

  I also found the following document which shows the feature gap
  between ML2/OVS and OVN, but the uplink_status_propagation is not
  listed: https://docs.openstack.org/neutron/latest/ovn/gaps.html#id9 ,
  maybe this page can be updated as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2032770/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 2032770] Re: [OVN] port creation with --enable-uplink-status-propagation does not work with OVN mechanism driver

2023-10-16 Thread Mustafa Kemal Gilor
** No longer affects: cloud-archive/bobcat

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

Title:
  [OVN] port creation with --enable-uplink-status-propagation does not
  work with OVN mechanism driver

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive antelope series:
  New
Status in Ubuntu Cloud Archive ussuri series:
  New
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  New
Status in neutron source package in Jammy:
  New
Status in neutron source package in Lunar:
  New

Bug description:
  The port "uplink_status_propagation" feature does not work when OVN is
  used as the mechanism driver. The reproducer below is working fine
  with openvswitch as the mechanism driver, but not with the OVN:

  openstack port create --binding-profile trusted=true --enable-uplink-
  status-propagation --net private --vnic-type direct test-sriov-bond-
  enable-uplink-status-propagation-vm-1-port-1

  The command fails with the following error when OVN is the mech
  driver:

  BadRequestException: 400: Client Error for url:
  https://10.5.3.81:9696/v2.0/ports, Unrecognized attribute(s)
  'propagate_uplink_status'

  With ML2/OVS, the port creation command above succeeds without any
  errors.

  As for the ml2_conf, "uplink_status_propagation" is listed in the
  extension drivers:

  [ml2]
  extension_drivers=port_security,dns_domain_ports,uplink_status_propagation
  type_drivers = geneve,gre,vlan,flat,local
  tenant_network_types = geneve,gre,vlan,flat,local
  mechanism_drivers = ovn,sriovnicswitch
  /*...*/

  I also found the following document which shows the feature gap
  between ML2/OVS and OVN, but the uplink_status_propagation is not
  listed: https://docs.openstack.org/neutron/latest/ovn/gaps.html#id9 ,
  maybe this page can be updated as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2032770/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 2032770] Re: [OVN] port creation with --enable-uplink-status-propagation does not work with OVN mechanism driver

2023-10-09 Thread Mustafa Kemal Gilor
** No longer affects: neutron (Ubuntu Focal)

** No longer affects: cloud-archive/victoria

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

Title:
  [OVN] port creation with --enable-uplink-status-propagation does not
  work with OVN mechanism driver

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive antelope series:
  New
Status in Ubuntu Cloud Archive bobcat series:
  New
Status in Ubuntu Cloud Archive ussuri series:
  New
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  New
Status in neutron source package in Jammy:
  New
Status in neutron source package in Lunar:
  New

Bug description:
  The port "uplink_status_propagation" feature does not work when OVN is
  used as the mechanism driver. The reproducer below is working fine
  with openvswitch as the mechanism driver, but not with the OVN:

  openstack port create --binding-profile trusted=true --enable-uplink-
  status-propagation --net private --vnic-type direct test-sriov-bond-
  enable-uplink-status-propagation-vm-1-port-1

  The command fails with the following error when OVN is the mech
  driver:

  BadRequestException: 400: Client Error for url:
  https://10.5.3.81:9696/v2.0/ports, Unrecognized attribute(s)
  'propagate_uplink_status'

  With ML2/OVS, the port creation command above succeeds without any
  errors.

  As for the ml2_conf, "uplink_status_propagation" is listed in the
  extension drivers:

  [ml2]
  extension_drivers=port_security,dns_domain_ports,uplink_status_propagation
  type_drivers = geneve,gre,vlan,flat,local
  tenant_network_types = geneve,gre,vlan,flat,local
  mechanism_drivers = ovn,sriovnicswitch
  /*...*/

  I also found the following document which shows the feature gap
  between ML2/OVS and OVN, but the uplink_status_propagation is not
  listed: https://docs.openstack.org/neutron/latest/ovn/gaps.html#id9 ,
  maybe this page can be updated as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2032770/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 2032770] Re: [OVN] port creation with --enable-uplink-status-propagation does not work with OVN mechanism driver

2023-10-09 Thread Mustafa Kemal Gilor
** Also affects: neutron (Ubuntu)
   Importance: Undecided
   Status: New

** Changed in: neutron (Ubuntu)
 Assignee: (unassigned) => Mustafa Kemal Gilor (mustafakemalgilor)

** Also affects: neutron (Ubuntu Jammy)
   Importance: Undecided
   Status: New

** Also affects: neutron (Ubuntu Mantic)
   Importance: Undecided
 Assignee: Mustafa Kemal Gilor (mustafakemalgilor)
   Status: New

** Also affects: neutron (Ubuntu Lunar)
   Importance: Undecided
   Status: New

** Also affects: neutron (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Also affects: cloud-archive
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/yoga
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/victoria
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/zed
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/bobcat
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/antelope
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/ussuri
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/xena
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/wallaby
   Importance: Undecided
   Status: New

** No longer affects: neutron (Ubuntu Mantic)

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

Title:
  [OVN] port creation with --enable-uplink-status-propagation does not
  work with OVN mechanism driver

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive antelope series:
  New
Status in Ubuntu Cloud Archive bobcat series:
  New
Status in Ubuntu Cloud Archive ussuri series:
  New
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  New
Status in neutron source package in Jammy:
  New
Status in neutron source package in Lunar:
  New

Bug description:
  The port "uplink_status_propagation" feature does not work when OVN is
  used as the mechanism driver. The reproducer below is working fine
  with openvswitch as the mechanism driver, but not with the OVN:

  openstack port create --binding-profile trusted=true --enable-uplink-
  status-propagation --net private --vnic-type direct test-sriov-bond-
  enable-uplink-status-propagation-vm-1-port-1

  The command fails with the following error when OVN is the mech
  driver:

  BadRequestException: 400: Client Error for url:
  https://10.5.3.81:9696/v2.0/ports, Unrecognized attribute(s)
  'propagate_uplink_status'

  With ML2/OVS, the port creation command above succeeds without any
  errors.

  As for the ml2_conf, "uplink_status_propagation" is listed in the
  extension drivers:

  [ml2]
  extension_drivers=port_security,dns_domain_ports,uplink_status_propagation
  type_drivers = geneve,gre,vlan,flat,local
  tenant_network_types = geneve,gre,vlan,flat,local
  mechanism_drivers = ovn,sriovnicswitch
  /*...*/

  I also found the following document which shows the feature gap
  between ML2/OVS and OVN, but the uplink_status_propagation is not
  listed: https://docs.openstack.org/neutron/latest/ovn/gaps.html#id9 ,
  maybe this page can be updated as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2032770/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1998789] Re: PooledLDAPHandler.result3 does not release pool connection back when an exception is raised

2023-09-12 Thread Mustafa Kemal Gilor
** Also affects: keystone (Ubuntu)
   Importance: Undecided
   Status: New

** Also affects: keystone (Ubuntu Jammy)
   Importance: Undecided
   Status: New

** Also affects: keystone (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Also affects: cloud-archive
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/victoria
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/zed
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/ussuri
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/xena
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/wallaby
   Importance: Undecided
   Status: New

** Also affects: cloud-archive/yoga
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1998789

Title:
  PooledLDAPHandler.result3 does not release pool connection back when
  an exception is raised

Status in Ubuntu Cloud Archive:
  New
Status in Ubuntu Cloud Archive ussuri series:
  New
Status in Ubuntu Cloud Archive victoria series:
  New
Status in Ubuntu Cloud Archive wallaby series:
  New
Status in Ubuntu Cloud Archive xena series:
  New
Status in Ubuntu Cloud Archive yoga series:
  New
Status in Ubuntu Cloud Archive zed series:
  New
Status in OpenStack Identity (keystone):
  Fix Released
Status in keystone package in Ubuntu:
  New
Status in keystone source package in Focal:
  New
Status in keystone source package in Jammy:
  New

Bug description:
  This is a follow-up issue for LP#1896125.

  This problem has happened when LDAP connection pooling is on
  (use_pool=True), page_size > 0 and pool_connection_timeout is < 'ldap
  server response time'. The scenario is as follows:

  - An user tries to log in to a domain that is attached to LDAP backend.
  - LDAP server does not respond in `pool_connection_timeout` seconds, causing 
LDAP connection to raise a ldap.TIMEOUT() exception
  - From now on, all subsequent LDAP requests will fail with 
ldappool.MaxConnectionReachedError

  
  An in-depth analysis explains why it happens:

  - LDAP query initiated for user login request with BaseLdap._ldap_get() 
function call, which grabs a connection with self.get_connection() and invokes 
conn.search_s()
  - conn.search_s() invokes conn._paged_search_s() since page_size is > 0
  - conn._paged_search_s() calls conn.search_ext() 
(PooledLDAPHandler.search_ext) method 
  - conn.search_ext() initiates an asynchronous LDAP request and returns an 
AsynchronousMessage object to the _paged_search_s(), representing the request.
  - conn._paged_search_s() tries to obtain asynchronous LDAP request results 
via calling conn.result3() (PooledLDAPHandler.result3) 
  - conn.result3() calls message.connection.result3()
  - the server cannot respond in pool_connection_timeout seconds, 
  - message.connection.result3() raises a ldap.TIMEOUT(), causes subsequent 
connection release function, message.clean() to be not called
  - the connection is kept active forever, subsequent requests cannot use it 
anymore

  Reproducer:

  - Deploy an LDAP server of your choice
  - Fill it with many data so the search takes more than 
`pool_connection_timeout` seconds
  - Define a keystone domain with the LDAP driver with following options:

  [ldap]
  use_pool = True
  page_size = 100
  pool_connection_timeout = 3
  pool_retry_max = 3
  pool_size = 10
   
  - Point the domain to the LDAP server
  - Try to login to the OpenStack dashboard, or try to do anything that uses 
the LDAP user
  - Observe the /var/log/apache2/keystone_error.log, it should contain 
ldap.TIMEOUT() stack traces followed by `ldappool.MaxConnectionReachedError` 
stack traces

  Known workarounds:

  - Disable LDAP pooling by setting use_pool=Flase
  - Set page_size to 0

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1998789/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1998789] [NEW] PooledLDAPHandler.result3 does not release pool connection back when an exception is raised

2022-12-05 Thread Mustafa Kemal Gilor
Public bug reported:

This is a follow-up issue for LP#1896125.

This problem has happened when LDAP connection pooling is on
(use_pool=True), page_size > 0 and pool_connection_timeout is < 'ldap
server response time'. The scenario is as follows:

- An user tries to log in to a domain that is attached to LDAP backend.
- LDAP server does not respond in `pool_connection_timeout` seconds, causing 
LDAP connection to raise a ldap.TIMEOUT() exception
- From now on, all subsequent LDAP requests will fail with 
ldappool.MaxConnectionReachedError


An in-depth analysis explains why it happens:

- LDAP query initiated for user login request with BaseLdap._ldap_get() 
function call, which grabs a connection with self.get_connection() and invokes 
conn.search_s()
- conn.search_s() invokes conn._paged_search_s() since page_size is > 0
- conn._paged_search_s() calls conn.search_ext() (PooledLDAPHandler.search_ext) 
method 
- conn.search_ext() initiates an asynchronous LDAP request and returns an 
AsynchronousMessage object to the _paged_search_s(), representing the request.
- conn._paged_search_s() tries to obtain asynchronous LDAP request results via 
calling conn.result3() (PooledLDAPHandler.result3) 
- conn.result3() calls message.connection.result3()
- the server cannot respond in pool_connection_timeout seconds, 
- message.connection.result3() raises a ldap.TIMEOUT(), causes subsequent 
connection release function, message.clean() to be not called
- the connection is kept active forever, subsequent requests cannot use it 
anymore

Reproducer:

- Deploy an LDAP server of your choice
- Fill it with many data so the search takes more than 
`pool_connection_timeout` seconds
- Define a keystone domain with the LDAP driver with following options:

[ldap]
use_pool = True
page_size = 100
pool_connection_timeout = 3
pool_retry_max = 3
pool_size = 10
 
- Point the domain to the LDAP server
- Try to login to the OpenStack dashboard, or try to do anything that uses the 
LDAP user
- Observe the /var/log/apache2/keystone_error.log, it should contain 
ldap.TIMEOUT() stack traces followed by `ldappool.MaxConnectionReachedError` 
stack traces

Known workarounds:

- Disable LDAP pooling by setting use_pool=Flase
- Set page_size to 0

** Affects: keystone
 Importance: Undecided
 Assignee: Mustafa Kemal Gilor (mustafakemalgilor)
 Status: New


** Tags: sts

** Summary changed:

- PooledLDAPHandler.result3 does not release pool connection back when an 
exception raises
+ PooledLDAPHandler.result3 does not release pool connection back when an 
exception is raised

** Changed in: keystone
 Assignee: (unassigned) => Mustafa Kemal Gilor (mustafakemalgilor)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1998789

Title:
  PooledLDAPHandler.result3 does not release pool connection back when
  an exception is raised

Status in OpenStack Identity (keystone):
  New

Bug description:
  This is a follow-up issue for LP#1896125.

  This problem has happened when LDAP connection pooling is on
  (use_pool=True), page_size > 0 and pool_connection_timeout is < 'ldap
  server response time'. The scenario is as follows:

  - An user tries to log in to a domain that is attached to LDAP backend.
  - LDAP server does not respond in `pool_connection_timeout` seconds, causing 
LDAP connection to raise a ldap.TIMEOUT() exception
  - From now on, all subsequent LDAP requests will fail with 
ldappool.MaxConnectionReachedError

  
  An in-depth analysis explains why it happens:

  - LDAP query initiated for user login request with BaseLdap._ldap_get() 
function call, which grabs a connection with self.get_connection() and invokes 
conn.search_s()
  - conn.search_s() invokes conn._paged_search_s() since page_size is > 0
  - conn._paged_search_s() calls conn.search_ext() 
(PooledLDAPHandler.search_ext) method 
  - conn.search_ext() initiates an asynchronous LDAP request and returns an 
AsynchronousMessage object to the _paged_search_s(), representing the request.
  - conn._paged_search_s() tries to obtain asynchronous LDAP request results 
via calling conn.result3() (PooledLDAPHandler.result3) 
  - conn.result3() calls message.connection.result3()
  - the server cannot respond in pool_connection_timeout seconds, 
  - message.connection.result3() raises a ldap.TIMEOUT(), causes subsequent 
connection release function, message.clean() to be not called
  - the connection is kept active forever, subsequent requests cannot use it 
anymore

  Reproducer:

  - Deploy an LDAP server of your choice
  - Fill it with many data so the search takes more than 
`pool_connection_timeout` seconds
  - Define a keystone domain with the LDAP driver with following options:

  [ldap]
  use_pool = True
  page_size = 100
  pool_connection_timeout = 3
  pool_retry_max = 3
  pool_size = 10
   
  - Point the doma