Re: [openstack-dev] [Horizon] the future of angularjs development in Horizon

2014-11-14 Thread Gabriel Hurley
As the former Horizon PTL, I have a great respect for the importance of the 
contributions the distro maintainers/developers make to Horizon and OpenStack 
as a whole. From how many bugs the distros manage to find, to their diligence 
in vetting the software that we as Horizon developers provide, to their overall 
passion for the work they do.

It is interesting to me to see the level to which the distros have not had to 
address this problem before. It shows a significant disconnect between the 
Node/JavaScript community and the distros as a whole (not surprising since 
node.js wasn't packaged on many distros until quite recently). I'm not excited 
to see the OpenStack community leading the charge on resolving packaging issues 
that ought to be settled between the JS community and the distros. Yet, if we 
have to in order to move forward I would urge us to reach out to the NPM 
maintainers, major library maintainers, etc. to try and make decisions that 
will benefit everyone for years to come.

It's also interesting to see how strongly people take sides in this debate... 
who is OpenStack for? How crucial are the distros? Obviously if you work for 
RedHat or Canonical the distros are the end-all; OpenStack has to be packaged. 
Other companies? Opinions vary. Flexibility on this issue is not consistent, as 
has been pointed out already.

Monty and Adam Young have, I think, voiced a good moderate viewpoint, which is 
that the distros are a core part of OpenStack's success and we have to ensure 
that they can package our software, but that the distros also cannot dictate 
the tools we use in order to produce the best possible product. Distros are 
ultimately middle-men, they provide value to their users and they make sure 
more people use the software we produce. We can all agree that we want to 
maximize the number of people we can reach.

So, I propose that a group gets together and defines criteria: we need to 
accept that the Horizon team (and those knowledgeable about web-app 
development) know best what tools they need, and they need to produce such a 
list as a starting point. We then need packagers and maintainers to examine 
that list and evaluate it for problems (non-free software, irresolvable 
dependencies, etc.). They're looking strictly for things which are 
un-packageable, not commenting on the necessity of said software. And we need 
people (thanks, Monty) willing to build new tools to find a way to turn that 
list into something the package maintainers can consume without burdening 
either side.

Make sense?

 - Gabriel



-Original Message-
From: Thomas Goirand [mailto:z...@debian.org] 
Sent: Friday, November 14, 2014 11:11 AM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Horizon] the future of angularjs development in 
Horizon

