Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-07-09 Thread Mike Perez
On 08:49 Jun 23, Mike Perez wrote:
 There was a bug raised [1] from some large deployments that the Cinder
 client 1.2.0 and beyond is not working because of version discovery.
 Unfortunately it's not taking into account of deployments that have a
 proxy.
 
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for
 a list of the public endpoints and compare. For the proxy cases,
 Cinder is giving internal URLs back to the proxy and Keystone ends up
 using that instead of the publicURL in the service catalog. As a
 result, clients usually won't be able to use the internal URL and
 rightfully so.
 
 This is all correctly setup on the deployer's side, this an issue with
 the server side code of Cinder.
 
 There is a patch that allows the deployer to specify a configuration
 option public_endpoint [2] which was introduced in a patch in Kilo
 [3]. The problem though is we can't expect people to already be
 running Kilo to take advantage of this, and it leaves deployers
 running stable releases of Juno in the dark with clients upgrading and
 using the latest.
 
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this
 problem, and introduces a config option that does not change default
 behavior. I'm also not sure if this should be considered for Icehouse.

As decided, we went with option 1 and reverted version discovery in 1.3.1
of python-cinderclient for now.

-- 
Mike Perez

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-30 Thread John Griffith
On Mon, Jun 29, 2015 at 11:58 PM, Duncan Thomas duncan.tho...@gmail.com
wrote:

 We already have an environment variable for version... 'auto'?
 On 30 Jun 2015 07:57, John Griffith john.griffi...@gmail.com wrote:



 On Mon, Jun 29, 2015 at 8:54 PM, Jay Bryant 
 jsbry...@electronicjungle.net wrote:

 I too would prefer option 2. Would rather do the pack ports than remove
 the functionality.

 Jay

 On Wed, Jun 24, 2015 at 9:40 AM Gorka Eguileor gegui...@redhat.com
 wrote:

 On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
  There was a bug raised [1] from some large deployments that the Cinder
  client 1.2.0 and beyond is not working because of version discovery.
  Unfortunately it's not taking into account of deployments that have a
  proxy.

 A little bit unrelated, but volume pagination in Cinder client is also
 broken due to Version Discovery:
 https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 
  This is all correctly setup on the deployer's side, this an issue with
  the server side code of Cinder.
 
  There is a patch that allows the deployer to specify a configuration
  option public_endpoint [2] which was introduced in a patch in Kilo
  [3]. The problem though is we can't expect people to already be
  running Kilo to take advantage of this, and it leaves deployers
  running stable releases of Juno in the dark with clients upgrading and
  using the latest.
 
  Two options:
 
  1) Revert version discovery which was introduced in Kilo for Cinder
 client.
 
  2) Grant exception on backporting [4] a patch that helps with this
  problem, and introduces a config option that does not change default
  behavior. I'm also not sure if this should be considered for Icehouse.

 +1 to option 2 and I wouldn't be totally against considering it for
 Icehouse.

 Cheers,
 Gorka.
 
 
  [1] - https://launchpad.net/bugs/1464160
  [2] -
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
  [3] - https://review.openstack.org/#/c/159374/
  [4] - https://review.openstack.org/#/c/194719/
 
  --
  Mike Perez
 
 
 __
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 ​I'll echo Jeremy and Dave's statements regarding compatibility, seems
 really pretty lame that this can't work.  If it's not possible to support
 both scenarios in the client in a reasonable manner without long timeout
 periods my vote is for a revert and new client version. Sorry, but in my
 opinion backports to Cinder itself don't cut it in this case.  It's
 unfortunate we got to this point.

 Why can't we make this a config option in cinderclient itself?  Like
 USE_AUTO_DISCOVERY=True|False with a default of False in the client and
 just deal with it or as others have asked can't we make all of this
 smarter?  I mean it's sort of odd to have a discovery option that only
 works with 'new' versions of the API doesn't it?


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


​​
On Mon, Jun 29, 2015 at 11:58 PM, Duncan Thomas duncan.tho...@gmail.com
 wrote:
We already have an environment variable for version... 'auto'?
​
Which doesn't work unless you're on current Cinder version, which is what I
thought the whole point of this thread was all about.​  I'm proposing we
actually make sure 

Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-30 Thread Duncan Thomas
Sorry, I don't think I was entirely clear with my proposal - I meant that
we release a new current that will default to the old behavior, but allow
the new behavior to be tested by explicitly choosing the value 'auto'. This
allows people to test their config with version discovery, without breaking
normal usage.
On 30 Jun 2015 19:28, John Griffith john.griffi...@gmail.com wrote:



 On Mon, Jun 29, 2015 at 11:58 PM, Duncan Thomas duncan.tho...@gmail.com
 wrote:

 We already have an environment variable for version... 'auto'?
 On 30 Jun 2015 07:57, John Griffith john.griffi...@gmail.com wrote:



 On Mon, Jun 29, 2015 at 8:54 PM, Jay Bryant 
 jsbry...@electronicjungle.net wrote:

 I too would prefer option 2. Would rather do the pack ports than remove
 the functionality.

 Jay

 On Wed, Jun 24, 2015 at 9:40 AM Gorka Eguileor gegui...@redhat.com
 wrote:

 On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
  There was a bug raised [1] from some large deployments that the
 Cinder
  client 1.2.0 and beyond is not working because of version discovery.
  Unfortunately it's not taking into account of deployments that have a
  proxy.

 A little bit unrelated, but volume pagination in Cinder client is also
 broken due to Version Discovery:
 https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 
  This is all correctly setup on the deployer's side, this an issue
 with
  the server side code of Cinder.
 
  There is a patch that allows the deployer to specify a configuration
  option public_endpoint [2] which was introduced in a patch in Kilo
  [3]. The problem though is we can't expect people to already be
  running Kilo to take advantage of this, and it leaves deployers
  running stable releases of Juno in the dark with clients upgrading
 and
  using the latest.
 
  Two options:
 
  1) Revert version discovery which was introduced in Kilo for Cinder
 client.
 
  2) Grant exception on backporting [4] a patch that helps with this
  problem, and introduces a config option that does not change default
  behavior. I'm also not sure if this should be considered for
 Icehouse.

 +1 to option 2 and I wouldn't be totally against considering it for
 Icehouse.

 Cheers,
 Gorka.
 
 
  [1] - https://launchpad.net/bugs/1464160
  [2] -
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
  [3] - https://review.openstack.org/#/c/159374/
  [4] - https://review.openstack.org/#/c/194719/
 
  --
  Mike Perez
 
 
 __
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 ​I'll echo Jeremy and Dave's statements regarding compatibility, seems
 really pretty lame that this can't work.  If it's not possible to support
 both scenarios in the client in a reasonable manner without long timeout
 periods my vote is for a revert and new client version. Sorry, but in my
 opinion backports to Cinder itself don't cut it in this case.  It's
 unfortunate we got to this point.

 Why can't we make this a config option in cinderclient itself?  Like
 USE_AUTO_DISCOVERY=True|False with a default of False in the client and
 just deal with it or as others have asked can't we make all of this
 smarter?  I mean it's sort of odd to have a discovery option that only
 works with 'new' versions of the API doesn't it?



 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 

Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-30 Thread Duncan Thomas
We already have an environment variable for version... 'auto'?
On 30 Jun 2015 07:57, John Griffith john.griffi...@gmail.com wrote:



 On Mon, Jun 29, 2015 at 8:54 PM, Jay Bryant jsbry...@electronicjungle.net
  wrote:

 I too would prefer option 2. Would rather do the pack ports than remove
 the functionality.

 Jay

 On Wed, Jun 24, 2015 at 9:40 AM Gorka Eguileor gegui...@redhat.com
 wrote:

 On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
  There was a bug raised [1] from some large deployments that the Cinder
  client 1.2.0 and beyond is not working because of version discovery.
  Unfortunately it's not taking into account of deployments that have a
  proxy.

 A little bit unrelated, but volume pagination in Cinder client is also
 broken due to Version Discovery:
 https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 
  This is all correctly setup on the deployer's side, this an issue with
  the server side code of Cinder.
 
  There is a patch that allows the deployer to specify a configuration
  option public_endpoint [2] which was introduced in a patch in Kilo
  [3]. The problem though is we can't expect people to already be
  running Kilo to take advantage of this, and it leaves deployers
  running stable releases of Juno in the dark with clients upgrading and
  using the latest.
 
  Two options:
 
  1) Revert version discovery which was introduced in Kilo for Cinder
 client.
 
  2) Grant exception on backporting [4] a patch that helps with this
  problem, and introduces a config option that does not change default
  behavior. I'm also not sure if this should be considered for Icehouse.

 +1 to option 2 and I wouldn't be totally against considering it for
 Icehouse.

 Cheers,
 Gorka.
 
 
  [1] - https://launchpad.net/bugs/1464160
  [2] -
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
  [3] - https://review.openstack.org/#/c/159374/
  [4] - https://review.openstack.org/#/c/194719/
 
  --
  Mike Perez
 
 
 __
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 ​I'll echo Jeremy and Dave's statements regarding compatibility, seems
 really pretty lame that this can't work.  If it's not possible to support
 both scenarios in the client in a reasonable manner without long timeout
 periods my vote is for a revert and new client version. Sorry, but in my
 opinion backports to Cinder itself don't cut it in this case.  It's
 unfortunate we got to this point.

 Why can't we make this a config option in cinderclient itself?  Like
 USE_AUTO_DISCOVERY=True|False with a default of False in the client and
 just deal with it or as others have asked can't we make all of this
 smarter?  I mean it's sort of odd to have a discovery option that only
 works with 'new' versions of the API doesn't it?


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-29 Thread Jay Bryant
I too would prefer option 2. Would rather do the pack ports than remove the
functionality.

