[openstack-dev] [swiftclient]Implement swift service-list in python-swiftclient

2014-09-10 Thread Ashish Chandra
Hi,

In Horizon dashboard, under Admin- System Info we have service lists for
Compute and Block Storage. I have filed a blueprint to populate the Swift
services there.
But while going through the implementation details of Compute Services and
Block Storage Services i got to know that the details there is populated
through api calls to python-novaclient and python-cinderclient respectively
which in turn uses nova service-list and cinder service-list to return
the details.

Whereas no such method is implemented in python-swiftclient to get the list
of services.

So my question is,
Do we have plans to include swift service-list in swiftclient ?
If yes then I would be filing a blueprint in python-swiftclient to
implement the same coz I require it to populate under the Admin - System
Info - Object Storage Services.

As a side note I can also see it has also not been implemented in some
other services like glance and heat. Is it a design decision or the feature
has not been simply impemented.

Thanks and Regards

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


Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Clint Byrum
Excerpts from Samuel Merritt's message of 2014-09-09 19:04:58 -0700:
 On 9/9/14, 4:47 PM, Devananda van der Veen wrote:
  On Tue, Sep 9, 2014 at 4:12 PM, Samuel Merritt s...@swiftstack.com wrote:
  On 9/9/14, 12:03 PM, Monty Taylor wrote:
  [snip]
  So which is it? Because it sounds like to me it's a thing that actually
  does NOT need to diverge in technology in any way, but that I've been
  told that it needs to diverge because it's delivering a different set of
  features - and I'm pretty sure if it _is_ the thing that needs to
  diverge in technology because of its feature set, then it's a thing I
  don't think we should be implementing in python in OpenStack because it
  already exists and it's called AMQP.
 
 
  Whether Zaqar is more like AMQP or more like email is a really strange
  metric to use for considering its inclusion.
 
 
  I don't find this strange at all -- I had been judging the technical
  merits of Zaqar (ex-Marconi) for the last ~18 months based on the
  understanding that it aimed to provide Queueing-as-a-Service, and
  found its delivery of that to be lacking on technical grounds. The
  implementation did not meet my view of what a queue service should
  provide; it is based on some serious antipatterns (storing a queue in
  an RDBMS is probably the most obvious); and in fact, it isn't even
  queue-like in the access patterns enabled by the REST API (random
  access to a set != a queue). That was the basis for a large part of my
  objections to the project over time, and a source of frustration for
  me as the developers justified many of their positions rather than
  accepted feedback and changed course during the incubation period. The
  reason for this seems clear now...
 
  As was pointed out in the TC meeting today, Zaqar is (was?) actually
  aiming to provide Messaging-as-a-Service -- not queueing as a service!
  This is another way of saying it's more like email and less like
  AMQP, which means my but-its-not-a-queue objection to the project's
  graduation is irrelevant, and I need to rethink about all my previous
  assessments of the project.
 
  The questions now before us are:
  - should OpenStack include, in the integrated release, a
  messaging-as-a-service component?
 
 I certainly think so. I've worked on a few reasonable-scale web 
 applications, and they all followed the same pattern: HTTP app servers 
 serving requests quickly, background workers for long-running tasks, and 
 some sort of durable message-broker/queue-server thing for conveying 
 work from the first to the second.
 
 A quick straw poll of my nearby coworkers shows that every non-trivial 
 web application that they've worked on in the last decade follows the 
 same pattern.
 
 While not *every* application needs such a thing, web apps are quite 
 common these days, and Zaqar satisfies one of their big requirements. 
 Not only that, it does so in a way that requires much less babysitting 
 than run-your-own-broker does.
 

I think you missed the distinction.

What you describe is _message queueing_. Not messaging. The difference
being the durability and addressability of each message.

As Devananda pointed out, a queue doesn't allow addressing the items in
the queue directly. You can generally only send, receive, ACK, or NACK.

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


Re: [openstack-dev] [nova][neutron] default allow security group

2014-09-10 Thread Baohua Yang
Not arguing if it's suitable to implement this with security-group commands.

To solve the problem, I guess no 20 rules are necessary at all.

You can just add one rules like the following to allow all traffic going
out of the vm.

iptables -I neutron-openvswi-o9LETTERID -j RETURN
Where the id part is the first 9 letters of the vm attached port id.
This rule will bypass all security filtering for the outgoing traffic.

On Fri, Sep 5, 2014 at 11:27 PM, Monty Taylor mord...@inaugust.com wrote:

 Hi!

 I've decided that as I have problems with OpenStack while using it in the
 service of Infra, I'm going to just start spamming the list.

 Please make something like this:

 neutron security-group-create default --allow-every-damn-thing

 Right now, to make security groups get the hell out of our way because
 they do not provide us any value because we manage our own iptables, it
 takes adding something like 20 rules.

 15:24:05  clarkb | one each for ingress and egress udp tcp over
 ipv4 then ipv6 and finaly icmp

 That may be great for someone using my-first-server-pony, but for me, I
 know how the internet works, and when I ask for a server, I want it to just
 work.

 Now, I know, I know - the DEPLOYER can make decisions blah blah blah.

 BS

 If OpenStack is going to let my deployer make the absolutely assinine
 decision that all of my network traffic should be blocked by default, it
 should give me, the USER, a get out of jail free card.

 kthxbai

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




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


Re: [openstack-dev] [Heat] convergence flow diagrams

2014-09-10 Thread Clint Byrum
Excerpts from Angus Salkeld's message of 2014-09-08 17:15:04 -0700:
 On Mon, Sep 8, 2014 at 11:22 PM, Tyagi, Ishant ishant.ty...@hp.com wrote:
 
   Hi All,
 
 
 
  As per the heat mid cycle meetup whiteboard, we have created the
  flowchart and sequence diagram for the convergence . Can you please review
  these diagrams and provide your feedback?
 
 
 
  https://www.dropbox.com/sh/i8qbjtgfdxn4zx4/AAC6J-Nps8J12TzfuCut49ioa?dl=0
 
 
 Great! Good to see something.
 
 
 I was expecting something like:
 engine ~= like nova-conductor (it's the only process that talks to the db -
 make upgrading easier)

This complicates things immensely. The engine can just be the workers
too, we're just not going to do the observing and converging in the same
greenthread.

 observer - purely gets the actual state/properties and writes then to the
 db (via engine)

If you look closely at the diagrams, thats what it does.

 worker - has a job queue and grinds away at running those (resource
 actions)
 

The convergence worker is just another set of RPC API calls that split
out work into isolated chunks.

 Then engine then triggers on differences on goal vs. actual state and
 create a job and sends it to the job queue.

Remember, we're not targeting continuous convergence yet. Just
convergence when we ask for things.

 - so, on create it sees there is no actual state so it sends a create job
 for the first resource to the worker queue

The diagram shows that, but confusingly says is difference = 1. In
the original whiteboard this is 'if diff = DNE'. DNE stands for Does
Not Exist.

 - when the observer writes the new state for that resource it triggers the
 next resource create in the dependency tree.

Not the next resource create, but the next resource convergence. And not
just one either. I think one of the graphs was forgotten, it goes like
this:

https://www.dropbox.com/s/1h2ee151iriv4i1/resolve_graph.svg?dl=0

That is what we called return happy because we were at hour 9 or so of
talking and we got a bit punchy. I've renamed it 'resolve_graph'.

 - like any system that relies on notifications we need timeouts and each
 stack needs a periodic notification to make sure


This is, again, the continuous observer model.

https://review.openstack.org/#/c/100012/

   that progress is been made or notify the user that no progress is being
 made.
 
 One question about the observer (in either my setup or the one in the
 diagram).
 - If we are relying on rpc notifications all the observer processes will
 receive a copy of the same notification

Please read that spec. We talk about a filter.

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


Re: [openstack-dev] [All] Maintenance mode in OpenStack during patching/upgrades

2014-09-10 Thread Tim Bell
It would be great if each OpenStack component could provide a maintenance mode 
like this… there was some work being considered on Cells 
https://blueprints.launchpad.net/nova/+spec/disable-child-cell-support which 
would have allowed parts of Nova to indicate they were in maintenance.

Something generic would be very useful. Some operators have asked for 
‘read-only’ modes also where query is OK but update is not permitted.

Tim

From: Mike Scherbakov [mailto:mscherba...@mirantis.com]
Sent: 09 September 2014 23:20
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [All] Maintenance mode in OpenStack during 
patching/upgrades

Sergii, Clint,
to rephrase what you are saying - there are might be situations when our 
OpenStack API will not be responding, as simply services would be down for 
upgrade.
Do we want to support it somehow? For example, if we know that Nova is going to 
be down, can we respond with HTTP 503 with appropriate Retry-After time in 
header?

The idea is not simply deny or hang requests from clients, but provide them we 
are in maintenance mode, retry in X seconds

 Turbo Hipster was added to the gate
great idea, I think we should use it in Fuel too

 You probably would want 'nova host-servers-migrate host'
yeah for migrations - but as far as I understand, it doesn't help with 
disabling this host in scheduler - there is can be a chance that some workloads 
will be scheduled to the host.


On Tue, Sep 9, 2014 at 6:02 PM, Clint Byrum 
cl...@fewbar.commailto:cl...@fewbar.com wrote:
Excerpts from Mike Scherbakov's message of 2014-09-09 00:35:09 -0700:
 Hi all,
 please see below original email below from Dmitry. I've modified the
 subject to bring larger audience to the issue.

 I'd like to split the issue into two parts:

1. Maintenance mode for OpenStack controllers in HA mode (HA-ed
Keystone, Glance, etc.)
2. Maintenance mode for OpenStack computes/storage nodes (no HA)

 For first category, we might not need to have maintenance mode at all. For
 example, if we apply patching/upgrade one by one node to 3-node HA cluster,
 2 nodes will serve requests normally. Is that possible for our HA solutions
 in Fuel, TripleO, other frameworks?

You may have a broken cloud if you are pushing out an update that
requires a new schema. Some services are better than others about
handling old schemas, and can be upgraded before doing schema upgrades.
But most of the time you have to do at least a brief downtime:

 * turn off DB accessing services
 * update code
 * run db migration
 * turn on DB accessing services

It is for this very reason, I believe, that Turbo Hipster was added to
the gate, so that deployers running against the upstream master branches
can have a chance at performing these upgrades in a reasonable amount of
time.


 For second category, can not we simply do nova-manage service disable...,
 so scheduler will simply stop scheduling new workloads on particular host
 which we want to do maintenance on?


You probably would want 'nova host-servers-migrate host' at that
point, assuming you have migration set up.

http://docs.openstack.org/user-guide/content/novaclient_commands.html

 On Thu, Aug 28, 2014 at 6:44 PM, Dmitry Pyzhov 
 dpyz...@mirantis.commailto:dpyz...@mirantis.com wrote:

  All,
 
  I'm not sure if it deserves to be mentioned in our documentation, this
  seems to be a common practice. If an administrator wants to patch his
  environment, he should be prepared for a temporary downtime of OpenStack
  services. And he should plan to perform patching in advance: choose a time
  with minimal load and warn users about possible interruptions of service
  availability.
 
  Our current implementation of patching does not protect from downtime
  during the patching procedure. HA deployments seems to be more or less
  stable. But it looks like it is possible to schedule an action on a compute
  node and get an error because of service restart. Deployments with one
  controller... well, you won’t be able to use your cluster until the
  patching is finished. There is no way to get rid of downtime here.
 
  As I understand, we can get rid of possible issues with computes in HA.
  But it will require migration of instances and stopping of nova-compute
  service before patching. And it will make the overall patching procedure
  much longer. Do we want to investigate this process?
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.orgmailto:OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 
 


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



--
Mike Scherbakov
#mihgen
___
OpenStack-dev mailing list

Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Flavio Percoco
On 09/10/2014 01:47 AM, Devananda van der Veen wrote:
 On Tue, Sep 9, 2014 at 4:12 PM, Samuel Merritt s...@swiftstack.com wrote:
 On 9/9/14, 12:03 PM, Monty Taylor wrote:
 [snip]
 So which is it? Because it sounds like to me it's a thing that actually
 does NOT need to diverge in technology in any way, but that I've been
 told that it needs to diverge because it's delivering a different set of
 features - and I'm pretty sure if it _is_ the thing that needs to
 diverge in technology because of its feature set, then it's a thing I
 don't think we should be implementing in python in OpenStack because it
 already exists and it's called AMQP.


 Whether Zaqar is more like AMQP or more like email is a really strange
 metric to use for considering its inclusion.

 
 I don't find this strange at all -- I had been judging the technical
 merits of Zaqar (ex-Marconi) for the last ~18 months based on the
 understanding that it aimed to provide Queueing-as-a-Service, and
 found its delivery of that to be lacking on technical grounds. The
 implementation did not meet my view of what a queue service should
 provide; it is based on some serious antipatterns (storing a queue in
 an RDBMS is probably the most obvious); and in fact, it isn't even
 queue-like in the access patterns enabled by the REST API (random
 access to a set != a queue). That was the basis for a large part of my
 objections to the project over time, and a source of frustration for
 me as the developers justified many of their positions rather than
 accepted feedback and changed course during the incubation period. The
 reason for this seems clear now...

Let me clarify some points, again:

1. We have never said that our recommended driver is an RBDMS. That
driver was added for reasons that were already explained in this thread.[0]

2. The get-message-by-id feature/bug was not added as 'queue' feature.
When we added it, we were working on messages pagination, that is, a way
to iterate and keep getting messages out of the queue by following the
lead of the last message. When the pagination thing was completed,
adding the get-message-by-id endpoint was easy and cheap, hence we added
it. Our current API version is 1.1 and we *can't* remove that endpoint
until the next major version.

3. You saying that we just justified our positions rather than accepting
the feedback is what frustrates me the most and it just means, with all
due respect, that you haven't followed the project close enough. We've
addressed feedback from *EVERYONE* whenever that was possible. As far as
I can see, your frustration is mostly related to the fact that we
haven't removed the `get-message-by-id` endpoint but as I've mentioned,
we can't do it right now. However, we have talked about it several times
in meetings and a couple of times on the mailing list.[1][2]


[0]
http://lists.openstack.org/pipermail/openstack-dev/2014-March/030367.html
[1] http://lists.openstack.org/pipermail/openstack-dev/2014-May/036131.html
[2]
http://lists.openstack.org/pipermail/openstack-dev/2014-August/044213.html

 
 As was pointed out in the TC meeting today, Zaqar is (was?) actually
 aiming to provide Messaging-as-a-Service -- not queueing as a service!
 This is another way of saying it's more like email and less like
 AMQP, which means my but-its-not-a-queue objection to the project's
 graduation is irrelevant, and I need to rethink about all my previous
 assessments of the project.

Zaqar is a messaging service, we changed that almost right before the
Juno summit to help clarify the project goals. [0]

[0] https://wiki.openstack.org/wiki/Zaqar#Overview

 
 The questions now before us are:
 - should OpenStack include, in the integrated release, a
 messaging-as-a-service component?
 - is Zaqar a technically sound implementation of such a service?

I believe there is. I've been collecting use-cases from integrated
projects and other users. I've put them here[0]

[0] https://etherpad.openstack.org/p/zaqar-integrated-projects-use-cases

 
 As an aside, there are still references to Zaqar as a queue in both
 the wiki [0], in the governance repo [1], and on launchpad [2].

I'm sorry about this, apparently the change was not spread enough
throughout our community, again.


Thanks for your feedback,
Flavio

 
 
 [0] Multi-tenant queues based on Keystone project IDs
   https://wiki.openstack.org/wiki/Zaqar#Key_features
 
 [1] Queue service is even the official OpenStack Program name, and
 the mission statement starts with To produce an OpenStack message
 queueing API and service.
   
 http://git.openstack.org/cgit/openstack/governance/tree/reference/programs.yaml#n315
 
 [2] Zaqar is a new OpenStack project to create a multi-tenant cloud
 queuing service
   https://launchpad.net/zaqar
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 


-- 
@flaper87
Flavio Percoco


Re: [openstack-dev] [TripleO] Review metrics - what do we want to measure?

2014-09-10 Thread James Polley
There was some discussion of this topic during today's meeting.

Full notes are at
http://eavesdrop.openstack.org/meetings/tripleo/2014/tripleo.2014-09-09-19.04.log.html
starting around 19:24

To summarise, we had one action item, and one comment from dprince which
attracted broad agreement, and which I think is worth repeating here:

19:34:26 tchaypo #action bnemec to look at adding a report of items that
have a -1 from a core but no response for 14 days, as a first step towards
possibly auto-WIPing these patches

19:41:54 dprince I sort of feel like all the focus on stats in our
meetings is going to encourage people to game them (i.e. fly by reviews)
19:42:13 dprince when what we really need is ownershipt to push through
the important things...
19:42:45 * dprince thinkgs stats are becoming a TripleO waste of time
19:44:12 jp_at_hp stats not important, being active and responsive enough
to not push new contributors away does matter
19:44:51 lifeless jp_at_hp: I agree; the stats are a tool, not the thing
itself.

On Fri, Sep 5, 2014 at 9:47 PM, Sullivan, Jon Paul jonpaul.sulli...@hp.com
wrote:

  -Original Message-
  From: Jay Dobies [mailto:jason.dob...@redhat.com]
  Sent: 04 September 2014 18:24
  To: openstack-dev@lists.openstack.org
  Subject: Re: [openstack-dev] [TripleO] Review metrics - what do we want
  to measure?
 
   It can, by running your own... but again it seems far better for core
   reviewers to decide if a change has potential or needs to be
   abandoned--that way there's an accountable human making that
   deliberate choice rather than the review team hiding behind an
   automated process so that no one is to blame for hurt feelings
   besides the infra operators who are enforcing this draconian measure
   for you.
  
   The thing is that it's also pushing more work onto already overloaded
   core review teams.  Maybe submitters don't like auto-abandon, but I
   bet they like having a core reviewer spending time cleaning up dead
   reviews instead of reviewing their change even less.
  
   TBH, if someone's offended by the bot then I can't imagine how
   incensed they must be when a human does the same thing.  The bot
   clearly isn't making it personal, and even if the human isn't either
   it's much easier to have misunderstandings (see also every over-
  reaction to a -1 ever).
  
   I suppose it makes it easier for cores to ignore reviews, but from the
   other discussions I've read that hasn't gone away just because
   auto-abandon did, so I'm not convinced that's a solution anyway.
 
  +1, I don't think it'll come as much of a shock if a -1 review gets
  closed due to time without progress.

 +1 to auto-abandon.

 Taking an excerpt from Dereks mail:

  A patch got negative feedback and we're automating the process
  to prompt the submitter to deal with it. It may be more friendly if it
  was a 2 step process
1. (after a few days if inactivity) Add a comment saying you got
  negative feedback with suggestions of how to proceed and information
  that the review will be autoabandoned if nothing is done in X number of
  days.
2. Auto abandon patch, with as much information as possible on how to
  reopen if needed.

 This sounds like the best solution.  A 1 week warning and a 2 week
 abandoning.

 It is about as welcoming as this sort of thing could be for a new
 committer, whilst also avoiding an ever-growing backlog of changes that
 will never see attention because the submitter has moved on to other things.

 There is also the benefit of prompting submitters into action when things
 get auto-abandoned, rather than them having sitting at priority #2 or #3
 forever.

 I was never particularly upset over the auto-abandon, just click a single
 button in the ui and get on with it.

 
   /2 cents
  
  
   To make the whole process a little friendlier we could increase
   the time frame from 1 week to 2.
  
   snarkHow about just automatically abandon any new change as soon
   as it's published, and if the contributor really feels it's
   important they'll unabandon it./snark
  
  
  
   ___
   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
 Thanks,
 Jon-Paul Sullivan ☺ Cloud Services - @hpcloud

 Postal Address: Hewlett-Packard Galway Limited, Ballybrit Business Park,
 Galway.
 Registered Office: Hewlett-Packard Galway Limited, 63-74 Sir John
 Rogerson's Quay, Dublin 2.
 Registered Number: 361933

 The contents of this message and any attachments to it are confidential
 and may be legally privileged. If you have received this message in error
 you should delete it from your system immediately and advise the sender.

 To any recipient of this message within 

[openstack-dev] [Neutron][QoS] Applying QoS as Quota

2014-09-10 Thread Giuseppe Cossu
Hello everyone,

Looking at the QoS blueprint (proposed for incubation), I suggest to
consider adding some parameters to Neutron Quotas. Let's suppose using
rate-limit for managing QoS. The quota parameters could be such as
rate_limit (per port) and max_bandwidth (per tenant). In this way it is
possible to set/manage QoS quotas from the admin side, and for instance
set the maximum bandwidth allowed per tenant (cumulative).

What do you think about it?

 

Regards,

Giuseppe

 



Giuseppe Cossu

CREATE-NET



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


Re: [openstack-dev] [all] i need some help on this bug Bug #1365892

2014-09-10 Thread Li Tianqing
After some research, i find the reason for the cycle reference. In closure, the 
_fix_paswords.func_closre reference the _fix_passwords. So the
cycle reference happened. 
And  in https://thp.io/2012/python-gc/python_gc_final_2012-01-22.pdf page 5, it 
says that 
We observe that Python implementations with distinct GCs behave differently: 
CPython does not even try to get the order of finalizers right, and
simply puts uncollectable objects into the global list of garbage for the 
developer to deal with manually.
So the gc can not handle cycle reference, then the memory leak happened. 


If there is something wrong, please fix it. Thanks


--

Best
Li Tianqing

在 2014-09-10 11:52:28,Li Tianqing jaze...@163.com 写道:

Hello,
I use backdoor of eventlet to enable gc.DEBUG_LEAK, and after wait a few 
minutes, i can sure that there will some objects that can not be collected by 
gc.collect in gc.garbage. 
Those looks like this (catched in ceilometer-collector)


['_context_auth_token', 'auth_token', 'new_pass'],
 (cell at 0x363bc58: list object at 0x361c170,
  cell at 0x363bda8: function object at 0x361a5f0),
 function _fix_passwords at 0x361a5f0,
 cell at 0x363bde0: list object at 0x363c680,
 cell at 0x363bd70: function object at 0x361a668,
 ['_context_auth_token', 'auth_token', 'new_pass'],
 (cell at 0x363bde0: list object at 0x363c680,
  cell at 0x363bd70: function object at 0x361a668),
 function _fix_passwords at 0x361a668,
 cell at 0x363bf30: list object at 0x361b680,
 cell at 0x363e168: function object at 0x361a758,
 ['_context_auth_token', 'auth_token', 'new_pass'],
 (cell at 0x363bf30: list object at 0x361b680,
  cell at 0x363e168: function object at 0x361a758),
 function _fix_passwords at 0x361a758,
 cell at 0x363e1a0: list object at 0x363cdd0,
 cell at 0x363e130: function object at 0x361a7d0,


and i suspect those code in oslo.messaging


def _safe_log(log_func, msg, msg_data):
Sanitizes the msg_data field before logging.
SANITIZE = ['_context_auth_token', 'auth_token', 'new_pass']


def _fix_passwords(d):
Sanitizes the password fields in the dictionary.
for k in d.iterkeys():
if k.lower().find('password') != -1:
d[k] = 'SANITIZED'
elif k.lower() in SANITIZE:
d[k] = 'SANITIZED'
elif isinstance(d[k], dict):
_fix_passwords(d[k])
return d