On 11/14/2014 10:10 PM, Martin Geisler wrote:
 Of course, I need to run tests. That's a big part of the QA work, and 
 I
  will certainly not give-up on that. You will have a hard time 
  convincing anyone within the OpenStack community that it's OK to not run 
  unit tests.
 That's not what I said: the OpenStack developers will continue to 
 tests the software. I personally don't think it's the job of the 
 downstream packagers to do this QA work. (It's of course cool to run 
 the tests on the system installed by your packages -- that test run 
 would then install the needed tools using npm and bower and whatnot if 
 that's how the upstream has setup the test framework.)

What happens is that the environment within the distribution, inevitably, will 
be different from the one ran on the gate. There's going to be different 
versions of many components and so on. So it is very important for me to also 
run these unit tests, to make sure that everything continues to work.

Yes, the build-dependencies will pull the same components as pulled by 
npm/bower, though they may be installed in different path, and maybe using 
different versions.

On 11/14/2014 10:21 PM, Jeremy Stanley wrote: On 2014-11-14 15:10:59
+0100 (+0100), Martin Geisler wrote:
 [...]
 Just to quibble on this particular point... distro packagers are also 
 developers. They often (more often than we'd like, and we do try to 
 find ways to help avoid this where possible) need to carry their own 
 patches to tweak the software to fit their deployment and operation 
 model. Being able to rerun tests in-place with packaged versions of 
 everything including their patches helps them confirm that what they 
 distribute still works as intended. Further, the distro users are well 
 within their rights to modify and respin these packages themselves, 
 and will potentially want to be able to run these tests for the same 
 reasons.

 We distribute our tests as part of our software because our tests
 *are* part of our software.

Exactly! Let me give a few examples...

In Jessie, Nova carries patches so that there is support for Ceph. Until a few 
days, 

Re: [openstack-dev] [Fuel] Waiting for Haproxy backends

2014-11-14 Thread Dmitry Borodaenko
Good plan, but I really hate the name of this blueprint. I think we
should stop lumping different unrelated HA improvements into a single
blueprint with a generic name like that, especially when we already
had a blueprint with essentially the same name
(ha-pacemaker-improvements). There's nothing wrong with having 4
trivial but specific blueprints instead of one catch-all.

On Wed, Nov 12, 2014 at 4:10 AM, Aleksandr Didenko
adide...@mirantis.com wrote:
 HI,

 in order to make sure some critical Haproxy backends are running (like mysql
 or keystone) before proceeding with deployment, we use execs like [1] or
 [2].

 We're currently working on a minor improvements of those execs, but there is
 another approach - we can replace those execs with puppet resource providers
 and move all the iterations/loops/timeouts logic there. Also we should fail
 catalog compilation/run if those resource providers are not able to ensure
 needed Haproxy backends are up and running. Because there is no point to
 proceed with deployment if keystone is not running, for example.

 If no one objects, I can start implementing this for Fuel-6.1. We can
 address it as a part of pacemaker improvements BP [3] or create a new BP.

 [1]
 https://github.com/stackforge/fuel-library/blob/master/deployment/puppet/osnailyfacter/manifests/cluster_ha.pp#L551-L572
 [2]
 https://github.com/stackforge/fuel-library/blob/master/deployment/puppet/openstack/manifests/ha/mysqld.pp#L28-L33
 [3] https://blueprints.launchpad.net/fuel/+spec/pacemaker-improvements

 Regards,
 Aleksandr Didenko


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




-- 
Dmitry Borodaenko

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


[openstack-dev] [api] Summit summary

2014-11-14 Thread Everett Toews
Hi All,

Here’s a summary of what happened at the Summit from the API Working Group 
perspective.

Etherpad: https://etherpad.openstack.org/p/kilo-crossproject-api-wg

The 2 design summit sessions on Tuesday were very well attended, maybe 100ish 
people I’m guessing. I got the impression there were developers from a diverse 
set of projects just from the people who spoke up during the session. We spent 
pretty much all of these 2 sessions discussing the working group itself.

Some action items of note:

Update the wiki page [1] with the decisions made during the discussion
Add an additional meeting time [2] to accommodate EU time
Email the WG about the Nova (and Neutron?) API microversions effort and how it 
might be a strategy for moving forward with API changes

Review the rest of the action items in the etherpad to get a better picture.

The follow up session on Thursday (last slot of the day) was attended by about 
half the people of the Tuesday sessions. We reviewed what happened on Tuesday 
and then got to work. We ran through the workflow of creating a guideline. We 
basically did #1 and #2 of How to Contribute [3] but instead of first taking 
notes on the API Improvement in the wiki we just discussed it in the session. 
We then submitted the patch for a new guideline [4].

As you can see there’s still a lot of work to be done in that review. It may 
even be that we need a fresh start with it. But it was a good exercise for 
everyone present to walk through the process together for the first time. I 
think it really helped put everyone on the same page for working together as a 
group.

Thanks,
Everett

[1] https://wiki.openstack.org/wiki/API_Working_Group
[2] https://wiki.openstack.org/wiki/Meetings/API-WG
[3] https://wiki.openstack.org/wiki/API_Working_Group#How_to_Contribute
[4] https://review.openstack.org/#/c/133087/


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


Re: [openstack-dev] [Fuel] Waiting for Haproxy backends

2014-11-14 Thread Sergii Golovatiuk
+1 for ha-pacemaker-improvements

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

On Fri, Nov 14, 2014 at 11:51 PM, Dmitry Borodaenko 
dborodae...@mirantis.com wrote:

 Good plan, but I really hate the name of this blueprint. I think we
 should stop lumping different unrelated HA improvements into a single
 blueprint with a generic name like that, especially when we already
 had a blueprint with essentially the same name
 (ha-pacemaker-improvements). There's nothing wrong with having 4
 trivial but specific blueprints instead of one catch-all.

 On Wed, Nov 12, 2014 at 4:10 AM, Aleksandr Didenko
 adide...@mirantis.com wrote:
  HI,
 
  in order to make sure some critical Haproxy backends are running (like
 mysql
  or keystone) before proceeding with deployment, we use execs like [1] or
  [2].
 
  We're currently working on a minor improvements of those execs, but
 there is
  another approach - we can replace those execs with puppet resource
 providers
  and move all the iterations/loops/timeouts logic there. Also we should
 fail
  catalog compilation/run if those resource providers are not able to
 ensure
  needed Haproxy backends are up and running. Because there is no point to
  proceed with deployment if keystone is not running, for example.
 
  If no one objects, I can start implementing this for Fuel-6.1. We can
  address it as a part of pacemaker improvements BP [3] or create a new BP.
 
  [1]
 
 https://github.com/stackforge/fuel-library/blob/master/deployment/puppet/osnailyfacter/manifests/cluster_ha.pp#L551-L572
  [2]
 
 https://github.com/stackforge/fuel-library/blob/master/deployment/puppet/openstack/manifests/ha/mysqld.pp#L28-L33
  [3] https://blueprints.launchpad.net/fuel/+spec/pacemaker-improvements
 
  Regards,
  Aleksandr Didenko
 
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 



 --
 Dmitry Borodaenko

 ___
 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] NTP settings.

