Re: [openstack-dev] nova-api fails to start

2013-11-08 Thread Krishanu Dhar
screen -x stack should give you the clue as to why it's failing. In my
case it printed

2013-11-07 23:24:14.758 TRACE nova IOError: [Errno 13] Permission denied:
'/etc/nova/api-paste.ini'
2013-11-07 23:24:14.758 TRACE nova
n-api failed to start

all i had to do was change the ownership of the files to the user executing
stack.sh and restart the process.


On Fri, Nov 8, 2013 at 4:49 PM, Telles Nobrega tellesnobr...@gmail.comwrote:

 I thought it worked but it actually didn't. I'm trying again


 On Thu, Nov 7, 2013 at 10:19 PM, Telles Nobrega 
 tellesnobr...@gmail.comwrote:

 It was a new installation, but i tried a couple more times, removed all
 the component folders and it worked

 --
 ___
 Telles Mota Vidal Nóbrega

 Undergraduated in Computer Science at Federal University of Campina
 Grande (UFCG)

 Developer at PulsarOpenStack Project - HP

 On 07 Nov 2013, at 17:54, Krishanu Dhar rony.k...@gmail.com wrote:

 Hey Telies - Were you trying to recreate the failure? or is it a new
 installation?


 On Fri, Nov 8, 2013 at 2:13 AM, Telles Nobrega 
 tellesnobr...@gmail.comwrote:

 Now i have something like your problem, im getting
 die 609 'nova-api did not start'


 On Thu, Nov 7, 2013 at 4:11 PM, Krishanu Dhar rony.k...@gmail.comwrote:

 thanks man, incidentally i ran into your post too and it got me going.
 However, I was wondering if the fix should go in stack.sh.stack.sh


 On Fri, Nov 8, 2013 at 12:32 AM, Cazzolato, Sergio J 
 sergio.j.cazzol...@intel.com wrote:

  Hi, I had the same issue and fixed that doing a chwon and changing
 the ownership to my user of the files in /etc/nova where the owner was the
 user nova.



 In my case the files were: api-paste.ini and policy.json



 I posted the solution there too:




 http://stackoverflow.com/questions/19843239/getting-nova628die-trying-to-start-openstack-nova-module



 Thanks





 *From:* Krishanu Dhar [mailto:rony.k...@gmail.com]
 *Sent:* Thursday, November 07, 2013 3:40 PM
 *To:* OpenStack Development Mailing List (not for usage questions)
 *Subject:* Re: [openstack-dev] nova-api fails to start



 Any other recommendations on how to have a successful devstack
 installation?



 On Thu, Nov 7, 2013 at 11:37 PM, Krishanu Dhar rony.k...@gmail.com
 wrote:

 below is an error that's probably the cause...

 2013-11-07 23:24:14.758 TRACE nova IOError: [Errno 13] Permission
 denied: '/etc/nova/api-paste.ini'
 2013-11-07 23:24:14.758 TRACE nova
 n-api failed to start

 krish@krish-VirtualBox:/opt/stack/nova$ ls -l /etc/nova/api-paste.ini
 -rw--- 1 nova nova 4260 Apr 23  2013 /etc/nova/api-paste.ini

 isn't it expected to fail if the file is owned by nova... weird.







 On Thu, Nov 7, 2013 at 11:18 PM, Krishanu Dhar rony.k...@gmail.com
 wrote:

 it did not even start the process in my case.

 I tried looking up email threads in google and looks like quite a few
 have run into this before, but couldn't find a working fix.



 On Thu, Nov 7, 2013 at 11:15 PM, Telles Nobrega 
 tellesnobr...@gmail.com wrote:

 Weird, i had the same problem, but when i kill the processes it works



 On Thu, Nov 7, 2013 at 2:34 PM, Krishanu Dhar rony.k...@gmail.com
 wrote:

 Nothing was left behind.

 #ps aux|grep -ie nova did not return anything.



 On Thu, Nov 7, 2013 at 11:01 PM, Telles Nobrega 
 tellesnobr...@gmail.com wrote:

 Did you check if there are any nova process left running?



 On Thu, Nov 7, 2013 at 2:28 PM, Krishanu Dhar rony.k...@gmail.com
 wrote:

 Appreciate the responses. But there is something wrong with this. I
 ran unstack.sh again and retried the installation. it failed with the same
 message.

 So, what are my options right now?



 On Thu, Nov 7, 2013 at 7:31 PM, Telles Nobrega 
 tellesnobr...@gmail.com wrote:

 Sometimes after ./unstack is ran, some process are still runnning for
 nova.

 Try running this to kill them all (ps aux | grep -ie nova | awk
 '{print $2}' | xargs kill -9) and try ./stack again



 On Thu, Nov 7, 2013 at 9:14 AM, Noorul Islam K M noo...@noorul.com
 wrote:

   Krishanu Dhar rony.k...@gmail.com writes:

  Hi,
 
  I was trying to install the devstack and it failed while starting
 the nova
  api. below is a snippet from the console. Is it a bug?
 
 
  + screen -S stack -p n-api -X stuff 'cd /opt/stack/nova 
  /usr/local/bin/nova-a'i || echo n-api failed to start | tee
  /opt/stack/status/stack/n-api.failure
  + echo 'Waiting for nova-api to start...'
  Waiting for nova-api to start...
  + wait_for_service 60 http://10.0.2.15:8774
  + local timeout=60
  + local url=http://10.0.2.15:8774
  + timeout 60 sh -c 'while ! curl --noproxy '\''*'\'' -s
  http://10.0.2.15:8774 /dev/null; do sleep 1; done'
  + die 628 'nova-api did not start'
  + local exitcode=0
  + set +o xtrace
  [Call Trace]
  ./stack.sh:1084:start_nova_api
  /home/krish/devstack/lib/nova:628:die
  [ERROR] /home/krish/devstack/lib/nova:628 nova-api did not start
  krish@krish-VirtualBox:~/devstack$

 Did you try screen -x stack ?

 