return log_func(msg, _fix_passwords(copy.deepcopy(msg_data)))


i can resolve this problem by add _fix_passwords = None before _safe_log 
returns.


But i do not really understand why this problem happened, and in depth why the 
gc can not collect those object. Although i can make those uncollectable 
objects disappeared.
But this is not good enough, because if you do not understand it you will write 
out some code like this in future, and then also has memory leak too.


So can some one helps me give some detailed on recursive closure used like the 
code above, and on why gc can not collect them.
Thanks a lot lot ..


--

Best
Li Tianqing


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


Re: [openstack-dev] [Neutron][QoS] Applying QoS as Quota

2014-09-10 Thread Kevin Benton
Using the quota system would be a nice option to have.

Can you clarify what you mean by cumulative bandwidth for the tenant? It
would be possible to rate limit at the tenant router, but having a
cumulative limit enforced inside of a tenant would be difficult.

On Wed, Sep 10, 2014 at 1:03 AM, Giuseppe Cossu 
giuseppe.co...@create-net.org wrote:

 Hello everyone,

 Looking at the QoS blueprint (proposed for incubation), I suggest to
 consider adding some parameters to Neutron Quotas. Let’s suppose using
 rate-limit for managing QoS. The quota parameters could be such as
 rate_limit (per port) and max_bandwidth (per tenant). In this way it is
 possible to set/manage QoS quotas from the admin side, and for instance set
 the maximum bandwidth allowed per tenant (cumulative).

 What do you think about it?



 Regards,

 Giuseppe



 

 Giuseppe Cossu

 CREATE-NET

 

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




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


[openstack-dev] [third party] New driver - questions regarding the process

2014-09-10 Thread Eduard Matei
Hi guys,

We (CloudFounders) have been working on developing a storage solution
that we want to integrate in OpenStack (we will release the software
component as open source).


From what i saw in the mailing list here we missed the Juno release so
i guess we'll have to wait until Kilo.


The status of the integration is currently:

- driver: minimal functionality required for J (95%, small issues with
upload_to_image)

- unit testing and automated testing: covered minimal functionality,
validation on backend (failing test for upload)

- certification tests: passing, except 4 tests for upload

- cinder unit tests and integration tests: passing

- blueprint/specs: in progress

- third-party CI: almost complete

- company CLA and user CLA: almost complete


Now for some questions:

- first, did i miss anything in the checklist above?

- once functionality is complete and tests are passing, the next steps
are to create the blueprint and create a blueprint topic branch and
get the code reviewed? or is there something else required first?

- should we include also the automated tests in the code commit? (we
have tests that setup the backend and require our software component
to be installed, this wouldn't make sense to run on other setups since
all tests would be failing due to missing dependencies)


The code is available at the moment on a bitbucket repo but we're
moving to github as soon as possible.


Thanks,

Eduard




*Eduard Biceri Mate, Senior Software Developer*
www.cloudfounders.com
 | eduard.ma...@cloudfounders.com



*CloudFounders, The Private Cloud Software Company*

Disclaimer:
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed.
If you are not the named addressee or an employee or agent responsible
for delivering this message to the named addressee, you are hereby
notified that you are not authorized to read, print, retain, copy or
disseminate this message or any part of it. If you have received this
email in error we request you to notify us by reply e-mail and to
delete all electronic files of the message. If you are not the
intended recipient you are notified that disclosing, copying,
distributing or taking any action in reliance on the contents of this
information is strictly prohibited.
E-mail transmission cannot be guaranteed to be secure or error free as
information could be intercepted, corrupted, lost, destroyed, arrive
late or incomplete, or contain viruses. The sender therefore does not
accept liability for any errors or omissions in the content of this
message, and shall have no liability for any loss or damage suffered
by the user, which arise as a result of e-mail transmission.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova][neutron][cinder] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Daniel P. Berrange
On Tue, Sep 09, 2014 at 05:14:43PM -0700, Stefano Maffulli wrote:
  To me, this means you don't really want a sin bin where you dump
  drivers and tell them not to come out until they're fit to be
  reviewed by the core; You want a trusted driver community which does
  its own reviews and means the core doesn't have to review them.
 
 I think we're going somewhere here, based on your comment and other's:
 we may achieve some result if we empower a new set of people to manage
 drivers, keeping them in the same repositories where they are now. This
 new set of people may not be the current core reviewers but other with
 different skillsets and more capable of understanding the driver's
 ecosystem, needs, motivations, etc.
 
 I have the impression this idea has been circling around for a while but
 for some reason or another (like lack of capabilities in gerrit and
 other reasons) we never tried to implement it. Maybe it's time to think
 about an implementation. We have been thinking about mentors
 https://wiki.openstack.org/wiki/Mentors, maybe that's a way to go?
 Sub-team with +1.5 scoring capabilities?

I think that setting up subteams is neccessary to stop us imploding but
I don't think it is enough. As long as we have one repo we're forever
going to have conflict  contention in deciding which features to accept,
which is a big factor in problems today. I favour the strong split of the
drivers into separate repositories to remove the contente between the
teams as much as is practical.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

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


Re: [openstack-dev] [TripleO] Review metrics - what do we want to measure?

2014-09-10 Thread Steven Hardy
On Thu, Sep 04, 2014 at 01:54:20PM +, Jeremy Stanley wrote:
 On 2014-09-04 11:01:55 +0100 (+0100), Derek Higgins wrote:
 [...]
  How would people feel about turning [auto-abandon] back on?
 
 A lot of reviewers (myself among them) feel auto-abandon was a
 cold and emotionless way to provide feedback on a change. Especially
 on high-change-volume projects where core reviewers may at times get
 sucked into triaging other problems for long enough that the
 auto-abandoner kills lots of legitimate changes (possibly from
 new contributors who will get even more disgusted by this than the
 silence itself and walk away indefinitely with the impression that
 we really aren't a welcoming development community at all).

I can understand this argument, and perhaps an auto-abandon with a long
period like say a month for the submitter to address comments and reset the
clock would be a reasonable compromise?

The problem we have now, is there is a constantly expanding queue of zombie
reviews, where the submitter got some negative feedback and, for whatever
reason, has chosen not to address it.

For example, in my Incoming reviews queue on the gerrit dashboard, I've
got reviews I (or someone) -1'd over four months ago, with zero feedback
from the submitter, what value is there to these reviews cluttering up the
dashboard for every reviewer?

To make matters worse Jenkins comes along periodically and rechecks or
figures out the patch merge failed and bumps the zombie back up to the top
of the queue - obviously I don't realise that it's not a human comment I
need to read until I've expended effort clicking on the review and reading
it :(

From a reviewer perspective, it's impossible, and means the review
dashboard is basically unusable without complex queries to weed out the
active reviews from the zombies.

  Can it be done on a per project basis?
 
 It can, by running your own... but again it seems far better for
 core reviewers to decide if a change has potential or needs to be
 abandoned--that way there's an accountable human making that
 deliberate choice rather than the review team hiding behind an
 automated process so that no one is to blame for hurt feelings
 besides the infra operators who are enforcing this draconian measure
 for you.

With all the threads about core-reviewer overload, I think it's
unreasonable to expect us to scrub the review queue making daily judgements
on whether a patch should be abandoned, and I'd argue that a human
abandoning another human's patch has much more demotivating impact on
contributors than a clearly documented automated process that you must
address negative review comments within a set period or your review will
expire.

If you think about mailing list patch workflow, it's similar - you post
your patch, get email review feedback, then post new reviews with fixes.
If you fail to post new reviews with fixes, your review falls out the
bottom of people's inboxes and you don't get your patch merged.

 
  To make the whole process a little friendlier we could increase
  the time frame from 1 week to 2.
 
 snarkHow about just automatically abandon any new change as soon
 as it's published, and if the contributor really feels it's
 important they'll unabandon it./snark

I think that's a pretty unfair comment - all reviewers and most
contributors are working really hard, all we're asking for is that
contributors work with reviewers to get their patch into shape withing a
reasonable time. :(

As someone who's drinking from the firehose every day with a seemingly
insurmountable review queue, I'd rather we worked towards processes which
help us manage the workload in a sustainable way, rather than turning the
review queue into the zombie-soup-of-dispair it currently is.

All we need is two things:

1. A way to automatically escalate reviews which have no feedback at all
from core reviewers within a reasonable time (say a week or two)

2. A way to automatically remove reviews from the queue which have core
negative feedback with no resolution within a reasonable time (say a month
or several weeks, so it's not percieved contributor-hostile).

Note (2) still allows core reviewers to decide if a change has potential,
it just becomes opt-in, e.g we have to address the issues which prevent us
giving it positive feedback, either by directly working with the
contributor, or delegating the work to an active contributor if the
original patch author has decided not to continue work on the patch.

Ultimately, it's not just about reviews - who's going to maintain all these
features if the author is not committed enough to post just one patch a month
while getting it through the review process? Oh wait, that'll be another
job for the core team won't it?

Steve

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


Re: [openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]

2014-09-10 Thread Flavio Percoco
On 09/09/2014 09:03 PM, Monty Taylor wrote:
 On 09/04/2014 01:30 AM, Clint Byrum wrote:
 Excerpts from Flavio Percoco's message of 2014-09-04 00:08:47 -0700:
 Greetings,

 Last Tuesday the TC held the first graduation review for Zaqar. During
 the meeting some concerns arose. I've listed those concerns below with
 some comments hoping that it will help starting a discussion before the
 next meeting. In addition, I've added some comments about the project
 stability at the bottom and an etherpad link pointing to a list of use
 cases for Zaqar.


 Hi Flavio. This was an interesting read. As somebody whose attention has
 recently been drawn to Zaqar, I am quite interested in seeing it
 graduate.

 # Concerns

 - Concern on operational burden of requiring NoSQL deploy expertise to
 the mix of openstack operational skills

 For those of you not familiar with Zaqar, it currently supports 2 nosql
 drivers - MongoDB and Redis - and those are the only 2 drivers it
 supports for now. This will require operators willing to use Zaqar to
 maintain a new (?) NoSQL technology in their system. Before expressing
 our thoughts on this matter, let me say that:

  1. By removing the SQLAlchemy driver, we basically removed the
 chance
 for operators to use an already deployed OpenStack-technology
  2. Zaqar won't be backed by any AMQP based messaging technology for
 now. Here's[0] a summary of the research the team (mostly done by
 Victoria) did during Juno
  3. We (OpenStack) used to require Redis for the zmq matchmaker
  4. We (OpenStack) also use memcached for caching and as the oslo
 caching lib becomes available - or a wrapper on top of dogpile.cache -
 Redis may be used in place of memcached in more and more deployments.
  5. Ceilometer's recommended storage driver is still MongoDB,
 although
 Ceilometer has now support for sqlalchemy. (Please correct me if I'm
 wrong).

 That being said, it's obvious we already, to some extent, promote some
 NoSQL technologies. However, for the sake of the discussion, lets assume
 we don't.

 I truly believe, with my OpenStack (not Zaqar's) hat on, that we can't
 keep avoiding these technologies. NoSQL technologies have been around
 for years and we should be prepared - including OpenStack operators - to
 support these technologies. Not every tool is good for all tasks - one
 of the reasons we removed the sqlalchemy driver in the first place -
 therefore it's impossible to keep an homogeneous environment for all
 services.


 I whole heartedly agree that non traditional storage technologies that
 are becoming mainstream are good candidates for use cases where SQL
 based storage gets in the way. I wish there wasn't so much FUD
 (warranted or not) about MongoDB, but that is the reality we live in.

 With this, I'm not suggesting to ignore the risks and the extra burden
 this adds but, instead of attempting to avoid it completely by not
 evolving the stack of services we provide, we should probably work on
 defining a reasonable subset of NoSQL services we are OK with
 supporting. This will help making the burden smaller and it'll give
 operators the option to choose.

 [0] http://blog.flaper87.com/post/marconi-amqp-see-you-later/


 - Concern on should we really reinvent a queue system rather than
 piggyback on one

 As mentioned in the meeting on Tuesday, Zaqar is not reinventing message
 brokers. Zaqar provides a service akin to SQS from AWS with an OpenStack
 flavor on top. [0]


 I think Zaqar is more like SMTP and IMAP than AMQP. You're not really
 trying to connect two processes in real time. You're trying to do fully
 asynchronous messaging with fully randomized access to any message.

 Perhaps somebody should explore whether the approaches taken by large
 scale IMAP providers could be applied to Zaqar.

 Anyway, I can't imagine writing a system to intentionally use the
 semantics of IMAP and SMTP. I'd be very interested in seeing actual use
 cases for it, apologies if those have been posted before.
 
 It seems like you're EITHER describing something called XMPP that has at
 least one open source scalable backend called ejabberd. OR, you've
 actually hit the nail on the head with bringing up SMTP and IMAP but for
 some reason that feels strange.
 
 SMTP and IMAP already implement every feature you've described, as well
 as retries/failover/HA and a fully end to end secure transport (if
 installed properly) If you don't actually set them up to run as a public
 messaging interface but just as a cloud-local exchange, then you could
 get by with very low overhead for a massive throughput - it can very
 easily be run on a single machine for Sean's simplicity, and could just
 as easily be scaled out using well known techniques for public cloud
 sized deployments?
 
 So why not use existing daemons that do this? You could still use the
 REST API you've got, but instead of writing it to a mongo backend and
 trying to implement all of the things that already exist in 

Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Ladislav Smola

+1

On 09/09/2014 08:32 PM, Gregory Haynes wrote:

Hello everyone!

I have been working on a meta-review of StevenK's reviews and I would
like to propose him as a new member of our core team.

As I'm sure many have noticed, he has been above our stats requirements
for several months now. More importantly, he has been reviewing a wide
breadth of topics and seems to have a strong understanding of our code
base. He also seems to be doing a great job at providing valuable
feedback and being attentive to responses on his reviews.

As such, I think he would make a great addition to our core team. Can
the other core team members please reply with your votes if you agree or
disagree.

Thanks!
Greg

___
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


Re: [openstack-dev] [nova][neutron][cinder] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Sylvain Bauza


Le 10/09/2014 10:44, Daniel P. Berrange a écrit :

On Tue, Sep 09, 2014 at 05:14:43PM -0700, Stefano Maffulli wrote:

To me, this means you don't really want a sin bin where you dump
drivers and tell them not to come out until they're fit to be
reviewed by the core; You want a trusted driver community which does
its own reviews and means the core doesn't have to review them.

I think we're going somewhere here, based on your comment and other's:
we may achieve some result if we empower a new set of people to manage
drivers, keeping them in the same repositories where they are now. This
new set of people may not be the current core reviewers but other with
different skillsets and more capable of understanding the driver's
ecosystem, needs, motivations, etc.

I have the impression this idea has been circling around for a while but
for some reason or another (like lack of capabilities in gerrit and
other reasons) we never tried to implement it. Maybe it's time to think
about an implementation. We have been thinking about mentors
https://wiki.openstack.org/wiki/Mentors, maybe that's a way to go?
Sub-team with +1.5 scoring capabilities?

I think that setting up subteams is neccessary to stop us imploding but
I don't think it is enough. As long as we have one repo we're forever
going to have conflict  contention in deciding which features to accept,
which is a big factor in problems today. I favour the strong split of the
drivers into separate repositories to remove the contente between the
teams as much as is practical.

Regards,
Daniel


Well, both proposals can be done : we can create subteams and the 
Subteam-Approval Gerrit label right know before Kilo, and we could split 
the virt repos by later once the interfaces and prereqs are done.


Having subteams would be even better for the virt split, as you could 
find whose halfcores (here, that's how I call subteam's people) are good 
for becoming virt cores once the repository is set up.


-Sylvain


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


[openstack-dev] [glance] 0.14.0 client - v2 requests broken

2014-09-10 Thread stuart . mclaren

All,

The 0.14.0 client breaks all v2 requests when pointed at a glance server
which is running code which is more than a few days old (ie pretty much
any production server).

There's a band-aid patch here: https://review.openstack.org/#/c/120143/
and a longer term patch here: https://review.openstack.org/#/c/120300/

What would folks propose we do to avoid having a broken client for
an extended period of time (days)?

Would merging 120143 and releasing it as 0.14.1 be a reasonable short term
solution which would allow less pressured reviewing of 120300?

-Stuart

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


Re: [openstack-dev] [FUEL] Re: SSL in Fuel.

2014-09-10 Thread Sebastian Kalinowski
On Tue, Sep 9, 2014 at 5:53 PM, Stanislaw Bogatkin sbogat...@mirantis.com
wrote:

 So I think that we need to start on [3]. As this is required for OSt
 public
 endpoint SSL and also for Fuel SSL it can be quicker to make a first stage
 where a self-signed certificate is managed from nailgun and a second stage
 with the docker CA...
 So, yes, I think that it is good idea, cause it will be good base for [2]
 and [3]

 [1] https://blueprints.launchpad.net/fuel/+spec/ca-deployment
 [2] https://blueprints.launchpad.net/fuel/+spec/fuel-ssl-endpoints
 [3] https://blueprints.launchpad.net/fuel/+spec/ssl-endpoints


+1

I totally agree that we should start with [1] first and later focus on [2]
and [3].

I'll also update [2] to adjust it to the plan you proposed.


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


Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Chris Dent

On Tue, 9 Sep 2014, Samuel Merritt wrote:

On 9/9/14, 4:47 PM, Devananda van der Veen wrote:

The questions now before us are:
- should OpenStack include, in the integrated release, a
messaging-as-a-service component?


I certainly think so. I've worked on a few reasonable-scale web applications, 
and they all followed the same pattern: HTTP app servers serving requests 
quickly, background workers for long-running tasks, and some sort of durable 
message-broker/queue-server thing for conveying work from the first to the 
second.


A quick straw poll of my nearby coworkers shows that every non-trivial web 
application that they've worked on in the last decade follows the same 
pattern.


While not *every* application needs such a thing, web apps are quite common 
these days, and Zaqar satisfies one of their big requirements. Not only that, 
it does so in a way that requires much less babysitting than 
run-your-own-broker does.


I don't think there's any question about the value of a durable
message-broke/queue-server thing in the general case.

The question is whether OpenStack is in the business of satisfying
that case.

Which leads inevitably to the existential questions of What is
OpenStack in the business of? and How do we stay sane while being in
that business?

Every long thread over the last couple of months has trended towards
those questions. It's getting pretty tiresome. We'd all be a lot
more focused if we knew the answer.

--
Chris Dent tw:@anticdent freenode:cdent
https://tank.peermore.com/tanks/cdent

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


Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Sullivan, Jon Paul
+1

 -Original Message-
 From: Ladislav Smola [mailto:lsm...@redhat.com]
 Sent: 10 September 2014 10:26
 To: openstack-dev@lists.openstack.org
 Subject: Re: [openstack-dev] [TripleO] Propose adding StevenK to core
 reviewers
 
 +1
 
 On 09/09/2014 08:32 PM, Gregory Haynes wrote:
  Hello everyone!
 
  I have been working on a meta-review of StevenK's reviews and I would
  like to propose him as a new member of our core team.
 
  As I'm sure many have noticed, he has been above our stats
  requirements for several months now. More importantly, he has been
  reviewing a wide breadth of topics and seems to have a strong
  understanding of our code base. He also seems to be doing a great job
  at providing valuable feedback and being attentive to responses on his
 reviews.
 
  As such, I think he would make a great addition to our core team. Can
  the other core team members please reply with your votes if you agree
  or disagree.
 
  Thanks!
  Greg
 
  ___
  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
Thanks, 
Jon-Paul Sullivan ☺ Cloud Services - @hpcloud

Postal Address: Hewlett-Packard Galway Limited, Ballybrit Business Park, Galway.
Registered Office: Hewlett-Packard Galway Limited, 63-74 Sir John Rogerson's 
Quay, Dublin 2. 
Registered Number: 361933
 
The contents of this message and any attachments to it are confidential and may 
be legally privileged. If you have received this message in error you should 
delete it from your system immediately and advise the sender.

To any recipient of this message within HP, unless otherwise stated, you should 
consider this message and attachments as HP CONFIDENTIAL.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [Ceilometer] Adding Nejc Saje to ceilometer-core

2014-09-10 Thread Julien Danjou
Hi,

Nejc has been doing a great work and has been very helpful during the
Juno cycle and his help is very valuable.

I'd like to propose that we add Nejc Saje to the ceilometer-core group.

Please, dear ceilometer-core members, reply with your votes!

-- 
Julien Danjou
// Free Software hacker
// http://julien.danjou.info


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


Re: [openstack-dev] [glance] 0.14.0 client - v2 requests broken

2014-09-10 Thread Flavio Percoco
On 09/10/2014 11:52 AM, stuart.mcla...@hp.com wrote:
 All,
 
 The 0.14.0 client breaks all v2 requests when pointed at a glance server
 which is running code which is more than a few days old (ie pretty much
 any production server).
 
 There's a band-aid patch here: https://review.openstack.org/#/c/120143/
 and a longer term patch here: https://review.openstack.org/#/c/120300/
 
 What would folks propose we do to avoid having a broken client for
 an extended period of time (days)?
 
 Would merging 120143 and releasing it as 0.14.1 be a reasonable short term
 solution which would allow less pressured reviewing of 120300?
 

Why do you think landing 120300 will take long? If both patches are
already on gerrit, I'd rather review the real fix.

Is there a reason you think landing 120143 first is better?

Flavio

-- 
@flaper87
Flavio Percoco

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


Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Chris Jones
Hi

+1

Cheers,
--
Chris Jones

 On 9 Sep 2014, at 19:32, Gregory Haynes g...@greghaynes.net wrote:
 
 Hello everyone!
 
 I have been working on a meta-review of StevenK's reviews and I would
 like to propose him as a new member of our core team.
 
 As I'm sure many have noticed, he has been above our stats requirements
 for several months now. More importantly, he has been reviewing a wide
 breadth of topics and seems to have a strong understanding of our code
 base. He also seems to be doing a great job at providing valuable
 feedback and being attentive to responses on his reviews.
 
 As such, I think he would make a great addition to our core team. Can
 the other core team members please reply with your votes if you agree or
 disagree.
 
 Thanks!
 Greg
 
 ___
 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


Re: [openstack-dev] [FUEL] Re: SSL in Fuel.

2014-09-10 Thread Simon Pasquier
Hello,

Thanks for the detailed email, Stanislaw. Your suggestion of deploying a CA
container is really interesting. Especially for OSTF and other testing
since the tools only need to know about the root CA.

Lets back up a bit and list the different options for Fuel users:
0/ The user is happy with plain HTTP.
= Already supported :)
1/ The user wants HTTPS but doesn't want the burden associated with
certificate management.
= Fuel creates and manages the SSL certificates, be them self-signed or
signed by some internal CA.
= Using an internal CA instead of multiple self-signed certificates is
cleaner as you explained.
2/ The user wants HTTPS and wants to use certificates which are generated
by an external source (either some internal corporate PKI or some public
certificate authority)
= Fuel supports certificate + key uploads
= It should be possible to tell Fuel which entity (Fuel, OSt environment)
uses which certificate
3/ The user wants HTTPS and agrees to let Fuel generating certificates on
behalf of some corporate PKI.
= Fuel supports CA + key uploads

I think that option 1 is the way to go for a first approach. Option 2 is
definitely something that end-users would need at some point. I'm less
convinced by option 3: if I were a PKI admin, I'll be reluctant to let Fuel
generate certificates on its own. Also my gut feeling tells me that
implementing 1  2 is already quite a lot of work.

I've also added some questions/comments inline.

BR,

Simon

On Tue, Sep 9, 2014 at 5:53 PM, Stanislaw Bogatkin sbogat...@mirantis.com
wrote:

 I think that if we have 3 blueprints that realises some SSL stuff around
 themselves then we can discuss it here.
 My vision about SSL in Fuel split into 3 parts:

 A) We need to implement [1] blueprint, cause it is only one way to
 generate certificates.
 How i see that:
 1.0 We sync puppet-openssl from upstream, adapt it for Fuel tasks.
 1.1 We create docker container (we already have many, so containerized
 CA should work well) with OpenSSL and puppet manifests in it.
 1.2 When container will start first time, it will create CA that will
 store on master node.

 Our workitems here is:
 - Create docker container
 - Sync upstream puppet-openssl and adapt it for Fuel
 - Write code to create CA


First of all I think this blueprint should be submitted to fuel-specs ;)
How do you see the exchanges between the CA container and the various
services? For instance, how would nailgun asks for a signed certificate and
get back the result?



 B) We need to implement [2] blueprint. How I see that:
 1.3 When CA container start first time and creates CA, then it will
 check for keypair for master node (Fuel UI). If that keypair will not
 found, then CA create it, change nginx conffile properly and restart nginx
 on master node.


I find awkward to have the CA container restarting nginx...


 Our workitems here is:
 - Write code to check if we already have generated certificate and
 generate new if we have not.

 C) Then we need to implement [3] blueprint
 For next step we have 2 options:
   First:
 1.3 When we create new cluster then we know all information to create
 new keypair(s). When user press Deploy changes button, then we will
 create new keypair(s).
 Q: Main question here is - how many keypairs we will create? One for every
 service or one for all?


As a first implementation, I assume that one certificate for all OSt
services is good enough.


 1.4 We will distribute key(s) with mcollective agent (similar to how
 we sync puppet manifests from master node to other nodes). After that
 private key(s) will deleted from master node.


How will it work if the user modifies the configuration of the environment
afterwards? Say he/she adds one controller node, how will it be able to
copy the private key to the new node?


 1.5 On nodes puppet will do all work. We need to write some code for
 that
 Pros of that method:
 + It's relative simple, we can create clean and lucid code that
 will be easy for support
 Cons of that method:
 - We need to send every private key over network. We can reduce
 this danger cause we will already have passwordless sync over network
 between master node and other nodes, cause we will generate ssh keys for
 nodes before we will distribute any data at deployment stage.

   Second:
 1.3 When we create new cluster, we do all work same way as we do it
 now, but after provisioning we will create keypair on first node, make csr
 for every service (or for one, if we will create one certificate for all
 services) and send that csr to master node, where it will signed and
 certificate will send back.
 1.4 Puppet will do all work on nodes. We, obviously, need to write
 some code for it. But we need to sync our keys over controllers all the
 same (and now we don't have reliable mechanism to do this)
 Pros of that method:
 + I don't see any
 Cons of that method:
 - Code will be not so obvious
 - To 

Re: [openstack-dev] [zaqar] Juno Performance Testing (Round 2)

2014-09-10 Thread Flavio Percoco
On 09/09/2014 09:19 PM, Kurt Griffiths wrote:
 Hi folks,
 
 In this second round of performance testing, I benchmarked the new Redis
 driver. I used the same setup and tests as in Round 1 to make it easier to
 compare the two drivers. I did not test Redis in master-slave mode, but
 that likely would not make a significant difference in the results since
 Redis replication is asynchronous[1].
 
 As always, the usual benchmarking disclaimers apply (i.e., take these
 numbers with a grain of salt; they are only intended to provide a ballpark
 reference; you should perform your own tests, simulating your specific
 scenarios and using your own hardware; etc.).
 
 ## Setup ##
 
 Rather than VMs, I provisioned some Rackspace OnMetal[3] servers to
 mitigate noisy neighbor when running the performance tests:
 
 * 1x Load Generator
 * Hardware
 * 1x Intel Xeon E5-2680 v2 2.8Ghz
 * 32 GB RAM
 * 10Gbps NIC
 * 32GB SATADOM
 * Software
 * Debian Wheezy
 * Python 2.7.3
 * zaqar-bench
 * 1x Web Head
 * Hardware
 * 1x Intel Xeon E5-2680 v2 2.8Ghz
 * 32 GB RAM
 * 10Gbps NIC
 * 32GB SATADOM
 * Software
 * Debian Wheezy
 * Python 2.7.3
 * zaqar server
 * storage=mongodb
 * partitions=4
 * MongoDB URI configured with w=majority
 * uWSGI + gevent
 * config: http://paste.openstack.org/show/100592/
 * app.py: http://paste.openstack.org/show/100593/
 * 3x MongoDB Nodes
 * Hardware
 * 2x Intel Xeon E5-2680 v2 2.8Ghz
 * 128 GB RAM
 * 10Gbps NIC
 * 2x LSI Nytro WarpDrive BLP4-1600[2]
 * Software
 * Debian Wheezy
 * mongod 2.6.4
 * Default config, except setting replSet and enabling periodic
   logging of CPU and I/O
 * Journaling enabled
 * Profiling on message DBs enabled for requests over 10ms
 * 1x Redis Node
 * Hardware
 * 2x Intel Xeon E5-2680 v2 2.8Ghz
 * 128 GB RAM
 * 10Gbps NIC
 * 2x LSI Nytro WarpDrive BLP4-1600[2]
 * Software
 * Debian Wheezy
 * Redis 2.4.14
 * Default config (snapshotting and AOF enabled)
 * One process
 
 As in Round 1, Keystone auth is disabled and requests go over HTTP, not
 HTTPS. The latency introduced by enabling these is outside the control of
 Zaqar, but should be quite minimal (speaking anecdotally, I would expect
 an additional 1-3ms for cached tokens and assuming an optimized TLS
 termination setup).
 
 For generating the load, I again used the zaqar-bench tool. I would like
 to see the team complete a large-scale Tsung test as well (including a
 full HA deployment with Keystone and HTTPS enabled), but decided not to
 wait for that before publishing the results for the Redis driver using
 zaqar-bench.
 
 CPU usage on the Redis node peaked at around 75% for the one process. To
 better utilize the hardware, a production deployment would need to run
 multiple Redis processes and use Zaqar's backend pooling feature to
 distribute queues across the various instances.
 
 Several different messaging patterns were tested, taking inspiration
 from: https://wiki.openstack.org/wiki/Use_Cases_(Zaqar)
 
 Each test was executed three times and the best time recorded.
 
 A ~1K sample message (1398 bytes) was used for all tests.
 
 ## Results ##
 
 ### Event Broadcasting (Read-Heavy) ###
 
 OK, so let's say you have a somewhat low-volume source, but tons of event
 observers. In this case, the observers easily outpace the producer, making
 this a read-heavy workload.
 
 Options
 * 1 producer process with 5 gevent workers
 * 1 message posted per request
 * 2 observer processes with 25 gevent workers each
 * 5 messages listed per request by the observers
 * Load distributed across 4[6] queues
 * 10-second duration
 
 Results
 * Redis
 * Producer: 1.7 ms/req,  585 req/sec
 * Observer: 1.5 ms/req, 1254 req/sec
 * Mongo
 * Producer: 2.2 ms/req,  454 req/sec
 * Observer: 1.5 ms/req, 1224 req/sec
 
 ### Event Broadcasting (Balanced) ###
 
 This test uses the same number of producers and consumers, but note that
 the observers are still listing (up to) 5 messages at a time[4], so they
 still outpace the producers, but not as quickly as before.
 
 Options
 * 2 producer processes with 25 gevent workers each
 * 1 message posted per request
 * 2 observer processes with 25 gevent workers each
 * 5 messages listed per request by the observers
 * Load distributed across 4 queues
 * 10-second duration
 
 Results
 * Redis
 * Producer: 1.4 ms/req, 1374 req/sec
 * Observer: 1.6 ms/req, 1178 req/sec
 * Mongo
 * Producer: 2.2 ms/req, 883 req/sec
 * Observer: 2.8 ms/req, 348 req/sec
 
 ### Point-to-Point Messaging ###
 

Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Tomas Sedovic
On 09/09/14 20:32, Gregory Haynes wrote:
 Hello everyone!
 
 I have been working on a meta-review of StevenK's reviews and I would
 like to propose him as a new member of our core team.
 
 As I'm sure many have noticed, he has been above our stats requirements
 for several months now. More importantly, he has been reviewing a wide
 breadth of topics and seems to have a strong understanding of our code
 base. He also seems to be doing a great job at providing valuable
 feedback and being attentive to responses on his reviews.
 
 As such, I think he would make a great addition to our core team. Can
 the other core team members please reply with your votes if you agree or
 disagree.

+1

 
 Thanks!
 Greg
 
 ___
 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


Re: [openstack-dev] [kesytone][multidomain] - Time to leave LDAP backend?

2014-09-10 Thread Yuriy Taraday
On Tue, Sep 9, 2014 at 8:25 AM, Nathan Kinder nkin...@redhat.com wrote:

 On 09/01/2014 01:43 AM, Marcos Fermin Lobo wrote:
  Hi all,
 
 
 
  I found two functionalities for keystone that could be against each
 other.
 
 
 
  Multi-domain feature (This functionality is new in Juno.)
 
  ---
 
  Link:
 
 http://docs.openstack.org/developer/keystone/configuration.html#domain-specific-drivers
 
 
  Keystone supports the option to specify identity driver configurations
  on a domain by domain basis, allowing, for example, a specific domain to
  have its own LDAP or SQL server. So, we can use different backends for
  different domains. But, as Henry Nash said “it has not been validated
  with multiple SQL drivers”
  https://bugs.launchpad.net/keystone/+bug/1362181/comments/2
 
 
 
  Hierarchical Multitenancy
 
  
 
  Link:
 
 https://blueprints.launchpad.net/keystone/+spec/hierarchical-multitenancy
 
  This is nested projects feature but, only for SQL, not LDAP.
 
 
 
  So, if you are using LDAP and you want “nested projects” feature, you
  should to migrate from LDAP to SQL but, I you want to get multi-domain
  feature too you can’t use 2 SQL backends (you need at least one LDAP
  backend) because is not validated for multiple SQL drivers…
 
 
 
  Maybe I’m losing something, please, correct me if I’m wrong.
 
 
 
  Here my questions:
 
 
 
  -  If I want Multi-domain and Hierarchical Multitenancy
  features, which are my options? What should I do (migrate or not migrate
  to SQL)?
 
  -  Is LDAP going to deprecated soon?

 I think you need to keep in mind that there are two separate backends
 that support LDAP: identity and assignment.

 From everyone I have talked to on the Keystone team, SQL is preferred
 for the assignment backend.  Storing assignment information in LDAP
 seems to be a non-standard use case.

 For the identity backend, LDAP is preferred.  Many people have users and
 groups already in an LDAP server, and Keystone should be able to take
 advantage of those existing users and credentials for centralized
 authentication.  In addition, every LDAP server I know have has better
 security features than the SQL identity backend offers, such as password
 policies and account lockout.

 The multiple domain support for multiple LDAP servers was really
 designed to allow for separate groups of users from separate identity
 LDAP servers to be usable in a single Keystone instance.

 Given that the Keystone team considers SQL as the preferred assignment
 backend, the hierarchical project blueprint was targeted against it.
 The idea is that you would use LDAP server(s) for your users and have
 hierarchical projects in SQL.

 My personal feeling is that the LDAP assignment backend should
 ultimately be deprecated.  I don't think the LDAP assignment backend
 really offers any benefit of SQL, and you have to define some
 non-standard LDAP schema to represent projects, roles, etc., or you end
 up trying to shoehorn the data into standard LDAP schema that was really
 meant for something else.

 It would be interesting to create a poll like Morgan did for the
 Keystone token format to see how widely the LDAP assignments backend is.
  Even more interesting would be to know the reasons why people are using
 it over SQL.


Please don't consider LDAP assignment backend as and outcast. It is used
and we have use cases where it's the only way to go.

Some enterprises with strict security policies require all security-related
tasks to be done through AD, and project/roles assignment is one of them.
LDAP assignment backend is a right fit here.
Storing such info in AD provides additional benefit of providing not only
single management point, but also an enterprise-ready cross-datacenter
replication. (Galera or other MySQL replications arguably don't quite work
for this)
From what I see, the only obstruction here is need for a custom LDAP schema
for AD (which doesn't fly with strict enterprise constraints). That can be
mitigated by using AD-native objectClass'es for projects and groups instead
of 'groupOfNames' and 'organizationalRole': 'organizationalUnit' and
'group'. These object can be managed by commonly used AD tools (not LDAP
editor), but require some changes in Keystone to work. We've hacked
together some patches to Keystone that should make it work and will propose
them in Kilo cycle.
Another missing feature is domains/hierarchical projects. It's not
impossible to implement this in LDAP backend, but we need someone to step
up here. With OUs it should be rather obvious how to store these in LDAP,
but we'll need some algorithmic support as well.

We shouldn't give up on LDAP backend. It's used by a lot of private clouds
and some public ones. The problem is that its users usually aren't ready to
make necessary changes to make it work and so have to bend their rules to
make existing backend work. Some of them already are giving back:
connection 

Re: [openstack-dev] [Ceilometer] Adding Nejc Saje to ceilometer-core

2014-09-10 Thread Ildikó Váncsa
Hi,

+1 from me, and thanks for the nice work so far.

Best Regards,
Ildikó

-Original Message-
From: Julien Danjou [mailto:jul...@danjou.info] 
Sent: Wednesday, September 10, 2014 12:35 PM
To: openstack-dev@lists.openstack.org
Subject: [openstack-dev] [Ceilometer] Adding Nejc Saje to ceilometer-core

Hi,

Nejc has been doing a great work and has been very helpful during the Juno 
cycle and his help is very valuable.

I'd like to propose that we add Nejc Saje to the ceilometer-core group.

Please, dear ceilometer-core members, reply with your votes!

--
Julien Danjou
// Free Software hacker
// http://julien.danjou.info

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


Re: [openstack-dev] [FUEL] Re: SSL in Fuel.

2014-09-10 Thread Tomasz Napierala

On 10 Sep 2014, at 12:54, Simon Pasquier spasqu...@mirantis.com wrote:

 Hello,
 
 Lets back up a bit and list the different options for Fuel users:
 0/ The user is happy with plain HTTP.
 = Already supported :)
 1/ The user wants HTTPS but doesn't want the burden associated with 
 certificate management.
 = Fuel creates and manages the SSL certificates, be them self-signed or 
 signed by some internal CA.
 = Using an internal CA instead of multiple self-signed certificates is 
 cleaner as you explained.
 2/ The user wants HTTPS and wants to use certificates which are generated by 
 an external source (either some internal corporate PKI or some public 
 certificate authority)
 = Fuel supports certificate + key uploads
 = It should be possible to tell Fuel which entity (Fuel, OSt environment) 
 uses which certificate
 3/ The user wants HTTPS and agrees to let Fuel generating certificates on 
 behalf of some corporate PKI.
 = Fuel supports CA + key uploads
 
 I think that option 1 is the way to go for a first approach. Option 2 is 
 definitely something that end-users would need at some point. I'm less 
 convinced by option 3: if I were a PKI admin, I'll be reluctant to let Fuel 
 generate certificates on its own. Also my gut feeling tells me that 
 implementing 1  2 is already quite a lot of work.
 
 I've also added some questions/comments inline.

Regarding 
After careful consideration, I think that for 6.0 we will only be able to 
implement [2] with limited functionality. In terms of certificate management, 
we could offer uploading customer generated cert (and maybe provide shot doc on 
how to spawn CA + sign certs) or if user does not want to do it, generate 
simple self signed cert and install it on Fuel http server and let user 
download it. 

After 6.0 we can concentrate on proper implementation of CA management, and 
then allow Fuel master node part to use it.

[1] https://blueprints.launchpad.net/fuel/+spec/ca-deployment
[2] https://blueprints.launchpad.net/fuel/+spec/fuel-ssl-endpoints
[3] https://blueprints.launchpad.net/fuel/+spec/ssl-endpoints
-- 
Tomasz 'Zen' Napierala
Sr. OpenStack Engineer
tnapier...@mirantis.com







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


Re: [openstack-dev] [glance] 0.14.0 client - v2 requests broken

2014-09-10 Thread stuart . mclaren


On 09/10/2014 11:52 AM, stuart.mclaren at hp.com wrote:

All,

The 0.14.0 client breaks all v2 requests when pointed at a glance server
which is running code which is more than a few days old (ie pretty much
any production server).

There's a band-aid patch here: https://review.openstack.org/#/c/120143/
and a longer term patch here: https://review.openstack.org/#/c/120300/

What would folks propose we do to avoid having a broken client for
an extended period of time (days)?

Would merging 120143 and releasing it as 0.14.1 be a reasonable short term
solution which would allow less pressured reviewing of 120300?




Why do you think landing 120300 will take long? If both patches are
already on gerrit, I'd rather review the real fix.



Is there a reason you think landing 120143 first is better?


120300 is a biggish change (several hundred lines) and I was concerned
it might take a while to go through the review cycle.  However, the
consensus seems to be to go directly with 120300 -- that it shouldn't
take too long to get through. (And its on-demand schema behaviour is
a nice bonus too!)



Flavio


--
@flaper87
Flavio Percoco


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


Re: [openstack-dev] [glance] 0.14.0 client - v2 requests broken

2014-09-10 Thread Flavio Percoco
On 09/10/2014 01:40 PM, stuart.mcla...@hp.com wrote:
 
 On 09/10/2014 11:52 AM, stuart.mclaren at hp.com wrote:
 All,

 The 0.14.0 client breaks all v2 requests when pointed at a glance server
 which is running code which is more than a few days old (ie pretty much
 any production server).

 There's a band-aid patch here: https://review.openstack.org/#/c/120143/
 and a longer term patch here: https://review.openstack.org/#/c/120300/

 What would folks propose we do to avoid having a broken client for
 an extended period of time (days)?

 Would merging 120143 and releasing it as 0.14.1 be a reasonable short
 term
 solution which would allow less pressured reviewing of 120300?

 
 Why do you think landing 120300 will take long? If both patches are
 already on gerrit, I'd rather review the real fix.
 
 Is there a reason you think landing 120143 first is better?
 
 120300 is a biggish change (several hundred lines) and I was concerned
 it might take a while to go through the review cycle.  However, the
 consensus seems to be to go directly with 120300 -- that it shouldn't
 take too long to get through. (And its on-demand schema behaviour is
 a nice bonus too!)
 

+1 lets go with that!

 
 Flavio
 


-- 
@flaper87
Flavio Percoco

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


Re: [openstack-dev] [FUEL] Re: SSL in Fuel.

2014-09-10 Thread Sergii Golovatiuk
Hi,

Tomasz is right. Let's try not to complicate the things. For 6.0 we'll
allow just upload key, csr, certificate (like 3 edit boxes), or these edit
boxes will be greyed if customer allows to generate self-signed
certificates.



--
Best regards,
Sergii Golovatiuk,
Skype #golserge
IRC #holser

On Wed, Sep 10, 2014 at 1:40 PM, Tomasz Napierala tnapier...@mirantis.com
wrote:


 On 10 Sep 2014, at 12:54, Simon Pasquier spasqu...@mirantis.com wrote:

  Hello,
 
  Lets back up a bit and list the different options for Fuel users:
  0/ The user is happy with plain HTTP.
  = Already supported :)
  1/ The user wants HTTPS but doesn't want the burden associated with
 certificate management.
  = Fuel creates and manages the SSL certificates, be them self-signed or
 signed by some internal CA.
  = Using an internal CA instead of multiple self-signed certificates is
 cleaner as you explained.
  2/ The user wants HTTPS and wants to use certificates which are
 generated by an external source (either some internal corporate PKI or some
 public certificate authority)
  = Fuel supports certificate + key uploads
  = It should be possible to tell Fuel which entity (Fuel, OSt
 environment) uses which certificate
  3/ The user wants HTTPS and agrees to let Fuel generating certificates
 on behalf of some corporate PKI.
  = Fuel supports CA + key uploads
 
  I think that option 1 is the way to go for a first approach. Option 2 is
 definitely something that end-users would need at some point. I'm less
 convinced by option 3: if I were a PKI admin, I'll be reluctant to let Fuel
 generate certificates on its own. Also my gut feeling tells me that
 implementing 1  2 is already quite a lot of work.
 
  I've also added some questions/comments inline.

 Regarding
 After careful consideration, I think that for 6.0 we will only be able to
 implement [2] with limited functionality. In terms of certificate
 management, we could offer uploading customer generated cert (and maybe
 provide shot doc on how to spawn CA + sign certs) or if user does not want
 to do it, generate simple self signed cert and install it on Fuel http
 server and let user download it.

 After 6.0 we can concentrate on proper implementation of CA management,
 and then allow Fuel master node part to use it.

 [1] https://blueprints.launchpad.net/fuel/+spec/ca-deployment
 [2] https://blueprints.launchpad.net/fuel/+spec/fuel-ssl-endpoints
 [3] https://blueprints.launchpad.net/fuel/+spec/ssl-endpoints
 --
 Tomasz 'Zen' Napierala
 Sr. OpenStack Engineer
 tnapier...@mirantis.com







 ___
 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


[openstack-dev] [MagnetoDB] Blueprint approvement process changes

2014-09-10 Thread Ilya Sviridov
Hello mdb contributors,

As far as we are growing and not the one solid team as it was before, it is
important to make step forward to openness of technical decisions and
agreements.

OpenStack community has a great experience in it, but I'm not sure if we
need such a formal process with specs approval via gerrit workflow right
now.

I suggest to use wiki for drafting and IRC with ML for discussion and
approvement.

For this purpose the wiki section has been created [1]. The old drafts have
been moved to new location as well.

Feel free to share your thoughts about it.

[1] https://wiki.openstack.org/wiki/MagnetoDB/specs/

Thanks
--
Ilya Sviridov
isviridov @ FreeNode
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [nova][cells] Flavors and cells

2014-09-10 Thread Dheeraj Gupta
Hi,
we are working on bug-1211011 (Flavors created in parent cell are not
propagated to the child cell)..
we need a few pointers from the community (and people working with cells).

The problem is that if the instance_type tables are not in sync in
all cells we can spawn a
different flavor than the one selected by the user.
Example: flavor_A is selected and in the child cell flavor_B is spawned.

This is because what is checked at spawn time is the
instance_type_id in the child cell database,
and there is not guarantee that this corresponds to the same flavor in
the parent cell.

A possible solution to this problem can be propagating the flavors to
all child cells when it is created/deleted/changed in the parent cell.
But since instance_type_id is an autoincrement field, it will be
difficult to sync it. Also there may be a problem when applying this
to an existing cell setup.

We believe that the flavors should only live in the parent cell (API cell).
In this case every time that this information is needed the child cell
needs to query the information
from the parents.

The problem is that at the moment in the child cells the compute api
not aware about cells.
Should this be reconsidered?

Also, having this mechanism to query the parent cell will allow to
more easily add support for security groups and aggregates.

Thoughts?

Regards,
Dheeraj

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


Re: [openstack-dev] Kilo Cycle Goals Exercise

2014-09-10 Thread Thierry Carrez
Joe Gordon wrote:
 To that end, I would like to propose an exercise as discussed in the TC
 meeting yesterday [1]:
 Have anyone interested (especially TC members) come up with a list of
 what they think the project wide Kilo cycle goals should be and post
 them on this thread by end of day Wednesday, September 10th. After which
 time we can begin discussing the results.
 The goal of this exercise is to help us see if our individual world
 views align with the greater community, and to get the ball rolling on a
 larger discussion of where as a project we should be focusing more time.

Thanks again to Joe for starting this important discussion.

My personal list of Kilo goals goes as follows:

#1: Fix our growth pains

We grew a lot, and our recipes were designed for a smaller group where
trust happens more naturally. With our community growing to a Dunbar
order of magnitude above, some of those recipes don't work so great, so
we need to revisit them... That includes the binary integrated release
(introduce layers?), cross-project functional testing (push it at
project level?), the programs concept, encouraging PTL delegation (the
czar/liaisons proposal ?), scaling core reviewing in larger projects
(Nova driver split ?), etc.

We already started the conversation on those important topics, but Kilo
is the timeframe for us to implement those changes, because I don't see
our community wait for more than one cycle to see the light at the end
of the tunnel.

#2: Fix the end user experience

Monty expressed it better than I can. We need consistent and
better-designed APIs, client SDKs that provide useful primitives and
actually abstract differences in implementations, etc.

#3: Fix what we have: bugfixes, consistency, scaling up, scaling down,
upgrading

Rather than adding more features for the mid-size private cloud, let's
make sure that what we have works well, provides a consistent experience
across projects, scales up beautifully, can be easily used at smaller
scale as well (simplicity), and allows seamless upgrades. This is
another way of looking at paying our technical debt that others have
mentioned as goals -- generally polishing what we have rather than
building out new things.


Regards,

-- 
Thierry Carrez (ttx)

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


[openstack-dev] [Fuel] 5.1 branch created

2014-09-10 Thread Aleksandra Fedorova
Hi, everyone,

as a follow-up for discussion [1] we created stable/5.1 branch for all Fuel
projects.

Since now on all patches targeted for upcoming 5.1 release should go to
master branch first and then should be cherry-picked to stable/5.1.

CI Infrastructure branching is in progress. With any branching-related
issues please contact devops team at #fuel-devops IRC channel.


[1]
https://www.mail-archive.com/openstack-dev%40lists.openstack.org/msg34607.html

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


Re: [openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]

2014-09-10 Thread Thierry Carrez
Flavio Percoco wrote:
 [...]
 Based on the feedback from the meeting[3], the current main concern is:
 
 - Do we need a messaging service with a feature-set akin to SQS+SNS?
 [...]

I think we do need, as Samuel puts it, some sort of durable
message-broker/queue-server thing. It's a basic application building
block. Some claim it's THE basic application building block, more useful
than database provisioning. It's definitely a layer above pure IaaS, so
if we end up splitting OpenStack into layers this clearly won't be in
the inner one. But I think IaaS+ basic application building blocks
belong in OpenStack one way or another. That's the reason I supported
Designate (everyone needs DNS) and Trove (everyone needs DBs).

With that said, I think yesterday there was a concern that Zaqar might
not fill the some sort of durable message-broker/queue-server thing
role well. The argument goes something like: if it was a queue-server
then it should actually be built on top of Rabbit; if it was a
message-broker it should be built on top of postfix/dovecot; the current
architecture is only justified because it's something in between, so
it's broken.

I guess I don't mind that much zaqar being something in between:
unless I misunderstood, exposing extra primitives doesn't prevent the
queue-server use case from being filled. Even considering the
message-broker case, I'm also not convinced building it on top of
postfix/dovecot would be a net win compared to building it on top of
Redis, to be honest.

-- 
Thierry Carrez (ttx)

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


Re: [openstack-dev] [FUEL] Re: SSL in Fuel.

2014-09-10 Thread Guillaume Thouvenin
On Wed, Sep 10, 2014 at 2:40 PM, Tomasz Napierala tnapier...@mirantis.com
wrote:


 Regarding
 After careful consideration, I think that for 6.0 we will only be able to
 implement [2] with limited functionality. In terms of certificate
 management, we could offer uploading customer generated cert (and maybe
 provide shot doc on how to spawn CA + sign certs)
 After 6.0 we can concentrate on proper implementation of CA management,
 and then allow Fuel master node part to use it.

 [1] https://blueprints.launchpad.net/fuel/+spec/ca-deployment
 [2] https://blueprints.launchpad.net/fuel/+spec/fuel-ssl-endpoints
 [3] https://blueprints.launchpad.net/fuel/+spec/ssl-endpoints



So if I understand correctly the idea is that we implement basic
functionality for [2] and [3] especially for the management of the
certificate. I guess that even if [2] and [3] are managing a self-signed
certificate by their own the code that does this could be share. And then
concentrate on the CA management. Thus I removed the dependency to [1] and
I consider that in [3] we should implement a limited functionality as
described above for [2].
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Neutron][QoS] Applying QoS as Quota

2014-09-10 Thread Veiga, Anthony


Using the quota system would be a nice option to have.

Can you clarify what you mean by cumulative bandwidth for the tenant? It would 
be possible to rate limit at the tenant router, but having a cumulative limit 
enforced inside of a tenant would be difficult.

On Wed, Sep 10, 2014 at 1:03 AM, Giuseppe Cossu 
giuseppe.co...@create-net.orgmailto:giuseppe.co...@create-net.org wrote:

Hello everyone,

Looking at the QoS blueprint (proposed for incubation), I suggest to consider 
adding some parameters to Neutron Quotas. Let’s suppose using rate-limit for 
managing QoS. The quota parameters could be such as rate_limit (per port) and 
max_bandwidth (per tenant). In this way it is possible to set/manage QoS quotas 
from the admin side, and for instance set the maximum bandwidth allowed per 
tenant (cumulative).
What do you think about it?

I’m cautious about this.  We’d either need to allow a “Number of DSCP settings” 
and set them outside the quota or leave it out altogether.  Let’s not forget 
that there’s more than just rate limiting in QoS, and we need to make sure all 
the options are included.  Otherwise, there’s going to be a lot of user and 
operator confusion as to what is and isn’t considered part of the quota.
-Anthony

Regards,
Giuseppe


Giuseppe Cossu
CREATE-NET


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




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


Re: [openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]

2014-09-10 Thread Gordon Sim

On 09/10/2014 09:58 AM, Flavio Percoco wrote:

To clarify the doubts of what Zaqar is or it's not, let me quote what's
written in the project's overview section[0]:

Zaqar is a multi-tenant cloud messaging service for web developers.


How are different tenants isolated from each other? Can different 
tenants access the same queue? If so, what does Zaqar do to prevent one 
tenant from negatively affecting the other? If not, how is communication 
with other tenants achieved.


Most messaging systems allow authorisation to be used to restrict what a 
particular user can access and quotas to restrict their resource 
consumption. What does Zaqar do differently?



It
combines the ideas pioneered by Amazon's SQS product with additional
semantics to support event broadcasting.

The service features a fully RESTful API, which developers can use to
send messages between various components of their SaaS and mobile
applications, by using a variety of communication patterns. Underlying
this API is an efficient messaging engine designed with scalability and
security in mind.

Other OpenStack components can integrate with Zaqar to surface events
to end users and to communicate with guest agents that run in the
over-cloud layer.


I may be misunderstanding the last sentence, but I think *direct* 
integration of other OpenStack services with Zaqar would be a bad idea.


Wouldn't this be better done through olso.messaging's notifications in 
some way? and/or through some standard protocol (and there's more than 
one to choose from)?


Communicating through a specific, fixed messaging system, with its own 
unique protocol is actually a step backwards in my opinion, especially 
for things that you want to keep as loosely coupled as possible. This is 
exactly why various standard protocols emerged.


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


[openstack-dev] [Fuel] Node renaming in Fuel

2014-09-10 Thread Dmitry Ukov
Hello Fuelers,
I've figured out that there is a blueprint regarding node naming (
https://blueprints.launchpad.net/fuel/+spec/node-naming). It looks like
this this feature really has not been started. That being said all
necessary preparations in Nailgun code have been already done. The only
thing that is needed to be done is to enable this feature (in fact 4 lines
of code).
--- a/nailgun/nailgun/objects/node.py
+++ b/nailgun/nailgun/objects/node.py
@@ -654,7 +654,10 @@ class Node(NailgunObject):

 @classmethod
 def make_slave_name(cls, instance):
-return unode-{node_id}.format(node_id=instance.id)
+if instance.name.startswith(Untitled):
+return unode-{node_id}.format(node_id=instance.id)
+else:
+return u{node_id}.format(node_id=instance.name.lower())

 @classmethod
 def make_slave_fqdn(cls, instance):

Should I consider this as a bug or this blueprint will be implemented in
the nearest future?


-- 
Kind regards
Dmitry Ukov
IT Engineer
Mirantis, Inc.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Jay Dobies

+1

On 09/09/2014 02:32 PM, Gregory Haynes wrote:

Hello everyone!

I have been working on a meta-review of StevenK's reviews and I would
like to propose him as a new member of our core team.

As I'm sure many have noticed, he has been above our stats requirements
for several months now. More importantly, he has been reviewing a wide
breadth of topics and seems to have a strong understanding of our code
base. He also seems to be doing a great job at providing valuable
feedback and being attentive to responses on his reviews.

As such, I think he would make a great addition to our core team. Can
the other core team members please reply with your votes if you agree or
disagree.

Thanks!
Greg

___
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


Re: [openstack-dev] [tripleo] Puppet elements support

2014-09-10 Thread James Slagle
On Mon, Sep 8, 2014 at 7:11 PM, Emilien Macchi
emilien.mac...@enovance.com wrote:
 Hi TripleO community,

 I would be really interested by helping to bring Puppet elements support
 in TripleO.
 So far I've seen this work:
 https://github.com/agroup/tripleo-puppet-elements/tree/puppet_dev_heat
 which is a very good bootstrap but really outdated.
 After some discussion with Greg Haynes on IRC, we came up with the idea
 to create a repo (that would be move in Stackforge or OpenStack git) and
 push the bits from what has been done by HP folks with updates 
 improvements.

 I started a basic repo
 https://github.com/enovance/tripleo-puppet-elements that could be moved
 right now on Stackforge to let the community start the work.

 My proposal is:
 * move this repo (or create a new one directly on
 github/{stackforge,openstack?})
 * push some bits from agroup original work.
 * continue the contributions, updates  improvements.

 Any thoughts?

Sounds good to me. I'm +1 on seeing some integration between TripleO
and the existing openstack-puppet-modules. The tripleo-puppet-elements
repo under agroup was kind of a POC that mostly Red Hat folks were
working on. I can try and answer any questions about that if you have
any.

-- 
-- James Slagle
--

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


Re: [openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]

2014-09-10 Thread Gordon Sim

On 09/10/2014 01:51 PM, Thierry Carrez wrote:

I think we do need, as Samuel puts it, some sort of durable
message-broker/queue-server thing. It's a basic application building
block. Some claim it's THE basic application building block, more useful
than database provisioning. It's definitely a layer above pure IaaS, so
if we end up splitting OpenStack into layers this clearly won't be in
the inner one. But I think IaaS+ basic application building blocks
belong in OpenStack one way or another. That's the reason I supported
Designate (everyone needs DNS) and Trove (everyone needs DBs).

With that said, I think yesterday there was a concern that Zaqar might
not fill the some sort of durable message-broker/queue-server thing
role well. The argument goes something like: if it was a queue-server
then it should actually be built on top of Rabbit; if it was a
message-broker it should be built on top of postfix/dovecot; the current
architecture is only justified because it's something in between, so
it's broken.


What is the distinction between a message broker and a queue server? To 
me those terms both imply something broadly similar (message broker 
perhaps being a little bit more generic). I could see Zaqar perhaps as 
somewhere between messaging and data-storage.


There are of course quite a lot of durable message-broker/queue-server 
things around already. I understood Zaqar to have been created to 
address perceived limitations in existing solutions (e.g. requiring less 
'babysitting', being 'designed for the cloud' etc). All solutions 
certainly have their limitations. Zaqar has limitations with respect to 
existing solutions also.


So while I agree that there is great value in a basic building block for 
'messaging as a service' I think the ideal solution would allow 
different variations, tailored to different patterns of use with a 
common API for provisioning, managing and monitoring coupled with 
support for standard protocols.



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


Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread James Slagle
On Tue, Sep 9, 2014 at 2:32 PM, Gregory Haynes g...@greghaynes.net wrote:
 Hello everyone!

 I have been working on a meta-review of StevenK's reviews and I would
 like to propose him as a new member of our core team.

+1. Steven has also been doing great work on os-cloud-config, I think
he'd make a good addition to the core team.



-- 
-- James Slagle
--

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


[openstack-dev] cirros 0.3.3 released

2014-09-10 Thread Scott Moser
Hello all,

cirros 0.3.3 has been released.  It is available for download at
http://download.cirros-cloud.net/0.3.3 .

The changes since 0.3.2 are:

- Wrap udhcpc to provide for easier passing of options including
   those required to get MTU set properly.  (LP: #1301958)
- Busybox: enable nc flags '-s ADDR', '-n', '-u', '-o FILE', -z.
- kernel: update to latest released Ubuntu 12.04 kernel (3.2.0.68.81).

Thanks to Harm Weites for doing the MTU work.

If you find issues or have feature requests, please feel free to file
those at http://bugs.launchpad.net/cirros

Scott

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


Re: [openstack-dev] [TripleO] Propose adding StevenK to core reviewers

2014-09-10 Thread Jan Provazník

On 09/09/2014 08:32 PM, Gregory Haynes wrote:

Hello everyone!

I have been working on a meta-review of StevenK's reviews and I would
like to propose him as a new member of our core team.

As I'm sure many have noticed, he has been above our stats requirements
for several months now. More importantly, he has been reviewing a wide
breadth of topics and seems to have a strong understanding of our code
base. He also seems to be doing a great job at providing valuable
feedback and being attentive to responses on his reviews.

As such, I think he would make a great addition to our core team. Can
the other core team members please reply with your votes if you agree or
disagree.

Thanks!
Greg



+1

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


[openstack-dev] [Fuel] Deploy upstream OpenStack by Fuel

2014-09-10 Thread Vitaly Parakhin
Hi all,

let us give the latest status on deploy upstream OpenStack by Fuel [1].

We consider a several use cases:


   1.

   I want to build Fuel ISO with latest pre-built OpenStack vanilla
   packages. In this case packages will be downloaded from repository, which
   is automatically built on daily basis.
   2.

   I want to build Fuel ISO with upstream OpenStack code locally. So, all
   OpenStack packages will be build locally.
   3.

   I want to build Fuel ISO with already built packages, but with the use
   of my own fork of one or more OpenStack components (e.g. Nova)
   4.

   I want to build a package of my implementation of OpenStack component
   and make it available on already running Fuel Master node, so I can
   immediately start deployment of new environments with this new package
   -

  requires repo rebuild on master node
  5.

   I want to patch already running OpenStack environment by my
   implementation of OpenStack component, doing it by OpenStack patching
   feature in Fuel [2]
   -

  In this case flow would look like: package build - repo update -
  patch environment in automated manner, delivering the code in minutes to
  the running environment


#1 - #3 are covered by [1]. For #4, #5 blueprints to be created.

Currently, cases #1-#3 are implemented for RPM packages of OpenStack, with
one prerequisite - you have to apply changes from [4] to fuel-main repo
before building a Fuel ISO with OpenStack packages from master.

For more details on configuration parameters and make iso examples,
please refer to [3]


[1] https://blueprints.launchpad.net/fuel/+spec/openstack-from-master

[2] https://blueprints.launchpad.net/fuel/+spec/patch-openstack

[3]  https://etherpad.openstack.org/p/fuel-build-rpms-from-anywhere

[4] https://review.openstack.org/#/c/116667/

We will be very welcome to hear more ideas on this.

-- 
Regards,
Vitaly Parakhin.
IRC: brain461 @ chat.freenode.net
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [QA] Meeting Thursday September 11th at 17:00 UTC

2014-09-10 Thread Matthew Treinish
Hi Everyone,

Just a quick reminder that the weekly OpenStack QA team IRC meeting will be
this Thursday, September 11th at 17:00 UTC in the #openstack-meeting channel.

The agenda for tomorrow's meeting can be found here:
https://wiki.openstack.org/wiki/Meetings/QATeamMeeting
Anyone is welcome to add an item to the agenda.

It's also worth noting that last week we started having a regular dedicated
Devstack topic during the meetings. So if anyone is interested in Devstack
development please join the meetings to be a part of the discussion.

To help people figure out what time 17:00 UTC is in other timezones tomorrow's
meeting will be at:

13:00 EDT
02:00 JST
02:30 ACST
19:00 CEST
12:00 CDT
10:00 PDT

-Matt Treinish


pgpURrvc_UpiZ.pgp
Description: PGP signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Gordon Sim

On 09/10/2014 12:47 AM, Devananda van der Veen wrote:

As was pointed out in the TC meeting today, Zaqar is (was?) actually
aiming to provide Messaging-as-a-Service -- not queueing as a service!
This is another way of saying it's more like email and less like
AMQP


The glossary[1] describes a model that is much more like 
messaging-oriented-middleware (AMQP and other things like it) than email.


To me, messaging-as-a-service is perhaps a more general purpose term. 
The concept of a 'queue' might not be exposed in such a system (e.g. 
MQTT), whereas the term queueing-as-a-service implies that perhaps it 
is. I don't see them as necessarily distinct things though. The model 
exposed by Zaqar certainly has 'queues' featured prominently.


[1] http://docs.openstack.org/developer/marconi/glossary.html



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


[openstack-dev] [all] [clients] [keystone] lack of retrying tokens leads to overall OpenStack fragility

2014-09-10 Thread Sean Dague
Going through the untriaged Nova bugs, and there are a few on a similar
pattern:

Nova operation in progress takes a while
Crosses keystone token expiration time
Timeout thrown
Operation fails
Terrible 500 error sent back to user

It seems like we should have a standard pattern that on token expiration
the underlying code at least gives one retry to try to establish a new
token to complete the flow, however as far as I can tell *no* clients do
this.

I know we had to add that into Tempest because tempest runs can exceed 1
hr, and we want to avoid random fails just because we cross a token
expiration boundary.

Anyone closer to the clients that can comment here?

-Sean

-- 
Sean Dague
http://dague.net

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


Re: [openstack-dev] [all] [clients] [keystone] lack of retrying tokens leads to overall OpenStack fragility

2014-09-10 Thread Endre Karlson
I think at least clients supporting keystone sessions that are configured
to use the auth.Password mech supports this since re-auth is done by the
session rather then the service client itself.

2014-09-10 16:14 GMT+02:00 Sean Dague s...@dague.net:

 Going through the untriaged Nova bugs, and there are a few on a similar
 pattern:

 Nova operation in progress takes a while
 Crosses keystone token expiration time
 Timeout thrown
 Operation fails
 Terrible 500 error sent back to user

 It seems like we should have a standard pattern that on token expiration
 the underlying code at least gives one retry to try to establish a new
 token to complete the flow, however as far as I can tell *no* clients do
 this.

 I know we had to add that into Tempest because tempest runs can exceed 1
 hr, and we want to avoid random fails just because we cross a token
 expiration boundary.

 Anyone closer to the clients that can comment here?

 -Sean

 --
 Sean Dague
 http://dague.net

 ___
 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


Re: [openstack-dev] [neutron][policy] Group-based Policy next steps

2014-09-10 Thread Robert Kukura


On 9/9/14, 7:51 PM, Jay Pipes wrote:

On 09/09/2014 06:57 PM, Kevin Benton wrote:

Hi Jay,

The main component that won't work without direct integration is
enforcing policy on calls directly to Neutron and calls between the
plugins inside of Neutron. However, that's only one component of GBP.
All of the declarative abstractions, rendering of policy, etc can be
experimented with here in the stackforge project until the incubator is
figured out.


OK, thanks for the explanation Kevin, that helps!
I'll add that there is likely to be a close coupling between ML2 
mechanism drivers and corresponding GBP policy drivers for some of the 
back-end integrations. These will likely share local state such as 
connections to controllers, and may interact with each other as part of 
processing core and GBP API requests. Development, review, and packaging 
of these would be facilitated by having them on the same branch in the 
same repo, but its probably not absolutely necessary.


-Bob


Best,
-jay


On Tue, Sep 9, 2014 at 12:01 PM, Jay Pipes jaypi...@gmail.com
mailto:jaypi...@gmail.com wrote:

On 09/04/2014 12:07 AM, Sumit Naiksatam wrote:

Hi,

There's been a lot of lively discussion on GBP a few weeks back
and we
wanted to drive forward the discussion on this a bit more. As 
you
might imagine, we're excited to move this forward so more 
people can

try it out.  Here are the options:

* Neutron feature branch: This presumably allows the GBP feature
to be
developed independently, and will perhaps help in faster 
iterations.
There does seem to be a significant packaging issue [1] with 
this

approach that hasn’t been completely addressed.

* Neutron-incubator: This allows a path to graduate into
Neutron, and
will be managed by the Neutron core team. That said, the 
proposal is

under discussion and there are still some open questions [2].

* Stackforge: This allows the GBP team to make rapid and 
iterative

progress, while still leveraging the OpenStack infra. It also
provides
option of immediately exposing the existing implementation to 
early

adopters.

Each of the above options does not preclude moving to the other
at a later time.

Which option do people think is more preferable?

(We could also discuss this in the weekly GBP IRC meeting on
Thursday:
https://wiki.openstack.org/__wiki/Meetings/Neutron_Group___Policy 
https://wiki.openstack.org/wiki/Meetings/Neutron_Group_Policy)


Thanks!

[1]
http://lists.openstack.org/__pipermail/openstack-dev/2014-__August/044283.html
http://lists.openstack.org/pipermail/openstack-dev/2014-August/044283.html
[2]
http://lists.openstack.org/__pipermail/openstack-dev/2014-__August/043577.html
http://lists.openstack.org/pipermail/openstack-dev/2014-August/043577.html


Hi all,

IIRC, Kevin was saying to me in IRC that GBP really needs to live
in-tree due to it needing access to various internal plugin points
and to be able to call across different plugin layers/drivers inside
of Neutron.

If this is the case, how would the stackforge GBP project work if it
wasn't a fork of Neutron in its entirety?

Just curious,
-jay


_
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.__org
mailto:OpenStack-dev@lists.openstack.org
http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev 
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev





--
Kevin Benton


___
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



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


Re: [openstack-dev] [TripleO] Review metrics - what do we want to measure?

2014-09-10 Thread Ben Nemec
On 09/10/2014 03:57 AM, Steven Hardy wrote:
 On Thu, Sep 04, 2014 at 01:54:20PM +, Jeremy Stanley wrote:
 On 2014-09-04 11:01:55 +0100 (+0100), Derek Higgins wrote:
 [...]
 How would people feel about turning [auto-abandon] back on?

 A lot of reviewers (myself among them) feel auto-abandon was a
 cold and emotionless way to provide feedback on a change. Especially
 on high-change-volume projects where core reviewers may at times get
 sucked into triaging other problems for long enough that the
 auto-abandoner kills lots of legitimate changes (possibly from
 new contributors who will get even more disgusted by this than the
 silence itself and walk away indefinitely with the impression that
 we really aren't a welcoming development community at all).
 
 I can understand this argument, and perhaps an auto-abandon with a long
 period like say a month for the submitter to address comments and reset the
 clock would be a reasonable compromise?
 
 The problem we have now, is there is a constantly expanding queue of zombie
 reviews, where the submitter got some negative feedback and, for whatever
 reason, has chosen not to address it.
 
 For example, in my Incoming reviews queue on the gerrit dashboard, I've
 got reviews I (or someone) -1'd over four months ago, with zero feedback
 from the submitter, what value is there to these reviews cluttering up the
 dashboard for every reviewer?
 
 To make matters worse Jenkins comes along periodically and rechecks or
 figures out the patch merge failed and bumps the zombie back up to the top
 of the queue - obviously I don't realise that it's not a human comment I
 need to read until I've expended effort clicking on the review and reading
 it :(
 
 From a reviewer perspective, it's impossible, and means the review
 dashboard is basically unusable without complex queries to weed out the
 active reviews from the zombies.
 
 Can it be done on a per project basis?

 It can, by running your own... but again it seems far better for
 core reviewers to decide if a change has potential or needs to be
 abandoned--that way there's an accountable human making that
 deliberate choice rather than the review team hiding behind an
 automated process so that no one is to blame for hurt feelings
 besides the infra operators who are enforcing this draconian measure
 for you.
 
 With all the threads about core-reviewer overload, I think it's
 unreasonable to expect us to scrub the review queue making daily judgements
 on whether a patch should be abandoned, and I'd argue that a human
 abandoning another human's patch has much more demotivating impact on
 contributors than a clearly documented automated process that you must
 address negative review comments within a set period or your review will
 expire.
 
 If you think about mailing list patch workflow, it's similar - you post
 your patch, get email review feedback, then post new reviews with fixes.
 If you fail to post new reviews with fixes, your review falls out the
 bottom of people's inboxes and you don't get your patch merged.
 

 To make the whole process a little friendlier we could increase
 the time frame from 1 week to 2.

 snarkHow about just automatically abandon any new change as soon
 as it's published, and if the contributor really feels it's
 important they'll unabandon it./snark
 
 I think that's a pretty unfair comment - all reviewers and most
 contributors are working really hard, all we're asking for is that
 contributors work with reviewers to get their patch into shape withing a
 reasonable time. :(
 
 As someone who's drinking from the firehose every day with a seemingly
 insurmountable review queue, I'd rather we worked towards processes which
 help us manage the workload in a sustainable way, rather than turning the
 review queue into the zombie-soup-of-dispair it currently is.
 
 All we need is two things:
 
 1. A way to automatically escalate reviews which have no feedback at all
 from core reviewers within a reasonable time (say a week or two)
 
 2. A way to automatically remove reviews from the queue which have core
 negative feedback with no resolution within a reasonable time (say a month
 or several weeks, so it's not percieved contributor-hostile).

A suggestion Robert made during that discussion was to have auto-WIP
instead of auto-abandon.  That should be less hostile to contributors
and still makes it easy to filter out the reviews that aren't ready to
merge anyway.  For me personally, and for the sake of tracking the
stats, that would be sufficient to address the problem.

 
 Note (2) still allows core reviewers to decide if a change has potential,
 it just becomes opt-in, e.g we have to address the issues which prevent us
 giving it positive feedback, either by directly working with the
 contributor, or delegating the work to an active contributor if the
 original patch author has decided not to continue work on the patch.
 
 Ultimately, it's not just about reviews - who's going to maintain all 

Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Sean Dague
On 09/09/2014 11:22 PM, Russell Bryant wrote:
 On 09/09/2014 05:24 PM, Michael Still wrote:
 Hi.

 One of the last things blocking Ironic from graduating is deciding
 whether or not we need a Nova API proxy for the old baremetal
 extension to new fangled Ironic API. The TC has asked that we discuss
 whether we think this functionality is actually necessary.

 It should be noted that we're _not_ talking about migration of
 deployed instances from baremetal to Ironic. That is already
 implemented. What we are talking about is if users post-migration
 should be able to expect their previous baremetal Nova API extension
 to continue to function, or if they should use the Ironic APIs from
 that point onwards.

 Nova had previously thought this was required, but it hasn't made it
 in time for Juno unless we do a FFE, and it has been suggested that
 perhaps its not needed at all because it is an admin extension.

 To be super specific, we're talking about the baremetal nodes admin
 extension here. This extension has the ability to:

  - list nodes running baremetal
  - show detail of one of those nodes
  - create a new baremetal node
  - delete a baremetal node

 Only the first two of those would be supported if we implemented a proxy.

 So, discuss.
 
 I'm in favor of proceeding with deprecation without requiring the API proxy.
 
 In the case of user facing APIs, the administrators in charge of
 upgrading the cloud do not have full control over all of the apps using
 the APIs.  In this particular case, I would expect that the cloud
 administrators have *complete* control over the use of these APIs.
 
 Assuming we have one overlap release (Juno) to allow the migration to
 occur and given proper documentation of the migration plan and release
 notes stating the fact that the old APIs are going away, we should be fine.
 
 In summary, +1 to moving forward without the API proxy requirement.

The thing is, we have the patch -
https://review.openstack.org/#/c/120433/, so it's not like there is a
zomg run around to get the patch.

I think we should FFE this patch as it provides a smoother transition
from baremetal to ironic. The patch is extremely low risk to the rest of
Nova, as it's a surface proxy feature, so lets just land it and move
forward.

-Sean

-- 
Sean Dague
http://dague.net

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


Re: [openstack-dev] [all] [clients] [keystone] lack of retrying tokens leads to overall OpenStack fragility

2014-09-10 Thread Sean Dague
Do we know which versions of the clients do that?

-Sean

On 09/10/2014 10:22 AM, Endre Karlson wrote:
 I think at least clients supporting keystone sessions that are
 configured to use the auth.Password mech supports this since re-auth is
 done by the session rather then the service client itself.
 
 2014-09-10 16:14 GMT+02:00 Sean Dague s...@dague.net
 mailto:s...@dague.net:
 
 Going through the untriaged Nova bugs, and there are a few on a similar
 pattern:
 
 Nova operation in progress takes a while
 Crosses keystone token expiration time
 Timeout thrown
 Operation fails
 Terrible 500 error sent back to user
 
 It seems like we should have a standard pattern that on token expiration
 the underlying code at least gives one retry to try to establish a new
 token to complete the flow, however as far as I can tell *no* clients do
 this.
 
 I know we had to add that into Tempest because tempest runs can exceed 1
 hr, and we want to avoid random fails just because we cross a token
 expiration boundary.
 
 Anyone closer to the clients that can comment here?
 
 -Sean
 
 --
 Sean Dague
 http://dague.net
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 mailto: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
 


-- 
Sean Dague
http://dague.net

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


Re: [openstack-dev] Kilo Cycle Goals Exercise

2014-09-10 Thread Anne Gentle
tl;dr I'm concerned we're conflating user concerns and contributor
concerns. I'd like to see laser focus on two things that help both: 1)
Define layers in our governance and integration efforts 2) Pay down
technical debt with a focus on supporting users.

more
Great kick off Joe, thanks. I have been waiting to reply to this thread on
purpose while I try to gather as much info as I can about what both users
and contributors are interested in for our future. I have a pretty specific
curiosity about how we're framing this request: I see a spilt between
contributor concerns and user concerns.

Example contributor concerns:
scope definition
incubation and integration requirements
heavy-handed processes
review pileups
contributor license agreement concerns about preventing contributions and
openness
technical debt weighing a project down

Example user concerns:
how do I know what's tested; what's buggy
how do I trust a part of OpenStack to put it into production and maintain
over time
why isn't there complete driver or hypervisor documentation for
fill-in-the-blank
logging
security best practices
high availability across OpenStack
monitoring OpenStack
monitoring apps on my OpenStack infrastructure
my own users have needs; how can I get upstream to care about them

These example concerns are not comprehensive but I worry about conflation
causing us all to burnout and flail. I know we all work in the gray areas
but there's a black-and-white problem due to our current governance.

Since I write docs and work on technical committee concerns, I sit on a
cross-project and cross-concern bridge all the time, advocating,
prioritizing, standardizing, and weighing needs across many project teams.
The user concerns are a higher priority for docs currently, because they're
a support mechanism.

I think the Kilo cycle should be dedicated to:

 - Fulfill the promise of layers for defining OpenStack integration
gradients in governance and integration taxes such as consistency across
projects, reviews on projects with many drivers/contributors, infra, docs,
and testing
 - Pay down technical debt by sharply focusing on capabilities rather than
drivers that fulfill them

Two focus areas. Each of those will have a lot of work items. Both find
more common ground for devs and users. Let's do this!

 Anne

On Wed, Sep 3, 2014 at 10:37 AM, Joe Gordon joe.gord...@gmail.com wrote:

 As you all know, there has recently been several very active discussions
 around how to improve assorted aspects of our development process. One idea
 that was brought up is to come up with a list of cycle goals/project
 priorities for Kilo [0].

 To that end, I would like to propose an exercise as discussed in the TC
 meeting yesterday [1]:
 Have anyone interested (especially TC members) come up with a list of what
 they think the project wide Kilo cycle goals should be and post them on
 this thread by end of day Wednesday, September 10th. After which time we
 can begin discussing the results.
 The goal of this exercise is to help us see if our individual world views
 align with the greater community, and to get the ball rolling on a larger
 discussion of where as a project we should be focusing more time.


 best,
 Joe Gordon

 [0]
 http://lists.openstack.org/pipermail/openstack-dev/2014-August/041929.html
 [1]
 http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-09-02-20.04.log.html

 ___
 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


[openstack-dev] [all] webnumbr bug graphs appear dead for bug triage

2014-09-10 Thread Sean Dague
All the various bug triage graphs point out to webnumbr urls from our
wiki - https://wiki.openstack.org/wiki/BugTriage

All of webnumbr appears to be dead and not returning any data.

Why this service was used predates me. Does anyone know why? Anyone know
if it's going to come back? Or should we just purge those links?

Thanks,

-Sean

-- 
Sean Dague
http://dague.net

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


Re: [openstack-dev] [Fuel] Node renaming in Fuel

2014-09-10 Thread Igor Kalnitsky
Hi Dmitry,

It's not as easy as you think. The node's name may be reseted during
some of our actions. For example, if you remove node from a cluster a
node's name will be reseted.

So the idea of the blueprint [1] is to provide mechanism when you once
set names and they will not be reseted.

[1]: https://blueprints.launchpad.net/fuel/+spec/node-naming

- Igor

On Wed, Sep 10, 2014 at 4:19 PM, Dmitry Ukov du...@mirantis.com wrote:
 Hello Fuelers,
 I've figured out that there is a blueprint regarding node naming
 (https://blueprints.launchpad.net/fuel/+spec/node-naming). It looks like
 this this feature really has not been started. That being said all necessary
 preparations in Nailgun code have been already done. The only thing that is
 needed to be done is to enable this feature (in fact 4 lines of code).
 --- a/nailgun/nailgun/objects/node.py
 +++ b/nailgun/nailgun/objects/node.py
 @@ -654,7 +654,10 @@ class Node(NailgunObject):

  @classmethod
  def make_slave_name(cls, instance):
 -return unode-{node_id}.format(node_id=instance.id)
 +if instance.name.startswith(Untitled):
 +return unode-{node_id}.format(node_id=instance.id)
 +else:
 +return u{node_id}.format(node_id=instance.name.lower())

  @classmethod
  def make_slave_fqdn(cls, instance):

 Should I consider this as a bug or this blueprint will be implemented in the
 nearest future?


 --
 Kind regards
 Dmitry Ukov
 IT Engineer
 Mirantis, Inc.


 ___
 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


Re: [openstack-dev] [release] client release deadline - Sept 18th

2014-09-10 Thread Matt Riedemann



On 9/9/2014 4:19 PM, Sean Dague wrote:

As we try to stabilize OpenStack Juno, many server projects need to get
out final client releases that expose new features of their servers.
While this seems like not a big deal, each of these clients releases
ends up having possibly destabilizing impacts on the OpenStack whole (as
the clients do double duty in cross communicating between services).

As such in the release meeting today it was agreed clients should have
their final release by Sept 18th. We'll start applying the dependency
freeze to oslo and clients shortly after that, all other requirements
should be frozen at this point unless there is a high priority bug
around them.

-Sean



Thanks for bringing this up. We do our own packaging and need time for 
legal clearances and having the final client releases done in a 
reasonable time before rc1 is helpful.  I've been pinging a few projects 
to do a final client release relatively soon.  python-neutronclient has 
a release this week and I think John was planning a python-cinderclient 
release this week also.


--

Thanks,

Matt Riedemann


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


[openstack-dev] What's up doc? Sept. 10, 2014

2014-09-10 Thread Anne Gentle
Bug squash day worked well on 9/9 -- squashing and triaging bugs, bringing
the openstack-manuals backlog to about 400, with 50 in progress even now!
The openstack-api-site backlog went to about 200 with 15 in progress. We
also had some fairly new docs contributors join in -- thank you everyone
who helped out.

__In review and merged this past week__

This week was about bug squashing!

__High priority doc work__

Install Guide testing starts in earnest once packages are available and
with feature freeze this should be in the next week or so. We've been
keeping up with both CLI and config reference patches at milestone releases.

__Ongoing doc work__

The separate Networking Guide is still ongoing. Nick Chase has been
interviewing contractors to pick up the work that still needs to be done,
thank you Nick. Shaun McCance has moved to other contracts, thank you Shaun
for your efforts.

__New incoming doc requests__

Security Guide authors, there is interest in specializing your book by
Cisco, and I wanted to let everyone know how exciting this is. I've asked
them to look at the bug backlog and see what they could contribute upstream
also, and they're willing and interested. The vision is that upstream docs
can be reused and repurposed so I'm happy to see this vision become
reality. I'm finding out if there are any particular mechanics needed so
stay tuned.

__Doc tools updates__

We should have a new release of the clouddocs-maven-plugin in the next 2
weeks with these features, mostly API reference-focused:
Fix css padding-top for Rackspace output https://review.openstack.org/108156
Add the title of the service to API reference
https://review.openstack.org/107768
Add fanatiguy to Rackspace API Ref https://review.openstack.org/112703
Add support for yaml syntax highlighting:
https://review.openstack.org/#/c/111219/1
Allow error phrase to be listed with response code:
https://review.openstack.org/106173

__Other doc news__

I've been clarifying what it means to be incubated from a documentation
perspective on this wiki page. Most recently the Manila project was
incubated and they're looking into how docs are incubated and integrated.

The training team will discuss whether a separate program incubation
application makes sense for them at their next team meeting, held Mondays
at 12:00 Central in #openstack-meeting.

An end user interest group has been having a lot of discussion on the
user-committee mailing list. I wanted to be sure docs people know that the
Foundation is seeking input on developer.openstack.org and looking for an
app ecosystem community manager. If you know someone doing great work on
cloud apps on OpenStack, please join us on that mailing list thread and let
us know.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [Fuel] Plugable solution for running abstract commands on nodes

2014-09-10 Thread Dmitriy Shulyak
Hi folks,

Some of you may know that there is ongoing work to achieve kindof
data-driven orchestration
for Fuel. If this is new to you, please get familiar with spec:

https://review.openstack.org/#/c/113491/

Knowing that running random command on nodes will be probably most usable
type of
orchestration extension, i want to discuss our solution for this problem.

Plugin writer will need to do two things:

1. Provide custom task.yaml (i am using /etc/puppet/tasks, but this is
completely configurable,
we just need to reach agreement)

  /etc/puppet/tasks/echo/task.yaml

  with next content:

   type: exec
   cmd: echo 1

2. Provide control plane with orchestration metadata

/etc/fuel/tasks/echo_task.yaml

controller:
 -
  task: echo
  description: Simple echo for you
  priority: 1000
compute:
-
  task: echo
  description: Simple echo for you
  priority: 1000

This is done in order to separate concerns of orchestration logic and tasks.

From plugin writer perspective it is far more usable to provide exact
command in orchestration metadata itself, like:

/etc/fuel/tasks/echo_task.yaml

controller:
 -
  task: echo
  description: Simple echo for you
  priority: 1000
  cmd: echo 1
  type: exec

compute:
-
 task: echo
  description: Simple echo for you
  priority: 1000
  cmd: echo 1
  type: exec

I would prefer to stick to the first, because there is benefits of using
one interface between all tasks executors (puppet, exec, maybe chef), which
will improve debuging and development process.

So my question is first - good enough? Or second is essential type of
plugin to support?

If you want additional implementation details check:
https://review.openstack.org/#/c/118311/
https://review.openstack.org/#/c/113226/
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Fuel] Node renaming in Fuel

2014-09-10 Thread Mike Scherbakov
Also, how about checking for duplicated name? That it matches standard for
DNS?

 return u{node_id}.format(node_id=instance.name.lower())
you could just return instance.name.lower() I believe..


On Wed, Sep 10, 2014 at 7:00 PM, Igor Kalnitsky ikalnit...@mirantis.com
wrote:

 Hi Dmitry,

 It's not as easy as you think. The node's name may be reseted during
 some of our actions. For example, if you remove node from a cluster a
 node's name will be reseted.

 So the idea of the blueprint [1] is to provide mechanism when you once
 set names and they will not be reseted.

 [1]: https://blueprints.launchpad.net/fuel/+spec/node-naming

 - Igor

 On Wed, Sep 10, 2014 at 4:19 PM, Dmitry Ukov du...@mirantis.com wrote:
  Hello Fuelers,
  I've figured out that there is a blueprint regarding node naming
  (https://blueprints.launchpad.net/fuel/+spec/node-naming). It looks like
  this this feature really has not been started. That being said all
 necessary
  preparations in Nailgun code have been already done. The only thing that
 is
  needed to be done is to enable this feature (in fact 4 lines of code).
  --- a/nailgun/nailgun/objects/node.py
  +++ b/nailgun/nailgun/objects/node.py
  @@ -654,7 +654,10 @@ class Node(NailgunObject):
 
   @classmethod
   def make_slave_name(cls, instance):
  -return unode-{node_id}.format(node_id=instance.id)
  +if instance.name.startswith(Untitled):
  +return unode-{node_id}.format(node_id=instance.id)
  +else:
  +return u{node_id}.format(node_id=instance.name.lower())
 
   @classmethod
   def make_slave_fqdn(cls, instance):
 
  Should I consider this as a bug or this blueprint will be implemented in
 the
  nearest future?
 
 
  --
  Kind regards
  Dmitry Ukov
  IT Engineer
  Mirantis, Inc.
 
 
  ___
  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




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


Re: [openstack-dev] [all] webnumbr bug graphs appear dead for bug triage

2014-09-10 Thread Tom Fifield
On 10/09/14 22:51, Sean Dague wrote:
 All the various bug triage graphs point out to webnumbr urls from our
 wiki - https://wiki.openstack.org/wiki/BugTriage
 
 All of webnumbr appears to be dead and not returning any data.
 
 Why this service was used predates me. Does anyone know why? Anyone know
 if it's going to come back? Or should we just purge those links?

Not sure why it was used either, but it has been very flaky for quite a
while. The most recent downtime has been the longest, and I believe we
should indeed use another service to replace webnumbr. I think we
already have similar graphs from bugday
(http://status.openstack.org/bugday/), but only for one day, and/or the
activity portal (http://activity.openstack.org/dash/browser/its-repos.html).


Regards,


Tom



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


[openstack-dev] anyone using RabbitMQ with active/active mirrored queues?

2014-09-10 Thread Chris Friesen

Hi,

I see that the OpenStack high availability guide is still recommending 
the active/standby method of configuring RabbitMQ.


Has anyone tried using active/active with mirrored queues as recommended 
by the RabbitMQ developers?  If so, what problems did you run into?


Thanks,
Chris

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


Re: [openstack-dev] [all] webnumbr bug graphs appear dead for bug triage

2014-09-10 Thread Thierry Carrez
Sean Dague wrote:
 All the various bug triage graphs point out to webnumbr urls from our
 wiki - https://wiki.openstack.org/wiki/BugTriage
 
 All of webnumbr appears to be dead and not returning any data.
 
 Why this service was used predates me. Does anyone know why? Anyone know
 if it's going to come back? Or should we just purge those links?

It used to be a convenient way to graph bug stats from launchpad over
time. But I think the service died. So yes, links can probably be purged
now.

-- 
Thierry Carrez (ttx)

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


[openstack-dev] 凌志阳149759 不在办公室。

2014-09-10 Thread ling . zhiyang

我将从 2014/09/10 开始离开办公室,到 2014/09/11 时返回。

我将在回来之后答复您的消息。

ZTE Information Security Notice: The information contained in this mail (and 
any attachment transmitted herewith) is privileged and confidential and is 
intended for the exclusive use of the addressee(s).  If you are not an intended 
recipient, any disclosure, reproduction, distribution or other dissemination or 
use of the information contained is strictly prohibited.  If you have received 
this mail in error, please delete it and notify us immediately.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Fuel] Plugable solution for running abstract commands on nodes

2014-09-10 Thread Aleksandr Didenko
Hi,

as for execution of arbitrary code across the OpenStack cluster - I was
thinking of mcollective + fact filters:

1) we need to start using mcollective facts [0] [2] - we don't
use/configure this currently
2) use mcollective execute_shell_command agent (or any other agent) with
fact filter [1]

So, for example, if we have mcollective fact called node_roles:
node_roles: compute ceph-osd

Then we can execute shell cmd on all compute nodes like this:

mco rpc execute_shell_command execute cmd=/some_script.sh -F
node_role=/compute/

Of course, we can use more complicated filters to run commands more
precisely.

[0]
https://projects.puppetlabs.com/projects/mcollective-plugins/wiki/FactsFacterYAML
[1]
https://docs.puppetlabs.com/mcollective/reference/ui/filters.html#fact-filters
[2] https://docs.puppetlabs.com/mcollective/reference/plugins/facts.html


On Wed, Sep 10, 2014 at 6:04 PM, Dmitriy Shulyak dshul...@mirantis.com
wrote:

 Hi folks,

 Some of you may know that there is ongoing work to achieve kindof
 data-driven orchestration
 for Fuel. If this is new to you, please get familiar with spec:

 https://review.openstack.org/#/c/113491/

 Knowing that running random command on nodes will be probably most usable
 type of
 orchestration extension, i want to discuss our solution for this problem.

 Plugin writer will need to do two things:

 1. Provide custom task.yaml (i am using /etc/puppet/tasks, but this is
 completely configurable,
 we just need to reach agreement)

   /etc/puppet/tasks/echo/task.yaml

   with next content:

type: exec
cmd: echo 1

 2. Provide control plane with orchestration metadata

 /etc/fuel/tasks/echo_task.yaml

 controller:
  -
   task: echo
   description: Simple echo for you
   priority: 1000
 compute:
 -
   task: echo
   description: Simple echo for you
   priority: 1000

 This is done in order to separate concerns of orchestration logic and
 tasks.

 From plugin writer perspective it is far more usable to provide exact
 command in orchestration metadata itself, like:

 /etc/fuel/tasks/echo_task.yaml

 controller:
  -
   task: echo
   description: Simple echo for you
   priority: 1000
   cmd: echo 1
   type: exec

 compute:
 -
  task: echo
   description: Simple echo for you
   priority: 1000
   cmd: echo 1
   type: exec

 I would prefer to stick to the first, because there is benefits of using
 one interface between all tasks executors (puppet, exec, maybe chef), which
 will improve debuging and development process.

 So my question is first - good enough? Or second is essential type of
 plugin to support?

 If you want additional implementation details check:
 https://review.openstack.org/#/c/118311/
 https://review.openstack.org/#/c/113226/




 ___
 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


Re: [openstack-dev] [all] [clients] [keystone] lack of retrying tokens leads to overall OpenStack fragility

2014-09-10 Thread Steven Hardy
On Wed, Sep 10, 2014 at 10:14:32AM -0400, Sean Dague wrote:
 Going through the untriaged Nova bugs, and there are a few on a similar
 pattern:
 
 Nova operation in progress takes a while
 Crosses keystone token expiration time
 Timeout thrown
 Operation fails
 Terrible 500 error sent back to user

We actually have this exact problem in Heat, which I'm currently trying to
solve:

https://bugs.launchpad.net/heat/+bug/1306294

Can you clarify, is the issue either:

1. Create novaclient object with username/password
2. Do series of operations via the client object which eventually fail
after $n operations due to token expiry

or:

1. Create novaclient object with username/password
2. Some really long operation which means token expires in the course of
the service handling the request, blowing up and 500-ing

If the former, then it does sound like a client, or usage-of-client bug,
although note if you pass a *token* vs username/password (as is currently
done for glance and heat in tempest, because we lack the code to get the
token outside of the shell.py code..), there's nothing the client can do,
because you can't request a new token with longer expiry with a token...

However if the latter, then it seems like not really a client problem to
solve, as it's hard to know what action to take if a request failed
part-way through and thus things are in an unknown state.

This issue is a hard problem, which can possibly be solved by
switching to a trust scoped token (service impersonates the user), but then
you're effectively bypassing token expiry via delegation which sits
uncomfortably with me (despite the fact that we may have to do this in heat
to solve the afforementioned bug)

 It seems like we should have a standard pattern that on token expiration
 the underlying code at least gives one retry to try to establish a new
 token to complete the flow, however as far as I can tell *no* clients do
 this.

As has been mentioned, using sessions may be one solution to this, and
AFAIK session support (where it doesn't already exist) is getting into
various clients via the work being carried out to add support for v3
keystone by David Hu:

https://review.openstack.org/#/q/owner:david.hu%2540hp.com,n,z

I see patches for Heat (currently gating), Nova and Ironic.

 I know we had to add that into Tempest because tempest runs can exceed 1
 hr, and we want to avoid random fails just because we cross a token
 expiration boundary.

I can't claim great experience with sessions yet, but AIUI you could do
something like:

from keystoneclient.auth.identity import v3
from keystoneclient import session
from keystoneclient.v3 import client

auth = v3.Password(auth_url=OS_AUTH_URL,
   username=USERNAME,
   password=PASSWORD,
   project_id=PROJECT,
   user_domain_name='default')
sess = session.Session(auth=auth)
ks = client.Client(session=sess)

And if you can pass the same session into the various clients tempest
creates then the Password auth-plugin code takes care of reauthenticating
if the token cached in the auth plugin object is expired, or nearly
expired:

https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/auth/identity/base.py#L120

So in the tempest case, it seems like it may be a case of migrating the
code creating the clients to use sessions instead of passing a token or
username/password into the client object?

That's my understanding of it atm anyway, hopefully jamielennox will be along
soon with more details :)

Steve

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


[openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Aaron Sahlin
I noticed that the build is using JSHint now, and before I consider 
syncing it with the proposed options from the JavaScript best practices 
(https://review.openstack.org/#/c/117595/), I wanted to double check and 
be sure Horizon got past the legal problem with the good/evil licensing.


Some background for those who are not aware.   JSHint was authored by 
Doug Crockford, and he added an extra line in the licensing, The 
software shall be used for good, not evil.  The issue is in the 
definition of what is good and what is evil.   It is too subjective, 
what is evil differs from person to person therefore ends up being a 
liability and leaving users open to frivolous lawsuits.


Did Horizon get permission or find some way around the licensing issue?


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


Re: [openstack-dev] [nova][neutron][cinder] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Kyle Mestery
On Wed, Sep 10, 2014 at 3:44 AM, Daniel P. Berrange berra...@redhat.com wrote:
 On Tue, Sep 09, 2014 at 05:14:43PM -0700, Stefano Maffulli wrote:
  To me, this means you don't really want a sin bin where you dump
  drivers and tell them not to come out until they're fit to be
  reviewed by the core; You want a trusted driver community which does
  its own reviews and means the core doesn't have to review them.

 I think we're going somewhere here, based on your comment and other's:
 we may achieve some result if we empower a new set of people to manage
 drivers, keeping them in the same repositories where they are now. This
 new set of people may not be the current core reviewers but other with
 different skillsets and more capable of understanding the driver's
 ecosystem, needs, motivations, etc.

 I have the impression this idea has been circling around for a while but
 for some reason or another (like lack of capabilities in gerrit and
 other reasons) we never tried to implement it. Maybe it's time to think
 about an implementation. We have been thinking about mentors
 https://wiki.openstack.org/wiki/Mentors, maybe that's a way to go?
 Sub-team with +1.5 scoring capabilities?

 I think that setting up subteams is neccessary to stop us imploding but
 I don't think it is enough. As long as we have one repo we're forever
 going to have conflict  contention in deciding which features to accept,
 which is a big factor in problems today. I favour the strong split of the
 drivers into separate repositories to remove the contente between the
 teams as much as is practical.

I would be cautious around sub-teams. Our experience in Neutron has
been that we do a very good job of setting up sub-teams, but a
terrible job at deciding when they should be spun-down and folded back
in. Because in a lot of cases, a sub-team's existance should be for a
short period of time. The other problem is that sub-teams can tend to
wander away from the broader team, making it harder for their work to
be integrated back into the whole. All of this is to say that
sub-teams require coordination and lots of communication, and should
be carefully watched, groomed, and culled when necessary.

Thanks,
Kyle

 Regards,
 Daniel
 --
 |: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
 |: http://libvirt.org  -o- http://virt-manager.org :|
 |: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
 |: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

 ___
 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


Re: [openstack-dev] [release] client release deadline - Sept 18th

2014-09-10 Thread Kyle Mestery
On Wed, Sep 10, 2014 at 10:01 AM, Matt Riedemann
mrie...@linux.vnet.ibm.com wrote:


 On 9/9/2014 4:19 PM, Sean Dague wrote:

 As we try to stabilize OpenStack Juno, many server projects need to get
 out final client releases that expose new features of their servers.
 While this seems like not a big deal, each of these clients releases
 ends up having possibly destabilizing impacts on the OpenStack whole (as
 the clients do double duty in cross communicating between services).

 As such in the release meeting today it was agreed clients should have
 their final release by Sept 18th. We'll start applying the dependency
 freeze to oslo and clients shortly after that, all other requirements
 should be frozen at this point unless there is a high priority bug
 around them.

 -Sean


 Thanks for bringing this up. We do our own packaging and need time for legal
 clearances and having the final client releases done in a reasonable time
 before rc1 is helpful.  I've been pinging a few projects to do a final
 client release relatively soon.  python-neutronclient has a release this
 week and I think John was planning a python-cinderclient release this week
 also.

Just a slight correction: python-neutronclient will have a final
release once the L3 HA CLI changes land [1].

Thanks,
Kyle

[1] https://review.openstack.org/#/c/108378/

 --

 Thanks,

 Matt Riedemann



 ___
 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


Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Chris K
I thought it might be helpful to show a sample of the output from the
proxied commands: Please find the example here:

http://paste.openstack.org/show/Em861wMwFvrFlsWkugfX



Chris Krelle
NobodyCam


On Wed, Sep 10, 2014 at 7:33 AM, Sean Dague s...@dague.net wrote:

 On 09/09/2014 11:22 PM, Russell Bryant wrote:
  On 09/09/2014 05:24 PM, Michael Still wrote:
  Hi.
 
  One of the last things blocking Ironic from graduating is deciding
  whether or not we need a Nova API proxy for the old baremetal
  extension to new fangled Ironic API. The TC has asked that we discuss
  whether we think this functionality is actually necessary.
 
  It should be noted that we're _not_ talking about migration of
  deployed instances from baremetal to Ironic. That is already
  implemented. What we are talking about is if users post-migration
  should be able to expect their previous baremetal Nova API extension
  to continue to function, or if they should use the Ironic APIs from
  that point onwards.
 
  Nova had previously thought this was required, but it hasn't made it
  in time for Juno unless we do a FFE, and it has been suggested that
  perhaps its not needed at all because it is an admin extension.
 
  To be super specific, we're talking about the baremetal nodes admin
  extension here. This extension has the ability to:
 
   - list nodes running baremetal
   - show detail of one of those nodes
   - create a new baremetal node
   - delete a baremetal node
 
  Only the first two of those would be supported if we implemented a
 proxy.
 
  So, discuss.
 
  I'm in favor of proceeding with deprecation without requiring the API
 proxy.
 
  In the case of user facing APIs, the administrators in charge of
  upgrading the cloud do not have full control over all of the apps using
  the APIs.  In this particular case, I would expect that the cloud
  administrators have *complete* control over the use of these APIs.
 
  Assuming we have one overlap release (Juno) to allow the migration to
  occur and given proper documentation of the migration plan and release
  notes stating the fact that the old APIs are going away, we should be
 fine.
 
  In summary, +1 to moving forward without the API proxy requirement.

 The thing is, we have the patch -
 https://review.openstack.org/#/c/120433/, so it's not like there is a
 zomg run around to get the patch.

 I think we should FFE this patch as it provides a smoother transition
 from baremetal to ironic. The patch is extremely low risk to the rest of
 Nova, as it's a surface proxy feature, so lets just land it and move
 forward.

 -Sean

 --
 Sean Dague
 http://dague.net

 ___
 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


[openstack-dev] [all] Bringing back auto-abandon (was: Review metrics - what do we want to measure?)

2014-09-10 Thread Jeremy Stanley
On 2014-09-10 09:57:17 +0100 (+0100), Steven Hardy wrote:
 I can understand this argument, and perhaps an auto-abandon with a
 long period like say a month for the submitter to address comments
 and reset the clock would be a reasonable compromise?

Perhaps, but the old script lacked a bunch of things we'd need for
this (it didn't understand/skip WIP changes, it also abandoned
changes with no reviews at all, it didn't support for the version of
Gerrit we're running now) and was tied to old cruft we've excised
(particularly the Launchpad-Gerrit group membership sync code) so
would likely need to be rewritten mostly from scratch. Probably if
we were to do it right, it would be something like a new kind of
periodic meta-job job in Zuul which could be selectively added to
projects who want it.

 The problem we have now, is there is a constantly expanding queue
 of zombie reviews, where the submitter got some negative feedback
 and, for whatever reason, has chosen not to address it.

I agree that's a problem, but I'm unconvinced it's because we lack
some system to automatically make them go away.

 For example, in my Incoming reviews queue on the gerrit
 dashboard, I've got reviews I (or someone) -1'd over four months
 ago, with zero feedback from the submitter, what value is there to
 these reviews cluttering up the dashboard for every reviewer?

The moment you, as a core reviewer, abandon one of those with a
friendly note it will cease to clutter up the dashboard for anyone.
But doing so also gives you an opportunity to possibly notice that
this is actually a valuable bug fix/enhancement for your project and
take it over. If it gets automatically abandoned because some random
reviewer did a drive-by -1 about whitespace preferences a month ago,
then you may never know.

 To make matters worse Jenkins comes along periodically and
 rechecks or figures out the patch merge failed and bumps the
 zombie back up to the top of the queue - obviously I don't realise
 that it's not a human comment I need to read until I've expended
 effort clicking on the review and reading it :(

If you, again as a core reviewer, notice that there is a change
which needs work but perhaps is not in a situation where outright
abandonment is warranted, mark it with workflow -1 (work in
progress) then that too will break the cycle. Also Zuul is only
spontaneously leaving votes on changes which suddenly cease to be
able to merge due to merge conflicts appearing in the target branch,
and will only do that to a patchset once... it doesn't periodically
retest any changes beyond that without some intervention.

 From a reviewer perspective, it's impossible, and means the review
 dashboard is basically unusable without complex queries to weed
 out the active reviews from the zombies.

I would argue that the default Gerrit dashboard is effectively
unusable for a variety of other reasons anyway, which is why there
are custom dashboards proliferating (globally, per-project and
per-user) to maximize reviewer efficiency and use cases. For that
matter, it's also arguable that's one of the driving factors behind
the increasing number of Gerrit clients and front-end replacements.

 All we need is two things:

Well, three...

0. A clearly documented set of expectations of code contributors so
that they know in advance their proposed changes will be discarded
if they do not look after them fairly continually to address
comments as they come. This should include the expectation that they
may have to gratuitously submit new patchsets from time to time to
clear drive-by negative reviews which make pointless demands or are
based on misunderstandings of those patches (because core reviewers
will not be able to clear other reviewer's -1 votes manually and the
original reviewer may never revisit that change), or continue to
un-abandon their changes while waiting for proper reviews to find
them. Also some custom query they check from time to time to spot
their auto-abandoned reviews so they can restore them (this was one
of my standard searches back when we used the auto-abandoner).

 1. A way to automatically escalate reviews which have no feedback
 at all from core reviewers within a reasonable time (say a week or
 two)

As a view in reviewday? Or using something like next-review (which I
believe has heuristics for selecting neglected reviews for you)?

 2. A way to automatically remove reviews from the queue which have
 core negative feedback with no resolution within a reasonable time
 (say a month or several weeks, so it's not percieved
 contributor-hostile).

Well, here's part of the challenge... core reviewer is merely a
concept we invented. We have Gerrit ACLs which allow anyone to leave
a -1 review and also allow *some* reviewers based on a somewhat
flexible group membership system to leave -2 reviews. Gerrit itself
does not see a -1 review from a so-called core reviewer as being
any different from one left by any other reviewer and provides no
general 

Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Solly Ross
As far as I understand it, though, that's a patch for a read-only mode.  It 
seems bizzare, and possibly dangerous, to proxy read commands, but not write 
commands.  It gives the impression that everything's fine until it's not fine 
(because someone tried to use an existing script to do a create command).  
IMHO, it would be better to just tell people up front Update your scripts to 
use Ironic, because they won't work at all instead of leading people (through 
empirical evidence) to believe that their scripts will work, and then having 
them discover later that something broke because they tried to create a node.

Best Regards,
Solly Ross

- Original Message -
 From: Sean Dague s...@dague.net
 To: openstack-dev@lists.openstack.org
 Sent: Wednesday, September 10, 2014 10:33:05 AM
 Subject: Re: [openstack-dev] On an API proxy from baremetal to ironic
 
 On 09/09/2014 11:22 PM, Russell Bryant wrote:
  On 09/09/2014 05:24 PM, Michael Still wrote:
  Hi.
 
  One of the last things blocking Ironic from graduating is deciding
  whether or not we need a Nova API proxy for the old baremetal
  extension to new fangled Ironic API. The TC has asked that we discuss
  whether we think this functionality is actually necessary.
 
  It should be noted that we're _not_ talking about migration of
  deployed instances from baremetal to Ironic. That is already
  implemented. What we are talking about is if users post-migration
  should be able to expect their previous baremetal Nova API extension
  to continue to function, or if they should use the Ironic APIs from
  that point onwards.
 
  Nova had previously thought this was required, but it hasn't made it
  in time for Juno unless we do a FFE, and it has been suggested that
  perhaps its not needed at all because it is an admin extension.
 
  To be super specific, we're talking about the baremetal nodes admin
  extension here. This extension has the ability to:
 
   - list nodes running baremetal
   - show detail of one of those nodes
   - create a new baremetal node
   - delete a baremetal node
 
  Only the first two of those would be supported if we implemented a proxy.
 
  So, discuss.
  
  I'm in favor of proceeding with deprecation without requiring the API
  proxy.
  
  In the case of user facing APIs, the administrators in charge of
  upgrading the cloud do not have full control over all of the apps using
  the APIs.  In this particular case, I would expect that the cloud
  administrators have *complete* control over the use of these APIs.
  
  Assuming we have one overlap release (Juno) to allow the migration to
  occur and given proper documentation of the migration plan and release
  notes stating the fact that the old APIs are going away, we should be fine.
  
  In summary, +1 to moving forward without the API proxy requirement.
 
 The thing is, we have the patch -
 https://review.openstack.org/#/c/120433/, so it's not like there is a
 zomg run around to get the patch.
 
 I think we should FFE this patch as it provides a smoother transition
 from baremetal to ironic. The patch is extremely low risk to the rest of
 Nova, as it's a surface proxy feature, so lets just land it and move
 forward.
 
   -Sean
 
 --
 Sean Dague
 http://dague.net
 
 ___
 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


Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Solly Ross
JSHint *isn't* Douglas Crockford.  It was written by someone who 
(understandably)
thought Douglas Crockford had some good ideas, but was overzealous.  It does 
mostly the
same things, but is more lenient with regards to style elements.

The license is as such: https://github.com/jshint/jshint/blob/master/LICENSE

You are thinking of JSLint, which is written by Douglas Crockford.

- Original Message -
 From: Aaron Sahlin asah...@linux.vnet.ibm.com
 To: openstack-dev@lists.openstack.org
 Sent: Wednesday, September 10, 2014 11:56:37 AM
 Subject: [openstack-dev] [Horizon] Licensing issue with using JSHint in build
 
 I noticed that the build is using JSHint now, and before I consider
 syncing it with the proposed options from the JavaScript best practices
 (https://review.openstack.org/#/c/117595/), I wanted to double check and
 be sure Horizon got past the legal problem with the good/evil licensing.
 
 Some background for those who are not aware.   JSHint was authored by
 Doug Crockford, and he added an extra line in the licensing, The
 software shall be used for good, not evil.  The issue is in the
 definition of what is good and what is evil.   It is too subjective,
 what is evil differs from person to person therefore ends up being a
 liability and leaving users open to frivolous lawsuits.
 
 Did Horizon get permission or find some way around the licensing issue?
 
 
 ___
 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


Re: [openstack-dev] [all] i need some help on this bug Bug #1365892

2014-09-10 Thread Mike Bayer

On Sep 10, 2014, at 4:11 AM, Li Tianqing jaze...@163.com wrote:

 After some research, i find the reason for the cycle reference. In closure, 
 the _fix_paswords.func_closre reference the _fix_passwords. So the
 cycle reference happened. 
 And  in https://thp.io/2012/python-gc/python_gc_final_2012-01-22.pdf page 5, 
 it says that 
 We observe that Python implementations with distinct GCs behave differently: 
 CPython does not even try to get the order of finalizers right, and
 simply puts uncollectable objects into the global list of garbage for the 
 developer to deal with manually.
 So the gc can not handle cycle reference, then the memory leak happened. 

An object is only uncollectable in Python if it has a __del__ method and is 
part of an unreachable cycle.  Based on a grep, there is only one class in 
oslo.messaging that has a __del__ and that is ConnectionContext in 
_drivers/amqp.py.   

Removing the __del__ method from this object would be the best approach.
There’s nothing wrong with reference cycles in Python as long as we don’t use 
__del__, which IMHO has no legitimate use case.   Additionally, it is very 
difficult to be 100% vigilant against reference cycles reappearing in many 
cases, but it is extremely simple to be 100% vigilant about disallowing __del__.

In this case it appears to be a “safety” in case someone uses the 
ConnectionContext object outside of being a context manager.  I’d fix that and 
require that it be used as a context manager only.   Guessing that the user is 
going to mis-use an object and provide __del__ to protect the user is a bad 
idea - and if you genuinely need this pattern, you use a weakref callback 
instead:

import weakref


class MyCleanupThing(object):
def __init__(self):
self.connection = connection = Some Connection
self._ref = weakref.ref(
# key: the weakref callback *cannot* refer to self
self, lambda ref: MyCleanupThing._cleanup(connection))

@staticmethod
def _cleanup(connection):
print(Cleaning up %s! % connection)


mc = MyCleanupThing()

print(about to clean up...)
del mc
print(should be clean!)

output:

about to clean up...
Cleaning up Some Connection!
should be clean!


 


 
 If there is something wrong, please fix it. Thanks
 
 --
 Best
 Li Tianqing
 
 在 2014-09-10 11:52:28,Li Tianqing jaze...@163.com 写道:
 Hello,
 I use backdoor of eventlet to enable gc.DEBUG_LEAK, and after wait a few 
 minutes, i can sure that there will some objects that can not be collected by 
 gc.collect in gc.garbage. 
 Those looks like this (catched in ceilometer-collector)
 
 ['_context_auth_token', 'auth_token', 'new_pass'],
  (cell at 0x363bc58: list object at 0x361c170,
   cell at 0x363bda8: function object at 0x361a5f0),
  function _fix_passwords at 0x361a5f0,
  cell at 0x363bde0: list object at 0x363c680,
  cell at 0x363bd70: function object at 0x361a668,
  ['_context_auth_token', 'auth_token', 'new_pass'],
  (cell at 0x363bde0: list object at 0x363c680,
   cell at 0x363bd70: function object at 0x361a668),
  function _fix_passwords at 0x361a668,
  cell at 0x363bf30: list object at 0x361b680,
  cell at 0x363e168: function object at 0x361a758,
  ['_context_auth_token', 'auth_token', 'new_pass'],
  (cell at 0x363bf30: list object at 0x361b680,
   cell at 0x363e168: function object at 0x361a758),
  function _fix_passwords at 0x361a758,
  cell at 0x363e1a0: list object at 0x363cdd0,
  cell at 0x363e130: function object at 0x361a7d0,
 
 and i suspect those code in oslo.messaging
 
 def _safe_log(log_func, msg, msg_data):
 Sanitizes the msg_data field before logging.
 SANITIZE = ['_context_auth_token', 'auth_token', 'new_pass']
 
 def _fix_passwords(d):
 Sanitizes the password fields in the dictionary.
 for k in d.iterkeys():
 if k.lower().find('password') != -1:
 d[k] = 'SANITIZED'
 elif k.lower() in SANITIZE:
 d[k] = 'SANITIZED'
 elif isinstance(d[k], dict):
 _fix_passwords(d[k])
 return d
 
 return log_func(msg, _fix_passwords(copy.deepcopy(msg_data)))
 
 i can resolve this problem by add _fix_passwords = None before _safe_log 
 returns.
 
 But i do not really understand why this problem happened, and in depth why 
 the gc can not collect those object. Although i can make those uncollectable 
 objects disappeared.
 But this is not good enough, because if you do not understand it you will 
 write out some code like this in future, and then also has memory leak too.
 
 So can some one helps me give some detailed on recursive closure used like 
 the code above, and on why gc can not collect them.
 Thanks a lot lot ..
 
 --
 Best
 Li Tianqing
 
 
 
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Jeremy Stanley
On 2014-09-10 10:56:37 -0500 (-0500), Aaron Sahlin wrote:
[...]
 Did Horizon get permission or find some way around the licensing
 issue?

It's worth mentioning that he seems to consider the free software
legal concerns around his license choice amusing and will
apparently, upon request, provide an exception to an organization
wishing to use his software for evil[1]. He has no interest in
changing the situation[2] in JSLint or derivatives (like JSHint)
even if that means that they can not be provided as part of
Debian[3] or similar legally-concerned distributions.

It's probably best to re-raise this question on the
legal-disc...@lists.openstack.org mailing list as well.

[1] http://dev.hasenj.org/post/3272592502/ibm-and-its-minions
[2] https://github.com/jshint/jshint/issues/1234
[3] http://www.mail-archive.com/debian-legal%40lists.debian.org/msg40718.html
-- 
Jeremy Stanley

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


Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Jeremy Stanley
On 2014-09-10 13:00:29 -0400 (-0400), Solly Ross wrote:
 JSHint *isn't* Douglas Crockford. It was written by someone who
 (understandably) thought Douglas Crockford had some good ideas,
 but was overzealous.
[...]

Overzealous enough to copy his code.

 The license is as such:
 https://github.com/jshint/jshint/blob/master/LICENSE

Ahem. https://github.com/jshint/jshint/blob/master/src/jshint.js#L19

 You are thinking of JSLint, which is written by Douglas Crockford.

JSHint is a derivative project of JSLint. Sorry to burst your
bubble.
-- 
Jeremy Stanley

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


Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Solly Ross

- Original Message -
 From: Jeremy Stanley fu...@yuggoth.org
 To: OpenStack Development Mailing List (not for usage questions) 
 openstack-dev@lists.openstack.org
 Sent: Wednesday, September 10, 2014 1:10:18 PM
 Subject: Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in 
 build
 
 On 2014-09-10 13:00:29 -0400 (-0400), Solly Ross wrote:
  JSHint *isn't* Douglas Crockford. It was written by someone who
  (understandably) thought Douglas Crockford had some good ideas,
  but was overzealous.
 [...]
 
 Overzealous enough to copy his code.

?? This sentence doesn't make much sense.  I meant to say that
Douglas Crockford was overzealous (which he is, IMO).

 
  The license is as such:
  https://github.com/jshint/jshint/blob/master/LICENSE
 
 Ahem. https://github.com/jshint/jshint/blob/master/src/jshint.js#L19

Fair enough.  I stand corrected.  I didn't catch that.
The general license, however, is as stated.

 
  You are thinking of JSLint, which is written by Douglas Crockford.
 
 JSHint is a derivative project of JSLint. Sorry to burst your
 bubble.

To be fair, it's been undergoing *major* revisions lately, making it resemble
JSHint less and less in terms of what it checks for.  Having used it in the
past, functionality wise it's very different.  While it maintains some backwards
compatibility, it has added in new checks, doesn't complain about nearly the 
number
of things that JSLint complains about (for good reasons).

 --
 Jeremy Stanley
 
 ___
 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


Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Stefano Maffulli
On 09/05/2014 12:36 PM, Tim Bell wrote:
 How can the average deployer know whether a stackforge is
 
 a.  An early prototype which has completed (such as some of the
 early LBaaS packages)
 
 b.  A project which has lost its initial steam and further
 investment is not foreseen
 
 c.  A reliable project where there has not been a significant need
 to change recently but is a good long term bet

This pops up often and to me it looks like a software procurement issue,
something that the 'buyer' needs to be able to sort out either with the
help of their vendors (distributions or system integrators), or if they
go DIY, with other instruments to check code quality, level of support
by the community, professional support etc (there are a few EU funded
researches and tools, like http://qualipso.icmc.usp.br/OMM/).

Why do you think any open source project should be in the business of
providing such assurances? Isn't that a role more suitable for the
commercial ecosystem?

/stef

-- 
Ask and answer questions on https://ask.openstack.org

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


Re: [openstack-dev] [nova][neutron][cinder] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Stefano Maffulli
On 09/10/2014 02:27 AM, Sylvain Bauza wrote:
 Well, both proposals can be done : we can create subteams and the
 Subteam-Approval Gerrit label right know before Kilo, and we could split
 the virt repos by later once the interfaces and prereqs are done.

That's what I mean in fact: create sub team is fairly easy to do, we can
start very soon. Splitting the repos will require the cleanup in
internal interfaces, documentation and the other things that (while
important and needed anyway) will require probably one cycle, if not more.

On 09/10/2014 09:07 AM, Kyle Mestery wrote:
 I would be cautious around sub-teams. Our experience in Neutron has
 been that we do a very good job of setting up sub-teams, but a
 terrible job at deciding when they should be spun-down and folded back
 in. Because in a lot of cases, a sub-team's existance should be for a
 short period of time. The other problem is that sub-teams can tend to
 wander away from the broader team, making it harder for their work to
 be integrated back into the whole. All of this is to say that
 sub-teams require coordination and lots of communication, and should
 be carefully watched, groomed, and culled when necessary.

This is great feedback. Maybe picking the leaders of the sub-teams based
on their communication skills and their understanding of the bigger
picture would help? How would you do things differently, based on your
experience?

/stef

-- 
Ask and answer questions on https://ask.openstack.org

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


Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in build

2014-09-10 Thread Aaron Sahlin

What you are finding is the same as I found, which raised my concern.

Thanks for the pointer to legal-disc...@lists.openstack.org, I will post 
the question there (let the lawyers figure it out).





On 9/10/2014 12:16 PM, Solly Ross wrote:

- Original Message -

From: Jeremy Stanley fu...@yuggoth.org
To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.org
Sent: Wednesday, September 10, 2014 1:10:18 PM
Subject: Re: [openstack-dev] [Horizon] Licensing issue with using JSHint in 
build

On 2014-09-10 13:00:29 -0400 (-0400), Solly Ross wrote:

JSHint *isn't* Douglas Crockford. It was written by someone who
(understandably) thought Douglas Crockford had some good ideas,
but was overzealous.

[...]

Overzealous enough to copy his code.

?? This sentence doesn't make much sense.  I meant to say that
Douglas Crockford was overzealous (which he is, IMO).


The license is as such:
https://github.com/jshint/jshint/blob/master/LICENSE

Ahem. https://github.com/jshint/jshint/blob/master/src/jshint.js#L19

Fair enough.  I stand corrected.  I didn't catch that.
The general license, however, is as stated.


You are thinking of JSLint, which is written by Douglas Crockford.

JSHint is a derivative project of JSLint. Sorry to burst your
bubble.

To be fair, it's been undergoing *major* revisions lately, making it resemble
JSHint less and less in terms of what it checks for.  Having used it in the
past, functionality wise it's very different.  While it maintains some backwards
compatibility, it has added in new checks, doesn't complain about nearly the 
number
of things that JSLint complains about (for good reasons).


--
Jeremy Stanley

___
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





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


Re: [openstack-dev] [Zaqar] Comments on the concerns arose during the TC meeting

2014-09-10 Thread Tim Bell



 -Original Message-
 From: Stefano Maffulli [mailto:stef...@openstack.org]
 Sent: 10 September 2014 19:29
 To: openstack-dev@lists.openstack.org
 Subject: Re: [openstack-dev] [Zaqar] Comments on the concerns arose during
 the TC meeting
 
 On 09/05/2014 12:36 PM, Tim Bell wrote:
  How can the average deployer know whether a stackforge is
 
  a.  An early prototype which has completed (such as some of the
  early LBaaS packages)
 
  b.  A project which has lost its initial steam and further
  investment is not foreseen
 
  c.  A reliable project where there has not been a significant need
  to change recently but is a good long term bet
 
 This pops up often and to me it looks like a software procurement issue,
 something that the 'buyer' needs to be able to sort out either with the help 
 of
 their vendors (distributions or system integrators), or if they go DIY, with 
 other
 instruments to check code quality, level of support by the community,
 professional support etc (there are a few EU funded researches and tools, like
 http://qualipso.icmc.usp.br/OMM/).
 
 Why do you think any open source project should be in the business of 
 providing
 such assurances? Isn't that a role more suitable for the commercial ecosystem?


There is an impression that open source software does not have procurement 
issues. Where we choose to invest manpower in testing, documentation,
bug reporting, scaling is as much as commitment as those who choose to buy 
software. CERN does not have resources on its own to keep a project alive. 
Combined with others, 
I'm OK to assist. 

If there is significant doubt, I will not invest at all, no additional function 
for my users and the overall community loses.

Tim

 /stef
 
 --
 Ask and answer questions on https://ask.openstack.org
 
 ___
 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


[openstack-dev] BM provisioning through Horizon/CLI?

2014-09-10 Thread Lokare, Bageshree
Hello OpenStack Team,

I have a use case where I want to host/manage a mix environment with VM's and 
baremetal servers through Overcloud (Horizon/CLI). To be specific, I am looking 
for an ability to create a new server on baremetal machine (instead of Vm) 
through Horizon and manage the instance life-cycle through Overcloud agents. I 
am wondering can we do that with current Juno release?

Any pointers on this implementation or proposed/prospective Blueprints would be 
really helpful.

Thanks,
Shree
Bageshree Lokare
Cloud Architect
HP


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


Re: [openstack-dev] Kilo Cycle Goals Exercise

2014-09-10 Thread Kyle Mestery
On Wed, Sep 10, 2014 at 7:13 AM, Thierry Carrez thie...@openstack.org wrote:
 Joe Gordon wrote:
 To that end, I would like to propose an exercise as discussed in the TC
 meeting yesterday [1]:
 Have anyone interested (especially TC members) come up with a list of
 what they think the project wide Kilo cycle goals should be and post
 them on this thread by end of day Wednesday, September 10th. After which
 time we can begin discussing the results.
 The goal of this exercise is to help us see if our individual world
 views align with the greater community, and to get the ball rolling on a
 larger discussion of where as a project we should be focusing more time.

 Thanks again to Joe for starting this important discussion.

+100

I was going to propose my own list, but to be honest, Thierry sums it
all up so eloquently below that I'd be hard pressed to come up with a
different list.

 My personal list of Kilo goals goes as follows:

 #1: Fix our growth pains

 We grew a lot, and our recipes were designed for a smaller group where
 trust happens more naturally. With our community growing to a Dunbar
 order of magnitude above, some of those recipes don't work so great, so
 we need to revisit them... That includes the binary integrated release
 (introduce layers?), cross-project functional testing (push it at
 project level?), the programs concept, encouraging PTL delegation (the
 czar/liaisons proposal ?), scaling core reviewing in larger projects
 (Nova driver split ?), etc.

 We already started the conversation on those important topics, but Kilo
 is the timeframe for us to implement those changes, because I don't see
 our community wait for more than one cycle to see the light at the end
 of the tunnel.

 #2: Fix the end user experience

 Monty expressed it better than I can. We need consistent and
 better-designed APIs, client SDKs that provide useful primitives and
 actually abstract differences in implementations, etc.

 #3: Fix what we have: bugfixes, consistency, scaling up, scaling down,
 upgrading

 Rather than adding more features for the mid-size private cloud, let's
 make sure that what we have works well, provides a consistent experience
 across projects, scales up beautifully, can be easily used at smaller
 scale as well (simplicity), and allows seamless upgrades. This is
 another way of looking at paying our technical debt that others have
 mentioned as goals -- generally polishing what we have rather than
 building out new things.

I agree with all of your goals here Thierry, and as I stated above, my
list matches these one for one. I think we have to continue fixing the
growing pains which are happening at a micro-level in each project,
and at a macro-level overall. There are lots of solid ideas around
this for sure, we just need to execute on the ones which we think will
have the most benefit. To me, this is the biggest issue we have and
the one we should tackle first.

Thanks,
Kyle


 Regards,

 --
 Thierry Carrez (ttx)

 ___
 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


Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Sean Dague
I don't get that logic at all.

Proxying the read commands means that monitoring or report scripts will
work fine. Actual state transition scripts, which can't really work
correctly, as there are too many differences, won't.

-Sean

On 09/10/2014 12:57 PM, Solly Ross wrote:
 As far as I understand it, though, that's a patch for a read-only mode.  It 
 seems bizzare, and possibly dangerous, to proxy read commands, but not write 
 commands.  It gives the impression that everything's fine until it's not fine 
 (because someone tried to use an existing script to do a create command).  
 IMHO, it would be better to just tell people up front Update your scripts to 
 use Ironic, because they won't work at all instead of leading people 
 (through empirical evidence) to believe that their scripts will work, and 
 then having them discover later that something broke because they tried to 
 create a node.
 
 Best Regards,
 Solly Ross
 
 - Original Message -
 From: Sean Dague s...@dague.net
 To: openstack-dev@lists.openstack.org
 Sent: Wednesday, September 10, 2014 10:33:05 AM
 Subject: Re: [openstack-dev] On an API proxy from baremetal to ironic

 On 09/09/2014 11:22 PM, Russell Bryant wrote:
 On 09/09/2014 05:24 PM, Michael Still wrote:
 Hi.

 One of the last things blocking Ironic from graduating is deciding
 whether or not we need a Nova API proxy for the old baremetal
 extension to new fangled Ironic API. The TC has asked that we discuss
 whether we think this functionality is actually necessary.

 It should be noted that we're _not_ talking about migration of
 deployed instances from baremetal to Ironic. That is already
 implemented. What we are talking about is if users post-migration
 should be able to expect their previous baremetal Nova API extension
 to continue to function, or if they should use the Ironic APIs from
 that point onwards.

 Nova had previously thought this was required, but it hasn't made it
 in time for Juno unless we do a FFE, and it has been suggested that
 perhaps its not needed at all because it is an admin extension.

 To be super specific, we're talking about the baremetal nodes admin
 extension here. This extension has the ability to:

  - list nodes running baremetal
  - show detail of one of those nodes
  - create a new baremetal node
  - delete a baremetal node

 Only the first two of those would be supported if we implemented a proxy.

 So, discuss.

 I'm in favor of proceeding with deprecation without requiring the API
 proxy.

 In the case of user facing APIs, the administrators in charge of
 upgrading the cloud do not have full control over all of the apps using
 the APIs.  In this particular case, I would expect that the cloud
 administrators have *complete* control over the use of these APIs.

 Assuming we have one overlap release (Juno) to allow the migration to
 occur and given proper documentation of the migration plan and release
 notes stating the fact that the old APIs are going away, we should be fine.

 In summary, +1 to moving forward without the API proxy requirement.

 The thing is, we have the patch -
 https://review.openstack.org/#/c/120433/, so it's not like there is a
 zomg run around to get the patch.

 I think we should FFE this patch as it provides a smoother transition
 from baremetal to ironic. The patch is extremely low risk to the rest of
 Nova, as it's a surface proxy feature, so lets just land it and move
 forward.

  -Sean

 --
 Sean Dague
 http://dague.net

 ___
 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
 


-- 
Sean Dague
http://dague.net

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


Re: [openstack-dev] [zaqar] Juno Performance Testing (Round 2)

2014-09-10 Thread Kurt Griffiths
Thanks! Looks good. Only thing I noticed was that footnotes were still
referenced, but did not appear at the bottom of the page.

On 9/10/14, 6:16 AM, Flavio Percoco fla...@redhat.com wrote:

I've collected the information from both performance tests and put it in
the project's wiki[0] Please, double check :D

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


Re: [openstack-dev] [all] Bringing back auto-abandon (was: Review metrics - what do we want to measure?)

2014-09-10 Thread Steven Hardy
On Wed, Sep 10, 2014 at 04:37:14PM +, Jeremy Stanley wrote:
 On 2014-09-10 09:57:17 +0100 (+0100), Steven Hardy wrote:
  I can understand this argument, and perhaps an auto-abandon with a
  long period like say a month for the submitter to address comments
  and reset the clock would be a reasonable compromise?
 
 Perhaps, but the old script lacked a bunch of things we'd need for
 this (it didn't understand/skip WIP changes, it also abandoned
 changes with no reviews at all, it didn't support for the version of
 Gerrit we're running now) and was tied to old cruft we've excised
 (particularly the Launchpad-Gerrit group membership sync code) so
 would likely need to be rewritten mostly from scratch. Probably if
 we were to do it right, it would be something like a new kind of
 periodic meta-job job in Zuul which could be selectively added to
 projects who want it.

Ok, so lets collect requirements for a smarter auto-abandon script, and
figure out how feasable it is.

  The problem we have now, is there is a constantly expanding queue
  of zombie reviews, where the submitter got some negative feedback
  and, for whatever reason, has chosen not to address it.
 
 I agree that's a problem, but I'm unconvinced it's because we lack
 some system to automatically make them go away.

It is though, because the current system puts a never-ending increasing
load on a finite and hard-to-grow resource (core reviewers).

Clearly documented auto-abandon puts the load on the never-ending
increasing group of new contributors.

  For example, in my Incoming reviews queue on the gerrit
  dashboard, I've got reviews I (or someone) -1'd over four months
  ago, with zero feedback from the submitter, what value is there to
  these reviews cluttering up the dashboard for every reviewer?
 
 The moment you, as a core reviewer, abandon one of those with a
 friendly note it will cease to clutter up the dashboard for anyone.
 But doing so also gives you an opportunity to possibly notice that
 this is actually a valuable bug fix/enhancement for your project and
 take it over. If it gets automatically abandoned because some random
 reviewer did a drive-by -1 about whitespace preferences a month ago,
 then you may never know.

I think the issue is, in practice, this is not happening, for the following
reasons:

- There's no friendly way, as a core reviewer, of saying to a contributor
  that their patch is abandoned.  I've never abandoned someone elses patch,
  because I see it as carrying the same message as -2 reviews - it's a
  strongly negative message to send to a contributor.

- As a core reviewer, typically I have zero visibility of whether a
  contributor is actually working on the patch, so what's a reasonable time
  to wait before taking over or abandoning a patch?  Not all folks are
  active on IRC and even if they are, it's more -core cycles spent tracking
  folks down and chasing them (often repeatedly) for status updates.

A clearly communicated patch-expiry system solves both of these issues.

  To make matters worse Jenkins comes along periodically and
  rechecks or figures out the patch merge failed and bumps the
  zombie back up to the top of the queue - obviously I don't realise
  that it's not a human comment I need to read until I've expended
  effort clicking on the review and reading it :(
 
 If you, again as a core reviewer, notice that there is a change
 which needs work but perhaps is not in a situation where outright
 abandonment is warranted, mark it with workflow -1 (work in
 progress) then that too will break the cycle. Also Zuul is only
 spontaneously leaving votes on changes which suddenly cease to be
 able to merge due to merge conflicts appearing in the target branch,
 and will only do that to a patchset once... it doesn't periodically
 retest any changes beyond that without some intervention.

Maybe the auto-WIP idea mentioned in the original thread is the way forward
then, as again I don't see -core review cycles doing WIP-bot duty as
particularly worthwhile personally.

  From a reviewer perspective, it's impossible, and means the review
  dashboard is basically unusable without complex queries to weed
  out the active reviews from the zombies.
 
 I would argue that the default Gerrit dashboard is effectively
 unusable for a variety of other reasons anyway, which is why there
 are custom dashboards proliferating (globally, per-project and
 per-user) to maximize reviewer efficiency and use cases. For that
 matter, it's also arguable that's one of the driving factors behind
 the increasing number of Gerrit clients and front-end replacements.
 
  All we need is two things:
 
 Well, three...
 
 0. A clearly documented set of expectations of code contributors so
 that they know in advance their proposed changes will be discarded
 if they do not look after them fairly continually to address
 comments as they come. This should include the expectation that they
 may have to gratuitously submit new patchsets 

Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Dan Smith
 As far as I understand it, though, that's a patch for a read-only
 mode.  It seems bizzare, and possibly dangerous, to proxy read
 commands, but not write commands.  It gives the impression that
 everything's fine until it's not fine (because someone tried to use
 an existing script to do a create command).  IMHO, it would be better
 to just tell people up front Update your scripts to use Ironic,
 because they won't work at all instead of leading people (through
 empirical evidence) to believe that their scripts will work, and then
 having them discover later that something broke because they tried to
 create a node.

How is it dangerous? Most code making write commands would need to be
pretty diligent about making sure that the thing being requested
actually succeeded. Having the proxy allows us to return a reasonable
code for those things (i.e. 403 Forbidden, perhaps) instead of just 500
Huh? What?.

I was pro-proxy from the beginning, not because I think proxies are
awesome, but because that's what we do when we move things out of Nova's
API to other services. Some feel this is a purely admin API and that
gives us license to break our own rules here, but I don't really
understand where, when and why we draw that line. The code is written,
it's minor, and it gives a much more graceful response to the move. We
know there are people running this, with clusters in the thousands. We
don't know who they all are, what they're doing with it, and we don't
know that all of them are happy or expecting to immediately rewrite all
of their tools. I don't really see why this is a big deal.

--Dan



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova][neutron][cinder] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Kyle Mestery
On Wed, Sep 10, 2014 at 12:34 PM, Stefano Maffulli
stef...@openstack.org wrote:
 On 09/10/2014 02:27 AM, Sylvain Bauza wrote:
 Well, both proposals can be done : we can create subteams and the
 Subteam-Approval Gerrit label right know before Kilo, and we could split
 the virt repos by later once the interfaces and prereqs are done.

 That's what I mean in fact: create sub team is fairly easy to do, we can
 start very soon. Splitting the repos will require the cleanup in
 internal interfaces, documentation and the other things that (while
 important and needed anyway) will require probably one cycle, if not more.

 On 09/10/2014 09:07 AM, Kyle Mestery wrote:
 I would be cautious around sub-teams. Our experience in Neutron has
 been that we do a very good job of setting up sub-teams, but a
 terrible job at deciding when they should be spun-down and folded back
 in. Because in a lot of cases, a sub-team's existance should be for a
 short period of time. The other problem is that sub-teams can tend to
 wander away from the broader team, making it harder for their work to
 be integrated back into the whole. All of this is to say that
 sub-teams require coordination and lots of communication, and should
 be carefully watched, groomed, and culled when necessary.

 This is great feedback. Maybe picking the leaders of the sub-teams based
 on their communication skills and their understanding of the bigger
 picture would help? How would you do things differently, based on your
 experience?

I think that is absolutely the case: sub-team leaders need to be
vetted based on their upstream communication skills. I also think what
we're looking at in Neutron is giving sub-teams a shelf-life, and
spinning them down rather than letting them live long-term, lose
focus, and wander aimlessly.

Thanks,
Kyle

 /stef

 --
 Ask and answer questions on https://ask.openstack.org

 ___
 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


Re: [openstack-dev] Kilo Cycle Goals Exercise

2014-09-10 Thread Russell Bryant
On 09/03/2014 11:37 AM, Joe Gordon wrote:
 As you all know, there has recently been several very active discussions
 around how to improve assorted aspects of our development process. One idea
 that was brought up is to come up with a list of cycle goals/project
 priorities for Kilo [0].
 
 To that end, I would like to propose an exercise as discussed in the TC
 meeting yesterday [1]:
 Have anyone interested (especially TC members) come up with a list of
 what they think the project wide Kilo cycle goals should be and post
 them on this thread by end of day Wednesday, September 10th. After which
 time we can begin discussing the results.
 The goal of this exercise is to help us see if our individual world
 views align with the greater community, and to get the ball rolling on a
 larger discussion of where as a project we should be focusing more time.

In OpenStack, we have no shortage of interest and enthusiasm on all
fronts, including development contributors, deployers, and cloud end
users.  When looking at project wide-priorities, we need to make sure
our tools, processes, and resulting technology facilitate turning all of
that interest into real value.  We need to identify which areas have the
most pain, and work to improve them.

A lot of this is certainly about Kilo, but it's longer term, too.  It's
the way we should always be thinking about this.

1) Dev community

We clearly have a lot of growing pains here.  What's quite encouraging
is that we also have a lot of hard work going into several different
proposals to figure out ways to help.

The largest projects (Nova and Neutron) are overwhelmed and approaching
breaking points.  We have to find ways to relieve this pressure.  This
may involve aggressively pursing project splits or other code review
workflow changes.  I think the problems and solutions here are
project-wide issues, as solutions put in place tend to rapidly spread to
the rest of OpenStack.  This is an area I'm especially concerned about
and eager to help look for solutions.  We should evaluate all potential
improvements against how well they help us scale our teams and processes
to remove bottlenecks to productivity in the dev communtiy.

There are several other encouraging proposals related to easing pain in
the dev community:

 - re-working how we do functional testing by making it more project focused

 - discussions like this one to discuss both priorities, but also how we
turn priorities into real action (like the nova projects discussions
around using priorities in development)

 - evolving project leadership (the PTL position) so that we can provide
more guidance around delegation in a way that is reasonably consistent
across projects

 - continued discussion about the contents of the integrated release and
how we can continue to foster growth without sacrificing quality

We are always going to have problems like this, and I hope we continue
to think about, discuss, and improve the way we run our projects every
release cycle to come.

2) End Users

A few others have done a very nice job describing end user experience
problems.  Monty's description of getting an instance with an IP was
painful and embarrassing to read.  We've got to figure out ways to
provide better focus on these sorts of usability issues.  They're
obviously not getting the attention they deserve.

There have also been lots of good points about improving our API
consistency.  I totally agree.  I'd love to see a group of people step
up and emerge as leaders in this area across all projects.  I feel like
that's something we're sorely missing right now.

3) Deployers

OpenStack is still painful to deploy, and even more painful to manage.
  I'm still quite pleased that we have a deployment program working on
this space.  I'd actually really like to see how we can facilitate
better integration and discussion between TripleO and the rest of the
project teams.

I'm also very pleased with the progress we've made in Nova towards the
initial support for live upgrades.  We still have more work to do in
Nova, but I'd also like to see more work done in other projects towards
the same goal.

For both deployers and the dev community, figuring out what went wrong
when OpenStack breaks sucks.  Others provided some good pointers to
several areas we can improve that area (better logs, tooling, ...) and I
hope we can make some real progress in this area in the coming cycle.

-- 
Russell Bryant

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


Re: [openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]

2014-09-10 Thread Clint Byrum
Excerpts from Gordon Sim's message of 2014-09-10 06:18:52 -0700:
 On 09/10/2014 09:58 AM, Flavio Percoco wrote:
  To clarify the doubts of what Zaqar is or it's not, let me quote what's
  written in the project's overview section[0]:
 
  Zaqar is a multi-tenant cloud messaging service for web developers.
 
 How are different tenants isolated from each other? Can different 
 tenants access the same queue? If so, what does Zaqar do to prevent one 
 tenant from negatively affecting the other? If not, how is communication 
 with other tenants achieved.
 
 Most messaging systems allow authorisation to be used to restrict what a 
 particular user can access and quotas to restrict their resource 
 consumption. What does Zaqar do differently?
 
  It
  combines the ideas pioneered by Amazon's SQS product with additional
  semantics to support event broadcasting.
 
  The service features a fully RESTful API, which developers can use to
  send messages between various components of their SaaS and mobile
  applications, by using a variety of communication patterns. Underlying
  this API is an efficient messaging engine designed with scalability and
  security in mind.
 
  Other OpenStack components can integrate with Zaqar to surface events
  to end users and to communicate with guest agents that run in the
  over-cloud layer.
 
 I may be misunderstanding the last sentence, but I think *direct* 
 integration of other OpenStack services with Zaqar would be a bad idea.
 
 Wouldn't this be better done through olso.messaging's notifications in 
 some way? and/or through some standard protocol (and there's more than 
 one to choose from)?
 

It's not direct, nobody is suggesting that.

What people are suggesting is that a user would be able to tell Nova
to put any messages that would want to deliver in a _user_ focused
queue/inbox.

This has nothing to do with oslo.messaging. Users don't want many options
for backends. They want a simple message passing interface so they don't
have to babysit one and choose one.

Certainly the undercloud Zaqar API could be based on the existing
oslo.messaging notifications. A simple daemon that sits between the oslo
notifications firehose and Zaqar's user queues would be quite efficient.

However, putting the whole burden of talking directly to a notification
bus on the users is unnecessarily complex... especially if they use Java
and have no idea what oslo is.

 Communicating through a specific, fixed messaging system, with its own 
 unique protocol is actually a step backwards in my opinion, especially 
 for things that you want to keep as loosely coupled as possible. This is 
 exactly why various standard protocols emerged.
 

You're thinking like an operator. Think like an application developer.
They're asking you how do I subscribe to notifications about _just my
instances_ from Nova?, not how do I pump 40,000 messages per second
through a message bus that I fully control?

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


Re: [openstack-dev] Treating notifications as a contract

2014-09-10 Thread Jay Pipes

On 09/03/2014 11:21 AM, Sandy Walsh wrote:

On 9/3/2014 11:32 AM, Chris Dent wrote:

I took some notes on this a few weeks ago and extracted what seemed
to be the two main threads or ideas the were revealed by the
conversation that happened in this thread:

  * At the micro level have versioned schema for notifications such that
one end can declare I am sending version X of notification
foo.bar.Y and the other end can effectively deal.


Yes, that's table-stakes I think. Putting structure around the payload
section.

Beyond type and version we should be able to attach meta information
like public/private visibility and perhaps hints for external mapping
(this trait - that trait in CADF, for example).


CADF doesn't address the underlying problem that Chris mentions above: 
that our notification events themselves needs to have a version 
associated with them.


Instead of versioning the message payloads themselves, instead CADF 
focuses versioning on the CADF spec itself, which is less than useful, 
IMO, and a sympton of what I like to call XML-itis.


Where I *do* see some value in CADF is the primitive string codes it 
defines for resource classifications, actions, and outcomes (Sections 
A.2.5, A.3.5., and A.4.5 respectively in the CADF spec). I see no value 
in the long-form XML-itis fully-qualified URI long-forms of the 
primitive string codes.


For resource classifications, it defines things like compute, 
storage, service, etc, as well as a structured hierarchy for 
sub-classifications, like storage/volume or service/block. Actions 
are string codes for verbs like create, configure or authenticate. 
Outcomes are string codes for success, failure, etc.


What I feel we need is a library that matches a (resource_type, action, 
version) tuple to a JSONSchema document that describes the payload for 
that combination of resource_type, action, and version.


If I were king for a day, I'd have a standardized notification message 
format that simply consisted of:


resource_class (string) -- From CADF, e.g. service/block
occurred_on (timestamp) -- when the event was published
action (string) -- From CADF, e.g. create
version (int or tuple) -- version of the (resource_class, action)
payload (json-encoded string) -- the message itself
outcome (string) -- Still on fence for this, versus just using payload

There would be an Oslo library that would store the codification of the 
resource classes and actions, along with the mapping of (resource_class, 
action, version) to the JSONSchema document describing the payload field.


Producers of messages would consume the oslo lib like so:

```python
from oslo.notifications import resource_classes
from oslo.notifications import actions
from oslo.notifications import message

from nova.compute import power_states
from nova.compute import task_states
...

   msg = message.Message(resource_classes.compute.machine,
 actions.update,
 version=1)

   # msg is now an object that is guarded by the JSONSchema document
   # that describes the version 1.0 schema of the UPDATE action
   # for the resource class representing a VM (compute.machine)
   # This means that if the producer attempts to set an
   # attribute of the msg object that is *not* in that JSONSchema
   # document, then an AttributeError would be raised. This essentially
   # codifies the message's resource_class and action attributes
   # (as constants in the oslo.notifications.resource_classes and
   # oslo.notifications.actions module) as well as codifies the
   # schema of the (resource_class, action, version) combo.

   # Assume the JSONSchema document for a
   # (resource_class, action, version) of
   # (compute.machine, update, 1) looks like this:
   # {
   #properties: {
   # state: {
   #  type: string,
   #  description: The new power state of VM
   # },
   # state: {
   #  type: string,
   #  description: The old power state of VM
   # },
   # task_state: {
   #  type: string,
   #  description: The new task state of VM
   # },
   # old_task_state: {
   #  type: string,
   #  description: The old task state of VM
   # }
   #   additionalProperties: false
   # }

   msg.old_state = power_states.RUNNING
   msg.state = power_states.SHUTDOWN
   msg.old_taskkk_state = None  # --- would blow up with TypeError,
# since taskkk is mispelled.

   # Send the message over the wire...
   message.send(...)

```

Similarly, on the consumer side, the message for a particular 
resource_class, action and version can be constructed from the 
oslo.notifications library and the JSONSchema document could be 
consulted for payload introspection:


```python
from oslo.notifications import resource_classes
from oslo.notifications import actions
from oslo.notifications 

Re: [openstack-dev] [nova] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Vishvananda Ishaya

On Sep 4, 2014, at 3:24 AM, Daniel P. Berrange berra...@redhat.com wrote:

 Position statement
 ==
 
 Over the past year I've increasingly come to the conclusion that
 Nova is heading for (or probably already at) a major crisis. If
 steps are not taken to avert this, the project is likely to loose
 a non-trivial amount of talent, both regular code contributors and
 core team members. That includes myself. This is not good for
 Nova's long term health and so should be of concern to anyone
 involved in Nova and OpenStack.
 
 For those who don't want to read the whole mail, the executive
 summary is that the nova-core team is an unfixable bottleneck
 in our development process with our current project structure.
 The only way I see to remove the bottleneck is to split the virt
 drivers out of tree and let them all have their own core teams
 in their area of code, leaving current nova core to focus on
 all the common code outside the virt driver impls. I, now, none
 the less urge people to read the whole mail.

I am highly in favor of this approach (and have been for at
least a year). Every time we have brought this up in the past
there has been concern about the shared code, but we have to
make a change. We have tried various other approaches and none
of them have made a dent.

+1000

Vish
 
 
 Background information
 ==
 
 I see many factors coming together to form the crisis
 
 - Burn out of core team members from over work 
 - Difficulty bringing new talent into the core team
 - Long delay in getting code reviewed  merged
 - Marginalization of code areas which aren't popular
 - Increasing size of nova code through new drivers
 - Exclusion of developers without corporate backing
 
 Each item on their own may not seem too bad, but combined they
 add up to a big problem.
 
 Core team burn out
 --
 
 Having been involved in Nova for several dev cycles now, it is clear
 that the backlog of code up for review never goes away. Even
 intensive code review efforts at various points in the dev cycle
 makes only a small impact on the backlog. This has a pretty
 significant impact on core team members, as their work is never
 done. At best, the dial is sometimes set to 10, instead of 11.
 
 Many people, myself included, have built tools to help deal with
 the reviews in a more efficient manner than plain gerrit allows
 for. These certainly help, but they can't ever solve the problem
 on their own - just make it slightly more bearable. And this is
 not even considering that core team members might have useful
 contributions to make in ways beyond just code review. Ultimately
 the workload is just too high to sustain the levels of review
 required, so core team members will eventually burn out (as they
 have done many times already).
 
 Even if one person attempts to take the initiative to heavily
 invest in review of certain features it is often to no avail.
 Unless a second dedicated core reviewer can be found to 'tag
 team' it is hard for one person to make a difference. The end
 result is that a patch is +2d and then sits idle for weeks or
 more until a merge conflict requires it to be reposted at which
 point even that one +2 is lost. This is a pretty demotivating
 outcome for both reviewers  the patch contributor.
 
 
 New core team talent
 
 
 It can't escape attention that the Nova core team does not grow
 in size very often. When Nova was younger and its code base was
 smaller, it was easier for contributors to get onto core because
 the base level of knowledge required was that much smaller. To
 get onto core today requires a major investment in learning Nova
 over a year or more. Even people who potentially have the latent
 skills may not have the time available to invest in learning the
 entire of Nova.
 
 With the number of reviews proposed to Nova, the core team should
 probably be at least double its current size[1]. There is plenty of
 expertize in the project as a whole but it is typically focused
 into specific areas of the codebase. There is nowhere we can find
 20 more people with broad knowledge of the codebase who could be
 promoted even over the next year, let alone today. This is ignoring
 that many existing members of core are relatively inactive due to
 burnout and so need replacing. That means we really need another
 25-30 people for core. That's not going to happen.
 
 
 Code review delays
 --
 
 The obvious result of having too much work for too few reviewers
 is that code contributors face major delays in getting their work
 reviewed and merged. From personal experience, during Juno, I've
 probably spent 1 week in aggregate on actual code development vs
 8 weeks on waiting on code review. You have to constantly be on
 alert for review comments because unless you can respond quickly
 (and repost) while you still have the attention of the reviewer,
 they may not be look again for days/weeks.
 
 The 

Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Ben Nemec
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 09/10/2014 01:13 PM, Dan Smith wrote:
 As far as I understand it, though, that's a patch for a
 read-only mode.  It seems bizzare, and possibly dangerous, to
 proxy read commands, but not write commands.  It gives the
 impression that everything's fine until it's not fine (because
 someone tried to use an existing script to do a create command).
 IMHO, it would be better to just tell people up front Update
 your scripts to use Ironic, because they won't work at all
 instead of leading people (through empirical evidence) to believe
 that their scripts will work, and then having them discover later
 that something broke because they tried to create a node.
 
 How is it dangerous? Most code making write commands would need
 to be pretty diligent about making sure that the thing being
 requested actually succeeded. Having the proxy allows us to return
 a reasonable code for those things (i.e. 403 Forbidden, perhaps)
 instead of just 500 Huh? What?.
 
 I was pro-proxy from the beginning, not because I think proxies
 are awesome, but because that's what we do when we move things out
 of Nova's API to other services. Some feel this is a purely admin
 API and that gives us license to break our own rules here, but I
 don't really understand where, when and why we draw that line. The
 code is written, it's minor, and it gives a much more graceful
 response to the move. We know there are people running this, with
 clusters in the thousands. We don't know who they all are, what
 they're doing with it, and we don't know that all of them are happy
 or expecting to immediately rewrite all of their tools. I don't
 really see why this is a big deal.

I wasn't aware that this was already written when I replied
originally, and that fact does reduce my opposition somewhat.  I still
have issues though:

1) Is this tested anywhere?  There are no unit tests in the patch and
it's not clear to me that there would be any Tempest coverage of this
code path.  Providing this and having it break a couple of months down
the line seems worse than not providing it at all.  This is obviously
fixable though.

2) If we think maintaining compatibility for existing users is that
important, why aren't we proxying everything?  Is it too
difficult/impossible due to the differences between Baremetal and
Ironic?  And if they're that different, does it still make sense to
allow one to look like the other?  As it stands, this isn't going to
let deployers use their existing tools without modification anyway.

- -Ben

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

-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJUEKMKAAoJEDehGd0Fy7uqzNsH+gPv45+IKWJEVeQK4/bd5KAa
SjUch6kmTaWkHxMCcIrm3E9bug0zU/64jhtlJuLWfDohqK4I3NRnaY7Ur5R6aEx7
QsXa74LS+cl2n8ydcVAGtmTYzRyLfF+Qvocu8pUZ3ZP+d4A73lkX09B3s07hwY02
e87blL9E6/T9/4ni+186RDrMEnD8TIY3oD4cnbAgib9tVNBMitqlGuFGqdp7gRDW
q0GMzh2bmbQRTE2OpEtSbjsVm+qeVsbVACg+bsM/y62ZT3TTO5NyqbYZPJJfDDy4
ys4rbJT6fDZLz2L5G835jAHMwUc54vLdXAz/blo/TsI1LCiJTHvIaWLdgsMSqAY=
=vcMK
-END PGP SIGNATURE-

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


Re: [openstack-dev] [nova] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Vishvananda Ishaya

On Sep 4, 2014, at 8:33 AM, Daniel P. Berrange berra...@redhat.com wrote:

 On Thu, Sep 04, 2014 at 01:36:04PM +, Gary Kotton wrote:
 Hi,
 I do not think that Nova is in a death spiral. I just think that the
 current way of working at the moment is strangling the project. I do not
 understand why we need to split drivers out of the core project. Why not
 have the ability to provide Œcore review¹ status to people for reviewing
 those parts of the code? We have enough talented people in OpenStack to be
 able to write a driver above gerrit to enable that.
 
 The consensus view at the summit was that, having tried  failed at getting
 useful changes into gerrit, it is not a viable option unless we undertake a
 permanent fork of the code base. There didn't seem to be any apetite for
 maintaining  developing a large java app ourselves. So people we're looking
 to start writing a replacement for gerrit from scratch (albeit reusing the
 database schema).

I don’t think this is a viable option for us, but if we were going to do it,
we would probably be better off using https://code.google.com/p/rietveld/
as a base, since it is actually written in python.

Vish



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Dan Smith
 1) Is this tested anywhere?  There are no unit tests in the patch and
 it's not clear to me that there would be any Tempest coverage of this
 code path.  Providing this and having it break a couple of months down
 the line seems worse than not providing it at all.  This is obviously
 fixable though.

AFAIK, baremetal doesn't have any tempest-level testing at all anyway.
However, I don't think our proxy code breaks, like, ever. I expect that
unit tests for this stuff is plenty sufficient.

 2) If we think maintaining compatibility for existing users is that
 important, why aren't we proxying everything?  Is it too
 difficult/impossible due to the differences between Baremetal and
 Ironic?  And if they're that different, does it still make sense to
 allow one to look like the other?  As it stands, this isn't going to
 let deployers use their existing tools without modification anyway.

Ideally we'd proxy everything, based on our current API guarantees.
However, I think the compromise of just the show/index stuff came about
because it would be extremely easy to do, provide some measure of
continuity, and provide us a way to return something nicer for the
create/update operations than a 500. It seemed like a completely fair
and practical balance.

--Dan



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] On an API proxy from baremetal to ironic

2014-09-10 Thread Sean Dague
On 09/10/2014 03:14 PM, Ben Nemec wrote:
 On 09/10/2014 01:13 PM, Dan Smith wrote:
 As far as I understand it, though, that's a patch for a
 read-only mode.  It seems bizzare, and possibly dangerous, to
 proxy read commands, but not write commands.  It gives the
 impression that everything's fine until it's not fine (because
 someone tried to use an existing script to do a create command).
 IMHO, it would be better to just tell people up front Update
 your scripts to use Ironic, because they won't work at all
 instead of leading people (through empirical evidence) to believe
 that their scripts will work, and then having them discover later
 that something broke because they tried to create a node.
 
 How is it dangerous? Most code making write commands would need
 to be pretty diligent about making sure that the thing being
 requested actually succeeded. Having the proxy allows us to return
 a reasonable code for those things (i.e. 403 Forbidden, perhaps)
 instead of just 500 Huh? What?.
 
 I was pro-proxy from the beginning, not because I think proxies
 are awesome, but because that's what we do when we move things out
 of Nova's API to other services. Some feel this is a purely admin
 API and that gives us license to break our own rules here, but I
 don't really understand where, when and why we draw that line. The
 code is written, it's minor, and it gives a much more graceful
 response to the move. We know there are people running this, with
 clusters in the thousands. We don't know who they all are, what
 they're doing with it, and we don't know that all of them are happy
 or expecting to immediately rewrite all of their tools. I don't
 really see why this is a big deal.
 
 I wasn't aware that this was already written when I replied
 originally, and that fact does reduce my opposition somewhat.  I still
 have issues though:
 
 1) Is this tested anywhere?  There are no unit tests in the patch and
 it's not clear to me that there would be any Tempest coverage of this
 code path.  Providing this and having it break a couple of months down
 the line seems worse than not providing it at all.  This is obviously
 fixable though.
 
 2) If we think maintaining compatibility for existing users is that
 important, why aren't we proxying everything?  Is it too
 difficult/impossible due to the differences between Baremetal and
 Ironic?  And if they're that different, does it still make sense to
 allow one to look like the other?  As it stands, this isn't going to
 let deployers use their existing tools without modification anyway.

Because the world isn't black and white. The ready only proxy probably
covers a bunch of cases, and is easy. The write proxy is much more time,
and unclear that it would be semantically equivalent enough to be useful
to anyone.

So this is an 80/20 rule piece of code. And as it's already done, lets
do it.

-Sean

-- 
Sean Dague
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] Averting the Nova crisis by splitting out virt drivers

2014-09-10 Thread Vishvananda Ishaya

On Sep 5, 2014, at 4:12 AM, Sean Dague s...@dague.net wrote:

 On 09/05/2014 06:40 AM, Nikola Đipanov wrote:
 
 
 Just some things to think about with regards to the whole idea, by no
 means exhaustive.
 
 So maybe the better question is: what are the top sources of technical
 debt in Nova that we need to address? And if we did, everyone would be
 more sane, and feel less burnt.
 
 Maybe the drivers are the worst debt, and jettisoning them makes them
 someone else's problem, so that helps some. I'm not entirely convinced
 right now.
 
 I think Cells represents a lot of debt right now. It doesn't fully work
 with the rest of Nova, and produces a ton of extra code paths special
 cased for the cells path.
 
 The Scheduler has a ton of debt as has been pointed out by the efforts
 in and around Gannt. The focus has been on the split, but realistically
 I'm with Jay is that we should focus on the debt, and exposing a REST
 interface in Nova.
 
 What about the Nova objects transition? That continues to be slow
 because it's basically Dan (with a few other helpers from time to time).
 Would it be helpful if we did an all hands on deck transition of the
 rest of Nova for K1 and just get it done? Would be nice to have the bulk
 of Nova core working on one thing like this and actually be in shared
 context with everyone else for a while.

In my mind, spliting helps with all of these things. A lot of the cleanup
related work is completely delayed because the review queue starts to seem
like an insurmountable hurdle. There are various cleanups needed in the
drivers as well but they are not progressing due to the glacier pace we
are moving right now. Some examples: Vmware spawn refactor, Hyper-v bug
fixes, Libvirt resize/migrate (this is still using ssh to copy data!)

People need smaller areas of work. And they need a sense of pride and
ownership of the things that they work on. In my mind that is the best
way to ensure success.

Vish





signature.asc
Description: Message signed with OpenPGP using GPGMail
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


  1   2   >