Jay

On Wed, Jun 24, 2015 at 9:40 AM Gorka Eguileor gegui...@redhat.com wrote:

 On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
  There was a bug raised [1] from some large deployments that the Cinder
  client 1.2.0 and beyond is not working because of version discovery.
  Unfortunately it's not taking into account of deployments that have a
  proxy.

 A little bit unrelated, but volume pagination in Cinder client is also
 broken due to Version Discovery:
 https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 
  This is all correctly setup on the deployer's side, this an issue with
  the server side code of Cinder.
 
  There is a patch that allows the deployer to specify a configuration
  option public_endpoint [2] which was introduced in a patch in Kilo
  [3]. The problem though is we can't expect people to already be
  running Kilo to take advantage of this, and it leaves deployers
  running stable releases of Juno in the dark with clients upgrading and
  using the latest.
 
  Two options:
 
  1) Revert version discovery which was introduced in Kilo for Cinder
 client.
 
  2) Grant exception on backporting [4] a patch that helps with this
  problem, and introduces a config option that does not change default
  behavior. I'm also not sure if this should be considered for Icehouse.

 +1 to option 2 and I wouldn't be totally against considering it for
 Icehouse.

 Cheers,
 Gorka.
 
 
  [1] - https://launchpad.net/bugs/1464160
  [2] -
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
  [3] - https://review.openstack.org/#/c/159374/
  [4] - https://review.openstack.org/#/c/194719/
 
  --
  Mike Perez
 
 
 __
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-29 Thread John Griffith
On Mon, Jun 29, 2015 at 8:54 PM, Jay Bryant jsbry...@electronicjungle.net
wrote:

 I too would prefer option 2. Would rather do the pack ports than remove
 the functionality.

 Jay

 On Wed, Jun 24, 2015 at 9:40 AM Gorka Eguileor gegui...@redhat.com
 wrote:

 On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
  There was a bug raised [1] from some large deployments that the Cinder
  client 1.2.0 and beyond is not working because of version discovery.
  Unfortunately it's not taking into account of deployments that have a
  proxy.

 A little bit unrelated, but volume pagination in Cinder client is also
 broken due to Version Discovery:
 https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 
  This is all correctly setup on the deployer's side, this an issue with
  the server side code of Cinder.
 
  There is a patch that allows the deployer to specify a configuration
  option public_endpoint [2] which was introduced in a patch in Kilo
  [3]. The problem though is we can't expect people to already be
  running Kilo to take advantage of this, and it leaves deployers
  running stable releases of Juno in the dark with clients upgrading and
  using the latest.
 
  Two options:
 
  1) Revert version discovery which was introduced in Kilo for Cinder
 client.
 
  2) Grant exception on backporting [4] a patch that helps with this
  problem, and introduces a config option that does not change default
  behavior. I'm also not sure if this should be considered for Icehouse.

 +1 to option 2 and I wouldn't be totally against considering it for
 Icehouse.

 Cheers,
 Gorka.
 
 
  [1] - https://launchpad.net/bugs/1464160
  [2] -
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
  [3] - https://review.openstack.org/#/c/159374/
  [4] - https://review.openstack.org/#/c/194719/
 
  --
  Mike Perez
 
 
 __
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 ​I'll echo Jeremy and Dave's statements regarding compatibility, seems
really pretty lame that this can't work.  If it's not possible to support
both scenarios in the client in a reasonable manner without long timeout
periods my vote is for a revert and new client version. Sorry, but in my
opinion backports to Cinder itself don't cut it in this case.  It's
unfortunate we got to this point.

Why can't we make this a config option in cinderclient itself?  Like
USE_AUTO_DISCOVERY=True|False with a default of False in the client and
just deal with it or as others have asked can't we make all of this
smarter?  I mean it's sort of odd to have a discovery option that only
works with 'new' versions of the API doesn't it?
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Duncan Thomas
The problem there is that it takes (significant) time for the connection
attempt to time out - every cinder command taking several minutes is not
acceptable.

Obviously this depends on the network setup of the cloud - I can only talk
about the case we saw
On 24 Jun 2015 00:25, Jeremy Stanley fu...@yuggoth.org wrote:

 On 2015-06-23 08:49:55 -0700 (-0700), Mike Perez wrote:
 [...]
  Cinder client asks Keystone to find a publicURL based on a version.
  Keystone will gather data from the service catalog and ask Cinder for
  a list of the public endpoints and compare. For the proxy cases,
  Cinder is giving internal URLs back to the proxy and Keystone ends up
  using that instead of the publicURL in the service catalog. As a
  result, clients usually won't be able to use the internal URL and
  rightfully so.
 [...]

 It seems like there would be an option #3: add a fallback behavior
 to cinderclient to try its old connection method if it fails to
 reach the discovered URL. I'm guessing there's some specific
 reason that's impossible, or it would have already been in the
 works?
 --
 Jeremy Stanley

 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Thierry Carrez
Mike Perez wrote:
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this
 problem, and introduces a config option that does not change default
 behavior. I'm also not sure if this should be considered for Icehouse.

I think both options are possible -- this issue is significant enough
that I would grant it a backport exception.

But given that there are a lot of pre-Juno clouds out there and people
should be able to use the latest client on them, I think we should bite
the bullet and fix it completely rather than partially... so I'd pick
option 1.

-- 
Thierry Carrez (ttx)

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Jeremy Stanley
On 2015-06-24 09:01:51 +0300 (+0300), Duncan Thomas wrote:
 The problem there is that it takes (significant) time for the connection
 attempt to time out - every cinder command taking several minutes is not
 acceptable.
[...]

Another silly idea from an end user of cinderclient here, but try
both in parallel and use whichever responds first (abandoning the
other connection attempt at that point)?

I just don't buy that we can consider new versions of the client
requiring existing deployments on still relevant releases to upgrade
to support it (either to a newer release, a patch, an additional
config option, some combination of the three). What we're going to
find instead is some (lots of?) providers updating their
documentation to tell users that they should stick with an older
cinderclient release indefinitely, and that's terrible from an
OpenStack interoperability standpoint.
-- 
Jeremy Stanley

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Dave Walker
On 24 June 2015 at 14:34, Jeremy Stanley fu...@yuggoth.org wrote:
 On 2015-06-24 09:01:51 +0300 (+0300), Duncan Thomas wrote:
 The problem there is that it takes (significant) time for the connection
 attempt to time out - every cinder command taking several minutes is not
 acceptable.
 [...]

 Another silly idea from an end user of cinderclient here, but try
 both in parallel and use whichever responds first (abandoning the
 other connection attempt at that point)?

 I just don't buy that we can consider new versions of the client
 requiring existing deployments on still relevant releases to upgrade
 to support it (either to a newer release, a patch, an additional
 config option, some combination of the three). What we're going to
 find instead is some (lots of?) providers updating their
 documentation to tell users that they should stick with an older
 cinderclient release indefinitely, and that's terrible from an
 OpenStack interoperability standpoint.

The clients have always strived to have backwards compatibility, and
this seems to be no different from the other scenarios that have been
encountered.  We've started to get away from that, and it feels like a
mistake.

As Jeremy points out, I fail to see why fallback default behaviour
cannot be used.. Attempt to use version discovery feature, if fail -
fall back to legacy behaviour..

What are the issues associated with this?

Thanks

--
Kind Regards,
Dave Walker

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Gorka Eguileor
On Tue, Jun 23, 2015 at 08:49:55AM -0700, Mike Perez wrote:
 There was a bug raised [1] from some large deployments that the Cinder
 client 1.2.0 and beyond is not working because of version discovery.
 Unfortunately it's not taking into account of deployments that have a
 proxy.

A little bit unrelated, but volume pagination in Cinder client is also
broken due to Version Discovery:
https://bugs.launchpad.net/python-cinderclient/+bug/1453755

 
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for
 a list of the public endpoints and compare. For the proxy cases,
 Cinder is giving internal URLs back to the proxy and Keystone ends up
 using that instead of the publicURL in the service catalog. As a
 result, clients usually won't be able to use the internal URL and
 rightfully so.
 
 This is all correctly setup on the deployer's side, this an issue with
 the server side code of Cinder.
 
 There is a patch that allows the deployer to specify a configuration
 option public_endpoint [2] which was introduced in a patch in Kilo
 [3]. The problem though is we can't expect people to already be
 running Kilo to take advantage of this, and it leaves deployers
 running stable releases of Juno in the dark with clients upgrading and
 using the latest.
 
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this
 problem, and introduces a config option that does not change default
 behavior. I'm also not sure if this should be considered for Icehouse.

+1 to option 2 and I wouldn't be totally against considering it for
Icehouse.

Cheers,
Gorka.
 
 
 [1] - https://launchpad.net/bugs/1464160
 [2] - 
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
 [3] - https://review.openstack.org/#/c/159374/
 [4] - https://review.openstack.org/#/c/194719/
 
 --
 Mike Perez
 
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-24 Thread Duncan Thomas
On 24 June 2015 at 16:42, Dave Walker em...@daviey.com wrote:


 As Jeremy points out, I fail to see why fallback default behaviour
 cannot be used.. Attempt to use version discovery feature, if fail -
 fall back to legacy behaviour..

 What are the issues associated with this?


So the issue is that for pre-kilo deployments that use a load-balancer (or
kilo+ deployments that use a load balancer and haven't set the correct
config option to the address of their load balancer) the version discovery
URL given out by cinder API points to a node behind the load balancer.
Depending on how this node is firewalled (drop packets .v. send reset), an
attempt to connect to this URL can take a long time to timeout.

I *think* we can get the desired behaviour by looking at the entry in the
catalogue, and if it has a trailing version number then don't do discovery,
but I might be wrong...

-- 
Duncan Thomas
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-23 Thread Mike Perez
There was a bug raised [1] from some large deployments that the Cinder
client 1.2.0 and beyond is not working because of version discovery.
Unfortunately it's not taking into account of deployments that have a
proxy.

Cinder client asks Keystone to find a publicURL based on a version.
Keystone will gather data from the service catalog and ask Cinder for
a list of the public endpoints and compare. For the proxy cases,
Cinder is giving internal URLs back to the proxy and Keystone ends up
using that instead of the publicURL in the service catalog. As a
result, clients usually won't be able to use the internal URL and
rightfully so.

This is all correctly setup on the deployer's side, this an issue with
the server side code of Cinder.

There is a patch that allows the deployer to specify a configuration
option public_endpoint [2] which was introduced in a patch in Kilo
[3]. The problem though is we can't expect people to already be
running Kilo to take advantage of this, and it leaves deployers
running stable releases of Juno in the dark with clients upgrading and
using the latest.

Two options:

1) Revert version discovery which was introduced in Kilo for Cinder client.

2) Grant exception on backporting [4] a patch that helps with this
problem, and introduces a config option that does not change default
behavior. I'm also not sure if this should be considered for Icehouse.


[1] - https://launchpad.net/bugs/1464160
[2] - 
http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
[3] - https://review.openstack.org/#/c/159374/
[4] - https://review.openstack.org/#/c/194719/

--
Mike Perez

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-23 Thread Kuvaja, Erno
Hi Mike,

We have similar functionality in Glance and I think this is critical enough fix 
to backport to Juno.

Considered for Icehouse, definitely not: 
http://lists.openstack.org/pipermail/openstack-announce/2015-June/000372.html

- Erno (jokke_)

 -Original Message-
 From: Mike Perez [mailto:thin...@gmail.com]
 Sent: 23 June 2015 16:50
 To: OpenStack Development Mailing List
 Cc: Jesse Keating
 Subject: [openstack-dev] [cinder][stable] Cinder client broken in Juno
 
 There was a bug raised [1] from some large deployments that the Cinder
 client 1.2.0 and beyond is not working because of version discovery.
 Unfortunately it's not taking into account of deployments that have a proxy.
 
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for a list 
 of
 the public endpoints and compare. For the proxy cases, Cinder is giving
 internal URLs back to the proxy and Keystone ends up using that instead of
 the publicURL in the service catalog. As a result, clients usually won't be 
 able
 to use the internal URL and rightfully so.
 
 This is all correctly setup on the deployer's side, this an issue with the 
 server
 side code of Cinder.
 
 There is a patch that allows the deployer to specify a configuration option
 public_endpoint [2] which was introduced in a patch in Kilo [3]. The problem
 though is we can't expect people to already be running Kilo to take
 advantage of this, and it leaves deployers running stable releases of Juno in
 the dark with clients upgrading and using the latest.
 
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this problem,
 and introduces a config option that does not change default behavior. I'm
 also not sure if this should be considered for Icehouse.
 
 
 [1] - https://launchpad.net/bugs/1464160
 [2] - http://docs.openstack.org/kilo/config-reference/content/cinder-conf-
 changes-kilo.html
 [3] - https://review.openstack.org/#/c/159374/
 [4] - https://review.openstack.org/#/c/194719/
 
 --
 Mike Perez
 
 __
 
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: OpenStack-dev-
 requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-23 Thread Monty Taylor
On 06/23/2015 11:49 AM, Mike Perez wrote:
 There was a bug raised [1] from some large deployments that the Cinder
 client 1.2.0 and beyond is not working because of version discovery.
 Unfortunately it's not taking into account of deployments that have a
 proxy.
 
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for
 a list of the public endpoints and compare. For the proxy cases,
 Cinder is giving internal URLs back to the proxy and Keystone ends up
 using that instead of the publicURL in the service catalog. As a
 result, clients usually won't be able to use the internal URL and
 rightfully so.
 
 This is all correctly setup on the deployer's side, this an issue with
 the server side code of Cinder.
 
 There is a patch that allows the deployer to specify a configuration
 option public_endpoint [2] which was introduced in a patch in Kilo
 [3]. The problem though is we can't expect people to already be
 running Kilo to take advantage of this, and it leaves deployers
 running stable releases of Juno in the dark with clients upgrading and
 using the latest.
 
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this
 problem, and introduces a config option that does not change default
 behavior. I'm also not sure if this should be considered for Icehouse.