Re: [openstack-dev] RFC: reverse the default Gerrit sort order

2013-11-08 Thread Morgan Fainberg
On Friday, November 8, 2013, Joe Gordon wrote:




 On Thu, Nov 7, 2013 at 7:36 AM, Robert Collins 
 robe...@robertcollins.netjavascript:_e({}, 'cvml', 
 'robe...@robertcollins.net');
  wrote:

 I've been thinking about review queues recently (since here at the
 summit everyone is talking about reviews! :)).

 One thing that struck me today was that Gerrit makes it easier to
 review the newest changes first, rather than the changes that have
 been in the queue longest, or the changes that started going through
 the review process first.

 So... is it possible to change the default sort order for Gerrit? How
 hard is it to do - could we do an experiment on that and see if it
 nudges the dial for reviewstats (just make the change, not ask anyone
 to change their behaviour)?

 As for what sort order to choose, I'd be happy just getting data on a
 different default sort order - it seems like the easiest thing would
 be to reverse the current order, vs doing something more
 sophisticated.


 ++, This sounds like an interesting idea. and we could try it out for a
 few weeks to see what happen.


 I agree this would be interesting but if it isn't configurable (e.g. A
mechanism to support current behavior) I think this would very much disrupt
the workflow I use.  If configurable, I'd be open to it, if not
configurable I have to say -1 to this idea.

Cheers,
Morgan Fainberg
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [rally] NovaServers.snapshot_server test works incorrectly.

2013-11-08 Thread Boris Pavlovic
Alex,


I experimented with rally yesterday and faced with some troubles. My test
suite was simple enough and while running it I saw few backtraces on the
screen. I captured backtraces and attached it as well as my test suit file.
Also I tried to investigate this error and found that the test was doing
sequence of GET requests, then doing DELETE request and then GET request
again. I can conclude that it is some other result than we expect



It is okay, because there is only one way to check that:
1) VM is created/deleted/...
2) Image is uploaded/deleted/...
3) 

It is to pull status of object, and wait until it becomes ready.


openstack-rally command raised such exception because all calls of
snapshot_server method failed.
So we try to aggregate empty list of results. Could you file a bug in
launchpad?




Best regards,
Boris Pavlovic
--
Mirantis Inc.


