Thursday, 2015-09-24

kfox1111cool. thanks. :)00:00
kfox1111hmm... its not rebased yet, so it doesn't have the murano package fix in it though.00:00
docaedono prob, thanks for all the work on this00:00
kfox1111let me rebase kzaitsev_mb's linter in, then I'll rebase the versioning thing on top, so we only have that one outstanding patch.00:02
openstackgerritKevin Fox proposed openstack/app-catalog-ui: Add eslint checking machinery
kfox1111maybe I"ll just rebase the other... the linter's not quite working.00:04
kzaitsev_mboh, you're trying to set up a nice chain of commits I guess with inimum conflicts?00:06
kfox1111probably need some more requirements...00:06
kfox1111yeah, to minimize rebasing.00:06
kfox1111but now we are down to two outstanding reviews. almost there.00:06
kfox1111alot was backlogged on that linting thing.00:07
kfox1111and I'm REALLY glad I waited. :)00:07
kfox1111I figured I couldn't change that many lines of code and not break something. :)00:07
kzaitsev_mblooks strange. tox behaves just fine for me.00:07
kfox1111I'm guessing its because I have pbr 0.10.0 on my system.00:07
kzaitsev_mbmaybe we have different versions of tox and there should now be some default params00:08
kzaitsev_mbwell. yep, obviously it complains about pbr =)00:08
kzaitsev_mbI've lookd like 3 or 4 times into pbr and still do not quite get what it does...00:09
kfox1111maybe a pbr>=1.3 in test-requirements?00:09
kfox1111we probably should have a requirements.txt as well, and maybe include both in testenv:eslint deps?00:09
kfox1111and then have pbr in just requirements.txt?00:10
openstackgerritKevin Fox proposed openstack/app-catalog-ui: Handle an asset service schema version
kfox1111docaedo: ok, try that one. should be rebased on top of the murano fix.00:11
docaedokfox1111: on it momentarily (patch 2 right?)00:12
kfox1111yeah. thanks.00:12
docaedonp - running now00:12
kfox1111to really test it, you need to run a local app-catalog, and tweak the asset file to flag an asset as service.version = 200:14
kfox1111gota head out in a few.00:18
kfox1111odd... pbr>=1.3 is already installed in the horizon venv, so it shouldn't be complaining about it.00:19
kfox1111does look like its an older version of tox maybe.00:20
kfox1111I pip installed tox in the venv and it started working I think.00:20
kfox1111yeah... its pulling node now.00:21
kfox1111docaedo: one thing I'm not sure about is if we should use semver for the version number of the asset schema, or not...00:22
docaedoI am not sure either, have been thinking a lot about versions and stuff00:23
docaedoand have been working on a response to Serg/Murano regarding versions as well00:24
kfox1111kzaitsev_mb: as a follow on patch to the linter, perhaps we should copy a bit more of horizon's run_tests to ensure tox is new enough to run? I don't think we can update tox from within tox. :/00:24
kfox1111there's several things to version, and this is just one of them. its one of the easiest.00:24
kfox1111its kind of a versioning of the features the horizon website supports.00:24
kfox1111as aposed to either the version of the service engine, or the version of the asset. :/00:25
kfox1111I think we can fairly easily solve the first, ala the patch. the second I hope we can finish in the next week perhaps or solve good enough, and the last will take a while...00:26
kfox1111kzaitsev_mb: I'm getting a failure on "npm install"00:27
kfox1111is there an eslint missing?00:27
docaedoI think versions around what horizon supports should just be part of the release shouldn't it?  i.e. app-catalog-ui targets horizon-liberty00:27
kzaitsev_mbwhat does it say?00:27
kzaitsev_mbI'm getting warnings about versions00:28
kfox1111ERROR: InvocationError: '/home/kfox2/svn/app-catalog-ui/.tox/eslint/bin/npm install'00:28
kzaitsev_mbbut still it installs correctly for me00:28
kfox1111docaedo: Kind of... lets go through an example....00:28
kfox1111say we add a feature to the app catalog. the ability for heat resources to have an included environment file.00:28
kzaitsev_mbkfox1111: does the same thing happen if you try it in app-catalog or horizon?00:29
kfox1111the current horizon plugin has no idea that property exists, so will happily ignore it.00:29
kfox1111if the heat resource depends on that environment being there, the app catalog entry is broken on that version of the horizon plugin.00:29
kfox1111so if you go into the asset, and flag it's kind of a schema version 2 thing, the horizon pluin can say, I only support version 1 schema asssets, and exlude just that one asset, leaving all the rest to continue to work.00:30
kfox1111it can still even present the asset to the user, though disabled, so they know to contact their friendly local cloud admin to nudge them to upgrade their app-catalog plugin. :)00:31
docaedokfox1111: I follow mostly, but suspect it's going to get complicated quick00:31
kfox1111it just means, if we keep adding required features to heat, murano, or glance, we have to keep bumping the version. I'm hoping that wont happen very often.00:32
kfox1111its been pretty stable for a while.00:32
kfox1111though the heat env things the thing that kind of proved we may want to in the future.00:32
kfox1111I think the asset versioning thing's going to be harder.00:33
kfox1111the service-engine versioning things kind of iffy too...00:33
docaedoone thing I want to be really careful about with the catalog is keeping it from being closely tied to other projects - like Murano, the murano devs should not have to worry too much about app-catalog other than including a way to specify a particular version of an asset00:33
kfox1111say you are running a heat from kilo, and a horizon from liberty.00:33
kfox1111the app catalog ui plugin needs to know that. and thats not currently introspectable.00:33
docaedoto me that's an edge case that shouldn't require a ton of support or effort00:34
kfox1111Best I can think of right now is to assume service engine versions match horizon's release, and allow the user to override in horizon's config.00:34
kzaitsev_mbis that even a thing? Wouldn't everything explode? =) I mean kilo/liberty interaction? =)00:34
docaedoeventually that will be sort of supported for the upgrade all services use-case, but even today, it's not really supported by anyone00:34
kfox1111agreed on how closely we tie.00:34
kfox1111kzaitsev_mb: No, I run hybrid clouds all the time. openstack's great at it.00:35
docaedoI think it's best to plan that service engine version matches horizons release, and just assume the whole environment is Kilo, or Liberty, etc00:35
kfox1111horizon's usually the first thing I upgrade, since it gets a lot of new, visiable features, with very minimal change.00:35
docaedoOK hybrid cloud is one thing...  yeah and I can see how you could end up with competing versions of things but still want to address them from the catalog00:35
kfox1111yeah. I think the assets need something like a minimum supported service engine version,00:36
kfox1111and then the ui filters out any that are newer then itself, or the user specified service-engine version.00:36
kfox1111the thing I'm a little iffy on there is versions...00:37
kfox1111I'm thinking it probably should be 'kilo', 'liberty', etc.00:37
docaedothat makes sense to me00:37
kfox1111if it is, then we have to hardcode them so we know what they are. thats probably ok. but what happens when we add service resource types that are not in the regular release cycle?00:38
kfox1111like... use number releases?00:38
kfox1111I guess maybe we deal with that when we add support for those to the horizon plugin when we hit one.00:38
kfox1111say, solum language packs. I don't know if they support cycle names or version numbers, but if its the latter, when we add horizon support, we need to figure out how to do version numbers if they use it.00:39
kfox1111though version numbers may be easier to handle then release names anyway...00:39
kfox1111like I said, I think that one's probably roughly solvable in the next week, so we can ensure mitaka+ resources never try and get loaded into a app-catalog-ui 1.0 loaded into a liberty cloud.00:40
kfox1111the rest of the details we can deal with later.00:40
docaedoyep, that one is relatively easy00:40
kfox1111that just leaves the multiple asset version thing for mitaka.00:40
kfox1111and that one's going to be interesting. :)00:40
kfox1111well, I gota head out.00:41
kfox1111thanks for the reviews/discussion.00:41
docaedowell I'm going to probably argue for keeping it simple - but we can chat tomorrow00:41
kfox1111simple's good. :)00:41
kfox1111as simple as possible, but no simpler. ;)00:41
docaedohah yes exactly - out get gone man, have a good night!00:41
kfox1111you too dude. later.00:42
*** kfox1111 is now known as kfox1111_away00:42
*** kzaitsev_mb has quit IRC00:43
*** kzaitsev_mb has joined #openstack-app-catalog01:09
*** kzaitsev_mb has quit IRC01:14
*** kzaitsev_mb has joined #openstack-app-catalog01:40
*** kzaitsev_mb has quit IRC02:16
*** kzaitsev_mb has joined #openstack-app-catalog03:37
*** kzaitsev_mb has quit IRC04:05
*** kzaitsev_mb has joined #openstack-app-catalog07:46
*** kzaitsev_mb has quit IRC07:51
*** kzaitsev_mb has joined #openstack-app-catalog09:15
*** kzaitsev_mb has quit IRC09:48
*** kzaitsev_mb has joined #openstack-app-catalog11:09
*** kzaitsev_mb has quit IRC12:15
*** kzaitsev_mb has joined #openstack-app-catalog12:25
*** jolsen has joined #openstack-app-catalog12:56
*** jolsen has quit IRC12:56
*** jolsen has joined #openstack-app-catalog12:56
*** kzaitsev_mb has quit IRC13:09
*** kzaitsev_mb has joined #openstack-app-catalog13:11
*** j_king has quit IRC14:12
*** kebray has joined #openstack-app-catalog14:43
*** kebray has quit IRC14:43
*** kebray has joined #openstack-app-catalog14:47
*** kfox1111_away is now known as kfox111115:26
kfox1111docaedo: I'm kind of thinking we should try and use django for just the root of We don't write any code in python, but use django-compressor and django-pyscss for free to generate optimized javascript/scss with very little effort. can also then share that bit of code with horizon.16:08
kfox1111we'd still do flask for /api16:08
kfox1111whatcha think?16:08
kzaitsev_mbdon't like the idea of having 2 webservers, but using flask might be indeed a bit hard if we try to limit ourselves with global requirements.16:11
kfox1111not two webservers. two wsgi apps.16:11
kzaitsev_mbyep, that's what I meant16:11
docaedoI think that's bringing along way too much just to serve static stuff with optimization. I'm all for optimizing things but even if we were actually seeing a ton of traffic, I don't think it would be worth it16:11
kfox1111I'm thnking more from the developer optimazation time thing.16:12
kfox1111I think I can get xstatic workign with it quicker then manually figuring out how to get it to work...16:12
docaedois this for the sake of sharing static/common elements between UI/horizon and the web site?16:14
kfox1111partially, yeah.16:14
kfox1111and for things like the angular js source, etc.16:15
kfox1111I don't want to link to external angular.js,16:15
kfox1111nor do I want to include a raw angular.js in the repo itself.16:15
kfox1111the best option is to pull it from xstatic like horizon's doing.16:15
kfox1111we add an XStatic-Angular>=1.3.7  in requirements.txt, and it gets pulled in.16:16
kfox1111will run into that as we add more useful angular stuff.16:16
kfox1111like mangic search.16:16
kfox1111XStatic-Magic-Search>= # Apache 2.0 License16:17
kfox1111see horizon's requirements.txt. they have a bunchof XStatic stuff that was useful to them, that I think we may want too.16:17
kfox1111oh. smart table too.16:17
kfox1111I'm sure we could probably use xstatic without django. Just thinking it may be easier though. I'd have to prototype to know for sure.16:18
docaedoI follow the logic16:19
docaedogotta run for a few minutes to be sure I am back in time for the meeting16:19
kfox1111but if we can do it with like 10 lines of django, and we get it all + compression, then that sounds like a quick solution to the issue.16:24
*** docaedo has quit IRC16:28
*** docaedo has joined #openstack-app-catalog16:34
docaedowhoah, meeting time already!17:00
kfox1111I'll try tox -e eslint on horizon and see what happens.17:32
kfox1111of cource, its redownloading/rebuilding node. :/17:34
*** kebray has quit IRC17:34
kzaitsev_mbnpmenv, yep17:34
kfox1111I'm not sure why it does that so often...17:35
kfox1111docaedo: I think if you make a heat template that nests this:
kfox1111you only have to specify ExtraUserData of curl your shell script and run it? :)17:38
kfox1111or git checkout and run it.17:38
kfox1111kzaitsev_mb: the tox thing works in horizon.17:39
kfox1111something's different.17:39
kzaitsev_mbstrange indeed17:39
docaedokfox1111: thanks, I'll give that a try. except need to 'fix' that template so it doesn't use centos :)17:39
kfox1111kzaitsev_mb: I'm literally sharing python virutalenv, so I'm not sure just how much is different.17:40
kfox1111docaedo: its just a default.17:40
docaedokfox1111: haha yep, I just have consistently not great experiences going down that road ;)17:41
kzaitsev_mbwell infra job would not use tox, but I guess it's worth to do some debugging.17:41
kzaitsev_mbcan you pls share the error once more?17:41
kfox1111kzaitsev_mb: I included the horizon one at the bottom too for comparison.17:43
kzaitsev_mbMakeReferenceError — I had that17:46
kfox1111wait... its trying to make a .tox venv?17:47
kzaitsev_mbbut I thought it was due to XCode update, so I reinstalled the npm, removed tox and after that all went fine..17:47
kzaitsev_mbkfox1111: yep, it creates .tox/eslint17:48
kzaitsev_mbI believe infra job doesn't do that17:48
kzaitsev_mbit just runs npm lint, which is defined in the package.json17:49
kfox1111I'm guessing its a dep that's too old on my system.17:49
kzaitsev_mbso tox here is more of a convenience thing17:49
kzaitsev_mbthat might be the case, indeed.17:49
kfox1111so theres probably a missing test-requirements.txt entry?17:50
kzaitsev_mbI'd recommend removing .tox/ before trying that too17:50
kzaitsev_mbmissing requirement?17:50
kzaitsev_mbyou mean tox itself?17:50
kfox1111no, something that its pulling from system rather then trying to install a newer version of.17:51
kfox1111k. rebuilding node again.... :/17:51
kzaitsev_mbhm, not sure. thought 'nodeenv' should be enough17:51
kfox1111like tox. my tox is 1.4.2 unless I install a new one in a venv.17:51
kfox1111and 1.4.2 is too old to run the tox -e eslint.17:52
kzaitsev_mbhorizon does not have tox in test-requirements, I guess17:52
kfox1111thats why I've been using horzion's script.17:52
kfox1111to just reuse their venv which has a newer tox in it.17:52
kfox1111the problem with tox in particular,17:52
kfox1111you cant have tox pull a newer verson of tox. :/17:52
kzaitsev_mbtox is not in global-requirements17:53
kfox1111so for horizon, I have to tools/ pip install tox17:53
kfox1111tools/ tox -e eslint17:53
kzaitsev_mbso it's up to the system to provide tox I guess17:53
kfox1111then it has a newenough tox to do the rest.17:53
kfox1111thats working with horizon.17:54
kfox1111it also runs tox stuff ok in app-catalog I think.17:54
kfox1111its some other requirement I think thats too old.17:54
*** kebray has joined #openstack-app-catalog17:56
kfox1111ok. django hello world with one page was pretty easy.17:57
kfox1111just gota try it with xstatic now to see how that works.17:57
kfox1111kzaitsev_mb: removing .tox fixed it.17:57
kfox11110 errors, 29 warnings.17:58
kfox1111we testing a different set then horizon? Its a different set of errors.17:58
kfox1111oh. nm....17:58
kfox1111I'm in the wrong directory....17:58
kfox1111doing too much at once...17:58
kfox1111app-catalog != ap-catalog-ui17:59
kfox1111I'll pull .tox from there and try again.17:59
*** kzaitsev_mb has quit IRC18:01
kfox1111and building node again....18:01
*** jolsen has quit IRC18:43
*** jmolsen has joined #openstack-app-catalog18:48
*** kzaitsev_mb has joined #openstack-app-catalog19:08
*** kebray has quit IRC19:12
*** kebray has joined #openstack-app-catalog19:29
*** kebray has quit IRC19:31
*** kebray has joined #openstack-app-catalog19:32
*** kebray has quit IRC19:35
kfox1111kzaitsev_mb: k. the tox ran again, same error.19:40
kfox1111so its something to do with the app-catalog-ui repo, and not app-catalog or horizon19:40
*** kebray has joined #openstack-app-catalog19:57
*** kzaitsev_mb has quit IRC21:08
*** kzaitsev_mb has joined #openstack-app-catalog21:13
*** kebray has quit IRC21:41
*** kebray has joined #openstack-app-catalog22:17
*** kebray has quit IRC22:17
*** kebray has joined #openstack-app-catalog22:24
*** kzaitsev_mb has quit IRC22:50
*** kzaitsev_mb has joined #openstack-app-catalog22:58
*** kzaitsev_mb has quit IRC23:47
kfox1111nice... got staticfiles and compressor working. :)23:51
kfox1111and xstatic.23:53

Generated by 2.14.0 by Marius Gedminas - find it at!