Thursday, 2013-11-14

anteayarloo I was in a spin when I popped in before00:05
anteayahow are you? how was your flight home?00:05
rloohi anteaya, my flight was fine. landed ok and everything :-) How about your's, i hope it wasn't delayed even more.00:12
anteayano took off as expected00:15
anteayafungi and beagles were on a flight that made it to Tokyo and turned around00:15
anteayathe water in the bathrooms wasn't working and the flight didn't have permission to land in Japan00:16
rlooOMG00:16
anteayathat is the worst flight experience I heard out of the summit00:16
anteayayeah00:16
anteayateh suck00:16
rlooanteaya: on the bright side, they're alive. That's what I tell myself when a flight is delayed or whatever.00:17
anteayavery true00:18
anteayathey are alive00:18
anteayaglad for that00:18
anteayawas very windy over Japan on our flight00:18
openstackgerritA change was merged to openstack/python-ironicclient: Modifies CLI to show nodes by instance uuid  https://review.openstack.org/5348500:27
NobodyCamdevananda: you around?00:29
*** matsuhashi has quit IRC00:29
*** matsuhashi has joined #openstack-ironic00:30
*** matsuhashi has quit IRC00:34
*** lynxman has quit IRC00:46
*** lynxman has joined #openstack-ironic00:53
ctraceyanteaya: i was also on that flight00:53
ctraceyanteaya: though, i had 3 flights in a row that were delayed for mechanical reasons00:54
ctraceyso far been travelling 43 hours and I am not home yet ;)00:55
rlooctracey: wow, good luck getting home. (I guess I had a wonderful flight and took it for granted!)01:02
*** nosnos has joined #openstack-ironic01:05
*** nosnos has quit IRC01:05
*** nosnos has joined #openstack-ironic01:06
NobodyCamwoo hoo (almost) http://paste.openstack.org/show/b9OaBXAE3wTJuxJHZXLA/01:06
NobodyCamdevananda: ^^^^^01:06
*** matsuhashi has joined #openstack-ironic01:07
ctraceyrloo: we were actually sitting next to each other in the ironic sessions01:21
ctraceynice to make your acquaintance01:21
rlooctracey: oh, did I speak to you? Are you the one from the Blue* company in Boston?01:25
ctraceyrloo: yes01:25
rlooha ha. that's great! nice to talk to you ctracey!01:26
rlooctracey: I mentioned to lucasagomes that you were going to volunteer to do something, but he got it first -- he seemed willing for you to do it, but by then, I didn't know how to get in touch with you. So if you still want...01:27
ctraceyrloo: i actually spoke to lucas after the sessions01:32
ctraceyi started my new gig this week so i am getting settled here01:32
ctracey(and adjusting from HK time)01:33
ctraceyby next week I should have some spare cycles01:33
rlooctracey: that's great. I know "they" want more people to help out :-)01:33
devanandaNobodyCam: yes, but there's no info there -- we need to be setting something in the node.properties dict that matches what nova wants02:29
Haomenghello Ironic:)02:36
Haomenggood morning/afternoon/evening for every one:)02:36
*** jbjohnso has joined #openstack-ironic02:37
devanandagood evening :)02:40
Haomeng:)02:41
devanandaheading out for a bite to eat. bbl02:41
Haomengsee you devananda:)02:41
*** jbjohnso has quit IRC02:59
*** michchap has quit IRC03:19
*** michchap has joined #openstack-ironic03:19
*** matsuhashi has quit IRC03:39
*** matsuhashi has joined #openstack-ironic03:40
*** matsuhashi has quit IRC03:44
*** michchap_ has joined #openstack-ironic03:53
*** michchap has quit IRC03:55
*** michchap has joined #openstack-ironic04:02
*** michchap_ has quit IRC04:04
*** urulama has joined #openstack-ironic04:12
*** matsuhashi has joined #openstack-ironic04:17
*** prekarat has joined #openstack-ironic04:19
*** jimjiang has joined #openstack-ironic04:21
*** rloo has quit IRC04:26
*** prekarat has quit IRC04:43
*** prekarat has joined #openstack-ironic04:44
devanandalifeless: there's one decision from the ironic track that, now that my brain has recovered a bit, i'd like to chat with you about. have a few?04:45
devanandaone in particular, that is04:47
*** urulama has quit IRC04:47
NobodyCamdevananda: like this : http://paste.openstack.org/show/wi5zcSSARwPs8QQ3ZFxK/04:53
devanandaNobodyCam: YES!!!04:54
devananda:)04:54
NobodyCam:-p04:54
devanandaawesome :)04:54
devanandais the revision up?04:54
NobodyCamno still a bit ruff04:55
devanandaNobodyCam: ah, also, that should be stored in properties, not extra04:55
NobodyCam:)04:55
NobodyCamI'll clean it tomorrow04:56
NobodyCamclean it up04:56
NobodyCamthat is04:56
NobodyCambeer is kicking in04:56
devananda:)04:56
NobodyCam:)04:56
NobodyCamso G'night from /me04:57
devanandanight!04:57
*** romcheg has joined #openstack-ironic04:58
*** matsuhashi has quit IRC05:01
*** matsuhashi has joined #openstack-ironic05:02
*** matsuhashi has quit IRC05:02
*** matsuhashi has joined #openstack-ironic05:07
*** urulama has joined #openstack-ironic05:18
*** Haomeng has quit IRC05:28
*** Haomeng has joined #openstack-ironic05:33
lifelessdevananda: sure05:39
openstackgerritJenkins proposed a change to openstack/ironic: Imported Translations from Transifex  https://review.openstack.org/5632506:00
*** matsuhashi has quit IRC06:02
*** matsuhashi has joined #openstack-ironic06:02
devanandalifeless: https://etherpad.openstack.org/p/IcehouseIronicFaultTolerance06:03
devanandalifeless: specifically, of the paths to HA that we discussed, and some of the challenges with multi-conductor-HA, the shortest route seemed to be shared file system06:04
devanandalifeless: does taht pose any significant problem for tripleo?06:04
*** matsuhashi has quit IRC06:07
*** matsuhashi has joined #openstack-ironic06:07
lifelesslet me read it06:08
lifelessfloating IP won't fly06:08
lifelessneutron won't let you have a floating ip  on the same network you are on06:08
lifelessdevananda: so '    auto discover failed conductors and initiate rebuild' looks best to me06:10
*** matsuhashi has quit IRC06:11
*** matsuhashi has joined #openstack-ironic06:12
devanandalifeless: no floating ip, but we can update the DHCP Opt on that neutron port to the same effect06:15
lifelessdevananda: ack - I was noting for completeness (and I've commented in the spec)06:15
devanandajust means many updates for many ports, instead of one update for the failed conductor.06:15
devanandayep. thanks06:15
devanandagood to know that06:15
lifelessdevananda: also, updates for many ports is better06:15
lifelessdevananda: because rather than doubling one conductors load, it sheds it over N-1 other nodes.06:15
lifelessI will add that too06:16
devanandaright06:16
devanandaso, auto-discover failed conductors we can do, but initiate rebuild discussion raised one interesting point06:16
*** matsuhashi has quit IRC06:16
lifelessif someone deletes their image from glance, they get what they deserve.06:16
devanandawe're talking about a failure situation, obviously, so we shouldn't assume that the db is necessarily representative of the node's actual state06:17
lifelessoh, different case :)06:17
devanandaso rebuilding the tftp config based on the db may be unpredictable06:17
lifelesswhy shouldn't we ?06:17
*** matsuhashi has joined #openstack-ironic06:17
lifelessin what way can the db and files on disk be skewed - and it not be detected ?06:18
devanandapicking one example and walking through it06:19
lifelessok06:19
devanandaactually, nvm06:20
devanandaany time when the desired state of the node changes, there's a period where the node's actual state != desired state06:22
lifelessagreed06:22
lifelessthe rebuild will give us desired state (or fail)06:22
devanandaif conductor fails during one of thoe transitions, the rebuild will need to be able to restart (not resume) that transition06:23
devanandait's conceivable the transition could have finished autonomously after the first conductor instance died, thus the db is now out of sync.06:23
lifelessThere are two sorts of transitions AIUI: complex workflow (deployment), simple assertions (unpack boot files on disk, make the power state be X)06:24
*** romcheg has quit IRC06:24
devanandayes, with others planned (start serial console, rebuild raid, etc)06:24
lifelessI think failing complex fworflow and not restarting it is fine; for assertion style things, just apply the desired state06:24
lifelessrebuild raid would be a separate thing?06:25
devanandaseparate?06:25
lifelessyou're listing it as a complex workflow, but in my head it's part of 'deploy' - so I'm clearly out of date06:25
devanandastill have a conductor. and in the PXE driver case, still have a tftp config which drives that work06:25
devanandait may be grouped with "deploy" but it will be implemented as a separate workflow06:26
devanandajust like changing power state is a separate method, which is group with, and in the PXE case, also called from within, deploy06:27
lifelessI may be missing something but that sounds like it will incur another boot and another POST06:28
*** matsuhashi has quit IRC06:30
devanandayes06:30
*** matsuhashi has joined #openstack-ironic06:30
*** matsuhashi has quit IRC06:30
lifelessI thought we had a previous design where that wasn't the case?06:30
lifelessWhat invalidated it?06:30
*** matsuhashi has joined #openstack-ironic06:30
lifelessI realise we're ratholing, if you want to come back to this another time, thats fine by me.06:31
devanandamaybe. let's see if the rathole ends in a few minutes :)06:32
devanandathe design taht's been in my head, at least fo rthe pxe driver, involves a ramdisk with the capability to do one or more tasks06:33
devanandatask { build raid, flash firmware, expose disks over iscsi, etc }06:33
devanandaeach task could be represented as a dib element, combinable with other hw-specific elements (eg, drivers)06:33
devanandain the session(s) on hw management, we discussed how to drive such a ramdisk without embedding a RESTful service in the ramdisk06:34
lifelessinteresting. I've had a fundamentally different thing in my head.06:35
devanandainteresting06:35
devanandawe talked a while back about embedding an API into the ramdisk - you didnt like it, and i felt it would be too heavyweight.06:36
lifelesswhich is that we define a small language to describe the desired state and pass that to the ramdisk somehow (either as a response to a restful call it makes to the API, or as part of the initial kernel boot line - 6/1 1/2 of the other)06:36
lifelessand the ramdisk applies the desired state, exposes iscsi and pings for the image copy to happen06:36
lifelessso there's no orchestration or 'workflow' happening at all from the Ironic side, in whats in my head.06:37
devanandaso06:37
lifelessFor things with magic vendor interfaces they would do the same thing: apply the desired state, then do whatever they do to deploy.06:37
lifelessright, I don't think we need an agent in the ramdisk06:37
devanandawhat we agreed on at the summit was taht the ramdisk would make retful calls to ironic's API06:37
devanandano agent in ramdisk06:38
devanandajust a loop that GETs, does something, GETs again06:38
devanandasounds like the same thing you're thinking of06:38
lifelessmaybe06:38
lifelessI think there is quite a difference between a command-and-control interface06:38
lifelessand a data interface06:38
lifelessit *sounds* like you're talking about a command and control interface06:39
lifelesswhere Ironic is saying 'now do task X'06:39
devanandathings with magic vendor interfaces wouldn't have this ramdisk at all06:40
devanandaeg, iLO can do all the raid and fw stuff OOB06:40
lifelesssure06:40
devananda(so i've been told)06:40
lifelessso lets put them to the side06:40
devanandawell, hang on06:40
devanandain your model, who is defining the desired state _script_ and passing that to the ramdisk?06:41
lifelesswhat script?06:41
devananda"we define a small language ..."06:41
lifelesslanguage as in 'way of describing things'06:41
lifelesscould just be a json schema06:41
lifelessnot 'turing complete executable thing'06:41
devanandasure. my question remains06:42
lifelesse.g. - strawman - a json dict, {'disk': {...}, 'fw': {'deviceN': 'https://...'}}06:42
lifelessthe API would be able to return that from a single GET06:42
devanandaso that json dict would be created by the PXE driver based on various information provided to ironic, provided in an ironic-driver-agnostic way06:44
lifelessyes06:45
lifelesse.g. by the proposed use-cinder-to-define-raid-setup stuff06:45
lifelessor perhaps by flavor as a way to define raid setup - whatever we end up doing06:45
devanandaah. yea, that got massively shot down by all the cinder folks in the room06:45
devanandabut let's not chase that rat yet06:45
lifelessfunny, they were for it before ;)06:45
devanandawell, the PTL thought it was good last summit, based on a 5-minute hallway chat ;)06:46
devanandaanyhow, yes, that info is passed to ironic in some fashion06:46
devanandathen it's passed to the driver06:47
lifelessilo driver interprets it and pokes it straight into the machine06:47
lifelesspxe driver goes 'meh, ramdisk will do it all'06:47
devanandaright06:47
lifelessawesome, we have stats06:48
lifelessNew patch sets in the last 30 days: 1989 (66.3/day)06:48
lifelessnova ^06:48
lifelesstripleo is06:48
lifelessNew patch sets in the last 30 days: 416 (13.9/day)06:48
devanandapatches or revisions?06:50
lifelesspushes to gerrit I believe.06:51
devanandaso, it sounds like our ideas for the pxe ramdisk are similar. you're thinking to push a little more work into the ramdisk06:54
devanandaand we were discussing making it a little less intelligent06:55
devanandaIBMs proposal was that the ramdisk actually not know how to do anything besides GET, and then run what ever it got06:55
lifelessthats super enterprise.06:56
lifelessI don't like it because it makes the ramdisk harder to reason about, and incredibly hard to test.06:57
devanandayea. i prefer the middle road here. seems like putting all the logic in the ramdisk makes it very hw dependent06:57
*** urulama has quit IRC06:57
devanandathe # of ramdisks grows exponentially as the number of different tasks * different hw platforms in a cloud06:57
devananda1 ramdisk per hw platform, which can do all supported tasks, seems best06:59
devanandaanyhow, the rathole before this one was HA :)06:59
devanandaif, after starting up said ramdiska nd passing it some work, the conductor dies, then said ramdisk may complete step C but be unable to do D.07:01
lifelessso I was proposing one deploy ramdisk per hw platform; not sure how that grows badly07:01
lifelessright07:01
lifelessso the conductor failing would only impact the deploy step in my proposal07:01
lifelesssince everything else is satisfied by the api not the confuctor07:02
devanandak. no, that doesn't grow badly. same as mine. the language just needs to be able to express one-or-many actions07:02
devanandahrm...07:02
lifelessand the deploy step for pxe is 'open iscsi and wait', so even that in principle could be resumed07:02
lifelessdevananda: the one-or-many-actions thing still weirds me out: I'm talking declarative, you're talking procedural.07:03
lifelessdevananda: it makes it hard to tell if we're agreeing or disagreeing.07:03
devanandai think you're seeing deply as the only means that any action occurs on a node07:03
lifeless(deploy resumable if the iscsi endpoint details are captured by the api as node state for the conductor to use)07:03
devanandaand all non-deploy actions being bundled, declaratively, into the same deploy07:04
lifelessthere are four cases I know of where we do something other than boot the users image07:04
lifeless - deploy07:04
lifeless - rescue07:04
lifeless - maintenance firmware or similar07:04
lifeless - disown07:04
devanandayep. you missed a few :)07:04
devananda - secure erase HDD07:04
devananda - interrogate hardware07:04
*** romcheg has joined #openstack-ironic07:04
lifelesssecure erase == disown. I was being celver07:05
devanandaah07:05
lifelessclever07:05
lifeless - interrogate07:05
devanandawe could implement snapshot / migrate this way, too ;)07:05
lifelessok so, rescue is auser image too, so really we should not include it here07:05
devanandano, we should07:06
lifelessdeploy/fw/erase/interrogate/snapshot/07:06
lifelesswhy?07:06
devanandait is a change to the tftp environment07:06
devanandawhich would need to be consciously rebuilt somewhere else, if that conductor failed07:06
devananda*consciencously07:06
lifelessok07:06
lifelessI'm not clear if we're talking HA or ramdisk construction at07:06
lifelessatm07:06
devanandaoh07:06
devanandai think i have a foot in both ratholes07:07
devanandaheh07:07
lifelessI could say one word from each and add confusion ?07:07
devananda:)07:08
devanandalet me go back to the declarative-vs-procedural question07:08
devanandaif we use a declarative language, who writes the interpreter that lives in a dib element?07:09
lifelesswe do07:09
lifelessbut more broadly the folk that are writing the pxe driver07:10
devanandawhat's the benefit to moving the procedural logic out of ironic, into bash, and using a declarative language to express it?07:11
devananda*out of ironic's pxe driver07:11
devanandait's also after 11pm and my brain may be fading07:13
lifelessthe same benefit that using a functional programming style has: it's very easy to reason about. it forms a clear contract that is easy to implement differently (e.g. for windows or bsd), it keeps things decoupled07:15
lifelessand it allows hardware with different needs to not have to be modelled in the Ironic PXE driver.07:15
lifelesse.g. some hardware will need a reboot after fw or raid, others won't.07:16
lifelessalso bash is a better language for expressing 'run a few scripts' than Python : it's why the shell is still shell, and not ipython07:16
*** r-mibu has quit IRC07:22
lifelessdevananda: I suggest you drink up and sleep well :)07:32
*** r-mibu has joined #openstack-ironic07:33
*** urulama has joined #openstack-ironic07:36
devanandayep, sleep wins this round07:44
devanandalifeless: thanks for hashing through some of that with me :)07:45
lifelessanytime07:46
*** Krast has joined #openstack-ironic07:58
*** ndipanov has joined #openstack-ironic08:01
*** ndipanov has quit IRC08:03
*** ndipanov has joined #openstack-ironic08:04
GheRiveromorning Ironic08:05
*** matsuhashi has quit IRC08:30
*** matsuhashi has joined #openstack-ironic08:35
openstackgerritHaomeng,Wang proposed a change to openstack/ironic: Supporting both Python 2 and Python 3 with six  https://review.openstack.org/5616908:38
Haomengmorning GheRivero:)08:38
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Fix node lock in PXE driver  https://review.openstack.org/5556508:38
*** michchap is now known as 45PAALEL308:44
*** 20WAAKLSA has joined #openstack-ironic08:44
*** michchap has joined #openstack-ironic08:44
*** r-mibu_ has joined #openstack-ironic08:45
anteayactracey: my goodness08:45
*** ndipanov has quit IRC08:45
*** ndipanov has joined #openstack-ironic08:45
*** Krast has quit IRC08:45
*** r-mibu has quit IRC08:45
*** 45PAALEL3 has quit IRC08:45
*** GheRivero has quit IRC08:45
anteayactracey: I hope you get home soon and get lots of sleep08:45
*** Krast has joined #openstack-ironic08:46
*** GheRivero has joined #openstack-ironic08:46
*** nosnos has quit IRC08:46
*** jistr has joined #openstack-ironic08:46
*** jistr has quit IRC08:46
*** jistr has joined #openstack-ironic08:46
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Don't allow change reservation at create/update node  https://review.openstack.org/5554909:09
*** lucasagomes has joined #openstack-ironic09:10
*** yuriyz has joined #openstack-ironic09:14
*** derekh has joined #openstack-ironic09:19
*** shausy has joined #openstack-ironic09:34
*** prekarat1 has joined #openstack-ironic10:02
*** prekarat has quit IRC10:04
*** Krast has quit IRC10:13
*** prekarat has joined #openstack-ironic10:20
*** matsuhashi has quit IRC10:20
*** matsuhashi has joined #openstack-ironic10:21
*** prekarat1 has quit IRC10:23
*** matsuhashi has quit IRC10:25
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Register API options under the 'api' group  https://review.openstack.org/5427710:31
*** 20WAAKLSA has quit IRC10:32
*** nosnos has joined #openstack-ironic10:33
openstackgerritLucas Alvares Gomes proposed a change to openstack/ironic: Register API options under the 'api' group  https://review.openstack.org/5427710:33
*** nosnos has quit IRC10:37
*** prekarat has quit IRC10:44
*** mdenny has quit IRC11:21
openstackgerritHaomeng,Wang proposed a change to openstack/ironic: Supporting both Python 2 and Python 3 with six  https://review.openstack.org/5616911:50
*** michchap has quit IRC12:00
*** michchap has joined #openstack-ironic12:02
*** lucasagomes is now known as lucas-hungry12:07
*** ndipanov has quit IRC12:31
*** jistr has quit IRC12:32
*** jistr has joined #openstack-ironic12:37
*** michchap has quit IRC12:37
*** michchap has joined #openstack-ironic12:37
*** jistr has quit IRC12:37
*** jistr has joined #openstack-ironic12:41
*** urulama has quit IRC12:51
*** ndipanov has joined #openstack-ironic13:02
*** urulama has joined #openstack-ironic13:11
*** ndipanov has quit IRC13:29
*** prekarat has joined #openstack-ironic13:43
*** jdob has joined #openstack-ironic13:45
*** romcheg has left #openstack-ironic13:57
*** shausy has quit IRC14:00
*** jdob has quit IRC14:04
*** jdob has joined #openstack-ironic14:04
*** romcheg has joined #openstack-ironic14:08
*** max_lobur has quit IRC14:28
*** max_lobur has joined #openstack-ironic14:33
*** jdob has quit IRC14:35
*** jdob has joined #openstack-ironic14:35
*** jdob has quit IRC14:35
*** jdob has joined #openstack-ironic14:35
*** rloo has joined #openstack-ironic14:41
*** jdob has quit IRC14:50
*** jdob has joined #openstack-ironic14:51
*** jbjohnso has joined #openstack-ironic14:52
*** lucas-hungry is now known as lucasagomes14:54
*** prekarat has left #openstack-ironic14:55
NobodyCamgood morning Ironic15:08
yuriyzMorning NobodyCam15:12
rlooHi NobodyCam, yuriyz, everyone else!15:14
yuriyzhi rloo15:14
yuriyzThere are not many -1 on review today :)15:15
rlooyuriyz: that is good?15:16
romchegMorning everyone15:16
yuriyzrloo, not very good :)15:16
rlooyuriyz. ha ha. I suppose I ought to do more reviews.15:17
rloomorning romcheg!15:17
NobodyCamgood morning yuriyz rloo and romcheg15:17
max_loburmorning Ironic =)15:17
romchegManaged to make devstack-gate to work for Ironic15:17
NobodyCamgood morining max_lobur15:18
NobodyCamawesome15:18
rlooyay romcheg15:18
romchegNow we have 4 patches that should be merged to enable tempest tests for Ironic15:18
NobodyCamromcheg: you have a list15:19
lucasagomesmorning all :)15:20
NobodyCammorning lucasagomes15:21
*** linggao has joined #openstack-ironic15:27
*** jistr has quit IRC15:32
*** ben_duyujie has joined #openstack-ironic15:33
openstackgerritRuby Loo proposed a change to openstack/ironic: Changes power_state and adds last_error field  https://review.openstack.org/5446615:51
NobodyCamgetting closer: http://paste.openstack.org/show/jFSXhzSuVjiKkvtS9TAb/15:54
NobodyCamlucasagomes: off the top of your head do you happen to know if I can use the cli to add a fake a instance uuid16:03
lucasagomesNobodyCam, maybe, ironic node-update <node id> replace instance_uuid=<instance uuid>16:06
lucasagomesbut idk, if not you can add to the db directly16:06
*** retr0h has joined #openstack-ironic16:09
*** kobier has joined #openstack-ironic16:09
NobodyCam:) yeo16:11
NobodyCamyep16:11
NobodyCamhttp://paste.openstack.org/show/g0h1vtdJ35yXYDRHyz8U/16:13
NobodyCamcool :-p16:13
*** shadower has joined #openstack-ironic16:14
lucasagomesNobodyCam, :P16:18
lucasagomeswell it kinda works haha16:18
NobodyCamroot@undercloud-notcompute-wifscuca2int:/opt/stack/nova# ironic node-update 1abdaa2b-42ff-4583-b0c1-3415c73b2979 replace power_state=OFF16:18
NobodyCamChanging states is not allowed here; You must use the nodes/1abdaa2b-42ff-4583-b0c1-3415c73b2979/state interface.16:18
NobodyCam:-p16:18
lucasagomeshaha16:18
lucasagomesloads of work to do on that part16:18
NobodyCamheheheh16:19
rloobtw, power_state is power_on or power_off I believe. OFF is not accepted (or shouldn't be)16:19
NobodyCambey nova is talking to itonic16:19
NobodyCamironic even16:19
NobodyCamyep https://github.com/openstack/ironic/blob/master/ironic/common/states.py#L6216:20
devanandamorning, all16:21
NobodyCamlol TY rloo16:21
NobodyCammorning devananda :)16:21
GheRiveromorning all16:21
rloomorning! devananda16:21
NobodyCamdevananda: 07:54 | NobodyCam > getting closer: http://paste.openstack.org/show/jFSXhzSuVjiKkvtS9TAb/16:21
NobodyCammorning GheRivero :)16:21
lucasagomesmorning rloo devananda16:22
rlooafternoon lucasagomes!16:22
devanandaromcheg: i saw - grats on devstack-gate starting up16:27
devanandaromcheg: also, did you see transifex now doing its thing?16:27
*** jistr has joined #openstack-ironic16:29
yuriyzmorning devananda16:35
max_loburhi devananda, do you have a 5 minutes?16:37
yuriyzdevananda, what you think about private API service as option, see my comment https://blueprints.launchpad.net/ironic/+spec/vendor-lightweight-auth16:37
romchegdevananda: Morning16:41
romchegI was just about to check Transifex :)16:41
rloohi yuriyz, wrt https://review.openstack.org/#/c/54466, saw your comment. Thanks! Question though. I'm a bit concerned about modifying 'last_error' in something called .reserve_nodes(). Seems more like a side effect? but better performance would be good...16:43
devanandamax_lobur: sure16:47
yuriyzrloo, I think reserve_nodes() == new exclisive action like power, deploy  and let Devananda will look16:47
max_loburcould you please take a look at https://bugs.launchpad.net/ironic/+bug/125057516:48
devanandayuriyz: i think we should see how other services in openstack address this. i dont want to expose insecure API publicly, or require deployer to run extra services16:48
max_loburwhat do you think16:48
max_loburThere is incorrect default config opt value16:49
max_loburwhich brokes our RPC exception deserialization16:49
max_loburbut it's under openstack/common so we can't change it directly16:49
rloook yuriyz, will try it out ;)16:49
devanandamax_lobur: so, ironic.conf.sample does need to be regenerated16:49
devanandamax_lobur: is that the only issue?16:50
max_loburif you're asking regarding config - yes16:50
devanandamax_lobur: ah, i think i see16:51
max_loburthere is wrong default16:52
max_loburand therefore wrong config16:52
NobodyCambbt brb16:52
max_loburwrong default leads to improper deserialization16:52
lucasagomesmax_lobur, devananda on my patch that adds the api configuration to the api group16:54
lucasagomesI regenerated that file16:54
devanandaproblem is that http://git.openstack.org/cgit/openstack/ironic/tree/ironic/openstack/common/rpc/__init__.py#n5916:54
devanandashould read 'ironic.common.exception'16:54
max_loburyes16:54
devanandanot 'ironic.openstack.common.exception'16:54
max_loburexactly16:54
devanandayea...16:54
max_loburand It seems that nova.exception and cinder.exception can be omitted16:55
NobodyCamgood catch max_lobur16:55
devanandalemme do a sync from oslo and see if that changes anything16:56
max_loburhttps://github.com/openstack/oslo-incubator/blob/master/openstack/common/rpc/__init__.py#L5816:56
max_loburthis is current oslo code16:56
max_loburperfectly works for nova =) but doesn't for other project =)16:57
devanandaheh. well, that's a bug in oslo then, ya?16:57
max_loburhm16:57
*** romcheg has quit IRC16:58
max_loburthis is project specific16:58
max_loburI assume it's generated when oslo is being imported to project16:58
max_lobursomehow16:58
max_loburis that correct?16:58
devanandathat's what i'm trying to check16:58
devanandait should be munged to the project's needs. bu tmaybe it's not doing that the way we expect16:58
max_loburyes, exactly16:59
yuriyzyes, IMO this is ironic bug, oslo code: https://github.com/openstack/oslo-incubator/blob/master/openstack/common/rpc/__init__.py#L5816:59
max_loburnot sure how it works, i thought there are some place holders for project-specific things17:01
max_loburbut there are just usual code17:01
max_loburit should be complex parser to adopt those oslo files to project17:01
devanandai'm regenerating my oslo-incubator venv and resyncing from oslo17:01
devanandalesse how much changed17:02
devanandaheh. everything :)17:02
devanandabeen a while since I did that17:02
max_loburIs something broken after resync? what's the new default?17:05
devanandaso a full resync from oslo yielded 7200 line diff17:06
devanandabeen a while, like i said17:06
max_lobur=)17:06
devananda* 7525 line17:06
devanandahrm. why do we haev both ironic.common.policy and ironic.openstack.common.policy, and why do we actually use both?17:10
max_lobursomeone implemented our own layer above ironic.openstack.common.policy17:14
max_loburso, did resync fixed the default rpc option?17:15
devanandathe list is now:  59                 default=['nova.exception',17:16
devananda 60                          'cinder.exception',17:16
devananda 61                          'exceptions',17:16
max_loburyea17:17
max_lobursimilar to original in oslo17:17
max_loburso currently it does not adopted to project at all17:17
devanandaseems so17:17
devanandalemme ping dhellman17:18
max_loburso do you think we need to try to push fix to oslo or build or override for this?17:18
max_lobur*our override17:18
max_lobursorry devananda, I need to go earlier, could you please comment the bug https://bugs.launchpad.net/ironic/+bug/1250575 if you find something, I will work on this tommorow17:23
max_loburso currently I see the following options17:23
max_lobur1. fix this in Oslo, resync, regenerate sample17:23
max_lobur2. create override in our part of project, regenerate17:23
devanandamax_lobur: will do17:23
max_loburnot sure about 2..17:23
max_loburtried today, it works, but new sample doesn;t reflect that17:23
devanandamax_lobur: i was just grepping other projects. it looks like heat added their line manually to openstack/common/rpc/__init__.py17:23
devanandabut ya, regenerating from oslo would override it17:24
max_loburI mean exception begin deserialized properly with override17:24
devanandamaking work to carry it every time17:24
max_loburbut sample still wrong17:24
devanandamax_lobur: i mean, we add our line(s) directly to ironic/openstack/common/rpc/__init__17:24
max_loburdevananda, yea, It's probably third17:24
devanandathen sample.conf will be correct17:24
max_lobur3. change openstack/common/rpc/__init__, regenerate :)17:25
max_loburbut17:25
max_loburwill the next sync erase that?17:25
max_loburand are we expecting to do further syncs?17:25
devanandayes, and yes17:26
max_loburso 3rd is not an option17:26
max_loburonly 1 and 217:26
devanandathat's what i meant by, "makingw ork to carry it every time"17:26
devanandaanyhow. i'll chat with dhellman about it and see what other projects are diong17:27
max_loburdo you mean some checklist - what to do when syncing oslo17:27
max_loburdevananda, thanks17:27
max_loburbye :)17:27
openstackgerritRuby Loo proposed a change to openstack/ironic: Changes power_state and adds last_error field  https://review.openstack.org/5446617:32
devanandarloo: does ^ fix the bug entirely, or partially?17:36
rloodevananda: partially, i haven't wrapped my head around provisioning yet.17:36
rloodevananda. well, the bug was wrt the power stuff, so that is fixed (i hope).17:36
devanandarloo: https://wiki.openstack.org/wiki/GitCommitMessages#Including_external_references17:37
devanandarloo: note closes-bug, partial-bug, related-bug17:37
rloodevananda: ah, didn't realize that. So, do you consider the bug is only for power-state, or does it include provisioned?17:39
rloodevananda: i was going to include provisioned in that too, although the code for provisioned isn't all there yet.17:40
NobodyCamsmaller patches are better..LOL :-p17:40
devanandathe bug seems pretty clearly about power state to me :)17:41
rloodevananda: ok, that's fine with me.17:41
openstackgerritRuby Loo proposed a change to openstack/ironic: Changes power_state and adds last_error field  https://review.openstack.org/5446617:43
devanandarloo: this change is interesting: https://review.openstack.org/#/c/54466/4..6/ironic/db/sqlalchemy/api.py17:43
rloodevananda: yuriy suggested that. I'm on the fence about it.17:43
devanandai think that's right, though i hadn't thought to put it at that low level yet17:43
rloodevananda: it seems too low for me, but I don't have a good picture yet of how everything works. Anyway, seems easy enough to move back up if we need to do so.17:44
devanandaany non-shared lock is going to invoke that.17:44
devanandawhich means a lot of places in the code already17:44
rloodevananda: right, but only power_state uses last_error for now ;)17:45
devanandayes, but clearing last_error when just updating node.extra{} ?17:46
rloodevananda: should I wait a few more minutes in case you have other comments? Going to get my commute out of the way...17:46
devanandarloo: nah, i'll leave them in the review17:47
rloook thx. laytah, devananda.17:47
rloodevananda. and thx!17:47
*** rloo has quit IRC17:48
devanandanp!17:48
*** harlowja has joined #openstack-ironic17:53
*** epim has joined #openstack-ironic17:57
*** derekh has quit IRC17:59
NobodyCamdevananda: question: on line 157 of https://review.openstack.org/#/c/51328/2/nova/virt/ironic/driver.py18:04
NobodyCamany reason that can not be "baremetal"18:05
*** urulama has quit IRC18:05
devanandaNobodyCam: because that's what the 'baremetal' driver returned,a nd this is a different driver?18:06
*** jistr has quit IRC18:06
NobodyCamdevananda: but register our self with keystone as service type baremetal18:06
NobodyCam'os_service_type': 'baremetal'18:07
devanandaNobodyCam: yes. these are different things18:12
NobodyCamok :)18:12
*** blamar has joined #openstack-ironic18:14
devanandaNobodyCam: within nova, each hypervisor exposes a name for itself. eg, QEMU, xen, hyperv18:15
*** urulama has joined #openstack-ironic18:15
NobodyCamya18:16
devanandabut those hypervisors aren't registered with keystone18:16
devanandawe just happen to be both a nova driver -and- a registered service18:17
NobodyCamhehehe :) got cought up with the type bit18:17
NobodyCambrb18:18
NobodyCamgoing to have to move sunday night18:26
NobodyCamfor a few days18:26
*** blamar has quit IRC18:26
*** blamar has joined #openstack-ironic18:27
*** urulama has quit IRC18:29
NobodyCamdevananda: one more quick question. looking at line 100 of that same driver file. is the REF to conf.baremetal just somehting not yet updated?18:29
lucasagomesgnight everybody!18:32
NobodyCamnight lucasagomes :)18:32
devanandag'night lucasagomes18:32
devanandaNobodyCam: yep. copy/paste error on my part18:32
NobodyCam:) just wanted to make sure :-P18:33
devanandaNobodyCam: i suspect line 121 is also copy/paste error18:33
*** lucasagomes has quit IRC18:33
devananda* 12218:33
NobodyCamI assume that I can assume any ref to conf.baremetal is legacy18:33
devanandaya18:34
NobodyCamhehehehe18:34
*** urulama has joined #openstack-ironic18:35
* NobodyCam look for some food18:38
NobodyCam*looks18:38
*** docaedo has joined #openstack-ironic18:45
*** rloo has joined #openstack-ironic18:48
*** urulama has quit IRC18:49
*** rloo has quit IRC18:50
NobodyCamhave we talked about how and where to tag things like the deploy_kernel and ramdisk id's18:50
*** rloo has joined #openstack-ironic18:50
*** urulama has joined #openstack-ironic18:55
*** hemna has joined #openstack-ironic18:59
*** urulama has quit IRC19:07
NobodyCambrb19:11
devanandaNobodyCam: no. but. I would like to keep the metadata in Nova unchanged (leave those as extra specs on the image) and have the nova-ironic driver stick them in the node.driver_info dict19:12
*** ben_duyujie has quit IRC19:13
devanandahm. we need an ironicclient method to initiate the deploy, don't we19:14
devanandaalso, folks, our gate pipeline is about to get slower: https://review.openstack.org/#/c/56439/19:14
devanandawith that, changes to ironic will get a full devstack test, not just our unit tests19:15
*** urulama has joined #openstack-ironic19:15
*** urulama has quit IRC19:29
rloohi devananda, do/when you have a few minutes, I'd like to discuss your comments to 54466, to make sure I understand.19:33
*** urulama has joined #openstack-ironic19:34
*** epim has quit IRC19:44
*** urulama has quit IRC19:45
*** urulama has joined #openstack-ironic19:45
devanandarloo: hi! sure19:48
rloohi devananda. so what's your rule-of-thumb for using Exception? I'd use it as much as possible cuz I'm paranoid.19:49
rloovs exception.IronicException I mean.19:50
rlooJust wondering if you meant to change it for that one try/except, or whether I should do so elsewhere.19:50
devanandarloo: when we're trying to catch known error conditions and take action, use the most specific possible19:50
devanandarloo: when we need to enforce some action regardless of what type of failure happened, use Exception19:51
rloodevananda: ok, that makes sense. thx.19:51
rloodevananda. next question. I think you view the last_error usage for operations like power/provision changes. but not update-node?19:51
devanandacorrect19:51
rloodevananda. isn't it possible for update-node operation to result in an error?19:51
devanandathat's an interesting point19:52
rloodevananda. the 'only' diff seems to be eg rpc call vs cast?19:52
devanandaupdate-node could run into a lock (in which case it shouldn't change last-error) or it could just fail (eg, database is unreachable) in which case it should return the error (it can, it's an RPC CALL)19:52
NobodyCamrloo like this: http://paste.openstack.org/show/g0h1vtdJ35yXYDRHyz8U/19:52
rlooNobodyCam, you're quick on the draw!19:53
NobodyCamlol19:53
rlooNobodyCam - that was an update-node request?19:54
devanandayes19:54
*** urulama_ has joined #openstack-ironic19:54
*** urulama has quit IRC19:54
NobodyCamyes19:54
devanandareplace -> PATCH -> rpc.update_node19:54
rloowould the user expect to see something in last_error? I'm guessing yes?19:54
devanandaif a deploy is in process19:54
devanandaand the user tries to change metadata (eg, replace driver_info/foo=bar)19:55
devanandathis will fail with an error similar to what NobodyCam pasted19:55
devanandabut it certainly should not set last_error, since the deploy is still running19:55
rloodevananda: ok, I don't grok deployments yet (the states related to that).19:56
devanandawe have two classes of failures here19:56
devanandafailure to start doing something19:56
devanandafailure to start doing something (both sync and async tasks)19:57
devanandafailure to finish doing something (both sync and async tasks)19:57
rloodevananda: and last_error is for the latter?19:58
devanandaactually that's 4 classes, not 219:58
devanandaand I think we can only use last_error for the "fails to finish an async task" class19:58
NobodyCam++19:58
rloook.19:59
NobodyCamany failure on a sync tack should just report19:59
devanandayep19:59
rlooso stupid question, how does update_node errors get propagated back to api?20:00
devanandathe exception gets passed back over the RPC channel20:00
devanandabecause it's an rpc.call20:00
rlooahh, didn't know that. I need to look at that code. thx.20:01
devananda:)20:01
rloook, devananda, you've answered my questions. (for now). Thx!20:01
devanandawelcome!20:01
NobodyCamand the only stupid question is one for which you do not seek an answer20:01
* devananda thinks we should doc this somewhere20:01
devanandarloo: mind adding a note inline about what we just discussed as the valid use for last_error?20:02
NobodyCamthis channel is logged in eveasdrop now20:02
rloodevananda: sure.20:02
devanandathanks20:03
rlooNobodyCam: even though this channel is logged, I think it makes sense to doc elsewhere. Cuz I don't want to be glued to IRC ;)20:03
NobodyCamlol ++20:03
*** urulama_ has quit IRC20:04
*** urulama has joined #openstack-ironic20:04
*** epim has joined #openstack-ironic20:07
*** urulama has quit IRC20:09
NobodyCamdevananda: did I understand correctly you wish to keep the deploy kernel and ramdisk attached to the flavor?20:11
NobodyCamhttp://paste.openstack.org/show/DTHciA2saCj2tpU3kOS8/20:12
*** urulama has joined #openstack-ironic20:13
NobodyCamI'm thinking chassis or node is the correct place for that?20:13
NobodyCamit really is lagacy artifacts of pxe based deploys20:15
NobodyCams/it/they are/20:15
NobodyCamand following that logic they should go with the driver20:16
*** urulama_ has joined #openstack-ironic20:23
*** urulama has quit IRC20:24
*** rloo has quit IRC20:26
*** rloo has joined #openstack-ironic20:27
*** urulama_ has quit IRC20:33
*** urulama has joined #openstack-ironic20:34
*** urulama has quit IRC20:43
*** urulama_ has joined #openstack-ironic20:43
*** urulama_ has quit IRC20:48
*** rloo has quit IRC20:50
devanandaNobodyCam: so, there's a few angles on that20:51
devanandaNobodyCam: i haven't considered all of them yet20:51
*** rloo has joined #openstack-ironic20:51
NobodyCam:-P i really think the nova flavor is the WRONG place20:51
devanandaNobodyCam: so, the deploy k&r refer to a tool that is specific to the ironic pxe driver, the arch of the machine being targeted, and, at present, the work being done on it20:52
*** urulama has joined #openstack-ironic20:53
NobodyCamyes20:53
devanandaNobodyCam: lifeless and I discussed some of the proposals from the summit for that hardware-mgmt-ramdisk stuff. we didnt' quite agree on whether its interface should be programatic or declarative, but we did agree taht there should be20:54
devanandaone mgmt ramdisk per node architecture20:54
devanandaand *not* one ramdisk per action20:54
NobodyCamok should the driver have the logic to know what arch to user and there by have to know all the posiable archs20:55
lifelessright20:55
lifelessnothing we're doing is so big that we need to partition it out20:55
devanandathat ramdisk may need to fetch other things from glance (eg, firmware images)20:56
NobodyCamor are we thinking tag that to something like the chassis or node that woud know its own arch20:56
devanandawe can put an arch tag in node.properties20:57
devanandaand the nova driver can expose that to the scheduler, which there were hooks for in the baremetal driver20:57
devanandaeg, extra_specs:cpu_arch:x86_6420:57
NobodyCampxe deploys then will know to use the 64bit version of the deploy K&R20:58
devanandabut the question is, where is the association of "deploy k&r" :: "node"20:58
devanandaat the low level, it needs to be set on node.driver_info20:59
NobodyCamwe could set a default in the chassis that could be overwriten but the node if that node needed somehting different20:59
NobodyCams/but/by/21:00
NobodyCameithr that or teach pxe to know what to use / when to use it21:01
NobodyCamlifeless: so your thinking pxe driver should know what deploy K&R based on the nodes arch?21:02
*** urulama_ has joined #openstack-ironic21:03
lifelessbtw its a public holiday for me today21:04
lifelessso I'm not really here21:04
NobodyCamahh :) hehehe enjoy :)21:04
*** urulama has quit IRC21:04
NobodyCamdevananda: I can see logic in pxe driver knowing what it need to deploy to different archs. ie i386/x64/arm/650221:06
NobodyCamwould be a limited list21:06
devanandaNobodyCam: i think the driver should know. right21:07
NobodyCam:)21:07
lifelessin nova bm we map flavor -> deploy ramdisk21:08
lifelessdo we ever need different 'deploy' ramdisks for the same machine for different flavors?21:08
NobodyCamthat was my question that started the topic21:08
lifelessIf not, then it seems like we should register glance ids with ironic for this against the node's pxe driver config21:09
lifelessthat does suggest a lot of PUTs when the ramdisk is regenerated though21:09
NobodyCamwith each nodes, or as a "global" pxe driver option21:10
NobodyCamI was thinking it part of the pxe driver config just not on a per node basis21:11
devanandado we need to allow variation in the ramdisk within the same arch?21:11
devanandaeg, for things like different NIC or RAID drivers21:11
openstackgerritRuby Loo proposed a change to openstack/ironic: Changes power_state and adds last_error field  https://review.openstack.org/5446621:11
lifelessNobodyCam: the pxe driver manages many different sorts of hardware21:11
NobodyCamgood point21:12
lifelessdevananda: certainly that variation will be present21:12
NobodyCamya21:12
devanandaso we need to allow more variation than just cpu arch21:12
*** urulama_ has quit IRC21:12
lifelessdevananda: I would be strongly inclined to support it without forcing the union of drivers into one disk (because we may someday find that that is a fail)21:12
devanandaexactly21:13
*** urulama has joined #openstack-ironic21:13
lifelessthe simplest thing is just glance k&r pair in the driver-node-config21:13
NobodyCamyep21:13
lifelessI'm very much in favor of the simplest thing for now, to get to nova bm parity21:14
lifelesssimplest not obviously wrong thing :)21:14
NobodyCamlifeless: ++21:14
*** urulama has quit IRC21:18
devanandaNobodyCam: yea. so node.driver_info gets the 5 image bits. deploy k & r, user k & r, and user image.21:18
devanandaNobodyCam: and let's rename it while we're writing this -- what do you think of s/deploy/utility/ ?21:19
NobodyCamuser??? that comes from nova no?21:19
devanandasince that same ramdisk will also be used for other tasks, eg. raid, hd erase, etc, in time21:19
devanandaNobodyCam: yes, but it has to get passed to the PXE driver some how. and it's passed at the same time as the deploy k&r, so PXE driver can build the tftp config21:20
NobodyCamso append user K,R,Image to driver in spawn (or there abouts)21:21
NobodyCamcan we prefix the name like pxe_utility?21:21
*** urulama has joined #openstack-ironic21:22
devanandaeh?21:23
NobodyCamie we cannt pre pop the User info untill we get boot request from nova21:23
devanandayou lost me21:23
NobodyCamI'm good with changing deploy to utility21:23
NobodyCamwanted to prefix with pxe_ but thats just me21:24
NobodyCamthen around that21:24
NobodyCami was asking about hte user K,R,Image21:24
NobodyCamwhich we dont have un we get the boot request from nova21:25
NobodyCamun=until21:25
NobodyCamutility K & R we will attach to the node befor deploy / spawn is issued21:27
NobodyCamso I was trying to work thru your comment devananda > NobodyCam: yea. so node.driver_info gets the 5 image bits. deploy k & r, user k & r, and user image.21:28
devanandaah21:29
devanandaso yea, we'll have to set the utility k&r beforehand. then in nova.virt.ironic.driver.spawn() we'll extract the user k&r&i glance uuids and pass those to ironic21:30
devanandaupdating node.driver_info with them21:30
devanandaNobodyCam: sound about right?21:30
*** epim has quit IRC21:31
NobodyCamwill work, feels strange editing the driver_info field with deploy spicific info21:31
*** urulama_ has joined #openstack-ironic21:32
NobodyCamwhat about node.properties21:33
*** urulama has quit IRC21:33
NobodyCamwe have provision_state21:33
NobodyCammaybe even add provision_image_id from which we could extract the correct K & R21:34
NobodyCamwounder if I could query to get that from the instance uuid21:35
*** epim has joined #openstack-ironic21:35
openstackgerritA change was merged to openstack/ironic: Replace __metaclass__  https://review.openstack.org/5491321:37
devanandaNobodyCam: we probably could get that info from glance, given the nova instance uuid (we have it)21:41
NobodyCamya21:41
*** urulama_ has quit IRC21:42
*** urulama has joined #openstack-ironic21:42
*** urulama has quit IRC21:47
*** urulama has joined #openstack-ironic21:52
devanandaNobodyCam: it can also be pulled from the instance parameter of driver.spawn()21:54
NobodyCam:)21:55
NobodyCamgetting there :-p21:55
NobodyCamhehehehe21:55
*** urulama has quit IRC22:01
*** urulama has joined #openstack-ironic22:02
*** epim has quit IRC22:06
*** linggao has quit IRC22:08
*** urulama has quit IRC22:11
*** urulama has joined #openstack-ironic22:12
*** jbjohnso has quit IRC22:13
*** jdob has quit IRC22:19
*** urulama has quit IRC22:22
*** urulama_ has joined #openstack-ironic22:22
NobodyCamdevananda: that kinda what you had in mind? http://paste.openstack.org/show/uXklfrGonzIxgUTL3nzQ/22:22
*** urulama_ has quit IRC22:27
*** rloo has quit IRC22:28
*** rloo has joined #openstack-ironic22:28
*** urulama has joined #openstack-ironic22:31
* NobodyCam wanders afk ... bbiafm22:35
*** urulama has quit IRC22:41
*** urulama_ has joined #openstack-ironic22:41
devanandaNobodyCam: yep22:41
devanandarloo: patch is looking good :)22:42
rloodevananda: thx. Fingers crossed. ha ha.22:43
NobodyCam:)22:46
*** urulama_ has quit IRC22:51
*** urulama has joined #openstack-ironic22:51
*** urulama has quit IRC22:56
*** urulama has joined #openstack-ironic23:01
*** michchap has quit IRC23:02
*** michchap has joined #openstack-ironic23:04
*** hemna is now known as hemnafk23:07
*** urulama_ has joined #openstack-ironic23:11
*** urulama has quit IRC23:11
*** urulama has joined #openstack-ironic23:21
*** urulama_ has quit IRC23:21
* devananda also wanders afk for a while23:27
NobodyCam:)23:27
NobodyCamenjoy23:28
*** urulama_ has joined #openstack-ironic23:31
*** urulama has quit IRC23:31
NobodyCamrloo: you around?23:32
*** urulama_ has quit IRC23:35
*** urulama has joined #openstack-ironic23:40
*** matsuhashi has joined #openstack-ironic23:47
*** urulama_ has joined #openstack-ironic23:50
*** urulama has quit IRC23:50
*** urulama_ has quit IRC23:59

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