On Thu, Nov 7, 2013 at 5:44 PM, Alexander Gorodnev
agorod...@mirantis.comwrote:

 Hi team,

 I experimented with rally yesterday and faced with some troubles. My test
 suite was simple enough and while running it I saw few backtraces on the
 screen. I captured backtraces and attached it as well as my test suit file.
 Also I tried to investigate this error and found that the test was doing
 sequence of GET requests, then doing DELETE request and then GET request
 again. I can conclude that it is some other result than we expect.

 Also when I'm trying to get details on my task I see the following error
 message:

 :~/rally$ openstack-rally task detailed
 648a583e-ba0a-426d-8d9f-ffeaac0a9a03


 
 Task 648a583e-ba0a-426d-8d9f-ffeaac0a9a03 is finished.

 

 test scenario NovaServers.snapshot_server
 args position 0
 args values:
 {u'args': {u'flavor_id': 42,
u'image_id': u'cfd22ffe-3c75-4c83-be58-9e9b316a7b64'},
  u'concurrent': 1,
  u'times': 1}
 Command failed, please check log for more info
 2013-11-07 17:36:10.140 30348 CRITICAL rally [-] max() arg is an empty
 sequence

 Any help would be appreciated.

 Thanks,
 Alexander

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] cinder metrics with nova-scheduler

2013-11-08 Thread John Griffith
On Thu, Nov 7, 2013 at 10:51 PM, Abbass MAROUNI
abbass.maro...@virtualscale.fr wrote:
 Hello,

 We want to be able to launch a VM with a number of cinder volumes on the
 same host (the host is a compute and a storage node).
 We're looking for a way to tell nova-scheduler to work with cinder-scheduler
 so that we can filter and weight hosts according to our needs.

 According to the documentation on nova-scheduler filters :

 DiskFilter : Only schedule instances on hosts if there are sufficient Disk
 available for ephemeral storage.

 Is there any implementation of a filter to check the persistence storage on
 a host ?
 Do you think that this feature is doable ?

 Best Regards,

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Hello Abbass,

Currently there is not a way to do this, however your request is very
timely as we just discussed this very use case at the summit today and
do have plans to work on it for the Icehouse release.

John

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] cinder metrics with nova-scheduler

2013-11-08 Thread Lingxian Kong
hi John:

is there a etherpad or something like wiki about that? I'm intereted in it
also. But my original thought is, vm is vm, volume is volume, they need be
handled separately using some unified mechanism, the result is, they are on
the same host.


2013/11/8 John Griffith john.griff...@solidfire.com

 On Thu, Nov 7, 2013 at 10:51 PM, Abbass MAROUNI
 abbass.maro...@virtualscale.fr wrote:
  Hello,
 
  We want to be able to launch a VM with a number of cinder volumes on the
  same host (the host is a compute and a storage node).
  We're looking for a way to tell nova-scheduler to work with
 cinder-scheduler
  so that we can filter and weight hosts according to our needs.
 
  According to the documentation on nova-scheduler filters :
 
  DiskFilter : Only schedule instances on hosts if there are sufficient
 Disk
  available for ephemeral storage.
 
  Is there any implementation of a filter to check the persistence storage
 on
  a host ?
  Do you think that this feature is doable ?
 
  Best Regards,
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 
 Hello Abbass,

 Currently there is not a way to do this, however your request is very
 timely as we just discussed this very use case at the summit today and
 do have plans to work on it for the Icehouse release.

 John

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 
*---*
*Lingxian Kong*
Huawei Technologies Co.,LTD.
IT Product Line CloudOS PDU
China, Xi'an
Mobile: +86-18602962792
Email: konglingx...@huawei.com; anlin.k...@gmail.com
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [Swift] cluster federation: Austin hackathon follow-up

2013-11-08 Thread Deliot, Eric
Hi,

Just before the Austin hackathon, we uploaded 5 patches related to the cluster 
federation blueprint

https://blueprints.launchpad.net/swift/+spec/cluster-federation

one of those patches, https://review.openstack.org/51242 dealt with the 
mechanics of forwarding data from a middleware component to/from a different 
cluster.  This patch had two goals:
1. Maximize code reuse while minimizing core code change: any new code is 
simple and doesn't impact connection management, or  the way the core handles 
data proxying between connections.
2. Refactor at the level of the ring and introduce the concept of a TargetRing 
to show that container-forwarding can be seen as a kind of storage policy 
while, again, minimizing core code change.

I have just pushed a new patch, https://review.openstack.org/55674  which 
presents an alternative way to achieve the code reuse objective by creating a 
swift/common/http_utils module that can be used by both middleware and core 
proxy-server code (and possibly other code as well such as backend daemons, 
container-sync being a possible candidate).
Like the first patch, it also includes a very basic piece of middleware that 
forwards all requests to a configured target cluster.

