Thursday, 2014-02-06

*** max_lobur has quit IRC00:15
*** matsuhashi has joined #openstack-ironic00:20
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142500:30
*** anniec has quit IRC00:36
*** anniec has joined #openstack-ironic00:39
*** nosnos has joined #openstack-ironic00:56
devanandaNobodyCam: will you be available on the 18th to give an update in the project meeting?01:00
*** rloo has joined #openstack-ironic01:01
*** anniec has quit IRC01:05
*** igor has joined #openstack-ironic01:15
devanandaNobodyCam: ooh! just saw your patch for nova ... reviewing now01:15
*** igor____ has quit IRC01:16
*** anniec has joined #openstack-ironic01:23
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142501:24
devanandaNobodyCam: so, it's identical to the baremetal_host_manager module except for doc strings and method name01:26
devanandaNobodyCam: could the existing module be updated to support both?01:26
*** mrda is now known as mrda_away01:27
devanandaeg, make new_host_state return either a BaremetalHostState or an IronicHostState, depending on thecapabilities01:28
NobodyCamdevananda: humm it could. but I made a new file thinking the bm hostmanager was going to revmoved01:36
NobodyCamyes I should be available on the 18th01:38
devanandaNobodyCam: great, thanks. I may be on a brief trip and unavailable that day01:38
devanandanot sure yet01:38
NobodyCam:)01:38
devanandaNobodyCam: so, yes, baremetal is goign to be deprecated ,and then removed -- but taht doesn't necessarily mean we need to duplicate all the files01:39
devanandaNobodyCam: I'm also not saying it /doesn't/ mean that :)01:39
NobodyCamI can modify bmhostmanager01:39
devanandaNobodyCam: if one way or the other is going to be easier to maintain (less code changes, easier to understand the deprecation path, etc) let's pick that01:39
devanandain this case, it looks to me like we just need a class to differentiate the type of node, but the functionality is the same01:40
NobodyCamI figured new file would allow the most flexibility01:40
devanandatrue01:40
NobodyCamso as we evoulve we dont have any headache from the old bm hostmanager01:41
devanandaso we can have 2 files. or we can have one file with a base class and two inherited classes (one for baremetal, another for ironic)01:41
NobodyCamya01:41
devanandawhich approach would be easier for folks to maintain for the next 6 months? which is easier to migrate across?01:42
NobodyCamand mock the bm fakes01:42
NobodyCamfor the test01:43
NobodyCambut ya I can do that01:43
devanandameh. just an idea. they both have merit01:43
devanandaleft some feedback bout the unit tests01:44
NobodyCam:-p01:44
NobodyCamahh yes01:44
NobodyCamok :)01:45
NobodyCamwill add missing test tomorrow morning01:45
NobodyCam:-p01:45
devananda:)01:46
devanandaheading home... bbl or tmw02:07
devanandag'night all!02:07
*** epim has quit IRC02:09
*** anniec has quit IRC02:11
NobodyCamnight devananda02:13
*** rloo has quit IRC02:26
*** mrda_away is now known as mrda02:29
*** harlowja has quit IRC02:44
*** harlowja has joined #openstack-ironic02:55
*** briancline has quit IRC03:10
*** aignatov_ is now known as aignatov03:11
*** coolsvap_away has quit IRC03:13
openstackgerritJenkins proposed a change to openstack/ironic: Updated from global requirements  https://review.openstack.org/7144903:56
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142504:14
NobodyCamdevananda: https://review.openstack.org/#/c/71429 now with more tests :-p04:17
NobodyCammrda: lol Don't think I've tweeted in some time :)04:26
mrdaNobodyCam: Just in case :)04:28
NobodyCamhehehe :)04:29
mrdaGotta follow all the cool kids in IronicLand(tm)04:29
NobodyCamlol04:29
NobodyCam:)04:29
*** jcooley_ has quit IRC04:43
*** coolsvap has joined #openstack-ironic04:44
*** nosnos_ has joined #openstack-ironic05:02
*** jrist has quit IRC05:04
*** harlowja has quit IRC05:05
*** nosnos has quit IRC05:06
*** harlowja has joined #openstack-ironic05:14
*** blamar has quit IRC05:21
*** aignatov is now known as aignatov_05:27
*** jrist has joined #openstack-ironic05:39
*** jrist has quit IRC05:43
*** jrist has joined #openstack-ironic05:43
*** jcooley_ has joined #openstack-ironic05:49
*** jrist has quit IRC05:52
*** rsacharya_ has joined #openstack-ironic05:59
*** rsacharya_ has quit IRC06:00
openstackgerritJenkins proposed a change to openstack/ironic: Imported Translations from Transifex  https://review.openstack.org/7119206:06
*** matsuhashi has quit IRC06:07
*** matsuhashi has joined #openstack-ironic06:07
*** matsuhas_ has joined #openstack-ironic06:09
*** matsuhashi has quit IRC06:09
*** jcooley_ has quit IRC06:11
*** igor has quit IRC06:18
*** igor has joined #openstack-ironic06:18
openstackgerritA change was merged to openstack/ironic: Improve handling of invalid input in HashRing class  https://review.openstack.org/7026706:24
*** jcooley_ has joined #openstack-ironic06:24
*** mrda is now known as mrda_away06:27
*** nosnos has joined #openstack-ironic06:40
*** nosnos_ has quit IRC06:42
*** coolsvap_away has joined #openstack-ironic06:51
*** coolsvap has quit IRC06:52
*** coolsvap_away has quit IRC07:02
*** coolsvap has joined #openstack-ironic07:07
*** coolsvap_away has joined #openstack-ironic07:11
*** coolsvap has quit IRC07:12
openstackgerritA change was merged to openstack/ironic: API tests to check for the return codes  https://review.openstack.org/7076607:17
openstackgerritA change was merged to openstack/ironic: Handle multiple exceptions raised by jsonpatch  https://review.openstack.org/6845707:17
*** harlowja is now known as harlowja_away07:23
GheRiveromorning Ironic07:30
*** coolsvap_away is now known as coolsvap07:37
coolsvapGheRivero: Gm, I waned to try out basics in Ironic and m not getting a document describing the different concepts like chasis,node,port and their relationships07:38
coolsvapany links so that I can try a complete flow might be with a fake driver07:38
GheRiveromorning coolsvap07:39
openstackgerritGhe Rivero proposed a change to openstack/ironic: Set boot device to PXE when deploying  https://review.openstack.org/7133207:40
GheRiverocoolsvap: I not aware of any doc documenting that, but let me check07:41
GheRiverobut basically, a chassis (not required) is a group of nodes07:43
GheRiveroand every node needs a port for the deployment (PXE for now)07:43
coolsvapokay so to try simple provisioning with Ironic, the flow would be like create node -> create port07:45
GheRiverocoolsvap: https://etherpad.openstack.org/p/IronicDeployDevstack07:46
coolsvapbut later I am not able to figure out what to do before powering on07:46
*** mdurnosvistov_ has joined #openstack-ironic07:46
GheRiveroyou should create the images and deploy ramdisk/kernel using diskimage-builder (TripleO)07:47
devanandamrda_away: ping07:52
*** killer_prince has quit IRC08:03
*** jistr has joined #openstack-ironic08:14
*** ndipanov_gone is now known as ndipanov08:32
*** athomas has joined #openstack-ironic08:33
*** athomas has quit IRC08:34
*** athomas has joined #openstack-ironic08:35
*** mdurnosvistov_ has quit IRC08:40
*** ifarkas has joined #openstack-ironic08:45
*** killer_prince has joined #openstack-ironic08:48
*** killer_prince is now known as lazy_prince08:48
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142508:50
*** romcheg has joined #openstack-ironic08:59
*** lazy_prince is now known as killer_prince09:05
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142509:09
*** aignatov_ is now known as aignatov09:10
*** igor_ has joined #openstack-ironic09:30
*** igor has quit IRC09:32
*** jcooley_ has quit IRC09:32
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Expose 'reservation' field of a node via API  https://review.openstack.org/7121109:35
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Add ability to break TaskManager locks via REST API  https://review.openstack.org/7121209:36
*** derekh has joined #openstack-ironic09:38
*** lucasagomes has joined #openstack-ironic09:42
romcheglucasagomes: Hi, are you around?09:46
lucasagomesromcheg, hey there09:46
lucasagomesyes09:46
romchegI'm wondering why we decided to use PUT for breaking node locks https://review.openstack.org/#/c/71212/3/ironic/api/controllers/v1/node.py ?09:47
romchegI think DELETE is more appropriate for deleting or breaking things09:49
yuriyzhi romcheg09:49
lucasagomesromcheg, yea, actually we didn't think much about it09:49
romchegHi yuriyz09:49
lucasagomesromcheg, I took a look yesterday, I saw something similar in the etcd api09:49
lucasagomesand they also use delete09:49
lucasagomeshttps://coreos.com/docs/distributed-configuration/etcd-api/09:49
lucasagomes"When the client is finished with the lock, simply send a DELETE request to release the lock"09:50
romchegyup09:50
yuriyzbut 'reservation' resource not deleted when lock breaking, only value changed09:52
romchegWhen we unprovision a node we send DELETE as well, don't we?09:59
lucasagomesromcheg, nop10:00
lucasagomesromcheg, in the power/provision states10:00
romchegWhoops :)10:00
lucasagomeswe have a target_*_state for each, so we PUT {"target": "deleted"}10:00
romchegAh, exactly10:01
lucasagomesit's close but not a real DELETE10:01
romchegBut I remember we planned to use DELETE for something10:01
romchegWasn't that breaking a running provisioning?10:01
lucasagomesromcheg, yea aborting the deploy10:01
lucasagomesbut nothing decided yet :/10:02
romchegYes, that's what I remember :)10:02
romchegSo to be consistent with that idea I vote for using DELETE for breaking locks10:03
lucasagomesI like the idea of DELETE as well, although it's possible to argue both sides here10:03
romchegLet's wait for devananda and NobodyCam then to collect more opinions10:05
romchegdevananda, NobodyCam ^^10:05
yuriyzyes, let someone else yet look10:06
lucasagomesack10:06
*** aignatov is now known as aignatov_10:22
*** martyntaylor has joined #openstack-ironic10:25
*** martyntaylor1 has joined #openstack-ironic10:25
*** max_lobur_afk is now known as max_lobur10:26
*** viktors has joined #openstack-ironic10:28
*** martyntaylor has quit IRC10:29
*** mrda_away is now known as mrda10:31
mrdadevananda: pong10:31
*** tatyana has joined #openstack-ironic10:31
openstackgerritMikhail Durnosvistov proposed a change to openstack/ironic: Get rid of the newline "\"  https://review.openstack.org/6679310:32
openstackgerritMikhail Durnosvistov proposed a change to openstack/ironic: Get rid of the newline "\"  https://review.openstack.org/6679310:39
openstackgerritA change was merged to openstack/ironic: Fix 'run_as_root' parameter check in utils  https://review.openstack.org/7032410:41
romchegmrda: Hi, I guess it's a late night for him10:42
*** jistr has quit IRC10:44
openstackgerritMichael Davies proposed a change to openstack/ironic: Make the parameter order of assertEqual consistent  https://review.openstack.org/7148610:44
*** aignatov_ is now known as aignatov10:58
mrdathanks romcheg, I'll catch him tomorrow11:02
mrdait's a late night for me too :)11:02
*** mrda is now known as mrda_away11:02
*** jistr has joined #openstack-ironic11:10
*** coolsvap_away has joined #openstack-ironic11:29
*** coolsvap has quit IRC11:30
*** martyntaylor1 has quit IRC11:33
*** martyntaylor has joined #openstack-ironic11:44
coolsvap_awayGheRivero: ping11:44
*** coolsvap_away is now known as coolsvap11:46
coolsvapcan anybody tell me what pxe_image_source would be in https://etherpad.openstack.org/p/IronicDeployDevstack #17311:46
*** athomas has quit IRC11:50
Haomengcoolsvap: pxe_image_source should be an image uuid which used be 'copy' to pxe node local disk I think11:51
*** athomas has joined #openstack-ironic11:51
Haomengcoolsvap: it is different one with pxe_deploy_ramdisk and pxe_deploy_kernel11:52
coolsvapHaomeng: currently I have 3 images in glance, default cirros and two images for kernel and ramdisk i created after dib run11:52
Haomengcoolsvap: both pxe_deploy_ramdisk and pxe_deploy_kernel are used on deploy time, they are deployment util image11:52
Haomengcoolsvap: yes, we need 3 images11:52
coolsvapso I think cirros would not be the image for pxe_source, correct?11:53
Haomengcoolsvap: but not sure if cirros image can be used for your hardware, it should include the hardware network adaptor driver11:54
coolsvapokay so I would need to add a ubuntu/fedora cloud image which can be used for source11:55
coolsvapis it correct?11:55
Haomengcoolsvap: in our ironic deployment steps, we will 'dd' the pxe_image_source image into the hardware server's local disk, and restart sys from disk once it is ready11:55
Haomengcoolsvap: depens on your test case I think11:56
coolsvapHaomeng: I am giving first try to Ironic11:56
Haomengcoolsvap: suggest you have a try with your cirros image as pxe_image_source first, maybe it works with your hardware11:56
coolsvapHaomeng: sure let me try that11:57
Haomengcoolsvap: welcome11:57
openstackgerritAndrey Kurilin proposed a change to openstack/python-ironicclient: Reuse exceptions from common code  https://review.openstack.org/7150011:59
coolsvapHaomeng: just one more query, the ssh_address mentioned here is 192.122.x.x, but with my devstack installation I have default network 172.24.4.x, I can use address from available network, right?11:59
Haomengcoolsvap: ssh_address12:07
Haomengcoolsvap: is used for pxe_ssh driver with vm to simulate a physical node12:07
Haomengcoolsvap: so make sure the ssh_address is your ip which host vms12:08
coolsvapoh..k got it12:08
*** pradipta` has joined #openstack-ironic12:10
Haomengcoolsvap: I guss you use pxe_ssh as your driver12:10
coolsvapHaomeng: I am trying to use the steps mentioned in etherpad I mentioned above12:10
coolsvapHaomeng: I did not get any MAC from node-create12:12
*** pradipta has quit IRC12:12
openstackgerritAndrey Kurilin proposed a change to openstack/python-ironicclient: Reuse exceptions from common code  https://review.openstack.org/7150012:13
Haomengcoolsvap: that is fine, ssh_virt_type=virsh -i ssh_address=192.168.122.1, these mean we use linux kvm as vm host, and 192.168.122.1 is the host ip12:13
Haomengcoolsvap: mac should be your vm mac which used to simulate a physical node12:14
coolsvapokay12:15
Haomengcoolsvap: you can check node with 'ironic port-list' to check the port with your mac, if there is not existing as well, have to create with command 'ironic node-create'12:16
Haomengcoolsvap: good luck12:16
coolsvapHaomeng: just to get the steps clear to test with VM, Create a VM -> then Create a Node -> Associate VM IP as for ssh_address -> Associate VMs mac to port -> Associate instance to node -> Deploy12:17
Haomengcoolsvap: " ./tripleo-incubator/scripts/create-nodes 1 512 10 amd64 1"12:19
Haomengyou did not get mac returned by this command?12:19
Haomengcoolsvap: yes, you are correct I think12:19
Haomengcoolsvap: we can follow the guide - https://etherpad.openstack.org/p/IronicDeployDevstack , the steps are verified, should work12:20
coolsvaphmm12:20
Haomengcoolsvap: so which step you run out what issue which we can discuss12:20
coolsvapHaomeng: let me complete that once12:21
Haomengcoolsvap: good luck:)12:22
coolsvapHaomeng: thx!12:22
Haomengcoolsvap: welcome your any questions:)12:22
*** jcooley_ has joined #openstack-ironic12:26
*** jcooley_ has quit IRC12:31
*** coolsvap has quit IRC12:34
*** coolsvap has joined #openstack-ironic12:34
*** r-mibu has quit IRC12:41
*** romcheg has quit IRC12:43
*** igor has joined #openstack-ironic12:45
*** igor_ has quit IRC12:46
*** coolsvap has quit IRC12:55
*** datajerk has joined #openstack-ironic13:07
*** romcheg has joined #openstack-ironic13:12
*** romcheg has quit IRC13:15
*** romcheg has joined #openstack-ironic13:15
*** max_lobur is now known as max_lobur_afk13:17
*** datajerk has quit IRC13:26
*** max_lobur_afk is now known as max_lobur13:29
*** jdob has joined #openstack-ironic13:49
*** jbjohnso has joined #openstack-ironic13:56
*** jcooley_ has joined #openstack-ironic13:57
*** jcooley_ has quit IRC14:03
openstackgerritAndrey Kurilin proposed a change to openstack/python-ironicclient: Reuse exceptions from common code  https://review.openstack.org/7150014:03
*** rlooh has joined #openstack-ironic14:24
*** rlooh has quit IRC14:25
*** jrist has joined #openstack-ironic14:32
*** rloo has joined #openstack-ironic14:35
*** matty_dubs|gone is now known as matty_dubs14:36
*** rloo has left #openstack-ironic14:37
*** rloo has joined #openstack-ironic14:38
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Improve NodeLocked exception message  https://review.openstack.org/7154114:39
*** rloo_ has joined #openstack-ironic14:40
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Improve NodeLocked exception message  https://review.openstack.org/7154114:42
*** rloo has left #openstack-ironic14:49
*** blamar has joined #openstack-ironic14:55
openstackgerritJarrod Johnson proposed a change to stackforge/pyghmi: Fix session reuse stall for async usage  https://review.openstack.org/7154915:01
openstackgerritA change was merged to stackforge/pyghmi: Fix session reuse stall for async usage  https://review.openstack.org/7154915:02
openstackgerritAndrey Kurilin proposed a change to openstack/python-ironicclient: Reuse exceptions from common code  https://review.openstack.org/7150015:08
openstackgerritJarrod Johnson proposed a change to stackforge/pyghmi: Move previous fix out to command and console  https://review.openstack.org/7155415:12
openstackgerritYuriy Zveryanskyy proposed a change to openstack/ironic: Improve NodeLocked exception message  https://review.openstack.org/7154115:13
openstackgerritA change was merged to stackforge/pyghmi: Move previous fix out to command and console  https://review.openstack.org/7155415:17
*** matsuhas_ has quit IRC15:17
*** nosnos has quit IRC15:21
*** shausy has joined #openstack-ironic15:24
*** romcheg has quit IRC15:27
*** romcheg has joined #openstack-ironic15:30
openstackgerritJenkins proposed a change to openstack/ironic: Updated from global requirements  https://review.openstack.org/7144915:38
*** ifarkas_ has joined #openstack-ironic15:40
*** ifarkas__ has joined #openstack-ironic15:41
*** ifarkas has quit IRC15:43
*** ifarkas has joined #openstack-ironic15:43
*** romcheg has quit IRC15:44
*** jcooley_ has joined #openstack-ironic15:46
*** aignatov is now known as aignatov_15:48
*** jistr has quit IRC15:48
devanandamorning, all15:49
*** ifarkas has quit IRC15:49
*** ifarkas__ has quit IRC15:49
lucasagomesdevananda, morning15:50
max_loburmorning Ironic15:50
GheRiveromorning all15:51
*** romcheg has joined #openstack-ironic15:51
lucasagomesmorning max_lobur GheRivero15:51
mdurnosvistovmorning all! :)15:51
rloo_morning/aft/evening everyone ;)15:51
max_lobur:)15:51
romchegMorning folks!15:52
*** jcooley_ has quit IRC15:53
*** jistr has joined #openstack-ironic15:54
yuriyzmorning all15:56
*** shausy has quit IRC15:57
max_loburbbiaw16:02
*** max_lobur is now known as max_lobur_afk16:02
openstackgerritAndrey Kurilin proposed a change to openstack/python-ironicclient: Reuse exceptions from common code  https://review.openstack.org/7150016:06
NobodyCamgood morning Ironic16:14
matty_dubsMorning NobodyCam16:14
matty_dubsAre you guys seeing a flake8 failure on master?16:14
matty_dubs./ironic/tests/test_neutron.py:23:1: H302  import only modules.'from ironic.common import neutron' does not import a module16:14
matty_dubsOr do I have something messed up locally?16:15
NobodyCammornig matty_dubs16:15
NobodyCamhummm I have not seen that. yet16:16
NobodyCamthou the day is young16:16
matty_dubsOdds are also fairly decent that I'm doing something dumb, hence my asking. I'd have expected Jenkins to not allow such a thing to be merged.16:18
NobodyCamya16:18
NobodyCamI don't think Jenkins would allow that16:18
*** tatyana has left #openstack-ironic16:19
NobodyCamthou I have see the flake/pep 8 rules change after somehtign lands16:19
lucasagomesmorning NobodyCam16:20
NobodyCammorning lucasagomes16:20
NobodyCamlucasagomes: did you see ?https://review.openstack.org/#/c/7142916:21
lucasagomesNobodyCam, nice! didn't see16:21
lucasagomesNobodyCam, we prolly need to remove that files from the main patch-set16:22
lucasagomeswant me to do that?16:22
lucasagomesI added a couple of more tests (about 30 now)16:22
NobodyCamea, Sure :)16:22
lucasagomesack16:22
NobodyCamYea16:22
lucasagomeswill submit a new patch-set soon16:22
lucasagomesand then I rmeove it16:22
lucasagomesremove*16:22
NobodyCam:)16:22
lucasagomesNobodyCam, good stuff :D16:22
NobodyCam:-p16:23
NobodyCambrb getting coffee16:23
*** jcooley_ has joined #openstack-ironic16:30
NobodyCamok /me need to address the test issues on the hostmanager patch16:34
NobodyCams/need/needs/16:34
NobodyCamlucasagomes: devananda: have you seen this client patch? https://review.openstack.org/#/c/71500/16:37
*** killer_prince has quit IRC16:38
*** max_lobur_afk is now known as max_lobur16:38
max_loburback16:38
NobodyCamWb max_lobur16:39
max_loburmorning NobodyCam :)16:39
NobodyCamMorning max_lobur :) and romcheg too!16:39
lucasagomesNobodyCam, uuuu didn't see that yet16:39
lucasagomesbut that would mess up with the driver heh16:39
romchegMorning NobodyCam, devananda!16:40
lucasagomesI mean, we would need to refactor part of it16:40
NobodyCamI have to check to see if we trap any errors16:40
lucasagomesack16:40
NobodyCamhey hey romcheg saw your first +2 lastnight16:40
romchegNobodyCam: Honestly it was a bit scaring to put the first +2 :)16:42
NobodyCamfor me too :)16:42
* max_lobur still afraid :D16:43
max_loburdevananda, lucasagomes please take a look https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/node.py#L173-L18016:43
NobodyCamthere is also -2 which is very scarry16:43
max_loburdevananda, according to our yesterday discussion, where it was decided to perform node power action in conductor fully async (including async validation)16:45
max_loburthis race will remain16:45
max_loburmaybe to remove this pre-validation from api code?16:46
lucasagomesI think I missed the discussion16:47
lucasagomesso it will be fully async now?16:47
devanandamax_lobur: that is awkward, yea.. .but what about the space between booting the deploy ramdisk and when it calls back? ie the DEPLOYWAIT period in patch https://review.openstack.org/#/c/71297/16:47
*** athomas has quit IRC16:48
* max_lobur looks16:48
lucasagomesNobodyCam, btw, that structure in the driver mapping the required fields for each driver16:48
*** athomas has joined #openstack-ironic16:48
max_loburlucasagomes, yea, according to this mockup https://review.openstack.org/#/c/71281/1/ironic/conductor/manager.py it was decided to make it fully async for the sake of simplicity16:48
lucasagomesNobodyCam, maybe it wouldn't be better to use something like dicts instead of a class? I find it a bit obscure to import classes in the middle of the code (using importutils)16:49
NobodyCamlucasagomes: this one? https://review.openstack.org/#/c/51328/17/nova/virt/ironic/ironic_driver_fields.py16:49
devanandalucasagomes: for actions that require a TaskManager lock, instead of call-then-cast, they should all be call-and-use-greenthread16:49
*** jistr has quit IRC16:49
lucasagomesNobodyCam, yup16:49
*** athomas has quit IRC16:49
NobodyCamthere is a comment to not import it like that16:49
lucasagomesdevananda, max_lobur right16:49
lucasagomesdevananda, but call-and-use-greenthread would still return a validation no?16:50
max_loburlucasagomes, validation will be inside greenthread16:50
max_loburso no16:50
lucasagomescall->spawn the greenthread -> return16:50
lucasagomesso why use greenthread then? and just use cast() ?16:50
devanandamax_lobur: so we /could/ pu tthe validation outside the greenthread16:50
lucasagomesjust use cast()*16:50
NobodyCamlucasagomes: something more like this: https://github.com/openstack/nova/blob/master/nova/virt/baremetal/virtual_power_driver.py#L86-L9116:50
NobodyCamis what we need16:51
max_loburlucasagomes, devananda call -> get log -> spawn thread -> return   ** -> release lock in the end of greenthread16:51
max_lobur*get lock16:51
devanandaright16:51
devanandaor16:51
lucasagomesNobodyCam, ah will take a look, yea, I'm writing the tests for spawn/destroy16:51
lucasagomesbut that's kinda obscure to have those importutils there16:51
max_loburlucasagomes, to see if lock was acquired16:51
devanandacall -> get lock -> do validation -> spawn thread -> return    ** greenthread updates state && release lock at end16:51
max_loburdevananda, right :)16:51
devanandathat way user will get immediate feedback if either get-lock or do-validation fail16:51
max_loburthis is what I was trying to say yesterday :)16:52
lucasagomesdevananda, +116:52
lucasagomesso it's async but not really16:52
lucasagomesthe main job is async the validation is sync16:52
devanandaright16:52
lucasagomeswhich is good for the user feedback16:52
max_loburTherefore my comment to https://review.openstack.org/#/c/71281/2/ironic/conductor/manager.py16:52
devanandathis way the user knows at least if the work /started/. and by the time that call returns, they should be able to enter a GET status loop16:53
NobodyCamlucasagomes: we also need to get rid if the " if 'pxe' in node.driver:" line and do something better then string match16:53
devanandato observe when it ends16:53
max_loburshould be fully applicable, except futures part right?16:53
lucasagomesNobodyCam, hmm16:53
*** yuriyz has quit IRC16:53
*** lsmola has quit IRC16:53
max_loburdevananda, lucasagomes ok, got it16:54
lucasagomesNobodyCam, can't think about another way to findout if the node is using the pxe driver16:54
devanandathere is still a race -- see what I posted at the bottom of https://etherpad.openstack.org/p/action-started16:54
devanandabut it is a different race taht we can't solve today16:54
*** ifarkas_ has quit IRC16:55
max_loburyea, all the N finished jobs get N-1th result16:55
max_loburI agree it's different16:55
max_loburso16:55
max_loburcall -> get lock -> do validation -> spawn thread -> return    ** greenthread updates state && release lock at end16:55
max_loburour target right?16:55
*** hemna has joined #openstack-ironic16:55
devananda++16:55
lucasagomesdevananda, max_lobur which line on that etherpad is about the race we can't solve?16:56
devanandalucasagomes: the very bottom16:56
NobodyCamlucasagomes: dicts would also work too!16:56
max_lobur29716:56
lucasagomesack16:56
*** jcooley_ has quit IRC16:56
max_loburdevananda, ack16:56
*** jcooley_ has joined #openstack-ironic16:57
lucasagomeshmmm16:59
lucasagomesmax_lobur, devananda maybe one way to solve that problem16:59
lucasagomesis to have a factory-like api for the state changes16:59
lucasagomese.g16:59
*** matty_dubs is now known as matty_dubs|lunch16:59
lucasagomesPOST {target: active} /nodes/<uuid>/states/power16:59
lucasagomesreturns16:59
devanandalucasagomes: aside from a scheduling service that generates tokens for each request16:59
lucasagomes /nodes/<uuid>/states/power/<task uuid>17:00
lucasagomesto track the state of that task you would GET /nodes/<uuid>/states/power/<task uuid>17:00
lucasagomesonce the task is finished that <task uuid> is removed17:00
max_loburlucasagomes, you just exactly described the scheduling service :)17:01
lucasagomesno more than 1 <task uuid> can live inside states/power/17:01
max_loburah17:01
lucasagomescause only 1 power operation can be issued per node only17:01
devanandalucasagomes: i was with you up till "no more than 1 <task uuid> can live inside states/power/"17:01
max_loburso, what to do after the second task already completed17:01
max_loburwe're doing /nodes/<uuid>/states/power/<first task uuid>17:02
devanandalucasagomes: then what is the point of giving out a request token if that token will be invalidated // not GETable when a second request comes in17:02
max_loburbut there's already <second task uuid> right?17:02
devanandalucasagomes: tokens should exist independently of how many more tasks come in. at scale things will happen at different times17:02
lucasagomesright hmm17:03
devanandalucasagomes: eg, network congestion. assume that client 1's GET may be delayed17:03
devanandaso17:03
lucasagomesmax_lobur, in my case the second task uuid wouldn't be created17:03
devanandalong term, something like that is possible17:03
lucasagomesunless the first is ended17:03
devanandaa) definitely not going in Icehouse17:03
max_loburlucasagomes, right, and what if we do /nodes/<uuid>/states/power/<first task uuid> when the second is already started17:04
lucasagomesmax_lobur, 40417:04
max_loburthere's no <first task uuid> already right17:04
devanandayea, that's wrong17:04
lucasagomesmax_lobur, once the task is created the Location to be GET'ed17:04
lucasagomesand tracked17:04
lucasagomesis returned in the HTTP header17:04
max_loburso we will be able to get results only until the next one is started17:04
max_loburwell, this may work. But I think it's better to queue such things. So /nodes/<uuid>/states/power/<first ask uuid> will always be available17:05
max_lobureven if there were 10 tasks after the first17:05
devanandaso, guys - we're going waaay off into the weeds :)17:06
lucasagomesright17:06
lucasagomesmax_lobur, like a history?17:06
lucasagomesdevananda, heh yea sorry17:06
max_loburyea17:06
max_lobur:)17:06
lucasagomesmax_lobur, that could be useful yea17:06
lucasagomesmax_lobur, so you would know when each state change happened17:06
lucasagomesand when it finished, if it failed or not17:06
lucasagomesthat would be useful I think17:06
devanandabackgrounding long running operations solves a few problems which are causing deploys to fail _today_. and we can solve it fairly easily17:07
devanandacompletely changing our API (in a way that is unlike any other openstack service, and non-REST-ful) isn't going to solve those problems (we still will need backgrounded operations) and there's no time to get that into Icehouse17:08
lucasagomes+117:08
devanandaand, with backgrounded operations, there is other work that needs to be done to take advantage of the synchronous feedback17:08
devanandaeg the nova driver17:08
lucasagomesjust one note, that would be backgrouded17:08
lucasagomesjust diff way to trigger and track that17:08
devanandaneeds to understand NodeAlreadyLocked and retry17:08
devanandalucasagomes: right -- my point is, we still need to do backgrounding17:09
lucasagomesmaking each request to have it's own resource17:09
lucasagomesdevananda, +117:09
*** GheRivero has quit IRC17:09
devanandalucasagomes: so lets actually solve that :)17:09
max_loburdevananda, you asked RE: .but what about the space between booting the deploy ramdisk and when it calls back? ie the DEPLOYWAIT period in patch https://review.openstack.org/#/c/71297/17:09
max_lobursorry, I can't get how this relates to current discussion17:09
devanandaahh17:09
devanandamax_lobur: so, taskmanager lock is released between those two steps17:10
max_loburyup17:10
max_loburhow to prevent races?17:10
max_loburbetween those two calls17:10
devanandamax_lobur: ah, sorry. i was looking at https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/node.py#L16817:11
devanandamax_lobur: but you were looking at L17317:11
* lucasagomes a bit confused heh17:11
devanandamax_lobur: i think that's where the confusion is. I thought you meant, move L168 into conductor (which you didn't, right?)17:12
max_loburahh I got now17:12
max_loburyea17:12
max_loburhttps://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/node.py#L173-L18017:12
max_loburI meant another17:12
devanandak k17:12
devanandaso yes, L173 should be removed17:12
max_loburk, thanks17:12
max_loburthat's all I guess17:13
lucasagomesdevananda, deva, I will submit a new patch-set to the driver (including tests, few ones missing I plan to finish tomorrow)17:26
lucasagomesdevananda, can u mark it as WIP please?17:27
devanandalucasagomes: ack. thanks!17:27
*** GheRivero has joined #openstack-ironic17:27
lucasagomesdevananda, sent17:28
lucasagomeshttps://review.openstack.org/#/c/51328/1817:28
NobodyCamdevananda: not 100% sure thats what you were looking for but: https://review.openstack.org/#/c/71429 has mo tests? got a second for a quick poke17:32
devanandaNobodyCam: looking17:33
devanandaNobodyCam: whitespace error, pep's going t ocomplain17:33
NobodyCamgah17:33
NobodyCam:-p will fix17:34
devanandaNobodyCam: yep, the new tests look ilke they cover what i felt was missing. also, please add a description here https://review.openstack.org/#/c/71429/5/nova/scheduler/ironic_host_manager.py17:35
*** martyntaylor has quit IRC17:35
devanandaNobodyCam: those tests (larger|smaller_instance) are probably goign to raise eyebrows17:35
devanandawhich is fine -- the point of this HostManager is it just uses 100% of the node17:35
devanandabut it should document that :)17:36
lucasagomesdevananda, btw, did you try to setup ironic+devstack ? did it work?17:38
devanandalucasagomes: the instructions seemed to be missing some steps, i didn't get it to finish17:38
lucasagomesdevananda, hmm17:39
lucasagomesdevananda, u trying the guide 2? (nova + ironic)17:39
devanandaor rather, some of the steps for devstack+ironic seem to not apply to gude 217:39
devanandaguide17:39
lucasagomesack17:40
lucasagomesyea I still using the dnsmasq for pxe17:41
lucasagomesI gotta give neutron a go with the new patch u put up17:41
*** jcooley_ has quit IRC17:41
*** jcooley_ has joined #openstack-ironic17:42
devanandayea17:42
devanandathat was a chunk of the steps I skipped :)17:42
lucasagomesheh17:43
*** viktors has quit IRC17:47
*** shausy has joined #openstack-ironic17:50
*** aignatov_ is now known as aignatov17:53
*** john-n-seattle has quit IRC17:55
*** john-n-seattle has joined #openstack-ironic17:55
*** harlowja_away is now known as harlowja17:59
*** derekh has quit IRC18:02
lucasagomesok gotta run (I'm in the office)18:04
lucasagomesdevananda, NobodyCam max_lobur night!18:04
NobodyCamhave a good night lucasagomes18:04
*** lucasagomes has quit IRC18:04
*** matty_dubs|lunch is now known as matty_dubs18:10
NobodyCambrb18:18
*** jcooley_ has quit IRC18:21
*** GheRivero has quit IRC18:23
*** GheRivero has joined #openstack-ironic18:23
openstackgerritGhe Rivero proposed a change to openstack/ironic: Allow to tear-down a node waiting to be deployed  https://review.openstack.org/7129718:27
*** mdurnosvistov_ has joined #openstack-ironic18:33
NobodyCamwow TripleO queue hit 90 hours :(18:35
*** shausy has quit IRC18:35
GheRiverough. that's not good :/18:37
*** ndipanov is now known as ndipanov_gone18:37
NobodyCam:(18:39
*** igor has quit IRC18:40
*** igor has joined #openstack-ironic18:44
*** jcooley_ has joined #openstack-ironic18:58
matty_dubsdevananda: Are you working on https://bugs.launchpad.net/ironic/+bug/1260337 ? I think it got auto-assigned to you when you rebased a patch. Should I take and finish this up?19:01
devanandamatty_dubs: ah, nope, not working on it19:01
* matty_dubs will claim and finish19:02
NobodyCambrb ... /me makes a bagel!19:04
*** romcheg1 has joined #openstack-ironic19:04
*** romcheg1 is now known as romcheg_ltp19:04
*** epim has joined #openstack-ironic19:08
devanandahm, some doc links are broken19:17
devanandaprobably my fault, lol19:17
NobodyCam:-p19:17
openstackgerritMax Lobur proposed a change to openstack/ironic: Fix race condition when changing node states  https://review.openstack.org/6913519:20
openstackgerritDevananda van der Veen proposed a change to openstack/ironic: Fix broken doc links on the index page  https://review.openstack.org/7163219:23
NobodyCamOpen question: the ironic nova volume driver imports the libvirt utils lib, this is bad, we are useing just one function ( https://github.com/openstack/nova/blob/master/nova/virt/libvirt/utils.py#L55-L66 ) better to move that one function into a shared util file or jost copy it into our volume_driver file?19:24
max_loburg'night folks19:28
NobodyCamnight max_lobur !19:28
*** max_lobur is now known as max_lobur_afk19:30
*** russell_h has joined #openstack-ironic19:33
russell_hthe ironic docs make some mention of a deployment agent, is that implemented yet?19:35
*** jcooley_ has quit IRC19:35
*** jcooley_ has joined #openstack-ironic19:36
NobodyCamrussell_h: Like baremetal deploy helper?19:38
NobodyCamcan you point me to the doc?19:38
russell_hNobodyCam: http://docs.openstack.org/developer/ironic/dev/architecture.html19:39
russell_h"A Deployment Ramdisk or Deployment Agent, which provide control over the hardware which is not available remotely to the Conductor."19:39
NobodyCamahh19:39
NobodyCamI know there is a dib element for such19:40
NobodyCamhttps://github.com/openstack/diskimage-builder/tree/master/elements/deploy-ironic19:40
*** jcooley_ has quit IRC19:40
*** jcooley_ has joined #openstack-ironic19:41
russell_hoh, interseting19:41
NobodyCamthats basicly like the current baremetal deploy ramdisk19:41
russell_hso Ironic basically causes a box to PXE boot that ramdisk, which exports the root volume over iscsi19:41
russell_hthen Ironic mounts that volume to write out an image?19:41
NobodyCamjust like current nova bm19:41
*** wusWWW has joined #openstack-ironic19:41
NobodyCamwe also have other options that nova bm does not19:42
NobodyCamhowever19:42
NobodyCamthe pxe work is done here https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/pxe.py19:43
*** jcooley_ has quit IRC19:45
russell_hwhoa, wild19:47
russell_hdoes the vendor_passthru thing return a shell script to be evaluated on the host?19:47
NobodyCamit currently dose not, what would be evaluated in such a script19:48
russell_hhttps://github.com/openstack/diskimage-builder/blob/master/elements/deploy-ironic/init.d/80-deploy-ironic#L3919:48
russell_hI'm reading that as a way for a vendor to cause some code to run on a box, probably the actual vendor deploy thing happens19:49
russell_hthe 'eval' bit19:50
russell_hs/probably the/probably after the/19:50
*** jcooley_ has joined #openstack-ironic19:50
NobodyCamahh that becomes part of over are init.d script that does the actual exposing of the disk and such19:50
NobodyCamahh ya drivers other then pxe COULD do such things19:52
russell_hNobodyCam: ok, thats kind of neat, gotcha19:54
*** aignatov is now known as aignatov_19:56
*** jcooley_ has quit IRC19:56
*** jcooley_ has joined #openstack-ironic19:57
NobodyCamrussell_h: see https://github.com/openstack/diskimage-builder/blob/master/bin/disk-image-create to see how DIB creates its deploy ram disk19:57
* NobodyCam steps afk for a few minutes19:58
openstackgerritDevananda van der Veen proposed a change to openstack/ironic: Add notes to start ironic services in a local venv  https://review.openstack.org/7163820:01
devanandadavidlenwell: taht ^ is what you are looking for20:01
devanandarussell_h: so the ability for the driver to run arbitrary code in the ramdisk is, well, interesting, but risky.20:02
devanandarussell_h: something along those lines is needed to support firmware udpates etc. there is at least one open blueprint to that effect20:03
devanandarussell_h: but no support for it today20:03
davidlenwelldevananda:  might be .. i review in a bit .. have refstack meeting in 2 hours im prepping for20:03
NobodyCammorning davidlenwell :)20:09
NobodyCamdevananda: did you see my open question above?20:11
*** jcooley_ has quit IRC20:12
*** jcooley_ has joined #openstack-ironic20:12
*** mrda_away is now known as mrda20:22
mrdamorning all20:23
NobodyCammorning mrda20:28
mrdahey NobodyCam20:28
openstackgerritDevananda van der Veen proposed a change to openstack/ironic: Add testing and doc sections to docs/dev-quickstart  https://review.openstack.org/7163820:29
devanandaNobodyCam: mm,which one?20:29
devanandaNobodyCam: oh, about get_iscsi_initiator?20:31
devanandaNobodyCam: if that's the only thing we need libvirt/utils for -- then just copy it to ironic/utils or something20:31
NobodyCam:) cool hehehe20:31
devanandaNobodyCam: I thought the objection was w.r.t. the volume driver20:31
devanandaand iirc we use a lot of code from that20:31
NobodyCamwe have our onw VD file20:32
NobodyCamso was down to the libvirt import20:32
NobodyCamdevananda: see Daniel Berrange's comment on https://review.openstack.org/#/c/7102620:37
devanandayuck20:39
devanandai get his point, but ... jsut copying the libvirt vol driver code?20:39
devanandawe'll probably have to push on nova to refactor it out into a shared lib, it seems20:40
devanandahow do other hypervisors deal with this?20:40
NobodyCamnova bm imported the libvirt module20:40
NobodyCam:-p20:40
NobodyCamI can just copy the function and then start a patch to refactor libvirt/nova bm and Ironic to use a shared lib?20:42
NobodyCambrb quick walkies :-p20:44
openstackgerritMichael Davies proposed a change to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142520:48
openstackgerritMichael Davies proposed a change to openstack/ironic: Make the parameter order of assertEqual consistent  https://review.openstack.org/7148620:49
devanandaNobodyCam: see openstack-nova -- we should refactor to a common lib, eg. nova/virt/volume, or such20:50
devanandaNobodyCam: core agrees with daniel berrange -- no importing from /within/ another virt driver20:50
NobodyCamdevananda: one patch to do all refactor work or two (1) add common lib & (2) refactor virt drivers (with out looking) libvirt/nova bm / and Ironic20:54
devanandamrda: looks like a rebasing issue with 71486 has brought a bunch of app.AppError tests back in?20:55
devanandaNobodyCam: one patch to: add the method in common location, remove implementation from libvirt and nova/bm, and invoke the common lib in those two places20:57
devanandaNobodyCam: and one patch to add it for ironic20:57
NobodyCamdevananda: ack :)20:57
devanandaNobodyCam: mention in the refactor-existing-code patch's commit message why you're doing it, though :)20:57
NobodyCam:)20:58
NobodyCamyes20:58
devanandaGheRivero: 71297 is a draft. can you un-draft it? we can't vote21:07
devanandafwiw, there's almost never a good time to use a draft21:07
mrdadevananda: yeah I saw that re: review 71486.  Once I can work out how to fix I'll upload new patches21:08
mrdaI'd rather not do it by hand :)21:09
devanandamrda: indeed!21:09
devanandamrda: fwiw the first one is probably going to merge soon21:09
*** athomas has joined #openstack-ironic21:09
devanandadunno if that helps or makes it worse21:10
mrdadevananda: cool, thnx21:10
devanandaafk for a lil while21:24
*** jcooley_ has quit IRC21:28
openstackgerritA change was merged to openstack/ironic: Return correct HTTP response codes for create ops  https://review.openstack.org/7142521:29
*** jcooley_ has joined #openstack-ironic21:29
GheRiverodevananda: ups. I didn't intend to made it a draft. Done21:41
*** epim has quit IRC22:01
*** epim has joined #openstack-ironic22:03
*** jbjohnso has quit IRC22:17
*** jdob has quit IRC22:23
*** epim has quit IRC22:26
*** epim has joined #openstack-ironic22:27
NobodyCambrb22:46
*** mdurnosvistov_ has quit IRC22:49
openstackgerritMichael Davies proposed a change to openstack/ironic: Make the parameter order of assertEqual consistent  https://review.openstack.org/7148622:55
openstackgerritMichael Davies proposed a change to openstack/ironic: Make the parameter order of assertEqual consistent  https://review.openstack.org/7148622:56
openstackgerritA change was merged to openstack/ironic: Fix broken doc links on the index page  https://review.openstack.org/7163223:00
*** epim has quit IRC23:04
*** matty_dubs is now known as matty_dubs|gone23:08
*** epim has joined #openstack-ironic23:09
*** romcheg_ltp has quit IRC23:26
openstackgerritA change was merged to openstack/ironic: Fix log and test for NeutronAPI.update_port_dhcp_opts  https://review.openstack.org/7109423:32
NobodyCambrb... walkies23:54

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