| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-05-04 | |||
| 13:55:33 | sean-k-mooney | ah ok | |
| 13:55:43 | sean-k-mooney | dont they have the instance i guess not | |
| 13:55:43 | sean-k-mooney | dont they have the instance i guess not | |
| 13:55:52 | bauzas | no, they don't | |
| 13:55:52 | bauzas | no, they don't | |
| 13:56:01 | bauzas | we pass both the requestspec and the asked host | |
| 13:56:01 | sean-k-mooney | ok then ya makes sense | |
| 13:56:01 | bauzas | we pass both the requestspec and the asked host | |
| 13:56:01 | sean-k-mooney | ok then ya makes sense | |
| 13:56:19 | sean-k-mooney | we shoudl not change the interface | |
| 13:56:19 | sean-k-mooney | we shoudl not change the interface | |
| 13:56:37 | bauzas | of course, a filter could ask for more (like calling the DB) but we stopped to accept this after Liberty IIRC | |
| 13:56:37 | bauzas | of course, a filter could ask for more (like calling the DB) but we stopped to accept this after Liberty IIRC | |
| 13:56:45 | bauzas | as it's a performance issue | |
| 13:56:45 | bauzas | as it's a performance issue | |
| 13:57:04 | sean-k-mooney | well so coudl the weighers but same issue | |
| 13:57:04 | sean-k-mooney | well so coudl the weighers but same issue | |
| 13:57:14 | openstackgerrit | Balazs Gibizer proposed openstack/nova-specs master: QoS minimum guaranteed packet rate https://review.opendev.org/c/openstack/nova-specs/+/785014 | |
| 13:57:33 | sean-k-mooney | the request spec has the instance uuid so you can do the lookups but you dont want to do this per host | |
| 13:57:33 | sean-k-mooney | the request spec has the instance uuid so you can do the lookups but you dont want to do this per host | |
| 13:57:38 | bauzas | instead of having the filters calling the DB, we instead make sure that both HostState and RequestSpec objects provide what we need | |
| 13:57:38 | bauzas | instead of having the filters calling the DB, we instead make sure that both HostState and RequestSpec objects provide what we need | |
| 13:57:55 | sean-k-mooney | yep | |
| 13:58:00 | bauzas | sean-k-mooney: this only has the instance_uuid for the first instance created with the same RequestSpec :) | |
| 13:58:00 | bauzas | sean-k-mooney: this only has the instance_uuid for the first instance created with the same RequestSpec :) | |
| 13:58:27 | bauzas | sean-k-mooney: I don't remember whether we change this when you create more than one instance at the same time | |
| 13:58:27 | bauzas | sean-k-mooney: I don't remember whether we change this when you create more than one instance at the same time | |
| 13:58:39 | bauzas | but that's a bug if no | |
| 13:58:39 | bauzas | but that's a bug if no | |
| 13:58:43 | tobias-urdin | i would really hurt adding something custom for such a corner case, but i guess i'll see what i can do | |
| 13:58:43 | tobias-urdin | i would really hurt adding something custom for such a corner case, but i guess i'll see what i can do | |
| 14:00:08 | tobias-urdin | but it's a bit messy since i can't force a resize to a specific node either there is no (native) way of disallowing it so scheduling will always be "wrong" | |
| 14:00:08 | tobias-urdin | but it's a bit messy since i can't force a resize to a specific node either there is no (native) way of disallowing it so scheduling will always be "wrong" | |
| 14:00:11 | bauzas | tobias-urdin: honestly, this is not a bug, right? | |
| 14:00:11 | bauzas | tobias-urdin: honestly, this is not a bug, right? | |
| 14:00:33 | bauzas | if the customer doesn't ask for a specific AZ, why should we only accept hosts within the same AZ ? | |
| 14:00:33 | bauzas | if the customer doesn't ask for a specific AZ, why should we only accept hosts within the same AZ ? | |
| 14:01:06 | tobias-urdin | because [cinder]/cross_az_attach=false and all instances is bfv :) | |
| 14:01:06 | bauzas | tobias-urdin: what you *could* tho is to provide a default AZ for instances | |
| 14:01:06 | tobias-urdin | because [cinder]/cross_az_attach=false and all instances is bfv :) | |
| 14:01:06 | bauzas | tobias-urdin: what you *could* tho is to provide a default AZ for instances | |
| 14:01:24 | bauzas | that's a config option | |
| 14:01:24 | bauzas | that's a config option | |
| 14:01:32 | tobias-urdin | so i guess somewhat of a bug but more i've built myself into a corner here | |
| 14:01:32 | tobias-urdin | so i guess somewhat of a bug but more i've built myself into a corner here | |
| 14:02:03 | bauzas | tobias-urdin: the problem is that cinder provided AZs too that are different from Nova and operators thought that we discussed in between Cinder and us :) | |
| 14:02:03 | bauzas | tobias-urdin: the problem is that cinder provided AZs too that are different from Nova and operators thought that we discussed in between Cinder and us :) | |
| 14:02:48 | bauzas | tobias-urdin: I could also say "please cross-attach AZs" | |
| 14:02:48 | bauzas | tobias-urdin: I could also say "please cross-attach AZs" | |
| 14:02:59 | bauzas | again, this is not a Nova bug | |
| 14:02:59 | bauzas | again, this is not a Nova bug | |
| 14:03:13 | bauzas | if Cinder wants to support Nova AZs, I understand this... | |
| 14:03:13 | bauzas | if Cinder wants to support Nova AZs, I understand this... | |
| 14:03:41 | bauzas | but if there are bugs with a cinder option, why Nova should fix it ? | |
| 14:03:41 | bauzas | but if there are bugs with a cinder option, why Nova should fix it ? | |
| 14:05:04 | tobias-urdin | it's a nova option, the problem is we don't have the same cinder storage backends in both AZs so we can't let nova create volumes in another AZ | |
| 14:05:04 | tobias-urdin | it's a nova option, the problem is we don't have the same cinder storage backends in both AZs so we can't let nova create volumes in another AZ | |
| 14:05:08 | tobias-urdin | (nova and cinder AZ are named the same) | |
| 14:05:08 | tobias-urdin | (nova and cinder AZ are named the same) | |
| 14:05:09 | bauzas | tobias-urdin: here, the thing is that you don't want to look at Nova AZs when resizing, but rather to Cinder AZs, right ? | |
| 14:05:09 | bauzas | tobias-urdin: here, the thing is that you don't want to look at Nova AZs when resizing, but rather to Cinder AZs, right ? | |
| 14:05:51 | tobias-urdin | hence can't let resize of server1 in az1 place server1 instance in az2 because cinder storage is not there | |
| 14:05:51 | tobias-urdin | hence can't let resize of server1 in az1 place server1 instance in az2 because cinder storage is not there | |
| 14:06:00 | bauzas | the problem is "I have a Cinder volume in a specific AZ, could you please, Nova, only give me a host that is within the same Cinder AZ" | |
| 14:06:00 | bauzas | the problem is "I have a Cinder volume in a specific AZ, could you please, Nova, only give me a host that is within the same Cinder AZ" | |
| 14:06:16 | bauzas | see the concern ? | |
| 14:06:16 | bauzas | see the concern ? | |
| 14:06:47 | bauzas | that's like "I have apples and bananas, I want to have the same banana than the appleé" | |
| 14:06:47 | bauzas | that's like "I have apples and bananas, I want to have the same banana than the appleé" | |
| 14:06:57 | bauzas | but Cinder and Nova AZs can be different | |
| 14:06:57 | bauzas | but Cinder and Nova AZs can be different | |
| 14:07:09 | bauzas | that's just the cinder config option that makes them related | |
| 14:07:09 | bauzas | that's just the cinder config option that makes them related | |
| 14:07:48 | bauzas | so, if we really want to restrict hosts that are in some AZs, that because they have volumes in the AZ | |
| 14:07:48 | bauzas | so, if we really want to restrict hosts that are in some AZs, that because they have volumes in the AZ | |
| 14:08:21 | bauzas | honestly, instead of having different AZs between nova and cinder, the cinder-scheduler should look at Nova AZs | |
| 14:08:21 | bauzas | honestly, instead of having different AZs between nova and cinder, the cinder-scheduler should look at Nova AZs | |
| 14:08:34 | bauzas | (hint : placement can help) | |
| 14:08:34 | bauzas | (hint : placement can help) | |
| 14:09:47 | tobias-urdin | yeah - as I said, it's a messy case. Since spawning new ones works fine because nova when creating volumes will honor cross_az_attach https://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L53 | |
| 14:09:47 | tobias-urdin | yeah - as I said, it's a messy case. Since spawning new ones works fine because nova when creating volumes will honor cross_az_attach https://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L53 | |
| 14:10:16 | tobias-urdin | it just don't care on resize and can select compute node in az2 that cannot access storage in az1 for example | |
| 14:10:16 | tobias-urdin | it just don't care on resize and can select compute node in az2 that cannot access storage in az1 for example | |
| 14:12:40 | tobias-urdin | consider this 1) you have a cloud with one az, nothing much to care about you spawn a instance requestspec gets availability_zone=None you are happy 2) you add a availability zone for nova and cinder same name, you set nova.conf cross_az_attach=false because compute nodes in az1 is not addressed on storage network for az2 | |
| 14:12:40 | tobias-urdin | consider this 1) you have a cloud with one az, nothing much to care about you spawn a instance requestspec gets availability_zone=None you are happy 2) you add a availability zone for nova and cinder same name, you set nova.conf cross_az_attach=false because compute nodes in az1 is not addressed on storage network for az2 | |
| 14:13:14 | tobias-urdin | now you try to resize a instance created before that has requestspec availability_zone=None it will still try to select a compute node in az2 since it doesn't care about not attaching across AZs | |
| 14:13:14 | tobias-urdin | now you try to resize a instance created before that has requestspec availability_zone=None it will still try to select a compute node in az2 since it doesn't care about not attaching across AZs | |
| 14:13:54 | tobias-urdin | my only point, it only cares about handling that volume connection upon creation, everything else is just not implemented, nothing more so i'll dig a see what i can figure out :) | |
| 14:13:54 | tobias-urdin | my only point, it only cares about handling that volume connection upon creation, everything else is just not implemented, nothing more so i'll dig a see what i can figure out :) | |
| 14:16:52 | bauzas | tobias-urdin: again, I understand your problem, as I said, I'm not happy that cinder provided this option without thinking about move operations | |
| 14:16:52 | bauzas | tobias-urdin: again, I understand your problem, as I said, I'm not happy that cinder provided this option without thinking about move operations | |
| 14:17:10 | tobias-urdin | agree | |
| 14:17:10 | tobias-urdin | agree | |
| 14:17:27 | tobias-urdin | thanks for clearing things up, was a little bit confused but i understand the issues atleast | |
| 14:17:27 | tobias-urdin | thanks for clearing things up, was a little bit confused but i understand the issues atleast | |
| 14:17:43 | bauzas | fixing this would need us to discuss between nova and cinder to see what to do | |
| 14:17:43 | bauzas | fixing this would need us to discuss between nova and cinder to see what to do | |
| 14:18:15 | bauzas | but I wouldn't be happy with only nova fixing this because of cinder | |
| 14:18:15 | bauzas | but I wouldn't be happy with only nova fixing this because of cinder | |
| 14:18:44 | bauzas | and now we have placement, maybe we should discuss how to provide a query that would ask for this | |