I am including more details about the patch further down so if you're 
interested, please keep reading.

I am interested in finding out which approach people prefer and get feedback on 
the patch itself.

Eric


More details
--
Most of the code complexity in http_utils comes from the fact that for object 
PUT data must be transferred between the client connection and the 
backends/target connection and, at the moment, this uses decoupling queues and 
extra threads to produce to / consume from the queues.  It is basically very 
close to the code from helper methods already in base.py and obj.py so reusing 
the code from http_utils in proxy-server means that the following code can be 
removed (only commented out for now):
base.py:  _make_app_iter
obj.py: _send_file plus a chunk of code embedded in PUT

Unlike the previous patch, this alternative patch has basic support for ssl 
based on the httplib.HTTPSConnection class used by bufferedhttp.py.  It may 
form a good basis for more generic use, in particular by the container-sync 
daemon which must interact with proxies from other clusters.  I understand 
there is a wish to remove the dependency on swiftclient in this daemon and the 
code in http_utils could be a good step forward towards that objective.

Both patches rely on a callback from proxy/server.py (just like already exists 
for calling back the authorization middleware) to give  a handle on the 
controller object that is created anew for each request.  The app given to a 
middleware at instantiation time is the next filter in the pipeline and only 
maps to the proxy-server application if the middleware is placed just before 
proxy-server in the paste-deploy config pipeline.  As far as I know, a callback 
from server.py is the only way a middleware can have a handle on proxy-server 
or a controller while being flexible about its placement in the pipeline.
In the case of the original patch, the handle on the controller is needed to be 
able to call reused controller methods such as make_requests, etc.  In the case 
of the alternative patch, only a handle on the proxy-server application is 
needed for http purposes so that configuration values (timeouts, queue depth, 
etc.) can be reused.  However, in both cases, a fully functional 
container-forwarding will require a handle on the controller to implement 
complex multi-container use cases (COPY, SLO, DLO, versioning) where forwarded 
containers could reside in different clusters.


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] ERROR : Unable to locate Volume Group stack-volumes

2013-11-08 Thread openstack learner
Hi all,

I am using devstack and sometimes when i do a ./unstack.sh and then
./stack.sh,
there is a Unable to locate Volume Group stack-volumes ERROR as followed.
Does anyone know what causes the error and  how to solve the issue? Before
i do the ./unstack.sh and redo ./stack.sh.  Everything looks good.

thanks
xin


2013-11-08 09:57:54.869 ERROR cinder.brick.local_dev.lvm
[req-3ccb7cde-b7bf-472a-afb6-c1e15b1cf589 None None] Unable to locate
Volume Group stack-volumes
2013-11-08 09:57:54.869 ERROR cinder.volume.manager
[req-3ccb7cde-b7bf-472a-afb6-c1e15b1cf589 None None] Error encountered
during initialization of driver: LVMISCSIDriver
2013-11-08 09:57:54.870 ERROR cinder.volume.manager
[req-3ccb7cde-b7bf-472a-afb6-c1e15b1cf589 None None] Bad or unexpected
response from the storage volume backend API: Volume Group stack-volumes
does not exist
2013-11-08 09:57:54.870 TRACE cinder.volume.manager Traceback (most recent
call last):
2013-11-08 09:57:54.870 TRACE cinder.volume.manager   File
/opt/stack/cinder/cinder/volume/manager.py, line 191, in init_host
2013-11-08 09:57:54.870 TRACE cinder.volume.manager
self.driver.check_for_setup_error()
2013-11-08 09:57:54.870 TRACE cinder.volume.manager   File
/opt/stack/cinder/cinder/volume/drivers/lvm.py, line 89, in
check_for_setup_error
2013-11-08 09:57:54.870 TRACE cinder.volume.manager raise
exception.VolumeBackendAPIException(data=message)
2013-11-08 09:57:54.870 TRACE cinder.volume.manager
VolumeBackendAPIException: Bad or unexpected response from the storage
volume backend API: Volume Group stack-volumes does not exist
2013-11-08 09:57:54.870 TRACE cinder.volume.manager
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Solum] Some initial code copying for db/migration

2013-11-08 Thread devdatta kulkarni
There are several different points being raised here,
all very interesting. Trying to separate them below.

