Friday, 2014-10-17

*** yuanying_ has joined #openstack-ironic00:01
*** yuanyin__ has joined #openstack-ironic00:04
*** yuanying has quit IRC00:04
jrollhiya Haomeng|2 :)00:05
jrollHaomeng|2: I fixed the link here for you :)00:06
jrollhttps://review.openstack.org/#/c/128388/00:06
*** yuanying_ has quit IRC00:06
*** rainya has quit IRC00:11
Haomeng|2jroll: thank you:)00:27
Haomeng|2jroll: +200:29
Haomeng|2jroll: :)00:29
*** hemna has quit IRC00:42
*** praneshp has joined #openstack-ironic00:46
*** ChuckC has quit IRC00:48
*** ChuckC has joined #openstack-ironic00:54
*** yuanyin__ has quit IRC01:00
*** yuanying has joined #openstack-ironic01:03
rloojroll: wrt 128388 -- the spec hasn't been approved so I -2'd it.01:03
*** rainya has joined #openstack-ironic01:04
*** yuanying has quit IRC01:05
*** yuanying_ has joined #openstack-ironic01:05
*** praneshp has quit IRC01:21
*** yongli has quit IRC01:32
*** nosnos has joined #openstack-ironic01:32
Haomeng|2rloo: ok:)01:35
rlooHaomeng|2: :-)01:35
Haomeng|2rloo: :)01:35
rlooHaomeng|2: I just saw that you changed your vote. I think it is probably fine to eg +2 to show that you think it is good. We just don't want to accidentally merge it, that's all.01:41
Haomeng|2rloo: np, I will vote +2 once the spec is approved:)01:41
Haomeng|2rloo: :)01:41
rlooHaomeng|2: okay.01:42
Haomeng|2rloo: :)01:42
Haomeng|2rloo: I should follow the process, missed the spec:)01:43
rlooHaomeng|2: so the process you took was fine. You reviewed it and gave a +2. That's OK. What we don't want to do is +1 Approve it.01:45
Haomeng|2rloo: ok:)01:45
Haomeng|2rloo: :)01:46
*** spandhe_ has quit IRC01:46
*** marcoemorais has quit IRC01:46
rlooHaomeng|2: if jroll gets two +2's on that before the spec is approved, I should be able to remove the -2 and someone would just need to approve. (Assuming no rebase is needed.)01:47
Haomeng|2rloo: ha, ok, got it:)01:49
rlooHaomeng|2: great :D01:49
Haomeng|2rloo: :)01:49
*** MattMan has quit IRC01:54
*** MattMan has joined #openstack-ironic01:55
*** rainya has quit IRC01:58
*** rainya has joined #openstack-ironic01:59
*** rainya has quit IRC02:09
*** rainya has joined #openstack-ironic02:20
*** r-daneel has quit IRC02:21
*** rainya has quit IRC02:23
*** spandhe has joined #openstack-ironic02:28
*** rainya has joined #openstack-ironic02:32
*** spandhe__ has joined #openstack-ironic02:33
*** spandhe has quit IRC02:35
*** spandhe__ is now known as spandhe02:35
*** achanda_ has joined #openstack-ironic02:43
*** achanda__ has joined #openstack-ironic02:43
*** rainya has quit IRC02:46
*** achanda has quit IRC02:46
*** achanda_ has quit IRC02:47
*** harlowja is now known as harlowja_away02:47
*** rainya_ has joined #openstack-ironic02:49
*** rainya has joined #openstack-ironic02:51
*** rloo has quit IRC02:51
*** rainya_ has quit IRC02:52
*** vinbs has joined #openstack-ironic03:02
*** ramineni has joined #openstack-ironic03:22
*** jcoufal has joined #openstack-ironic03:27
*** dlaube has quit IRC03:40
*** Haomeng has joined #openstack-ironic03:45
*** Haomeng|2 has quit IRC03:46
*** ramineni has quit IRC03:53
*** Poornima has joined #openstack-ironic04:31
*** ramineni has joined #openstack-ironic04:40
*** pcrews has quit IRC04:42
*** jcoufal has quit IRC04:52
openstackgerritAnusha Ramineni proposed a change to openstack/ironic: Update node-validate error messages  https://review.openstack.org/12886204:56
*** chenglch has joined #openstack-ironic04:59
*** achanda has joined #openstack-ironic04:59
*** achanda__ has quit IRC05:02
*** lazy_prince has quit IRC05:11
*** praneshp has joined #openstack-ironic05:21
*** vinbs has quit IRC05:31
*** teju has joined #openstack-ironic05:33
*** vinbs has joined #openstack-ironic05:34
openstackgerritMichael Davies proposed a change to openstack/ironic: Put a cap on our cyclomatic complexity  https://review.openstack.org/12913205:38
*** Nisha has joined #openstack-ironic05:42
*** k4n0 has joined #openstack-ironic06:09
*** pensu has joined #openstack-ironic06:12
*** achanda has quit IRC06:15
*** achanda has joined #openstack-ironic06:16
*** achanda has quit IRC06:16
*** praneshp_ has joined #openstack-ironic06:23
*** praneshp has quit IRC06:27
*** praneshp_ is now known as praneshp06:27
openstackgerritMichael Davies proposed a change to openstack/ironic: Bring in Nova's pylint tox config  https://review.openstack.org/11827006:32
*** killer_prince has joined #openstack-ironic06:33
*** killer_prince is now known as lazy_prince06:33
*** andreykurilin_ has joined #openstack-ironic06:56
*** spandhe has quit IRC07:17
*** ifarkas has joined #openstack-ironic07:20
*** andreykurilin_ has quit IRC07:32
*** rameshg87 has joined #openstack-ironic07:35
*** pradipta_away is now known as pradipta08:06
*** jcoufal has joined #openstack-ironic08:24
*** vinbs has quit IRC08:24
*** jistr has joined #openstack-ironic08:24
*** derekh has joined #openstack-ironic08:26
*** lucasagomes has joined #openstack-ironic08:31
*** wendar_ has joined #openstack-ironic08:38
*** wendar has quit IRC08:40
*** Isotopp has quit IRC08:43
*** Isotopp has joined #openstack-ironic08:43
*** dtantsur|afk is now known as dtantsur08:47
dtantsurMorning, TGIF!08:47
Haomengdtantsur: morning:)08:49
*** jcoufal has quit IRC08:53
*** jcoufal has joined #openstack-ironic08:54
openstackgerritRoman Dashevsky proposed a change to openstack/ironic: Add driver for supports Aten PDU's  https://review.openstack.org/12917409:05
*** athomas has joined #openstack-ironic09:13
*** lazy_prince has quit IRC09:19
*** praneshp has quit IRC09:19
*** Nisha has quit IRC09:20
*** pelix has joined #openstack-ironic09:44
*** chenglch has quit IRC09:57
*** athomas has quit IRC09:58
*** killer_prince has joined #openstack-ironic10:06
*** killer_prince is now known as lazy_prince10:07
*** athomas has joined #openstack-ironic10:09
*** rameshg87_ has joined #openstack-ironic10:10
*** rameshg87 has quit IRC10:11
*** yuanying_ has quit IRC10:18
*** jcoufal has quit IRC10:18
*** yuanying has joined #openstack-ironic10:19
*** yuanying has quit IRC10:19
*** yuanying has joined #openstack-ironic10:20
*** yuanying has quit IRC10:24
*** Haomeng|2 has joined #openstack-ironic10:43
*** Haomeng has quit IRC10:45
*** pensu has quit IRC10:45
*** rameshg87 has joined #openstack-ironic10:52
*** rameshg87 has quit IRC10:53
*** rameshg87_ has quit IRC10:55
raminenidtantsur: hi10:56
dtantsurramineni, o/10:56
raminenidtantsur, regarding your comment on https://review.openstack.org/#/c/128862/2/ironic/drivers/modules/deploy_utils.py10:56
raminenidtantsur , if we add it error msg , the msg will go redundant10:57
*** jcoufal has joined #openstack-ironic10:57
*** jcoufal has quit IRC10:57
dtantsurramineni, it's not that bad, though you can simplify message in deploy_utils like "%(error_msg)s. Missing are: %(missing)s"10:57
*** jcoufal has joined #openstack-ironic10:57
dtantsurbut anyway being redundant is much better than being unclear10:58
raminenidtantsur, all other functions which call check_for_missing_params have missing params in driver_info10:58
raminenidtantsur , ya it sounds better10:58
dtantsurIMO it anyway does not justify hardcoding possible variants in deploy_utils(). we should be able to add new field there without analyzing the whole code base :)10:59
raminenidtantsur , you meant what Yuriy suggested?11:00
dtantsurramineni, I mean what you have now. With it you should remember to update 'if' statement on adding new possible items to instanc_info11:00
raminenidtantsur , hmm ,  your suggestion to add it error msg and just adding " Missing are:"  in check_params sounds more effective . No need to change anything when new field is added11:04
dtantsurright11:05
raminenidtantsur , will modify accordingly , thanks :)11:05
*** ramineni has quit IRC11:05
*** yuanying has joined #openstack-ironic11:08
*** Haomeng has joined #openstack-ironic11:29
Shrewsdtantsur: ugh. i want to slap the person that decided getting rid of long in py3 was a good idea11:29
*** Haomeng|2 has quit IRC11:30
dtantsurShrews, well, unifying things under one int() type makes some sense for dynamic language...11:30
Shrewsdtantsur: but soooo many programs use long() already. seems they could have just made the two equivalent11:31
dtantsurShrews, IIRC even in Py2 you can use just int() for casting, it will produce long on demand11:35
Shrewsdtantsur: i think so11:36
*** derekh has quit IRC11:52
*** ifarkas has quit IRC11:52
*** derekh has joined #openstack-ironic11:56
*** teju has left #openstack-ironic12:05
*** dprince has joined #openstack-ironic12:11
*** Haomeng|2 has joined #openstack-ironic12:18
*** Haomeng has quit IRC12:19
*** pensu has joined #openstack-ironic12:20
*** pensu has quit IRC12:25
*** pradipta is now known as pradipta_away12:27
*** Poornima has quit IRC12:29
*** nosnos has quit IRC12:41
*** nosnos has joined #openstack-ironic12:42
*** pensu has joined #openstack-ironic12:43
*** nosnos has quit IRC12:46
*** jjohnson2 has joined #openstack-ironic12:54
*** k4n0 has quit IRC12:55
*** rameshg87 has joined #openstack-ironic12:55
*** igordcard has joined #openstack-ironic13:05
*** pensu has quit IRC13:17
*** openstackgerrit has quit IRC13:19
*** openstackgerrit has joined #openstack-ironic13:20
MattManJust looking at ironic juno requirements, and I see pyghmi no longer a requirement, is this likely to remain the case ?13:24
lucasagomesMattMan, yes, it's a third part library13:26
lucasagomesjust like seamicro client, ilo client etc13:26
lucasagomesit's a dependency for a specific driver, not for ironic in general13:27
MattManGreat thanks, so really only an dependency of the driver you are using depends on it.13:27
MattMans/of/if/13:28
*** rameshg87 has quit IRC13:32
lucasagomesyea13:35
*** r-daneel has joined #openstack-ironic13:37
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: TestAgentVendor to use the fake_agent driver  https://review.openstack.org/12925113:41
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Add a basic mechanism to route and validate vendor methods  https://review.openstack.org/12926113:59
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Add a basic mechanism to route and validate vendor methods  https://review.openstack.org/12926114:07
openstackgerritJohn Trowbridge proposed a change to openstack/python-ironicclient: Adds tty password entry for ironicclient  https://review.openstack.org/12901014:07
*** spandhe_ has joined #openstack-ironic14:14
*** spandhe_ has quit IRC14:14
lucasagomesdtantsur, didn't get ur comment14:15
dtantsurmmm?14:15
lucasagomes"left comments on how I see it"14:15
lucasagomeshttps://review.openstack.org/#/c/129261/214:16
dtantsurwe need to get rid of actual vendor_passthru methods in all or most drivers14:16
*** ndipanov is now known as ndipanoff14:16
lucasagomesoh my page wasn't updated14:16
lucasagomesnow I see ur comments14:16
dtantsurlucasagomes, sorry, looks like you pushed one more revision in the meanwhile14:16
dtantsurand I didn't notice it while leaving a review14:16
lucasagomesdtantsur, it's alright... right so the base class would take the function from the routes14:19
dtantsuryeah, call it, probably convert exceptions to ironic ones14:20
dtantsurthis is how it's implemented in all drivers actually14:20
lucasagomesright, yeah there's some small diffs but I think I can make it generic14:21
lucasagomesdtantsur, lemme try something14:21
dtantsurcool14:22
lucasagomesdtantsur, I'm also thinking about using the route dict map to tell whether that method should run async or sync14:23
dtantsurinteresting idea hmm...14:23
lucasagomesso, it would be up to the dev to say how that method should run14:23
dtantsurmakes sense to me14:23
lucasagomesyeah14:23
lucasagomesand after that I want add support to all http methods, and not only use POST14:23
lucasagomesI don't know whether I should make a spec for it tho14:23
lucasagomesit won't be a super small change14:24
lucasagomesideas?14:25
dtantsurlucasagomes, I usually prefer spec, especially since we have lightwieght spec procedure14:30
*** rwsu has joined #openstack-ironic14:31
lucasagomesdtantsur, right, yeah I will finish this base mechanism14:32
lucasagomesand try to come up with a spec for the work14:32
dtantsurcool14:32
dtantsurbrb14:34
*** pensu has joined #openstack-ironic14:43
*** achanda has joined #openstack-ironic14:49
*** achanda_ has joined #openstack-ironic14:50
jrollHaomeng|2: thanks14:52
jrollmorning ironic14:52
*** achanda has quit IRC14:54
*** jjohnson2 has quit IRC14:54
*** jjohnson2 has joined #openstack-ironic14:55
Shrewsjroll: morning14:55
*** achanda_ has quit IRC14:55
*** pcrews has joined #openstack-ironic14:57
*** achanda has joined #openstack-ironic14:57
NobodyCamoh I slept in...TGIF... morning Ironic :)15:00
ShrewsNobodyCam: morning mr. sleepy15:02
NobodyCam:-p gah15:02
jrollmorning NobodyCam :)15:03
jrollhey I have a thing15:04
jrollif mysql goes away15:04
jrollthe conductor will blow up at the next heartbeat and never heartbeat again15:04
jrolldoes anyone else think it should keep trying?15:04
NobodyCammorning jroll :)15:04
Shrewsjroll: i think you should run galera  :-P15:05
Shrewsbut, yeah, good question15:05
*** achanda has quit IRC15:05
Shrewsretrying seems sensible15:05
jrollShrews: doesn't matter if the network blips :P15:05
jrollok15:06
* jroll makes a bug and a patch15:06
Shrewsi mean, any reason NOT to retry?15:06
NobodyCamjroll: i would say at least once to account for network blips, but I can also see where that would dbl the timeout values to15:06
jrollI don't have one15:06
jrollNobodyCam: I think which exception we catch for this should be thought through... but connection failed seems reasonable to retry forever15:07
jrolllooks like DBConnectionError15:08
*** dtantsur has quit IRC15:08
Shrewswhat are our connection attempt points? startup... idle timeouts (i assume, if we are using persistent connections)?15:09
* Shrews *hopes* we use persistent connections15:09
jrollShrews: doesn't look like it15:10
jrolloh, maybe15:10
openstackgerritSam Betts proposed a change to openstack/ironic: Add logging to driver vendor_passthru functions  https://review.openstack.org/12929815:10
NobodyCamjroll: if a conductor is decomissioned will it inform the agent to look for a new conductor (/me assumes long running agebt)15:10
jrollNobodyCam: yes, hash ring will deal with it, agent only talks to the api15:11
Shrewsjroll: oslo.db should handle persistence for us, i think/hope15:11
*** sambetts has joined #openstack-ironic15:12
jrollI would hope so too15:12
* NobodyCam needs to stop thinking agent is talking to the conductor.. :p15:12
Shrewsjroll: there is already an option: #use_db_reconnect=false15:15
jrollShrews: what does that do?15:15
Shrews# Enable the experimental use of database reconnect on15:16
Shrews# connection lost. (boolean value)15:16
Shrewsjroll: it's in the sample config in the [database] section15:16
jrollShrews: hrm, that's great but I don't think that solves this problem15:16
Shrewswhy ot?15:16
Shrewsnot?15:16
jrollwell, I presume it doesn't retry forever15:17
Shrewsthere are other parameters controlling that15:17
jrollessentially if touch_conductor() raises an exception, the entire heartbeat thread dies15:17
jrollI guess maybe I just don't trust that to work in all cases15:18
jrollespecially when it says experimental15:18
jrollI don't think it's ok for default settings to allow the entire conductor cluster to die if the network goes away for $heartbeat_timeout15:18
jrollit should recover15:18
*** pradipta_away is now known as pradipta15:21
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Add a basic mechanism to route and validate vendor methods  https://review.openstack.org/12926115:22
lucasagomesjroll, ^ changes the agent15:22
lucasagomesNobodyCam, Shrews jroll morning :)15:23
JayFNobodyCam: conductor *does* talk to the agent15:23
JayFNobodyCam: just agent talks to the api15:23
NobodyCammorning lucasagomes15:23
jrolllucasagomes: morning, cool :)15:23
NobodyCamthere ya go JayF confuzzing me blurry eyed state..lol...:).. and Good morning :)15:24
JayFNobodyCam: yeah outgoing is similar to a bmc. Conductor makes all the calls.15:24
JayFNobodyCam: Incoming has to be API, because that's the only HTTP-way to get messages to anything Ironic15:24
lucasagomesJayF, morning too, sorry didn't see ya on the comments above15:25
NobodyCamJayF: and its easy to load balance with run of the mill tech15:25
sambettslucasagomes: That patch kinda blows the one I just pushed out of the water https://review.openstack.org/#/c/129298/15:25
NobodyCamthe api that is15:25
lucasagomessambetts, ouch :/15:25
JayFNobodyCam: exactly. Or you can use wsgiref and just overscale the API cluster *whistles innocently*15:26
lucasagomessambetts, hmm didn't know someone were working on it... maybe we should mix the patches?15:26
lucasagomessambetts, what I did was to get rid of all the custom vendor_passthru and driver_vendor_passthru methods on the drivers, and make it generic so we only need to add more logs on the base class and it will affect all drivers15:27
sambettslucasagomes: I just took a quick look, I only picked up that bug this morning, I didn't realise other work was going on to improve the vender_passthru stuff, tbh your solution is cleaner15:29
*** igordcard has quit IRC15:29
lucasagomessambetts, right, yeah I want to improve the vendor_passthru and driver_vendor_passthru not to make it more consistent, but also to allow devs to tell whether the method should run sync or async15:30
lucasagomesand support all HTTP methods instead of only POST15:31
lucasagomessambetts, I have to take a look closer at ur patch, and see if I can rebase mine on the top :/15:31
lucasagomesif possible15:31
*** igordcard has joined #openstack-ironic15:32
lucasagomessambetts, and I haven't seem that bug about the logs :( sorry for stepping on ur toes15:33
openstackgerritDavid Shrewsbury proposed a change to openstack/ironic: Improve hash ring value conversion  https://review.openstack.org/12903115:33
sambettslucasagomes: thats ok, its not your fault, stuff like this is bound to happen with such large projects :-) I was hoping for an easy bug fix ;-)15:34
lucasagomessambetts, yeah :/15:35
openstackgerritJim Rollenhagen proposed a change to openstack/ironic: Continue heartbeating after DB connection failure  https://review.openstack.org/12930115:35
jrollShrews, NobodyCam ^15:35
*** MattMan has left #openstack-ironic15:35
* jroll waits for someone to tell him to wrap that exception15:35
sambettslucasagomes: You might be able to use the ideas from mine to reduce some code duplication but I'm not usre15:36
sambettss/usre/sure15:36
openstackgerritJim Rollenhagen proposed a change to openstack/ironic: Continue heartbeating after DB connection failure  https://review.openstack.org/12930115:36
lucasagomessambetts, I will take a look at it15:36
lucasagomesthanks15:36
JayFjroll: I'm thinking that bug should be tagged juno-backport-potential15:37
JayFjroll: given how nasty it is15:37
sambettslucasagomes: if not I'm completely behind your patch :-)15:37
* lucasagomes brb in a call15:38
jrollJayF: I'll leave that to deva, juno final is cut or close15:38
* jroll brb15:38
JayFjroll: the -backport-potential is about getting it in the stable branch15:38
jrolloh15:40
jrollI mean15:40
jrollI'll leave it to devananda :)15:40
jrollor someone else15:40
JayFdevananda: https://bugs.launchpad.net/ironic/+bug/1382589?comments=all I think this is likely a good candidate for a juno bugfix backport15:40
*** alexpilotti has joined #openstack-ironic15:51
alexpilottiJayF: so would it make sense to propose a BP for an Intel AMT power driver?15:51
JayFalexpilotti was asking in #cloud-init if we supported AMT15:51
alexpilottithe big question I see, is who is going to do the CI testing15:52
JayFalexpilotti: I'd think so; we use a two-step specs process: step 1: make a blueprint and fill out the first (3, iirc) sections; then once there's a consensus this is something people want in ironic, write out all the implementations15:52
JayFalexpilotti: currently the only power driver with any CI is ipminative15:53
JayFalexpilotti: because in Devstack we run a driver that basically controls libvirt using virsh like a bmc15:53
alexpilottiJayF: k!15:53
NobodyCamJayF: lol ssh is also tested in the gate :-p15:54
alexpilottiJayF: ok, I’ll send a spec proposal on ironic-specs15:54
jrollalexpilotti: it would have to be third-party CI, and realistically can only happen if someone can donate the resources15:54
* NobodyCam ducks15:54
JayFalexpilotti: drop me a link when you get it up and I'll help out with an initial reivew15:54
alexpilottijroll: we run the Hyper-V CI, we might see if we could dedicate some servers there15:54
JayFalexpilotti: vPRO/AMT is what's in the Ubuntu orange box, right?15:54
alexpilottiJayF: correct15:55
alexpilottiJayF: it’s what the Intel NUC support15:55
* JayF salivates at the thought of an ironic cluster on his desk15:55
alexpilottiJayF: and we use tons of them at CLoudbase for dev and testing15:55
JayFnice15:55
JayFI bet if you donated them to Ironic devs15:55
NobodyCamalexpilotti: got any spares arounf15:55
JayFwe'd test the crap out of your power drivers15:55
JayFNobodyCam: gmta, haha15:55
alexpilottiJayF: loot at this: https://www.youtube.com/watch?v=J3lFTYvSrcQ15:56
*** andreykurilin_ has joined #openstack-ironic15:56
alexpilottiJayF: since the latest NUCs come w/o vPro/QMT, we ended up doing a power driver… with lego robotics :-)15:57
sambettsalexpilotti: was that the thing that Canonical demoed at the Hong Kong summit?15:57
NobodyCamalexpilotti: I love it15:57
alexpilottisambetts: yep, correct15:57
JayFalexpilotti: that was what Shuttleworth demo'd with at Atlanta, right?15:57
alexpilottiJayF: yep15:57
JayFsambetts: it was Atlanta, not HK15:57
JayFsambetts: I didn't Openstack during the HK summit and I saw it :P15:57
alexpilottiAtlanta, sorry15:57
sambettsAh they all merge into one in my mind these days15:58
alexpilottiwe had it also in Atlanta on our booth15:58
JayFWe've joked before about having a log power driver15:58
JayF"WARN: Operator, go power on the machine"15:58
alexpilottiMark saw it, liked it and asked to add it in the demo15:58
JayFkinda like a robot but not quite the same15:58
JayFhaha15:58
alexpilottiheh15:58
sambettshaha :D15:58
alexpilottiso maybe this time (Paris) we could use it to demo Ironic as well15:59
JayFdevananda: I'm commuting now; will likely be off the train before 10 but wanted to give you a heads up in case I run late15:59
sambettsalexpilotti: that would be pretty awesome! I'll have to come and find your booth this time round16:00
alexpilottisambetts: sounds good! :-)16:00
*** dlaube has joined #openstack-ironic16:02
JayFdevananda: scratch that; trains and busses were all too far away so I'll wait until after we meet to leave for the office. I can start whenever you can (even though it's earlier than we agreed)16:05
NobodyCamJayF: that is no joke16:06
JayFNobodyCam: really? We seriously want a log power driver?16:06
JayFheh16:06
JayFit would at least enable my vision of a cluster of rpis being deployed to by ironic16:07
NobodyCamwe have folk out there running it16:07
NobodyCamfor realz16:07
JayFFor testing only? Or for production?16:07
NobodyCamI believe testing in a production env16:08
JayFthey need a cloudbase robot, apparently ;)16:08
*** derekh has quit IRC16:09
NobodyCamlol they have then... I think it called (data center) remote hands...lol :p16:09
JayFthat's almost more like you need a nagios/nsca power driver16:10
JayFthrow an alert to reboot a server16:10
JayFlol16:10
NobodyCamhuummmmm16:11
*** eghobo has joined #openstack-ironic16:16
*** marcoemorais has joined #openstack-ironic16:17
*** marcoemorais has quit IRC16:17
*** marcoemorais has joined #openstack-ironic16:17
lucasagomesalexpilotti, +1 for demoing it in Paris :P16:23
alexpilottilucasagomes: k :-)16:23
lucasagomeseasy patch just waiting for another +2: https://review.openstack.org/#/c/129251/16:24
jrolllucasagomes: people want a spec for maint reason16:25
lucasagomesjroll, oh :/ isn't a bug enough?16:25
JayFI'd be +1 to filing a bug16:25
jrolllucasagomes: approved that16:25
JayF"As an operator I lose valuable data when last_error gets clobbered"16:26
jrolllucasagomes: ask rloo or dtantsur https://review.openstack.org/#/c/128645/16:26
NobodyCamyour to fast jroll :-p16:26
lucasagomesjroll, right16:26
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Add a basic mechanism to route and validate vendor methods  https://review.openstack.org/12926116:29
*** eghobo has quit IRC16:29
devanandaJayF: ping16:31
lucasagomesjroll, maybe because we added the API part it knows impact in multiple areas of the project, API and DB interfaces that's why they want a spec16:31
JayFyo16:31
lucasagomesit now*16:31
lucasagomesdevananda, morning16:32
NobodyCammorning devananda16:32
jrolllucasagomes: I guess... it's just a new endpoint :|16:32
devanandaJayF: we actually have a LogPower driver. It was proposed by HP a few months back16:33
JayFdevananda: NobodyCam informed me of that :)16:33
devanandahehe16:33
devanandalots of scrollback... not gonna get through it all16:33
NobodyCam:-p16:33
devanandaJayF: you wanna chat? I have to leave in ~2hr for a flight16:33
JayFabsolutely16:34
sambettsAnyone got any ideas why the pep8 CI is throwing issues that the tox -e pep8 isnt??16:34
NobodyCamsambetts: have you rebuild you venv?16:34
lucasagomesjroll, yeah, I'm divided haha gosh...16:35
sambettsnot the pep8 one, I'll try that16:35
devanandajroll: fwiw, juno final has been cut already: https://launchpad.net/ironic/juno/2014.216:37
devanandabackport fixes happen on a schedule, unless it's a CVE, which this isn't16:37
lucasagomesjroll, if u want I can start a quick spec about it, I think people won't object for the change itself so we could go with a small full spec for it. I think the API change is the the big impact here, because once API changes like that lands (new endpoints) we will have to support it16:37
lucasagomesI mean support it for a long time and not break it16:38
devananda*backported fixes get released on a schedule16:38
jrolldevananda: I'm not worried about backporting that, but it is a bit nasty16:38
devanandanasty how?16:38
jrolllucasagomes: if you want to, I could also get it later today16:38
lucasagomesjroll, right... whatever is easier, cause it's late here already I was thinking about getting a break16:40
lucasagomesjroll, but if u don't mind I can put something up monday morning16:40
jrollit's friday, go have a beer for me :)16:41
jrollif you don't see a spec by monday morning go for it16:41
jrollI should be able to do it today though16:41
lucasagomesjroll, deal16:41
lucasagomesright yeah I'll call it a day here16:42
lucasagomeshave a great night everybody, enjoy the weekend16:42
jrollalright, have a good one :)16:42
NobodyCamhave a great weekend lucasagomes16:42
lucasagomesNobodyCam, jroll you guys too16:42
lucasagomessee ya16:42
*** lucasagomes is now known as lucas-dinner16:42
*** pelix has quit IRC16:43
jjuliendoes ironic support using qpid?16:46
jrolljjulien: we use oslo.messaging for amqp, so I'd ask them16:46
jjulienI'm getting a 'module has no attribute create_connection' error16:46
jjulienjroll: ok, thanks16:47
jroll:)16:47
*** ndipanoff has quit IRC16:50
*** athomas has quit IRC16:51
*** pensu has quit IRC16:52
dlaubeg'morning16:54
NobodyCammorning dlaube16:55
NobodyCambrb....bbt time16:56
openstackgerritA change was merged to openstack/ironic: TestAgentVendor to use the fake_agent driver  https://review.openstack.org/12925116:57
jjulienjroll: I'm trying to get ironic to work with icehouse, so using the stable/icehouse branch.  The code is directly importing the qpid module, or whatever is specified in teh config as rpc_backend.  Then calling create_connection on it.  This would seem to be a bug.  https://github.com/openstack/ironic/blob/stable/icehouse/ironic/openstack/common/rpc/__init__.py#L264-L27516:59
jjulienjroll: given it's icehouse, i'm guessing it won't be fixed?  or is there some other way I should be configuring to use qpid?16:59
jrolljjulien: oh, yeah, I think we moved that in juno17:00
jrollicehouse feels like years ago to me... I personally have no idea17:00
jrollbut someone else might know17:00
*** pensu has joined #openstack-ironic17:02
*** viktors is now known as viktors|afk17:02
*** spandhe has joined #openstack-ironic17:10
openstackgerritSam Betts proposed a change to openstack/ironic: Add logging to driver vendor_passthru functions  https://review.openstack.org/12929817:13
*** comstud is now known as bearhands17:23
*** achanda has joined #openstack-ironic17:26
*** pcrews has quit IRC17:27
*** igordcard has quit IRC17:31
*** mikedillion has joined #openstack-ironic17:33
NobodyCambrb17:38
*** spandhe has quit IRC17:42
*** spandhe has joined #openstack-ironic17:47
*** harlowja_away is now known as harlowja17:49
*** eghobo has joined #openstack-ironic17:52
*** achanda has quit IRC17:57
*** sambetts has quit IRC17:59
*** marcoemorais has quit IRC18:01
*** marcoemorais has joined #openstack-ironic18:01
* NobodyCam reposts -> krotscheck > Here’s something to put on your itinerary for paris: http://dangerousminds.net/comments/no_butts_its_a_christmas_tree18:04
*** pradipta is now known as pradipta_away18:07
*** achanda has joined #openstack-ironic18:10
openstackgerritChris Behrens proposed a change to openstack/ironic: Store image disk_format and container_format  https://review.openstack.org/12846318:12
*** marck has quit IRC18:22
*** pcrews has joined #openstack-ironic18:25
*** marcoemorais has quit IRC18:26
*** marcoemorais has joined #openstack-ironic18:26
*** Haomeng|2 has quit IRC18:26
*** marcoemorais has quit IRC18:27
*** andreykurilin_ has quit IRC18:28
*** marcoemorais has joined #openstack-ironic18:28
*** Haomeng|2 has joined #openstack-ironic18:29
*** spandhe has quit IRC18:46
*** pensu has quit IRC18:56
*** spandhe has joined #openstack-ironic19:02
*** BertieFulton has joined #openstack-ironic19:03
*** pensu has joined #openstack-ironic19:12
*** jcoufal has quit IRC19:29
* NobodyCam is starting to think we should add a operational risk / impact section to our specs.. what are the chances that https://review.openstack.org/#/c/100842 /could/ brick a node19:29
jrollugh19:30
jrollwe should not have a rest api to do that19:30
jrollthey're cattle, update them all at once19:30
JayFYeah I apparently should review that19:31
JayFWe should not have a rest api for doing that at all19:31
*** pcrews has quit IRC19:31
lifelessso perhaps some context is useful19:32
lifelessHP has added out of band updates19:32
lifelesswhich is on its backend a REST API :)19:32
JayFI appreciate that and want Ironic to call that rest API19:33
JayFwhat I don't ever want is a single API call to Ironic changing a single setting on a specific node19:33
JayFbecause that's not cloudy; that's snowflake configuration19:33
lifelessah19:34
lifelessso thats perhaps a bit black and white19:34
lifelesshere's a thing, I'm not sure how we should enable it19:34
lifelessthe thing is that some firmware configs work well with some operating system stacks and workloads19:34
lifelessthey get certified by vendors19:34
lifelessso e.g. your 1000 node hadoop cluster 'must run firmware X'19:34
JayFlifeless: devananda and I both talked about that and laid out a flow I'm going to reflect in a spec by, at the latest, COB Monday19:35
JayFlifeless: we literally G+'d about it this morning :)19:35
lifelessJayF: ok, cool.19:35
jrolllifeless: firmware version/binaries or firmware configs?19:35
jrollthis spec sounds like the former19:35
lifelessjroll: firmware version19:35
jrolloh, huh19:35
jrollok19:35
JayFIf firmware version changes are desired at deploy time19:35
lifelessjroll: the thing laid down in the flash19:35
JayFthey'd likely be handled by the hardware capabilties stuff deva and I were talking about19:35
jrollanyhow, yeah, there's better ways to do this, I think19:35
lifelessrelated to that then is how you pre-prod test a change to that19:36
lifelesssaying the entire fleet has to be one version is not sufficeint19:36
lifelessjroll: sure19:36
lifelessI'm not defending that spec per se19:36
jrollright :)19:36
lifelessI'm trying to make sure the driviing situation is clear to you guys19:36
jrollindeed19:36
NobodyCamthank you lifeless the back story helps (alot)19:37
jrollJayF's thing basically says 'I need capability x'; this might be 'weird hadoop cluster'19:37
JayFjroll: well... kinda19:37
jrollwhich triggers a firmware update to the correct version19:37
jrollI'm simplifying19:37
JayFso you'd define a flavor in nova as wanting certain capabilities19:37
lifelessso things that interact here19:37
JayFone of those capabilities could be firmware_version_31419:37
JayF(easy as pi, amirite)19:37
lifelesssome hardware is still update-locally-only19:37
lifelessparticularly existing fleets19:37
lifelessnew hardware can be asserted remotely19:37
lifelessbut I expect LCD stuff to be local-only indefinitely19:38
JayFlifeless: Doing the stuff in-band is going to be difficult to do at deploy time19:38
lifelesssorry, lowest common denominator19:38
lifelessJayF: why? I have stuff doing it in-band today19:38
JayFlifeless: doing it at decom time (think of decom as happening before any single tenant gets on the node at all) for in band stuff makes more sense19:38
JayFlifeless: doing firmware flashes in-band at deploy time?19:38
lifelessJayF: yup19:38
lifelessJayF: see the ilo firmware element in tripleo-image-elements, for instance.19:39
lifelessits not IPA but should be easy to adapt19:39
JayFin-band changes at deploy time isn't something I had thought about19:39
JayFbut it's something that should fit into the model19:39
JayFgiven you have a sufficiently intellegent agent to perform the flash on request before doing a deploy19:39
JayFwhich IPA is :)19:39
lifelessso basically I think there are a couple of broad user stories19:39
lifelessa) give me latest always but don't change it under me19:40
lifelessb) give me latest always and keep it update to date (remote-only updates)19:40
lifelessc) give me a specific version thanks!19:40
lifelessc)'s complexity probably emerges when we consider scheduling19:40
*** spandhe has quit IRC19:46
JayFlifeless: c is completely covered by my use case, a is covered by decom19:47
JayFlifeless: b is actually the harder one19:47
JayFlifeless: I'd potentially even say that I don't think Ironic should change *anything* on a node provisioned to a tenant19:48
JayFlifeless: because that's not cloudy; an arguably better pattern is to spin a new box with the updated firmware, and let (a) handle the updating for you in that case19:48
*** yuanying has quit IRC19:56
NobodyCamJayF: could that be spin up new instance with latest then live migrate to it, ofc would have to do that with new release, which I'm not sure how we would know when that is19:56
NobodyCamoh and support live migrate too19:57
JayFNobodyCam: Yeah, I get how the idea in theory doesn't fit so well with reality because reality has data and ironic doesn't have live migrations19:57
JayFNobodyCam: but I think it's fairly important that Ironic *leave a node alone* when it's been provisioned to a tenant19:57
lifelessJayF: to a degree19:59
NobodyCamJayF: I actually agree but I can see a use case where a operator would what to update a provisioned node, security hardware fixes and such19:59
lifelessJayF: security fixes in firmware....19:59
lifelesstada19:59
JayFI don't disagree it's a useful thing some people would want to do20:00
JayFI disagree with the idea it belongs in Ironic / is Ironic's job20:00
*** marcoemorais has quit IRC20:01
*** marcoemorais has joined #openstack-ironic20:02
*** spandhe has joined #openstack-ironic20:03
NobodyCamhumm we do support nova rebuild, we could check / update FW on rebuilds20:03
JayFthat's something that I could see making a lot more sense20:04
JayFalthough I'm unsure how it would fit into the code20:04
JayFlet me get that spec up monday, and for some of these things we'll be talking about the same stuf20:05
JayFlifecycle management of firmwares on deployed nodes is not something that'll be covered by that, at all, nor do I think we should support it in Ironic today. I am easily swayed by good arguments and a consensus of people telling me I'm wrong though :P20:05
*** dprince has quit IRC20:06
NobodyCamJayF: I agree ironic is not a lifecycle management of firmware, but I feel that we should support some way of upgrading FW in a provisioned instance20:08
*** pcrews has joined #openstack-ironic20:11
*** pensu has quit IRC20:26
NobodyCambrb20:26
-openstackstatus- NOTICE: Gerrit will be offline from 2100-2130 for project renames20:33
*** ChanServ changes topic to "Gerrit will be offline from 2100-2130 for project renames"20:33
*** igordcard has joined #openstack-ironic20:43
*** BLZbubba has joined #openstack-ironic20:45
BLZbubbawill any of us be alive in the years 2100-2130?  :P20:46
*** rwsu has quit IRC20:56
*** jistr has quit IRC20:58
-openstackstatus- NOTICE: Gerrit is offline from 2100-2130 for project renames21:02
*** ChanServ changes topic to "Gerrit is offline from 2100-2130 for project renames"21:02
*** achanda has quit IRC21:06
*** BertieFulton has quit IRC21:09
*** achanda has joined #openstack-ironic21:12
*** ChanServ changes topic to "Bare Metal Provisioning | Status: http://bit.ly/ironic-whiteboard | Docs: http://docs.openstack.org/developer/ironic/ | Bugs: https://bugs.launchpad.net/ironic"21:25
-openstackstatus- NOTICE: Gerrit is back online21:25
* NobodyCam seemly needs to go walkies.21:30
SpamapSquestion21:35
SpamapSIf I were to do something crazy like delete /tftpboot/* and then restart ironic conductor.. would it re-write those files?21:36
NobodyCamdid the hash ring change?21:37
SpamapSno21:37
SpamapSjust rebuilding a tripleo undercloud21:37
NobodyCamwell let chech the p_tasks21:38
SpamapSalso is there anything on disk that, if lost, would lead to a stale lock or something else?21:39
NobodyCamlike chahed images and the /tftpboot dir21:40
SpamapStake-2... english this time... ACTION21:40
SpamapSoh cached21:40
NobodyCamthe the cached images21:40
NobodyCam:-p21:40
SpamapSlooks like hostname changed21:41
NobodyCamdid ip?21:42
NobodyCamchange?21:42
SpamapSNobodyCam: no, but the box's hostname changed so locks are stale21:44
*** jjohnson2 has quit IRC21:45
NobodyCamyep21:46
NobodyCamSpamapS: I'm looking at this https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L889-L89621:47
*** andreykurilin_ has joined #openstack-ironic21:51
NobodyCamSpamapS: are you looking to "get ironic to rebuild? after a oops (ie a hackish fix would work)?21:51
SpamapSNobodyCam: I rebuilt the node ironic is running on21:51
SpamapSNobodyCam: /tftpboot is wiped out21:52
NobodyCamyes21:52
NobodyCamthere is periodic task (linked above) that can do it21:53
NobodyCambut I think this is stopping it : https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L92921:53
SpamapSNobodyCam: so that means "if it already is mine, do nothing" ?21:55
NobodyCamthats how I am reading the continue21:55
NobodyCambut if that field where to be a value != self.id then it would21:56
*** tatyana has joined #openstack-ironic22:00
jrollit should just work22:02
jrollbut if the lock is stuck, you're kinda screwed22:02
*** tatyana has quit IRC22:03
*** openstackgerrit has quit IRC22:03
SpamapSjroll: in our case, hostname has now been changed back, but lock is still "stuck"22:04
*** spandhe has quit IRC22:04
jrollright, stuck lock is a huge pain point22:05
jrollneed to touch the db to fix it22:05
SpamapSjroll: but why would it be stuck?22:05
SpamapSjroll: hostname == hostname22:05
*** openstackgerrit has joined #openstack-ironic22:05
jrollbecause locks are managed in a context manager22:05
jrollrelease() won't get called after a restart22:05
jrollwith task_manager.acquire(admin_context, node_id) as task:22:05
jrollcalls release() when it exits that block22:06
SpamapSah and there's no break lock call?22:06
jrollright :(22:06
jrollwe've been talking about it22:06
jrollhaven't done anything yet22:06
jrollbecause it can be dangerous22:06
SpamapSin heat every time we start a new heat-engine, we generate a UUID for lock-owner-id22:06
SpamapSand that UUID gets an RPC topic22:06
SpamapSif you don't answer on that topic, your lock gets broken22:07
jrollso mysql -c 'use ironic; update nodes set reservation=null where uuid = "blah";' it is22:07
jrollhmm22:07
jrollI mean, I'd rather use some sort of timeout thing22:07
jrollmaybe22:07
SpamapSit is a timeout22:07
jrollright22:07
SpamapSyou encounter a lock, you wait 30s or so for a reply to the rpc, or you break it.22:07
jrollthere's a spec up to use zookeeper for locking, which could be nice22:08
SpamapSthat would be ideal22:08
jrollis that lock distributed somehow?22:08
jrollall conductors would need to know about22:08
SpamapS(and was what we wanted, but sdake went all 400lb. gorilla on us when we said we'd have to use java ;)22:08
jrollit22:08
jrolllol22:08
SpamapSjroll: it's in the db22:08
jrollah22:09
jrollok22:09
SpamapSjroll: might be good to just clear reservations for your own host.22:09
jrollat startup? yeah22:09
NobodyCamya !!!22:10
jrollthough if two conductors have the same hostname, that would go downhill quickly22:10
NobodyCamhostname+ip?22:10
SpamapSjroll: you can use tooz and at least allow for an abstraction and not be ONLY zookeeper22:11
jrollright, it'll be pluggable22:11
jrollwell, at the ironic level it will be pluggable22:12
SpamapSjroll: wait so if I stop ironic, it doesn't release reservations?22:12
jrollright.22:12
*** mikedillion has quit IRC22:12
jrollbecause... we'd have to wait for work to finish22:12
*** r-daneel has quit IRC22:12
jrollwhich could take a long time22:12
jrollI want graceful shutdown as well, fwiw22:12
SpamapSjroll: so... restarting ironic-conductor requires database fiddling?22:12
jrollit may22:12
SpamapSjroll: I'm finding it hard to believe this is intentional.22:13
NobodyCamthat seems wrong (though it may be true)22:13
jrollSpamapS: I feel your pain, trust me22:13
jrollI may have a thing22:14
jrollsec22:14
jrollboo, I thought we had a script for this22:15
jrollJoshNang: ^ do we have something for resetting a stuck lock?22:15
NobodyCamif you find it put patch for tool with it22:15
JoshNangjroll: nope, because it required database fiddling22:16
jrollboo22:16
SpamapSWell ideally at startup, ironic-conductor would clear reservations with the same hostname.22:16
SpamapSBecause those operations are definitely _dead_22:16
jrollNobodyCam: it would just be something horrible like " update nodes set reservation=null where updated_at is older than 1 hour" or something22:16
SpamapSsince we're starting up.. again.22:16
*** praneshp has joined #openstack-ironic22:16
SpamapSjroll: could also have a SIGTERM handler that _does_ wait for all reservations. SIGKILL is the thing we use when we want to accept inconsistent state.22:18
jrollwould love to have that22:18
jrollSpamapS: sure, the problem is that it could take minutes, hours eventually, to wait for all operations to finish22:18
jrollbecause eventually we'll be erasing disks etc22:18
SpamapSjroll: would you SIGKILL your database if it took 30 minutes to flush all writes?22:18
jrollI do not want my conductor cluster to take hours to rolling restart22:18
jrollI wouldn't use that database :P22:19
SpamapSYou probably do   -->> mysql ;)22:19
SpamapSgive it a really big transaction log and throw 50,000 transactions per second at it. :)22:19
jrollI wouldn't use mysql for 50k TPS22:19
SpamapSwhy not?22:20
SpamapSit works great22:20
SpamapSanyway OT22:20
jrollright :P22:20
jrollanyhow, would love code that does that22:20
*** alexpilotti has quit IRC22:20
SpamapSthose reservations are inconsistent state. I think if there are bits that need to continue while the database-handling-thing gets poked, they might need to run as separate worker tasks that just report back their state when done22:20
SpamapSthis is why nova-conductor handles the DB, and nova-compute handles the insanity of virtualization abstraction22:21
jrollyeah22:21
jrolldon't get me wrong, I agree that it's horrible22:21
SpamapSApache works this way too really22:21
SpamapSjroll: well it's understood, so it's not THAT horrible. :)22:22
SpamapSbetter than "dunno, good luck, YOLO"22:22
jrollmmm.22:22
jrollit's pretty horrible :)22:22
jrolllol22:22
jrollanyhow, here's how our team would like to fix it: https://review.openstack.org/#/q/owner:%22Kyle+Stevenson%22+status:open,n,z22:23
*** andreykurilin_ has quit IRC22:23
SpamapSjroll: is there a bug in LP for this yet?22:23
jrollclearly work to do22:23
jrollI have no idea22:23
jrollmaybe?22:23
SpamapSwe're working around it in our update code now.. want a reference next to the workaround22:23
*** praneshp has quit IRC22:23
SpamapSjroll: should pivot that from ZK direct, to tooz22:24
jrollhow are you working around it?22:24
jrollkylestev: ^22:24
jrollI think someone else recommended that, too22:24
SpamapSjroll: the way I described, before starting ironic, will clear all reservations for our host.22:24
jrolland someone else else said tooz is horrible or something22:24
jrollah22:24
jrollbut tripleo will touch the db to do so?22:24
SpamapShttps://github.com/stackforge/tooz/tree/master/tooz/drivers22:24
SpamapSnote.. just a frontend for ZK22:25
jrolloh, right, I remember this22:25
SpamapSjroll: yeah.22:25
jrollhttps://github.com/stackforge/tooz/tree/master/tooz/tests/drivers22:25
*** igordcard has quit IRC22:26
SpamapSjroll: looks like it needs some love22:28
jrollindeed22:29
*** mikedillion has joined #openstack-ironic22:29
kylestevdefinitely22:29
SpamapSjroll: https://bugs.launchpad.net/ironic/+bug/1382698 filed .. please clarify or correct anything I might have gotten wrong. Thanks.22:32
jrolllooks fine, thanks :)22:34
SpamapSI think the other problem we're dealing with, which may or may not be expecting too much on our part, is that we are currently getting rid of /tftpboot because we reimage the box.22:36
SpamapSconductor will only re-assert the contents of that if a node changes affinity22:37
SpamapSSimple workaround there.. just backup /tftpboot before reimage.22:37
jrollSpamapS: I don't think that should be a problem, other than ironic will need to re-cache images22:42
jrollbut I'm not 100% sure since I don't use that :)22:42
*** rwsu has joined #openstack-ironic22:52
NobodyCamoh this sounds like a cool seminar "Foundations of All-Optical Logic for Advanced Computing Systems"22:57
*** mikedillion has quit IRC22:58
*** achanda has quit IRC23:21
*** spandhe has joined #openstack-ironic23:30
*** praneshp has joined #openstack-ironic23:42
NobodyCamSpamapS: fyi I was able to get ironic to rebuild the tftp dir23:44
NobodyCamwell most of it23:44
NobodyCamit required database fiddling23:44
*** praneshp_ has joined #openstack-ironic23:48
*** praneshp has quit IRC23:50
*** praneshp_ is now known as praneshp23:50
*** praneshp has quit IRC23:56

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