Monday, 2016-02-01

*** evgenyl has quit IRC00:08
*** sylwesterB has quit IRC00:09
*** evgenyl has joined #openstack-bareon00:09
*** sylwesterB has joined #openstack-bareon00:10
*** agordeev has quit IRC00:12
*** agordeev has joined #openstack-bareon00:13
*** evgenyl has quit IRC00:16
*** evgenyl has joined #openstack-bareon00:17
*** ikalnitsky_ has joined #openstack-bareon05:42
*** ikalnitsky has quit IRC05:49
*** ikalnitsky_ is now known as ikalnitsky05:50
*** sylweste_ has joined #openstack-bareon08:34
*** sylweste_ is now known as sylwesterB_08:35
evgenylHi folks.08:52
sylwesterBhi09:01
*** sylwesterB_ has quit IRC09:01
evgenylagordeev: looking at bp https://blueprints.launchpad.net/fuel/+spec/multipath-disks-support I don't quite understand what is the exact problem and why multipath is not working, isn't it a problem of nailgun-agent only, which filters iscsi disks out https://bugs.launchpad.net/fuel/+bug/1515620/comments/4 ?09:37
openstackLaunchpad bug 1515620 in Fuel for OpenStack "multipath problem during deploy" [High,Confirmed] - Assigned to Fuel Python Team (fuel-python)09:37
evgenylagordeev: want to get full understanding, so we put it into proper place in the roadmap.09:37
agordeevevgenyl: i'm not quite familiar with multipath devices, but main concern is that you need to configure few devices to behave like a single one multipath device. This step of configuring those disks is essential and unavoidable. Multipath demon by default blacklists all disks, so you need to add something to began to use multipath devices properly.09:50
evgenylagordeev: thanks, I will read more about it and will talk to deployment engineers, to have better understanding of the problem.09:53
agordeevtherefore, in order to use multipath disks proreply, we need them to be configured for every stage of node transition. So, multipath disks must be configured for bootstrap/provision stage as well as on deployed nodes too.09:54
evgenylagordeev: got it, do I understand correctly, that pluggable do-actions with flexible flows will help to solve the problem?09:56
agordeevevgenyl: no, i don't think so, flexible flow is not related to that at all. it's not clear who is in charge of performing this multipath configuration step.09:59
agordeevevgenyl: definitely, a chicken and egg prob here. nailgun-agent only reports the facts about the system. Who will configure the disks which it is going to be report? I don't have an answer.10:00
evgenylagordeev: but if I create a plugin with do_multipath_configuration, and if I can add execution of this action at any stage, shouldn't it solve the problem? I mean the creator of multipath plugin probably knows when it has to be configured.10:00
*** openstackgerrit has quit IRC10:02
*** openstackgerrit_ has joined #openstack-bareon10:03
*** openstackgerrit_ has quit IRC10:03
agordeevlet me think. afair, node attributes become locked from updates at some point. So, we need to create multipath disks before that, so nailgun will take into account miltipath disks too and will generate partitioning layout accordingly.10:06
agordeevevgenyl: yes, do_multipath_configuration action makes sense. This action should be executed somewhere between discovery and provisioning of a node. And the changes of multipath.conf should be delivered to provisioned node prior the first booting into the target os. Sounds, like target initramfs/initrd image must be rebuilt too to reflect these changes.10:12
*** openstackgerrit has joined #openstack-bareon11:53
*** openstackgerrit has quit IRC11:54
*** openstackgerrit_ has joined #openstack-bareon11:54
*** openstackgerrit_ is now known as openstackgerrit11:55
*** openstackgerrit has quit IRC11:59
*** openstackgerrit has joined #openstack-bareon12:07
sylwesterBguys: data-pipelines ver. 0.0.1 https://review.openstack.org/#/c/274653/13:36
sylwesterBspec*13:36
evgenylsylwesterB: cool, thanks14:13
evgenylsylwesterB: have you figured out what is wrong with CI?14:14
evgenylsylwesterB: I mean in your patch for stevedore discovery14:14
sylwesterBAfter retrigering it several times and couple of random failures I gave up and worked on spec14:36
evgenylsylwesterB: so you need some help with it?14:37
evgenylsylwesterB: seems like retrying doesn't help.14:37
evgenylsylwesterB: since master is in a good shape and working.14:37
sylwesterBdoes the guys from CI can still retrigger jobs?14:37
evgenylsylwesterB: I think they can retrigger Fuel CI job.14:38
evgenylsylwesterB: actually you can do it by pressing "rebase"14:38
sylwesterBlet me run them locally once again14:39
evgenylsylwesterB: have you seen the error "AssertionError: 200 != 202" it's pretty strange :)14:39
evgenylsylwesterB: looks like some bug in the master :)14:39
sylwesterBdamn it they passing locally14:41
sylwesterBalso there were some other error before14:41
sylwesterBsec14:41
sylwesterBhttps://bugs.launchpad.net/fuel/+bug/154031314:42
openstackLaunchpad bug 1540313 in Fuel for OpenStack "[fuel-web] randomly failing test test_put_handler_with_one_node" [High,Confirmed] - Assigned to Fuel Python Team (fuel-python)14:42
sylwesterBevgenyl: I rebased it14:43
sylwesterBevgenyl: and we will see14:43
evgenylsylwesterB: btw, I didn't get where is a fix where Igor was talking about https://review.openstack.org/#/c/260453/16/nailgun/nailgun/extensions/manager.py , he suggested to fetch all extensions on startup time, but here we continue fetching extensions on each callbacks call.14:49
sylwesterBevgenyl: I've changed it to be created only once15:00
sylwesterBevgenyl: but then wild circular imports appeard15:00
sylwesterBmaking the extensions loading inside a functions prevents from that15:01
evgenylsylwesterB: hm, are you sure? If you implement get_extensions_manager to get EXTENSION_MANAGER and set it if it's None.15:02
sylwesterBevgenyl: Do you want me to use "global" ?15:03
sylwesterB:(15:04
evgenylsylwesterB: that was the point Igor said "maybe move it on global level" so you do it once for entire application and don't call it each time.15:04
evgenylikalnitsky: am I correct that you wanted it to be set globally and only once?15:05
ikalnitskyevgenyl: yeah,15:06
ikalnitskyi mean, that it's not cool that we will create plugin instances each time your function is called15:07
ikalnitskythink global in this case would solve the problem.15:07
sylwesterBevgenyl: ikalnitsky which one? http://paste.openstack.org/show/485610/15:07
ikalnitskysylwesterB: first one looks good to me.15:08
sylwesterBthe first one causes circular imports, the second use 'glova'15:08
evgenylsylwesterB: I would vote for second.15:08
evgenylsylwesterB: it's easier to mock15:08
sylwesterBglobal*15:08
ikalnitskycircular imports ?15:08
sylwesterBikalnitsky: because we're loading extensions in 'nailgun.extensions.manager'. In 'nailgun.extensions.__init__' we have ' from nailgun.extensions.manager import something'. And in extensions like volume_manager we have 'from nailgun.extensions.base import BaseExtension' -> circular15:10
ikalnitskysylwesterB: weird :(15:12
sylwesterBnothing wierd here :P15:12
ikalnitskyhonestly, it doesn't matter to me much which variant will be used. :)15:12
sylwesterBikalnitsky: OK, so evgenyl We can leave it as it is, or use 'global'15:14
evgenylsylwesterB: lets do global with a comment, why it was done this way.15:16
sylwesterBOK :(15:16
evgenylsylwesterB: you don't like the solution? If yes, suggest something better not to run discovery every time.15:16
sylwesterBevgenyl: I tried with several approaches like classes, lazy initialization but everyone of them caused circural import15:19
sylwesterBevgenyl: the only argument I have15:19
sylwesterBevgenyl: is that the ExtensionManager object get created several times, but extensions are loaded only once due to python cache15:19
sylwesterBgets* craeted15:19
evgenylsylwesterB: hmm, are you sure? As far as I know it scans all egg packages every time, and it may take some time...15:20
sylwesterBevgenyl: the first place to check is sys.modules which contails all previosly imported modules15:22
sylwesterBit's our 'cache'15:22
sylwesterBif it's not there, it goes further15:23
evgenylsylwesterB: are you talking about implementation of stevedore or the way it works in python, because in stevedore implementation there is a cache per extension manager instance, not a global one https://github.com/openstack/stevedore/blob/master/stevedore/extension.py#L145-L15115:25
sylwesterBI was talking about 1.15:26
sylwesterBdamn15:26
sylwesterBI meant I was talking about how python works15:26
sylwesterBSo it's imported only once15:27
sylwesterBbut lookup for endpoint happen all the time ;?15:27
sylwesterB:/15:27
evgenylagordeev: sync15:29
evgenylsylwesterB: trying to find it in setup tools code, which is used to get this info.15:30
openstackgerritAleksandr Gordeev proposed openstack/bareon: [WIP] Introduce helpers for do actions  https://review.openstack.org/27269018:08

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!