Earlier  
Posted Nick Remark
#openstack-nova - 2023-07-04
11:47:43 sean-k-mooney ill leave it up to you if you want to add the 3 checks then that is ok
11:48:00 sean-k-mooney just add them in similar location to the existing _validate_flavor_image_nostatus checks
11:52:03 dvo-plv looks like we will not have ability to do this without additional changes
11:53:03 dvo-plv self._validate_flavor_image_nostatus(context, image, new_flavor, root_bdm=None,validate_pci=True) this method get not full image parameter
11:54:42 dvo-plv it pass only metadata https://github.com/openstack/nova/blob/master/nova/compute/api.py#L4254
11:54:53 dvo-plv (Pdb) image
11:54:53 dvo-plv {'min_ram': '0', 'min_disk': '1', 'disk_format': 'raw', 'container_format': 'raw', 'properties': {'kernel_id': 'nokernel', 'ramdisk_id': 'nokernel', 'hw_virtio_packed_ring': 'true', 'base_image_ref': 'c456eb30-91d7-4f43-8f46-2efd9eccd744', 'boot_roles': 'reader,member,admin'}}
11:55:09 sean-k-mooney ack you actully only need the metadata not the full image
11:55:18 sean-k-mooney for yoru hardware.py funciton
11:55:28 dvo-plv but we need full object https://review.opendev.org/c/openstack/nova/+/876075/14/nova/virt/hardware.py#1941
11:56:11 sean-k-mooney oh you mean it gets a dict not the object?
11:56:13 dvo-plv because exception needs next field
11:56:13 dvo-plv https://review.opendev.org/c/openstack/nova/+/876075/14/nova/virt/hardware.py#1977
11:56:37 sean-k-mooney we dont neeed the iamge name error masge
11:56:46 dvo-plv yes, I need object + this object have to have name field
11:56:56 sean-k-mooney ya but we dont need the name filed
11:57:38 sean-k-mooney use the uuid c456eb30-91d7-4f43-8f46-2efd9eccd744 from base_image_ref if you want
11:58:01 dvo-plv okay I can use uuid
11:58:02 sean-k-mooney but you do not need the flavor or iamge name for the message
11:58:54 sean-k-mooney really you just need to say "Flavor has ... image has ...."
11:59:01 sean-k-mooney the user knows what flavor and image they use
12:02:04 dvo-plv Yes, I will rewrite log, because id also does not exists in some cases (Pdb) image_meta
12:02:04 dvo-plv ImageMeta(checksum=<?>,container_format='raw',created_at=<?>,direct_url=<?>,disk_format='raw',id=<?>,min_disk=1,min_ram=0,name=<?>,owner=<?>,properties=ImageMetaProps,protected=<?>,size=<?>,status=<?>,tags=<?>,updated_at=<?>,virtual_size=<?>,visibility=<?>)
12:02:28 sean-k-mooney ack
12:28:04 dvo-plv sean-k-mooney, I would like to clarify how properly I need to fix next unit test, which start to fall after adding those functional
12:28:05 dvo-plv https://github.com/openstack/nova/blob/master/nova/tests/unit/compute/test_compute.py#L14213
12:28:21 dvo-plv /opt/stack/nova/nova/compute/api.py(758)_validate_flavor_image_nostatus()
12:28:21 dvo-plv -> image_meta = objects.ImageMeta.from_dict(image)
12:28:21 dvo-plv (Pdb) image
12:28:21 dvo-plv {'id': 'fbb69a20-3717-439e-88ec-7954e6f801af', 'status': 'active', 'properties': {'hw_cpu_policy': 'bar'}}
12:28:21 dvo-plv (Pdb) cont
12:28:37 dvo-plv it fails which is expected, according to this verification
12:29:22 dvo-plv https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L234
12:30:24 sean-k-mooney it shoudl not fail by adding your fucntion
12:30:35 sean-k-mooney did you change the object passed to _validate_flavor_image_nostatus
12:31:07 sean-k-mooney i was tryign to steer you away form that since i expecte that to cause a lot of unit/funcitonal test filaures
12:31:37 dvo-plv https://paste.opendev.org/show/b84ihg1M7WPIpDTSVyXc/
12:31:50 dvo-plv no I just make object from dict for verification
12:32:12 sean-k-mooney yes but that will have the same effect
12:32:26 sean-k-mooney it will cause the image proeprty validation to be enfroced
12:33:15 sean-k-mooney i understand why you wourl prefer to use the object
12:33:38 sean-k-mooney but it might be simpler to make get_packed_virtqueue_constraint use the dict
12:35:21 dvo-plv Okay, I will try to use dict instead, I believe that vit will be better if verification method will be similar to the other, which check conflcits
12:38:59 sean-k-mooney yep the other way to work aroudn this
12:39:30 sean-k-mooney is to make the convertion internal to get_packed_virtqueue_constraint and make it conditional
12:39:37 sean-k-mooney so that you can pass a dict of object
12:39:58 sean-k-mooney and then in the relvent tests that fial just mock out get_packed_virtqueue_constraint to return true
12:40:42 sean-k-mooney im just not sure how many tests you will have to fix if you take that approch
12:56:19 opendevreview Merged openstack/nova stable/xena: Fix segment-aware scheduling permissions error https://review.opendev.org/c/openstack/nova/+/884808
12:56:28 ykarel gibi, sean-k-mooney bauzas can you please revisit https://review.opendev.org/c/openstack/nova/+/868419
12:56:56 sean-k-mooney sure i have a meeting at the top of the hour but ill look quickly
12:57:08 bauzas ykarel: ack, will look
12:57:10 ykarel Thanks
12:57:26 sean-k-mooney ack so you move this to the libvirt section from workarounds
12:57:32 ykarel yes
12:58:15 sean-k-mooney that was the only outstding issue as far as i was concerned
12:58:19 sean-k-mooney so i think this is good as is now
13:04:58 sahid o/ quick question guys, we are trying to use nova-manage db archive_deleted_rows but for some reason we dont't see anything migrated in the shadow tables even if the output is reporting something
13:05:30 sahid more of that when we list instances with deleted_at not null we can still see them
13:06:05 sahid and the final strp of crazy is that, when re-executing the script it sees nothing else to archive...
13:06:50 sahid i was thinking about something related to the cells...
13:08:23 sahid list_cells only report cell0 so I guess we are good
13:10:02 sahid one point that i don't understand, we have nova and nova_cell0 databases
13:10:45 sahid in nova we have a certain number of instances deleted
13:11:02 sahid in nova_cell0 we have nothing
13:14:11 opendevreview Merged openstack/nova stable/xena: Fix get_segments_id with subnets without segment_id https://review.opendev.org/c/openstack/nova/+/883725
13:22:05 dvo-plv looks like we did it :)
13:22:06 dvo-plv py38: commands succeeded
13:22:06 dvo-plv congratulations :)
13:33:29 bauzas sahid: tbc, there is no longer a 'nova' DB, there is either a nova API DB or a nova cell DB
13:33:46 bauzas in devstack, we name them nova_api and nova_cell1
13:34:26 bauzas + there is a specific nova_cell0 DB which is exactly like nova_cell1 but where only have NoValidHosts instances
13:46:22 opendevreview Danylo Vodopianov proposed openstack/nova master: Packed virtqueue support was added. https://review.opendev.org/c/openstack/nova/+/876075
14:08:49 sean-k-mooney dvo-plv: cool ill take a look shortly
14:11:03 sean-k-mooney dvo-plv: fyi the funtional tests are not run as part of the py38 target
14:11:14 sean-k-mooney you need to run tox -e functional
14:11:25 sean-k-mooney optionally wiht -py38 at the end
14:17:29 sahid bauzas: we are running ussuri :D
14:21:50 sahid in all cases I don't get what is happening with this script
14:45:24 plibeau hello guys if you have time to review: https://review.opendev.org/c/openstack/nova/+/861172 thx
14:52:22 bauzas sahid: do you have all the right cells ?
14:56:31 sahid I don't know I think there is something I don't get
14:57:03 sahid when I list cells, I have 2 rows, one for rabbit without name and one cell0
14:57:44 sahid the database connection for cell0 looks to use nova_cell0 dbname
14:58:27 sahid but in nova_cell0 db, there are nothing I mean If I count the instances fro; this database (nova_cell0), there are nothing
14:59:13 sahid the right database used is the dbname called 'nova'
14:59:22 sahid I don't know if that is normal...
15:07:12 bauzas sahid: can you list them in an etherpad ?
15:07:37 bauzas sahid: cell0 is just a DB for instances that were not accepted
15:08:21 bauzas I mean, when an instance doesn't have a specific host because of some problem (scheduling in general), then we create the record in cell0
15:08:39 bauzas instead of recording the instance in the cell DB related to the host
15:09:02 bauzas so you should have 3 DBs : one for the API, one for cell0 and one (at least) for *one* cell
15:09:25 bauzas you should have *at least* 3 (I mean)
15:10:48 sahid nova, nova_api and nova_cell0
15:11:17 sahid https://etherpad.opendev.org/p/cells
15:12:20 sahid bauzas: the issue we have is that, we are trying to archive deleted instances
15:12:33 sahid but when executing the script they stay
15:12:57 sahid and nothing in shadow tables
15:16:05 sean-k-mooney the nova database there is the nova cell 1 database
15:16:32 sean-k-mooney sahid: some tools did that but we recommend actully not calling it nova but nova_cell1

Earlier   Later