Earlier  
Posted Nick Remark
#openstack-nova - 2018-10-18
08:28:59 Kevin_Zheng OK, I got your point
08:29:30 gibi Kevin_Zheng: I can inform the user properly in half of the cases :/
08:30:47 Kevin_Zheng Hmm, but maybe it will still be miss leading, as an user, I can see that I still have resources in the cloud
08:30:56 gibi Kevin_Zheng: this is basically a chiken-and-egg problem. The need of complex allocation on the destination can only be detected in every case if placement a_c is called. But force flag is defined in a way that it forbids calling the scheduler and placement
08:30:58 Kevin_Zheng but you tell me that there is no valid host?
08:31:29 gibi Kevin_Zheng: only if you specify the force flag
08:31:39 gibi Kevin_Zheng: the root of the problem is the definition of the force flag
08:32:21 gibi Kevin_Zheng: it forces (sic) nova to decide without the scheduler. But when we introduced placement in the picture nova lost the possibility to decide without consulting placement
08:33:17 Kevin_Zheng Hmm, there is a log, but the logs may only be available for ``operators``, if we had ``admins`` that can use force flag, this might still be confusing?
08:34:14 gibi Kevin_Zheng: there is no specific log in case #2. In case #2 nova tries to blind copy the flat soruce allocation to the dest but on the dest the root RP does not have enough resources therefore it is a NoValidHost
08:35:05 gibi Kevin_Zheng: it is indistinguishable from the case when the dest would allow flat alloaction but we run out of resources on the dest
08:35:10 Kevin_Zheng Hmm, thats true
08:35:29 Kevin_Zheng Ok, I'm convienced
08:35:31 Kevin_Zheng :)
08:39:38 gibi Kevin_Zheng: I understand that it is not a good situation from the user perspective. But force flag cannot be supproted any more as it is defined today. This is why I proposed to remove that flag in the future
08:41:16 Kevin_Zheng yes, I understand, but I think it might be very widely used for admins, as you mentioned, it has already been discussed, and it is free to propose better solutions, I think I will try to dig deeper.
08:44:19 gibi Kevin_Zheng: in the ML post I tried to give alternatives http://lists.openstack.org/pipermail/openstack-dev/2018-October/135551.html
08:44:55 gibi Kevin_Zheng: option #D) would be one way out but that would be bad from other perspective (inconsisten resource allocation)
09:04:49 sean-k-mooney o/
09:25:36 jangutter sean-k-mooney: in your absence, it was discovered that random failures in the gate uncovered a bug: https://review.openstack.org/#/c/611017
09:31:41 sean-k-mooney jangutter: oh looking
09:32:28 sean-k-mooney jangutter: am.. that should not chage anything
09:32:58 sean-k-mooney the real code check that its sys.platform != 'nt'
09:33:17 sean-k-mooney what you call the linux one has no effect on the code
09:34:01 sean-k-mooney although may be im think of os.name
09:35:12 sean-k-mooney oh i see the bug...
09:35:38 jangutter sean-k-mooney: yeah, it basically turned the gate into a handy fuzzer.
09:35:51 sean-k-mooney ya ill quick approve that. its not the first time i have seen people assign directly to a module before and override things
09:36:53 jangutter sean-k-mooney: the follow-on is a bit hinky, not sure what hyperv should do: does it need to delete anything, or is it just a handle that disappears when the port gets deleted?
09:37:02 sean-k-mooney jangutter: ya there was anothter patch in the past where someone on my team assigned a mock to a module then then sepnt a day trying to figure out why random test were failing
09:38:17 jangutter sean-k-mooney: I hit the trifecta, I triggered this randomly on macos, where the error appeared to say: you can't run this linux command on Windows!
09:38:56 sean-k-mooney jangutter: well osx is not supported at all but ill ignore that
09:39:49 sean-k-mooney so on the delete port thing i was personally thinking of removeing that call from the ovs-lib
09:40:38 sean-k-mooney jangutter: that said there is a delete_netdev flag so im ok with you patch as is for now
09:41:24 jangutter sean-k-mooney: yah, you know anyone on hyperv able to tell if it's the right thing to do (tm)?
09:41:25 sean-k-mooney i do not really like the depency that delete_netdev adds between ovsdb module and linux_networking
09:41:56 sean-k-mooney jangutter: well iptools and pyroute2 do not work on windows so i would think its correct :)
09:42:02 sean-k-mooney eg your change
09:42:55 jangutter sean-k-mooney: yeah, i also would like it if the ovsdb lib would be "thinner" and just do ovsdb things.
09:43:12 sean-k-mooney jangutter: that is what it is ment to do
09:43:38 sean-k-mooney other then this one call to delete the nedev device i dont think it does more today
09:43:55 jangutter sean-k-mooney: the set mtu thingy too.
09:44:09 sean-k-mooney well that is tricky but we can split it
09:44:20 sean-k-mooney for vhost user that has to be done via the ovsdb
09:45:34 sean-k-mooney i have no issue with making it explict per vif type however and invoking it in the ovs.py file
09:45:44 jangutter sean-k-mooney: yep, any abstraction eventually becomes leaky. a working fix is better than a perfect fix that's never implemented.
09:46:14 sean-k-mooney ideally the ovsdb module should be cross plathform
09:46:43 jangutter sean-k-mooney: and pushing out the complexity towards the plugin "feels" right in my opinion.
09:47:29 sean-k-mooney jangutter: so on a related topic. i want to improve the testing in os-vif. i will hopefully get around to adding a linux bridge job and mayboe an ovs-iptables job or ovn.
09:48:29 sean-k-mooney we talked in the past about a agilo ovs ci do you have one running on your plugin?
09:49:17 sean-k-mooney if so it might be nice to trigger it on a restited set of os-vif files also
09:49:26 jangutter sean-k-mooney: heh, in theory yes, in practice it's been busted for ages.
09:49:37 sean-k-mooney ok :)
09:50:02 jangutter sean-k-mooney: (on expanding the tests, is this more or less in the right direction for "future os-vif"? https://review.openstack.org/#/c/610636/ )
09:54:40 sean-k-mooney i was just opening that :)
09:57:48 sean-k-mooney jangutter: so one change to that interface that i think we will need to do is be able to pass in the tree and then filter it
09:58:31 jangutter sean-k-mooney: you mean something like https://github.com/openstack/nova/blob/kilo-eol/nova/objects/instance.py#L257
09:59:00 sean-k-mooney no
09:59:43 jangutter sean-k-mooney: ah, I see what you mean. Rather than self-editing the object, return a new one with the filtered fields?
10:00:23 sean-k-mooney yes or rather host_info would retrun an unfiltered tree and then we would have a sperate filter function
10:01:03 sean-k-mooney the reason for this is i think we will want to have nova call host info and then filter by what the hypervior can support then serialser it and send it to neutron
10:01:09 jangutter sean-k-mooney: I had the same thought, it feels dirty to self-edit.
10:01:39 sean-k-mooney then neutron will want to filter it again and select a vif type from what is left
10:01:53 jangutter sean-k-mooney: filter should be a static function, not a member function.
10:03:25 sean-k-mooney ya proably it could be a class function that take steh tree as the second argument but a static fucntion would work just as well
10:03:28 openstackgerrit Takashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (3) https://review.openstack.org/574104
10:03:47 openstackgerrit Takashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (4) https://review.openstack.org/574106
10:04:02 openstackgerrit Takashi NATSUME proposed openstack/nova master: Remove mox in unit/network/test_neutronv2.py (5) https://review.openstack.org/574110
10:05:15 jangutter sean-k-mooney: cool, will refactor the refilter.
10:06:12 sean-k-mooney :) cool the main issue is this part of the api was actully just a poc that was cerated without really thinking about how it would be used
10:09:28 jangutter sean-k-mooney: yep, and I realised while doing Jay's proposal for the offload metadata that if I don't work on this, it's going to result in another poor idiot thinking about this later.
10:12:09 sean-k-mooney jangutter: ya so this is all laying the ground work for doing the negciation likely in T
10:12:44 sean-k-mooney we could try and start it in Stein but i think that would be too tight to get the nova and neutron work done also
10:29:46 openstackgerrit Takashi NATSUME proposed openstack/nova master: Use oslo_db.sqlalchemy.test_fixtures https://review.openstack.org/609352
11:36:01 pooja_jadhav hi team, I have some doubt in the https://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_simple_tenant_usage.py#L135-L143.. In this they are trying to create 10 instances but when I have debug the code, I can see 20 istances. (1 instances repeated again). Can anyone guide me for the same?
11:54:03 openstackgerrit Martin Midolesov proposed openstack/nova master: Implementing graceful shutdown. https://review.openstack.org/608704
12:23:31 pooja_jadhav sean-k-mooney: Hi
12:23:49 sean-k-mooney jangutter: fyi your patch is still in the gate which is why the next patach has the -2 since its not merged yet
12:23:53 sean-k-mooney pooja_jadhav: hi
12:24:33 pooja_jadhav sean-k-mooney: I have some doubt in the https://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_simple_tenant_usage.py#L135-L143.. In this they are trying to create 10 instances but when I have debug the code, I can see 20 instances. (1 instances repeated again). Can you guide me for the same?
12:26:51 jangutter sean-k-mooney: I tried looking for any os-vif patches in the gate and it seemed to have silently disappeared.
12:27:07 sean-k-mooney looking at it. depending on what _fake_instance does it looks like this should create tenahts*servers fake instance objecst
12:27:55 sean-k-mooney jangutter: ok well its there now http://zuul.openstack.org/status if you put 611017 in the filter
12:28:26 sean-k-mooney sometimes it takes a minute for it to post back after it leaves the queue
12:29:32 sean-k-mooney pooja_jadhav: was there somthing in partcaller that you were confusted by regarding https://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_simple_tenant_usage.py#L135-L143
12:31:24 pooja_jadhav sean-k-mooney: sorry, I am not getting what u mean to say
12:32:09 sean-k-mooney pooja_jadhav: https://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_simple_tenant_usage.py#L136-L143 is is construcint an InstanceList by initalisint the objects filed with a list comprehention
12:32:59 sean-k-mooney it is first calulating a rag by multipliying tenants by server then for each x in that range it is calling _fake_instance
12:33:07 pooja_jadhav sean-k-mooney: the issue i am facing like, I am creating 2 instances then in the simple tenant usage api should give me usgaes for that 2 instances only. but I can see 4 instance instead
12:34:01 pooja_jadhav correct
12:34:34 pooja_jadhav SERVERS = 5 and TENANTS = 2 (it should create 10 instances)
12:34:39 sean-k-mooney TENANTS and SERVERS are not paramaters to the function
12:34:41 pooja_jadhav correct?
12:34:43 sean-k-mooney yes
12:35:07 pooja_jadhav but when I see the instanceList, in that I can see 20 instances
12:35:25 pooja_jadhav 1 instance is repeating again (twice)
12:35:37 pooja_jadhav for the existing test cases only
12:36:04 sean-k-mooney can yo point me to a failing test?
12:36:18 pooja_jadhav test is not failing right now
12:36:36 pooja_jadhav actually, I am writting new test for simple tenant usage api for my fix

Earlier   Later