1) Using objects as an abstraction for versioned data:
   This seems like a good direction overall, especially from the point-of-view
   of backwards compatibility of consumers of the object. However, after 
looking through some
   of the objects defined in nova/objects/, I am not sure if I understand how
   this works. Specifically, it is not clear to me how might the consumer of 
the 
   object be able to query different versions of it at runtime.


2) Using objects as an abstraction to support different kinds of backends
   (SQL and non-SQL backends):
   - Again, a good direction overall. From implementation point-of-view though
   this may become tricky, in the sense that the object layer would need to be
   designed with just the right amount of logic so as to be able to work with 
either 
   a SQL or a non-SQL backend. It will be good to see some examples of how this 
might 
   be done if there are any existing examples somewhere.


3) From Solum's point-of-view, the concern around the potential downtime
   that may be incurred in the API-layer because of breaking object model 
changes,
   and so, investigating how to design this correctly right from the start.
   - This is a valid concern. We will have to design for this at sometime or 
other anyways.
   Doing this first up might be good with regards to understanding how the 
decision of
   using versioned objects would tie with the API layer implemented in 
Pecan+WSME.
   I don't have much experience with either, so would love to hear about it 
from those who do.


Best Regards,
Devdatta


-Original Message-
From: Clayton Coleman ccole...@redhat.com
Sent: Thursday, November 7, 2013 8:26pm
To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.org
Cc: Dan Smith d...@danplanet.com
Subject: Re: [openstack-dev] [Solum] Some initial code copying for db/migration