I'm, sadly, going to vote for (1)

I LOVE the version discovery, but it needs to be able to work with
clouds that are out there. Some of them aren't running juno yet. Some of
them might not be in a position to deploy the backport patch.

OTOH, if you go with (2) - can we add support to cinderclient for
skipping version discover if an API_VERSION is passed in?

 
 [1] - https://launchpad.net/bugs/1464160
 [2] - 
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
 [3] - https://review.openstack.org/#/c/159374/
 [4] - https://review.openstack.org/#/c/194719/
 
 --
 Mike Perez
 
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-23 Thread Jeremy Stanley
On 2015-06-23 08:49:55 -0700 (-0700), Mike Perez wrote:
[...]
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for
 a list of the public endpoints and compare. For the proxy cases,
 Cinder is giving internal URLs back to the proxy and Keystone ends up
 using that instead of the publicURL in the service catalog. As a
 result, clients usually won't be able to use the internal URL and
 rightfully so.
[...]

It seems like there would be an option #3: add a fallback behavior
to cinderclient to try its old connection method if it fails to
reach the discovered URL. I'm guessing there's some specific
reason that's impossible, or it would have already been in the
works?
-- 
Jeremy Stanley

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [cinder][stable] Cinder client broken in Juno

2015-06-23 Thread Morgan Fainberg
My first choice here is to revert the version discovery. However, that may be 
too disruptive. If it is too disruptive then the back port patch is the right 
approach. 

In either case this is unfortunate. 

Sent via mobile

 On Jun 23, 2015, at 12:30, Monty Taylor mord...@inaugust.com wrote:
 
 On 06/23/2015 11:49 AM, Mike Perez wrote:
 There was a bug raised [1] from some large deployments that the Cinder
 client 1.2.0 and beyond is not working because of version discovery.
 Unfortunately it's not taking into account of deployments that have a
 proxy.
 
 Cinder client asks Keystone to find a publicURL based on a version.
 Keystone will gather data from the service catalog and ask Cinder for
 a list of the public endpoints and compare. For the proxy cases,
 Cinder is giving internal URLs back to the proxy and Keystone ends up
 using that instead of the publicURL in the service catalog. As a
 result, clients usually won't be able to use the internal URL and
 rightfully so.
 
 This is all correctly setup on the deployer's side, this an issue with
 the server side code of Cinder.
 
 There is a patch that allows the deployer to specify a configuration
 option public_endpoint [2] which was introduced in a patch in Kilo
 [3]. The problem though is we can't expect people to already be
 running Kilo to take advantage of this, and it leaves deployers
 running stable releases of Juno in the dark with clients upgrading and
 using the latest.
 
 Two options:
 
 1) Revert version discovery which was introduced in Kilo for Cinder client.
 
 2) Grant exception on backporting [4] a patch that helps with this
 problem, and introduces a config option that does not change default
 behavior. I'm also not sure if this should be considered for Icehouse.
 
 I'm, sadly, going to vote for (1)
 
 I LOVE the version discovery, but it needs to be able to work with
 clouds that are out there. Some of them aren't running juno yet. Some of
 them might not be in a position to deploy the backport patch.
 
 OTOH, if you go with (2) - can we add support to cinderclient for
 skipping version discover if an API_VERSION is passed in?
 
 
 [1] - https://launchpad.net/bugs/1464160
 [2] - 
 http://docs.openstack.org/kilo/config-reference/content/cinder-conf-changes-kilo.html
 [3] - https://review.openstack.org/#/c/159374/
 [4] - https://review.openstack.org/#/c/194719/
 
 --
 Mike Perez
 
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 
 
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev