Thursday, 2013-12-19

*** chandankumar has joined #openstack-climate05:02
openstackgerritNikolay Starodubtsev proposed a change to stackforge/climate: Implement keystone trust support  https://review.openstack.org/4800205:50
openstackgerritNikolay Starodubtsev proposed a change to stackforge/climate: Add utils to work with openstack components  https://review.openstack.org/5229605:50
openstackgerritNikolay Starodubtsev proposed a change to stackforge/climate: Implement basic plugin for VM management  https://review.openstack.org/4914205:50
Nikolay_Stbauzas: I see your comments to my previous patchsets05:50
Nikolay_Stbauzas: I'll fix them in ongoing patchsets05:50
Nikolay_Stbauzas: today and tomorrow, I think05:51
bauzasNikolay_St: okay08:14
bauzasNikolay_St: sorry, had no time for reviewing previously, and missed these points08:14
Nikolay_Stbauzas: it's okay - we are all humans :D08:19
Nikolay_Stbauzas: well08:20
Nikolay_Stbauzas: I find some interesting about nova and keystone client08:20
bauzassure08:21
Nikolay_Stwe can send to keystone-client version08:21
Nikolay_Stbut we can't do it with novaclient - it's hardcoded in novaclient/client.py as self.version = '1.1'08:21
bauzaswell, take a look at the Reservation Pool code08:22
Nikolay_Stokay.08:22
bauzaswe do choose which client version directly08:22
Nikolay_Stokay, I'll look at it08:22
bauzasusing Client('2', **kwargs)08:22
bauzasand Keystone does the same wau08:23
bauzasway08:23
Nikolay_Styeap08:41
Nikolay_StI see08:41
Nikolay_Stwhen did your holidays start?08:42
Nikolay_Stbauzas: when did your holidays start?08:42
bauzasNikolay_St: tomorrow EOB08:50
bauzasuntil 4rd of Jan08:50
bauzas4th08:50
Nikolay_Stbauzas: so, I remeber properly08:50
bauzas2 weeks long08:51
Nikolay_Styeap I get it08:51
Nikolay_Stbauzas: I'll try to fix as much as possible today, except unittestt and mark my patchsets as WIP08:52
bauzassure08:52
Nikolay_Stso08:52
bauzaswill try to take some time reviewing08:52
bauzasif I can mix it with family matters :)08:52
Nikolay_StI have one more comment about your general comment about utils/nova.py08:53
bauzasok, looking08:53
bauzasstill fighting with the gate about Policies' patch08:53
Nikolay_Stso, I want to say that it's not very good to use it only with servers.08:53
Nikolay_StI see you use nova_client with aggregates, etc.08:54
bauzasyup08:54
bauzasas said, I think __getattr_ can help us08:54
Nikolay_Stso, it'll be better to move it to utils/nova as soon as they will be okay08:54
Nikolay_Sthm08:54
bauzassorry, can't get your point08:56
bauzasbtw, how do you do for filtering out when s/o is replying to your review comments  ?08:57
bauzasbecause I'm flooded with all notifications, and I'm missing the key comments you do when replying to my review08:57
bauzasso, about the comment08:59
bauzasthere are 2 options08:59
bauzaseither we spawn one client per Nova submodule08:59
bauzasthat's not great I admin08:59
bauzasadmit08:59
bauzasor we find some way to get the call08:59
bauzashold on, I'll give you some examples09:01
Nikolay_Styeap09:04
Nikolay_StI think I can't get it finally09:04
bauzashttp://paste.openstack.org/show/55463/09:23
bauzashere is one way to do this09:23
bauzasof couse, you need to catch AttributeError and so on...09:23
bauzaswell, the class is named HypervisorManager, but you get the point09:25
bauzasNikolay_St: I got you the code :09:43
bauzashttp://paste.openstack.org/show/55466/09:43
*** f_rossigneux has joined #openstack-climate09:44
bauzasNikolay_St: I updated the comment with the proposal09:45
Nikolay_Stbauzas: I've discussed this with Yuriy and we think that the good thing is to generate clients in utils.09:55
Nikolay_Stbauzas: Nothing more09:55
bauzasyup09:55
Nikolay_Stwhat do you think about it?09:55
bauzasbut as said, my concern is to have kind of catch-all method09:56
bauzasI mean, I'm ok with creating the client in __init__09:56
bauzasi'm also ok with some extra methods we could write09:56
bauzasbut I don't want to look at the code for knowing which methods I can use, and which are not yet wrapped09:57
bauzasthat's why I proposed adding a catch-all __getattr__09:57
bauzasso your code would stick at it is09:58
bauzasbut for the methods only doing a call to Nova, they would be mutualized in __getattr__09:58
bauzasyou got the idea ?09:58
bauzasNikolay_St: look at my pastie : http://paste.openstack.org/show/55466/09:59
bauzasyou can add as many methods as you want provided they would have added value09:59
bauzasand for others, that would only be a wrapper to the current nova methods09:59
bauzashttps://review.openstack.org/#/c/52296/16/climate/utils/openstack/nova.py10:01
bauzasNikolay_St: .get() and suspend() can be factorized10:01
bauzasNikolay_St: into __getattr__()10:01
bauzasand I don't need to patch this for adding hypervisors support10:02
bauzasmaybe Yuriy could join us ?10:02
*** SergeyLukjanov has joined #openstack-climate10:03
*** DinaBelova has joined #openstack-climate10:04
DinaBelovao/10:06
bauzaso/10:07
bauzasfyi, I'm fighting with Jenkisn10:07
bauzasJenkins 1 vs. Sylvain 010:07
bauzasPolicies CR makes me mad10:08
DinaBelovaI believe you'll defeat it :)10:08
bauzashope so10:09
bauzassooooo time consuming10:09
bauzasI would love having my own Jenkins slave10:10
bauzasfor debugging10:10
Nikolay_Stok, sounds good10:14
Nikolay_StI'll ask him, but he is on meeting now10:15
*** f_rossigneux has quit IRC10:19
*** DinaBelova has quit IRC10:30
*** DinaBelova has joined #openstack-climate10:30
*** f_rossigneux has joined #openstack-climate10:31
openstackgerritSylvain Bauza proposed a change to stackforge/climate: Policy management for Climate  https://review.openstack.org/5720010:34
openstackgerritFrançois Rossigneux proposed a change to stackforge/climate: Physical host reservation  https://review.openstack.org/5428510:37
DinaBelovabauzas, you here?10:39
bauzasyup10:39
DinaBelovaI just spoke with Nick10:39
DinaBelovaabout clients and their versions10:39
bauzassure10:40
DinaBelovaI mean your dialog10:40
DinaBelovaSo I've got some conserns here10:40
DinaBelova1/ As I see https://github.com/stackforge/climate/blob/master/climate/plugins/oshosts/reservation_pool.py - here you add 2 version10:40
DinaBelovato the nova client10:40
DinaBelovaAnd I'm really sorry I did not notice that before10:41
bauzasyep ?10:41
bauzasany issue with ?10:41
DinaBelovabecause that actually does nothing speaking about version10:41
bauzas?10:42
DinaBelovaSee python-novaclient / novaclient / client.py10:42
bauzasyup, I'm in10:42
DinaBelovaSo here line 6610:42
DinaBelovaself.version = 'v1.1'10:42
DinaBelovaYou just do nothing10:42
DinaBelovaby passing 210:42
DinaBelovamoreother10:42
DinaBelovathere is no v2 client10:43
bauzasok, lemme check :)10:43
DinaBelovaonly 1_1 and 310:43
DinaBelovaand 3 is not about us10:43
bauzasI'm checking on trunk10:43
DinaBelovabecause it's functionality is included to 1_110:43
DinaBelovawe have no even opportunity to use anything else but 1_110:44
DinaBelovaof course, that worked10:44
DinaBelovathe lines you've written10:44
DinaBelovabut they use 1_1 :)10:44
bauzashttps://github.com/openstack/python-novaclient/blob/master/novaclient/client.py#L46410:44
DinaBelovaand as you see10:45
DinaBelova        '1.1': 'novaclient.v1_1.client.Client',10:45
DinaBelova        '2': 'novaclient.v1_1.client.Client',10:45
DinaBelova:)10:45
bauzasyup10:45
bauzasah, you mean we should stick asking for 1.1 ?10:45
bauzasinstead of 2 ?10:45
DinaBelovayes, something about that10:45
DinaBelovaAlso10:45
bauzaswell, as per I see with other projects, they are asking for version 2, even if it's 1.110:46
DinaBelovaI mean we have no variant here10:46
DinaBelovaDo you see any reason for doing that?10:46
bauzaswe could ask for version 310:46
DinaBelovaNo-no10:46
DinaBelovaThat won't work10:46
DinaBelovav3 works anly with hosts, agents and something else10:47
DinaBelovaaggreagates and so on are in 1_110:47
DinaBelovaI just think we may want to have transparency here10:47
DinaBelovawe actually use v1_110:47
DinaBelovabecause there is no 2, really10:47
bauzasok, got your point, but I think something can be done10:47
bauzaslemme summarize10:48
DinaBelovasure10:48
bauzas1. there are various client versions with different params10:48
bauzas2. each version can only support some methods10:48
DinaBelovayep10:48
bauzas3. we need to be as generic as possible10:48
bauzasso, here is what I propose :10:49
DinaBelovaI'm not speaking about removing all you suggested :) Nick will implement that10:49
DinaBelova:)10:49
DinaBelovaI just say, that we should keep in mind what do we actually use10:49
bauzas1. define init method for Nick's client using *args and **kwargs, and passing them to the nova client10:49
bauzas2. make sure the __getattr__ method will raise AttributeNotFound if the method is not implemented10:50
bauzas3. do the wrapper having a version param, as for they do in Novaclient10:50
bauzasI mean, Nick's wrapper is great if we need to override with extra stuff methods10:51
bauzasand also for having one single point of defining our interfaces with Nova10:51
DinaBelovabauzas, agree with you10:51
DinaBelovaI just propose to use 1_1 client for Nova10:51
DinaBelovaand 3 for Keystone10:52
DinaBelovaby default10:52
DinaBelovabecause for Nova it's actually the thing we need10:52
DinaBelovaand for Keystone v3 does everything v2 does10:52
DinaBelovabut also uses trusts, projects (not tenants), etc.10:52
bauzasby default, you mean we won't accept other version in the client, or if not asked for, it will be the version to use ?10:53
DinaBelova if not asked for, it will be the version to use10:53
bauzasoh ok, of course !10:53
bauzas:)10:53
DinaBelovaBecause now I see v2 for Nova in our code, that's not transparent, really...10:53
bauzasI was just saying the client should *not* directly import the v1_1 class for Novaclient but rather use the client inteface10:54
bauzaswhich can be passed a version param10:54
DinaBelovaok, sure10:54
DinaBelovaAnd for Keystone I thought you'd like to have 2 version10:54
DinaBelovaby default10:54
DinaBelovaAm I wrong?10:54
DinaBelovaBecause I belive 3 is better here...10:54
DinaBelovabelieve***10:54
bauzaswell, again, I'm just saying we should implement the possibilty to use Nick's wrapper with different Keystone/Nova versions10:55
DinaBelovaBecause it actually is the same as 2, but better :)10:55
bauzasI'm OK with Keystone 3 and Nova 210:55
bauzasas default values for the parameter10:55
DinaBelovaNova 2?10:55
DinaBelovaOr 1_1? :)10:55
bauzas:)10:55
bauzasif you look at other projects, they do use nova 2 :)10:55
DinaBelovathat looks like a smiley: 1_110:55
bauzas^-^10:55
bauzaseven if nova 2 == 1_1 :D10:56
DinaBelovaOk, I got your point10:56
bauzasinternally10:56
bauzasok, that's great10:56
DinaBelovamaybe we should follow other projects moves here10:56
bauzasonce Nick's patch is release, I will amend reservation pool and nova_inventory10:56
DinaBelovaalthough using 2 that is 1_1 seems strange and not really transparet for me10:57
DinaBelovabauzas, great!10:57
DinaBelovajust wanted to ask you :)10:57
bauzasoh btw, could you please offer me a Christmas gift ? :D10:57
DinaBelovapolicy review? :)10:58
bauzasif the Manager review sounds good to you... click on +2/A :D10:58
DinaBelova:D10:58
DinaBelovaho-ho-ho :)10:58
bauzaswell, a Policy Test Case is frightening me10:58
bauzascan't understand what's wrong10:58
bauzasthis testcase is pretty simple10:59
bauzasonly checking that if a file's mtime changes, it has to reload policies10:59
bauzasit works like a charm on my desktop10:59
bauzasbut sounds like time.sleep() is not working on Jenkins10:59
DinaBelovaI'm Santa Claus :) https://review.openstack.org/#/c/53840/11:00
DinaBelovammm11:00
bauzasoh dear !11:00
bauzaswell, I was planning to accept a few reviews :D11:00
bauzasmaybe it's also time for you to receive gifts... :)11:00
bauzasas plural :)11:00
DinaBelova:D11:00
DinaBelovaI just think that now I can find nothing in your code :)11:01
DinaBelovaIf there will be errors, let's just file bugs and fix them11:01
DinaBelovaI can see nothing now11:01
DinaBelovathat make me feel somehow wrong about your manager :)11:01
bauzasfor sure11:02
bauzaswell, do you have any ideas why time.sleep() wouldn't work on Jenkins ?11:03
bauzasmaybe because it's threaded ?11:03
bauzasshall I use eventlet.sleep() ?11:03
DinaBelovaI'm just thinking about that11:03
bauzashttps://review.openstack.org/#/c/57200/24/climate/tests/test_policy.py L54711:03
bauzasL5711:04
DinaBelovabut I cannot find that moment in logs11:04
DinaBelovaoh11:04
DinaBelovathanks11:04
DinaBelovahttp://logs.openstack.org/00/57200/23/check/gate-climate-python27/335857e/console.html11:04
DinaBelovaI'm looking here11:04
bauzasyep11:04
DinaBelovaBut I see  OperationalError: (OperationalError) unable to open database file None None11:04
bauzasI was having this error typically because the file is changed so quickly that mtimes are identical11:04
DinaBelovaWhy are you thinkind that's about time.sleep?11:04
bauzasbecause of the real failure11:05
DinaBelovaoh, got it11:05
bauzasthe test is failing because the assertion is incorrect11:05
DinaBelovaso you thing that's because we have no sleeps here?11:05
bauzasit should raise True11:05
bauzaswell, that's something I recently changed11:05
bauzasI was forcing to reload policies each time there was a call to enforce()11:05
bauzasso that worked11:06
bauzasnow, I made something better11:06
bauzasI removed the call to reload policies11:06
bauzasbecause the call was already made in the olso code11:06
bauzasthe main difference in the oslo code is that the enforcer is checking mtime of policy.json to know if it has to reload the file11:07
DinaBelovaok, got it11:07
bauzasso, that's why I need to simulate a pause11:07
bauzasthe pause can be .01 secs, that's enough11:07
DinaBelovathat's quite strange, really11:07
DinaBelovai mean11:07
bauzasas mtime is giving time in 1/10 msecs11:07
bauzasyup11:08
bauzasas said, I would be time.sleeep() is not working11:08
bauzasbut I don't want to instrument the code11:08
bauzaswell, I think I will get rid of the test11:09
bauzasbecause I'm testing something which is now in Olso11:09
bauzasOlo11:09
bauzasOslo11:09
bauzasit was needed to be checked provided I was explicitely saying to reload the file11:09
bauzasnow that's oslo thing11:10
DinaBelovatests are running in parallel now, I think time should work ok here11:10
DinaBelovathat's strange11:10
DinaBelovait is not11:10
DinaBelovaSylvain, just one question here11:14
DinaBelovaoh, not11:15
DinaBelovanothing11:15
openstackgerritSylvain Bauza proposed a change to stackforge/climate: Policy management for Climate  https://review.openstack.org/5720011:19
DinaBelovaDo you want to check if tests removal will help?11:20
openstackgerritA change was merged to stackforge/climate: Add Host Reservation Admin Manager  https://review.openstack.org/5384011:24
bauzaswell, removing the test helps11:36
bauzasthat's normal11:36
bauzasit only fails on that piece11:36
bauzasand again, there is no sense leaving the test11:36
DinaBelovaI think test should be there... It's important I believe... I really don't like the fact it's failing, but we should find reason for that...11:39
bauzaswell, look at the test I removed11:42
bauzasI was physically writing a file11:42
bauzasreading it11:42
bauzasthen asserting something11:43
bauzasthen rewriting the file11:43
bauzasthen asserting again11:43
DinaBelovaMany tests look like that :D11:43
bauzasyup11:43
bauzasbut as said, I was then only testing the automatic reload capability11:43
bauzaswhich is not some code I wrote11:43
bauzasbut rather coming from the olso enforce method11:44
DinaBelovaOk, let's just remove that11:44
DinaBelovaalso there are pep8 errors because of imports11:44
bauzasI agree this is not 100% perfect thou11:44
bauzasoh shit...11:44
DinaBelovayou used for that test11:44
bauzasdear11:44
DinaBelovathey are still there :)11:44
bauzasthat's typically when I'm doing craps11:45
bauzas...11:45
DinaBelovaAs many of us :D11:45
DinaBelovaAlso I would like to mention11:45
DinaBelovaI'm about to finish Nova extensions needed for instance reserving11:46
DinaBelovaThrough Nova API11:46
bauzasoh cool11:46
bauzasthat's something I thought about11:46
bauzasI saw your POC11:46
DinaBelovaI'd like to publish review for them in climate-nova11:46
DinaBelovaas we have such repo now :)11:46
bauzasbut I was just thing "why just not add an Nova extension ?"11:46
DinaBelovaBecause it was there, really11:46
DinaBelovathat time (without shelved ones) it was impossible to miss that core changes..11:47
bauzasthat's something unclear11:47
DinaBelovanow it is :)11:47
bauzashow do you plan to hook the thing with Nova then ?11:47
bauzaswhen the user wanna boot ?11:47
DinaBelovaOnly with extensions now - we'll pass just simple hints there11:47
DinaBelovaIf user wants to boot he/she just boots11:48
DinaBelovaif wants to reserve - passes sevaral reservation hints11:48
DinaBelovaand that's it11:48
bauzasoh ok11:48
bauzasas for the physical host reservation thing :p11:48
DinaBelovanothing heavy or something :)11:48
bauzasso, what have you patched ?11:49
bauzasthe nova client ?11:49
bauzasor does it accept kinda hints ?11:49
DinaBelovaNo, only new extension11:49
DinaBelovathere are scheduler_hints11:49
DinaBelovathat may be passed thru nova API11:49
bauzassure we all know:D11:49
DinaBelovaand we may use them in different ways11:49
bauzasok so you created a ClimateFilter ?11:50
DinaBelovano, API extension11:50
bauzasok, enough questions, will see directly :p11:50
DinaBelovaok11:51
bauzasbecause we need to implement our own Filter11:51
bauzasatm, with 0.1, you will have possibility to boot VMs using the AZ name of the pool11:51
bauzasbut if you don't specify nothing, a VM could be scheduled on some host in a dedicated pool (even freepool)11:52
bauzas:D11:52
bauzasso we need to write a filter for this11:52
bauzasin order to deny all freepool and user pools11:52
bauzasunless it's a request using the scheduler hint11:52
DinaBelovabauzas, sure, as I saw on all your proposals :)11:52
DinaBelovaThat looks nice11:52
bauzasso, that's cool that you're passing a scheduler hint for virtual leases too11:53
bauzaswe're having kinda same interfaces for requests11:53
bauzaseven if that's not related to the same things11:53
openstackgerritSylvain Bauza proposed a change to stackforge/climate: Policy management for Climate  https://review.openstack.org/5720011:56
openstackgerritNikolay Starodubtsev proposed a change to stackforge/climate: Add utils to work with openstack components  https://review.openstack.org/5229612:01
bauzasfolks, I won't be able to attend the 2 next weekly meetings12:43
bauzaswill you be back on 6th Jan ?12:44
bauzasI'm opening a discussion12:44
bauzasinto ML12:44
*** ChanServ sets mode: +o bauzas12:45
*** bauzas changes topic to "Weekly meetings suspended for the next two weeks until 6th Jan'14"12:46
bauzasI changed the topic name, let's discuss this by email12:46
openstackgerritFrançois Rossigneux proposed a change to stackforge/climate: Physical host reservation  https://review.openstack.org/5428513:12
*** chandankumar_ has joined #openstack-climate13:44
*** chandankumar_ has quit IRC13:44
*** chandankumar has quit IRC14:06
SergeyLukjanovfyi http://lists.openstack.org/pipermail/openstack-dev/2013-December/022734.html14:10
*** openstack has joined #openstack-climate14:49
*** DinaBelova has quit IRC15:07
*** DinaBelova has joined #openstack-climate15:12
*** DinaBelova has quit IRC15:22
*** DinaBelova has joined #openstack-climate15:41
*** SergeyLukjanov has quit IRC15:56
*** DinaBelova has quit IRC16:03
*** SergeyLukjanov has joined #openstack-climate16:38
*** YorikSar has joined #openstack-climate16:51
*** SergeyLukjanov is now known as _SergeyLukjanov17:03
*** _SergeyLukjanov has quit IRC17:04
*** SergeyLukjanov has joined #openstack-climate17:07
*** DinaBelova has joined #openstack-climate17:45
DinaBelovabauzas, I see you've proposed your candidacy :)17:54
DinaBelovaMe next :D17:54
*** DinaBelova has quit IRC18:16
*** f_rossigneux has quit IRC18:30
*** scroiset_ has joined #openstack-climate19:42
*** scroiset has quit IRC19:42
*** DinaBelova has joined #openstack-climate20:48
*** DinaBelova has quit IRC20:52
*** SergeyLukjanov has quit IRC21:46

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