- Original Message -

  https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L420

  https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L43
 
 This API and these models are what we are trying to avoid exposing to
 the rest of nova. By wrapping these in our NovaObject-based structures,
 we can bundle versioned data and methods together which is what we need
 for cross-version compatibility and parity for the parts of nova that
 are not allowed to talk to the database directly.
 
 See the code in nova/objects/* for the implementations. Right now, these
 just call into the db_api.py, but eventually we want to move the actual
 database implementation into the objects themselves and hopefully
 dispense with most or all of the sqlalchemy/* stuff. This also provides
 us the ability to use other persistence backends that aren't supported
 by sqlalchemy, or that don't behave like it does.
 
 If you're going to be at the summit, come to the objects session on
 Thursday where we'll talk about this in more detail. Other projects have
 expressed interest in moving the core framework into Oslo so that we're
 all doing things in roughly the same way. It would be good to get you
 started on the right way early on before you have the migration hassle
 we're currently enjoying in Nova :)
 
 --Dan
 

The summit session was excellent - next step for me is to look through what the 
right abstraction is going to be for objects that keeps the db details properly 
isolated and the API surface on /objects suitably coarse (in line with the long 
discussion in Nova about non-SQL backends, the consensus of which is that the 
domain object model needs to abstract whole interaction flows, vs granular 
steps).  I'll try to have some example code to debate after I get back from 
summit.

Even assuming Solum has a fairly small persistence model, in the long run I 
believe it's fair to say that the ability to perform live upgrades will become 
critical for all operators.  One of the side effects of supporting potentially 
millions of applications (at the high end, and not an unreasonable estimate for 
hosted environments) is that any period of downtime at the API level will 
prevent users from making deployments, which is a direct line-of-business 
concern.  Designing around live upgrades - specifically, the requirement that 
code must be aware of two versions of a schema at the same time - implies that 
the domain model must be able to be aware of those versions on an object basis. 
 For reference, [1] and [2] contain some of the Nova discussion, and Nova in 
icehouse is going to be moving this way.  I'd prefer (it's important to Red 
Hat) to design for that from the beginning and be working towards that end.

Do folks have additional questions or concerns about my exploration of a 
versioned domain object model from day one?  Are there others who would like to 
embrace quick and dirty and explicitly ignore this 

Re: [openstack-dev] [Off Topic] Sunday/Monday in Hong Kong

2013-11-08 Thread gustavo panizzo gfa
On 11/08/2013 06:09 PM, Chris Jones wrote:
 Hey

 I'm going to be staying in the Tsim Sha Tsui area of Hong Kong until
 late Monday - just wondering if any other folks are staying on and
 want to do interesting things?

 -- 
 Cheers,

 Chris


 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
same here

-- 
1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Solum] Some initial code copying for db/migration

2013-11-08 Thread Dan Smith
 1) Using objects as an abstraction for versioned data:
This seems like a good direction overall, especially from the point-of-view
of backwards compatibility of consumers of the object. However, after 
 looking through some
of the objects defined in nova/objects/, I am not sure if I understand how
this works. Specifically, it is not clear to me how might the consumer of 
 the 
object be able to query different versions of it at runtime.

The object registry is handled by the metaclass in objects/base.py. It
automatically collects objects that inherit from NovaObject, and allows
multiple versions of the same object to exist. We don't have anything
that needs to specifically ask the registry directly for foo object
version X, so there's no interface for doing that right now. We do,
however, have incoming objects over RPC that need to be re-hydrated,
with an is this compatible version check. We also have the ability to
downlevel an object using the obj_make_compatible() method. We are
planning to always roll the conductor code first, which means it can
take the newest version of an object from the schema (in whatever state
it's in) and backlevel it to the version being asked for by a remote RPC
client.

 2) Using objects as an abstraction to support different kinds of backends
(SQL and non-SQL backends):
- Again, a good direction overall. From implementation point-of-view though
this may become tricky, in the sense that the object layer would need to be
designed with just the right amount of logic so as to be able to work with 
 either 
a SQL or a non-SQL backend. It will be good to see some examples of how 
 this might 
be done if there are any existing examples somewhere.

We don't have any examples of using a non-SQL backend for general
persistence in Nova, which means we don't have an example of using
objects to hide it. If what NovaObject currently provides is not
sufficient to hide the intricacies of a non-SQL persistence layer, I
think it's probably best to build that on top of what we've got in the
object model.

 3) From Solum's point-of-view, the concern around the potential downtime
that may be incurred in the API-layer because of breaking object model 
 changes,
and so, investigating how to design this correctly right from the start.
- This is a valid concern. We will have to design for this at sometime or 
 other anyways.
Doing this first up might be good with regards to understanding how the 
 decision of
using versioned objects would tie with the API layer implemented in 
 Pecan+WSME.
I don't have much experience with either, so would love to hear about it 
 from those who do.

The ironic guys were mentioning that they'd like to have something a
little more native for WSME integration. I too am ignorant here, but I
think it sounded like they wanted some general way to take an object and
transform it into what gets exposed to the API client. Perhaps just a
pattern of standard methods on such objects would be sufficient. For
nova, maybe:

  class NovaAPIViewableThingy(NovaObject):
  def obj_api_view(self, context):
  if context.is_admin():
  return show_admin_stuff()
  else:
  return show_usery_stuff()

?

--Dan

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Shall backward compatibility env. vars be removed from python-clients?

2013-11-08 Thread Sam Morrison
I think you need to do option 2 and print deprecation warnings, then the 
question becomes for how long.

I think there is a policy for this and that it is deprecate in N remove in N+1
Clients are a bit different so maybe keep it for ~6 months?

Sam



On 8 Nov 2013, at 10:49 am, Leandro Costantino leandro.i.costant...@intel.com 
wrote:

 Hi all,
 
 Clients like python-novaclient/cinderclient/trove still support NOVA_*, 
 CINDER_*, TROVE_* variables for 
 backward compatibility support,while clients like 
 python-neutronclient/keystoneclient only supports OS_* env vars.
 
 
 The following bug (#1061491, see review), mentions that it may be confusing 
 if novaclient for instance, 
 silently accept those variables without even being mentioned on the current 
 help/documentation neither warning the user at all. 
 (User has exported NOVA_USERNAME/CINDER_USERNAME/etc instead of OS_USERNAME 
 etc.)
 
 As Kevin suggested on the review, (https://review.openstack.org/#/c/55588/) 
 “we need to make sure that we have consensus that enough time has  passed to 
 drop the old variables”.
 
 I would like to hear opinions about this. Some options that i can think of 
 are:
 
 1) Remove NOVA_USERNAME, NOVA_PASSWORD and NOVA_PROJECT_ID support 
   from novaclient. Same for other clients allowing vars other than 
 OS_USERNAME,
   OS_PASSWORD, OS_TENANT_ID for this specific options.
 2) Warn about deprecation if they are being used.
 3) Ignore this topic, keep everything as today and just close the 
 'bug/suggestion'.
 4) Other?
 
 Best Regards
 -Leandro
 
 PS: shall this message belong to another ML, please, let me know.
 
 
 
 
 
 
 
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev