Earlier  
Posted Nick Remark
#openstack-nova - 2020-05-13
10:56:34 gibi OK
11:06:06 gibi sean-k-mooney: also it would be nice to check brinzhang_ and the cyborg team about supporting other server operations with cyborg in V. I assume they would like to continue that work so you can join forces
11:08:38 brinzhang_ gibi, sean-k-mooney: if you have some idea that you can add that in https://etherpad.opendev.org/p/cyborg-victoria-goals, that will be discuss in PTG
11:08:42 sean-k-mooney gibi: ya maybe. honestly i dont think its that much work to make it work. its a littel non tivaial but it can be done iteritivly
11:09:23 gibi sean-k-mooney: sure, I'm not talking about evac specially, but all the missing / unsupported server operation in general.
11:09:45 sean-k-mooney brinzhang_: well it was more just completeing the list here https://review.opendev.org/#/c/715326/10/api-guide/source/accelerator-support.rst
11:09:51 huaqiang hi, I have a question I wonder if anyone can give me some comment or deliver a conclusion directly. Does it tolerate to loose some information in a process of 'versioned_object.obj_to_primitive'? especially generating a primitive dict in a lower version number.
11:10:01 sean-k-mooney everything except for live migrate should be doable
11:11:31 sean-k-mooney gibi: ya i was originally planning to submit a patch for each of them im unst unlikely to have time to do that this cycle. that said i might work on it on and off this cycle.
11:11:53 brinzhang_ sean-k-mooney, gibi: yeah, in accelerator-support.rst marked unsuport all need to be consider to support, as sean-k-mooney said except for live migrate
11:12:22 sean-k-mooney brinzhang_: suspend/resume and shelve/unshelve should be fairly simple to do
11:12:42 gibi brinzhang_: do you or the cyborg team will have bandwidth during V to work on adding support for the missing operations?
11:12:45 sean-k-mooney resize/coldmigreate needs a little more work but they are effectvly the same operation
11:13:30 brinzhang_ sean-k-mooney: got it ^
11:14:21 gibi huaqiang: if you generate a lower version dict then you need to drop the fields that was not present in that lower version. So that is a necessary loss of information. Other than that I think we tend to keep the information. I think dansmith is the best person to ask
11:14:47 brinzhang_ gibi: yes, we will, during V we will open block operation asap, but we should talked in PTG,
11:15:42 gibi brinzhang_: OK. Thanks. I just wanted to make sure that you and sean-k-mooney are in sync about who does what in V
11:16:19 sean-k-mooney brinzhang_: there should not be any gaps in cyborg by the way for the remaining ops
11:16:25 sean-k-mooney its all jus nova work
11:17:09 gibi brinzhang_: checked https://review.opendev.org/#/c/719720/ and I left one comment about the password length
11:17:10 sean-k-mooney suspend/resume just need to be exteded to hot unplug the acclerator on suspend and hot plug them on resume like we do for normla pci passtough or sriov devices
11:17:23 brinzhang_ gibi: I follow sean-k-mooney, many operation may I cannt test, because of limit the hard device
11:17:50 gibi brinzhang_: I hope we can add functional test cases for most of it.
11:17:52 sean-k-mooney sheleve need to delete the arq binding in shelve offload and it need to claim(in placmemnt) the acclerateor and bind arques on unshelve
11:18:36 sean-k-mooney gibi: we can test most of it with the fake dirver too
11:18:42 gibi cool
11:19:18 sean-k-mooney we might want to add some extra logging in placese to be extra sure or enhance it slightly so we have something observable
11:19:42 brinzhang_ sean-k-mooney: cool, thanks, I will try to test that scenario
11:20:04 sean-k-mooney e.g. adding or remvoing an xml comment for example instead of doing nothing so we can se the fake device "added" or "removed"
11:22:19 brinzhang_ sean-k-mooney: I add your said in my list, I will check these thing, e.g. log, and suspend/resume or shelve/unshelve
11:25:31 gibi lyarwood: hi! I see a lot of rescue failure in the lvm job http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22cannot%20be%20rescued%5C%22 is it a known issue?
11:25:39 huaqiang gibi: Got. so the 'obj_to_primitive' offers the capability to run, but not with the full object function.
11:25:57 sean-k-mooney huaqiang: its not that it does not have full fucntion
11:26:21 sean-k-mooney its more that any feature that depends on data only contained in a later version cannot be used
11:27:30 sean-k-mooney huaqiang: when you are backleveling object you baseically are restited to the feature set of the oldest code base invovled in the rpc
11:28:17 huaqiang I am think my design for 'mixed-instance', that is an instance mixed with dedicated cpus and shared cpus, when I deal with the compatibility 'instanceNUMATopology', maybe one choice is dropping the dedicated CPUs directly
11:28:22 sean-k-mooney there are some expctions to that but in generall we dont try to caluate the valuse in new codebases if the object was created in an older version
11:29:14 sean-k-mooney huaqiang: well there are two cases
11:29:30 huaqiang sean-k-mooney: pls
11:29:52 sean-k-mooney if a field existied in an older version but the value was not supported we raise an excpetion if you try to backlevel it
11:30:07 sean-k-mooney but if the filed does not exist we remove the filed
11:30:27 sean-k-mooney let me find an example quick
11:30:28 huaqiang yes...
11:30:57 sean-k-mooney https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L194-L200
11:31:18 sean-k-mooney so in 1.22 we extended the hw_video_model filed
11:32:05 sean-k-mooney if an object was created using one of the values that was only supported in 1.22+ we raise an excption
11:32:05 huaqiang Yes. raised an exception
11:32:34 sean-k-mooney but for hw_time_hpet when it is backleveled it is dropped
11:32:40 sean-k-mooney so for your feature
11:32:56 sean-k-mooney we would raise an excpetion for the cpu policy
11:33:16 sean-k-mooney e.g. you would not be allowed to backevel an object with cpu_policy=mixed
11:33:39 huaqiang Yes. I agree
11:33:40 sean-k-mooney because that woudl result in incorrect behavior
11:33:52 huaqiang how about InstanceNUMACell
11:34:02 huaqiang the closest example is this:https://github.com/openstack/nova/blob/master/nova/objects/numa.py#L49
11:34:25 huaqiang It dropped the host 'pcpuset' directly
11:35:19 sean-k-mooney yes
11:35:36 huaqiang Not translate the pcpuset to exsiting cpuset
11:35:53 sean-k-mooney so for mixed cpus you should not need to modify the OVOs out side fo adding the new value for the cpu policy correct
11:36:17 sean-k-mooney we dont need to modify the host cell object
11:36:27 huaqiang I don't
11:36:33 brinzhang_ gibi: can you open this link http://people.redhat.com/pbonzini/qemu-test-doc/_build/html/topics/vnc_005fsecurity.html
11:36:50 sean-k-mooney so the allowed values of https://github.com/openstack/nova/blob/master/nova/objects/instance_numa.py#L59 will change
11:37:12 sean-k-mooney but the cpu_pinning_raw value can be used in both the dedicated or mixed case
11:37:23 sean-k-mooney in the dedicated case it will have an entry for all cpus
11:37:44 sean-k-mooney in the mixed case it will have a mapping only for the pinned cpus and the floating cpus will not be listed
11:38:01 gibi brinzhang_: yes. Now I see where the limit is coming from. Maybe link this in the spec
11:38:27 brinzhang_ gibi: Ok, I will add this to spec
11:38:33 gibi brinzhang_: cool, thanks!
11:38:54 huaqiang sean-k-mooney: yes. cpu_pinning_raw for pinned cpus only
11:39:37 sean-k-mooney so what you will need to do is add a line here https://github.com/openstack/nova/blob/master/nova/objects/instance_numa.py#L42
11:39:42 huaqiang sean-k-mooney: https://review.opendev.org/#/c/716267/5/nova/objects/instance_numa.py
11:40:01 sean-k-mooney which will raise an excpetion if you try to backlevel an object with the policy set to mixed and i think that is all
11:40:18 sean-k-mooney huaqiang: yep exactly
11:40:40 huaqiang For in 'obj_make_compatible' for version 1.6, we have choice to through a exception
11:41:27 huaqiang and we have another choice to ' primitive.pop('pcpuset', None)' in generating version prior to 1.5
11:41:38 huaqiang I am thinking which one is better
11:41:57 sean-k-mooney that the thing we dont have a choice
11:42:08 sean-k-mooney for 1.6 we have to raise an excption
11:42:21 sean-k-mooney if we dropped the value then we would cahgne form mixed to shared
11:42:28 sean-k-mooney that is wrong
11:42:53 huaqiang Yes. I don't allow change from a mixed to shared
11:42:59 huaqiang sound reasonable
11:43:20 sean-k-mooney i think what is being done for 1.5 and 1.6 in those patches is correct
11:44:26 huaqiang sean-k-mooney: Thanks
11:44:39 huaqiang It is clear for me.
11:45:48 huaqiang sean-k-mooney: another thing
11:46:07 huaqiang since v1.6 is not compatible with v1.5
11:46:09 huaqiang should be bump the major version number?
11:46:10 openstackgerrit Brin Zhang proposed openstack/nova-specs master: Re-proposes 'Proposal for a safer remote console with password authentication' https://review.opendev.org/719720
11:46:31 sean-k-mooney we dont really use the major version number
11:46:36 brinzhang_ gibi: done, thanks
11:46:37 huaqiang s/should be/ should we/
11:46:39 sean-k-mooney but we could i guess
11:47:02 sean-k-mooney that wone i would want dansmith to weigh in on as i dont know why we dont bump the major version
11:47:25 sean-k-mooney proably because its only conditionally incompatiable
11:47:28 huaqiang I'll leave it for revewer for designe
11:47:36 huaqiang s/designe/decision/
11:47:50 sean-k-mooney e.g. if you are using shraed or dedicated we can backlevel it
11:48:10 sean-k-mooney so since it not a hard incompatiablity we dont need to modify the major version

Earlier   Later