2014-11-14 Thread Dmitry Borodaenko
If NTP server is not reachable on the first boot of the master node,
it should be disabled by bootstrap_admin_node, that eliminates the
possibility of it spontaneously coming to life and changing the clock
for fuel master node and all target nodes in the middle of a
deployment. Then all Nailgun needs to do is pop a warning notification
that no NTP server is configured on the master node, and it should be
fixed manually before starting any deployments. No need to block
deployment altogether: if the user doesn't need need global time at
all (e.g. in an off-the-grid bunker 2 miles beneath Fort Knox),
synchronizing clocks on all environments just to the Fuel master will
still work.

On Wed, Nov 12, 2014 at 7:28 AM, Matthew Mosesohn
mmoses...@mirantis.com wrote:
 Andrew,
 That just shifts the error into Nailgun which is forced to examine NTP
 settings of the host. With docker containerization, it makes detecting
 this much more difficult. Erroring during fuelmenu is the only chance
 where a user can effectively set the NTP parameters correctly. We
 could write a ton of infrastructure around this capability, but all it
 wins us is a more beautiful error that blocks a user from proceeding.

 On Wed, Nov 12, 2014 at 7:21 PM, Andrew Woodward xar...@gmail.com wrote:
 Should we just block the deployment until the NTP is fixed so they
 know they need to fix it?

 On Wed, Nov 12, 2014 at 6:06 PM, Stanislaw Bogatkin
 sbogat...@mirantis.com wrote:
 Hi all,
 Today we have a next workflow about NTP in Fuel:

 1. When someone deploy a master node, we need to somehow operate with NTP
 and set upstream NTP servers to Fuel NTP daemon on master node.
 2. NTP will enabled by default and set to default upstream values (from
 ntp.org pool).
 3. If user will enter to fuelmenu then then he can change that values and it
 will stored as new ones.

 That can lead to some errors at deploy, some as:
 1. User set upstream NTP (or use defaults).
 2. By some reasons that NTP servers get unreacheable (i.e. network down).
 3. User creates environment and push 'deploy' button.
 4. In the middle of deploy process upstream NTP become reacheable and master
 node sync with them.
 If time on master node before that sync will have big shift regarding to
 real time, then we will have 2 problems:
 1. Deploy can fail, cause slave nodes will sync with master one time only -
 right after provisioning and if master node resync with upstream in the
 middle of deploy - some services can stop works (e.g. mcollective).
 3. It will be more complicate to understand logs, cause it will shifted too.

 As I see, we have two ways to solve this:
 1. Check upstream NTP reachability and disable upstream servers if they
 unreachable at fuelmenu step. It will cost us some shift with real time in
 the end.

  or

 2. Disable NTP upstream servers if they unreachable right after user press
 'deploy' button and enable them after deploy is over.

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




 --
 Andrew
 Mirantis
 Ceph community

 ___
 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



-- 
Dmitry Borodaenko

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


Re: [openstack-dev] [Fuel] NTP settings.

2014-11-14 Thread Rick Jones

On 11/14/2014 04:01 PM, Dmitry Borodaenko wrote:

If NTP server is not reachable on the first boot of the master node,
it should be disabled by bootstrap_admin_node, that eliminates the
possibility of it spontaneously coming to life and changing the clock
for fuel master node and all target nodes in the middle of a
deployment. Then all Nailgun needs to do is pop a warning notification
that no NTP server is configured on the master node, and it should be
fixed manually before starting any deployments. No need to block
deployment altogether: if the user doesn't need need global time at
all (e.g. in an off-the-grid bunker 2 miles beneath Fort Knox),
synchronizing clocks on all environments just to the Fuel master will
still work.


I thought NTP (well ntpd) had an option to tell it to only ever slew the 
clock, never step it?  Or is that only some implementations of NTP?


rick jones


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


Re: [openstack-dev] [Fuel] Default templates for Sahara feature in 6.0

2014-11-14 Thread Dmitry Mescheryakov
Oops, the last line should be read as
On the other side, it is a nice UX feature we really want to have 6.0

Dmitry

2014-11-15 3:50 GMT+03:00 Dmitry Mescheryakov dmescherya...@mirantis.com:

 Dmitry,

 Lets review the CR from the point of danger to current deployment process:
 in the essence it is 43 lines of change in puppet module. The module calls
 a shell script which always returns 0. So whatever happens inside, the
 deployment will not fail.

 The only changes (non-get requests) the script does, it does to Sahara. It
 tries to upload cluster and node-group templates. That is not dangerous
 operation for Sahara - in the worst case the templates will just not be
 created and that is all. It will not affect Sahara correctness in any way.

 On the other side, it is a nice UX feature we really want to have 5.1.1.

 Thanks,

 Dmitry


 2014-11-15 3:04 GMT+03:00 Dmitry Borodaenko dborodae...@mirantis.com:

 +286 lines a week after Feature Freeze, IMHO it's too late to make an
 exception for this one.

 On Wed, Nov 12, 2014 at 7:37 AM, Dmitry Mescheryakov
 dmescherya...@mirantis.com wrote:
  Hello fuelers,
 
  I would like to request you merging CR [1] which implements blueprint
 [2].
  It is a nice UX feature we really would like to have in 6.0. On the
 other
  side, the implementation is really small: it is a small piece of puppet
  which runs a shell script. The script always exits with 0, so the change
  should not be dangerous. Other files in the change are used in the shell
  script only. Please consider reviewing and merging this though we've
 already
  reached FF.
 
  Thanks,
 
  Dmitry
 
  [1] https://review.openstack.org/#/c/132196/
  [2]
 
 https://blueprints.launchpad.net/mos/+spec/sahara-create-default-templates
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 



 --
 Dmitry Borodaenko

 ___
 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] Default templates for Sahara feature in 6.0

2014-11-14 Thread Dmitry Mescheryakov
Dmitry,

Lets review the CR from the point of danger to current deployment process:
in the essence it is 43 lines of change in puppet module. The module calls
a shell script which always returns 0. So whatever happens inside, the
deployment will not fail.

The only changes (non-get requests) the script does, it does to Sahara. It
tries to upload cluster and node-group templates. That is not dangerous
operation for Sahara - in the worst case the templates will just not be
created and that is all. It will not affect Sahara correctness in any way.

On the other side, it is a nice UX feature we really want to have 5.1.1.

Thanks,

Dmitry


2014-11-15 3:04 GMT+03:00 Dmitry Borodaenko dborodae...@mirantis.com:

 +286 lines a week after Feature Freeze, IMHO it's too late to make an
 exception for this one.

 On Wed, Nov 12, 2014 at 7:37 AM, Dmitry Mescheryakov
 dmescherya...@mirantis.com wrote:
  Hello fuelers,
 
  I would like to request you merging CR [1] which implements blueprint
 [2].
  It is a nice UX feature we really would like to have in 6.0. On the other
  side, the implementation is really small: it is a small piece of puppet
  which runs a shell script. The script always exits with 0, so the change
  should not be dangerous. Other files in the change are used in the shell
  script only. Please consider reviewing and merging this though we've
 already
  reached FF.
 
  Thanks,
 
  Dmitry
 
  [1] https://review.openstack.org/#/c/132196/
  [2]
 
 https://blueprints.launchpad.net/mos/+spec/sahara-create-default-templates
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 



 --
 Dmitry Borodaenko

 ___
 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] [Neutron] Core/Vendor code decomposition

2014-11-14 Thread Armando M.
Hello,

As follow-up action after the Design Summit Session on Core/Vendor split,
please find the proposal outlined here:

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

I know that Anita will tell me off since I asked for reviews on the ML, but
I felt that it was important to raise awareness, even more than necessary :)

I also want to stress the fact that this proposal was not going to be
possible without the help of everyone we talked to over the last few weeks,
and gave us constructive feedback.

Finally, a special thanks goes to Maru Newby and Kevin Benton who helped
with most parts of the proposal.

Let the review tango begin!

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


Re: [openstack-dev] [Horizon] the future of angularjs development in Horizon

2014-11-14 Thread Richard Jones
On 15 November 2014 00:58, Radomir Dopieralski openst...@sheep.art.pl
wrote:

 On 14/11/14 13:02, Richard Jones wrote:
  I think that it boils down to whether it'is possible that
  distributions:
 
  1. package the node-based tools (grunt, karma, protractor, ...) as
  installable programs, and
  2. xstatic-package the bower-based packages that we use (probably a
  couple of dozen at least).
 
  We might even be able to get away without using grunt, though an
  alternative to its LiveReload facility (and one that doesn't then also
  depend on another node program like django-livereload does) would be
  required. I believe tox and django's runserver (and other manage
  commands) could suffice to replace the other functionality typically
  provided by grunt.

 We don't really need Xstatic for that. The packagers can as well package
 the bower-based packages directly. We can use anything, really,
 as long as we follow a process that makes sure that Horizon can be
 packaged into the different distributions. That is, we need:


xstatic provides additional meta-data that makes it much easier to
integrate the static bundle into an application - specifically it
automatically provides the application with file locations and endpoints
needed to be inserted into the application HTML. That stuff would have to
be done manually without xstatic, and would be a configuration pain.



 1. All dependencies explicit (with tests failing if a dependency is
missing),


xstatic provides us with a dependency mechanism through standard Python
setuptools facilities.



 2. explicit version ranges,


xstatic is done through requirements.txt, so yep :)



 3. no multiple versions of the same library,


This is not a thing in bower/client-side land. It's really only an issue
for npm-based packages, and as I've mentioned, the things we're using there
should be packaged as tools by the linux vendor, rather than accessed as
packages by our system. Except on non-Linux, of course, where we'll just
use npm ;)

So I guess the big open question is about how distros are going to deal
with npm tool packaging. I can't really answer that question for them
(except to say: don't try to replace npm's dependency solution with your
own; it simply won't work
because you'll probably never find a set of versions that satisfy even just
the few tools we're looking at for this project).


4. additions and upgrades of libraries moderated by the packagers,


Is there already some mechanism for handling the creation and management of
xstatic packages and how they interact with linux packagers? Sorry if this
is a noob question.



 5. ability to replace the development environment with packaged
libraries from the system,


I would very much like to still use bower for rapid development and
testing, with xstatic coming in once the experimentation is over. But if
there was a tool to automatically generate an xstatic package from a bower
one, that would be eaiser...



 6. ability to build and test our software with the tools that can be
used by all the distributions.


Yep, I think that just implies that the xstatic stuff is done, and that the
distros package the few npm tools we use.


On 15 November 2014 01:05, Thomas Goirand z...@debian.org wrote:

 On 11/11/2014 03:02 PM, Richard Jones wrote:
  json3
  es5-shim
  angular
  angular-route
  angular-cookies
  angular-animate
  angular-sanitize
  angular-smart-table
  angular-local-storage
  angular-bootstrap
  angular-translate
  font-awesome
  boot
  underscore
  ng-websocket

 Just FYI, in Debian, the libjs-angularjs already carries:

 angular-route.js
 angular-cookies.js
 angular-animate.js
 angular-sanitize.js

 We also already have packaged:
 font-awesome
 underscore

 So, basically, I'd have to package:
 json3
 es5-shim
 boot
 angular-smart-table
 angular-local-storage
 angular-translate
 ng-websocket

 That's a reasonable amount of work. Multiply this by 2 for the xstatic
 packages (if we keep using that), that's about 14 new packages.


The issue is integration with the Django application. How do we know what
the file path is to the entry point for that that code, and also how it
differs from other packagers? xstatic takes care of that for us (in much
the same way that bower does), so is valuable.



 By the way, can't we use libjs-sockjs instead of ng-websocket?


They offer different functionality, as far as I can tell. sockjs is a
compatibility layer thing, I think. I'm not sure. The description is a
little vague. On the other hand, ng-websocket is all about providing an
interface for angular applications over the top of websockets (and a handy
mock).



 Last, I'm ok if we add all these, but please, let's do this in the
 beginning of the Kilo cycle. It was really hard to cope with it at the
 end of the freeze for Juno.


I'd imagine this should be reasonable, barring any additional dependencies
we decide to include along the way.

<    1   2