| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-04-11 | |||
| 22:24:11 | mriedem | i need to fix that bug in the api local delete case to cleanup allocations in placement when the compute service is down | |
| 22:24:42 | mriedem | will be more clear when i post this code | |
| 22:24:44 | efried | Which you're going to need to do by getting placement to delete allocations based on the resource providers, not the instances. | |
| 22:24:53 | mriedem | no | |
| 22:24:56 | mriedem | we're deleting the instance | |
| 22:24:58 | mriedem | we know the consume | |
| 22:25:03 | mriedem | *consumer, so we get the allocations to delete | |
| 22:25:23 | mriedem | https://developer.openstack.org/api-ref/placement/#delete-allocations | |
| 22:25:46 | cfriesen | when doing a "git cherry-pick -x" do we generally preserve any conflicts or remove them from the commit message? | |
| 22:25:53 | cfriesen | for backporting | |
| 22:26:01 | efried | cfriesen: preserve (and explain if necessary) | |
| 22:26:11 | mriedem | cfriesen: i leave the conflicts in the commit message and make a note about what they are to help reviewers | |
| 22:26:23 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add functional test for deleting a compute service https://review.openstack.org/560626 | |
| 22:26:24 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Cleanup RP and HM records while deleting a compute service. https://review.openstack.org/554920 | |
| 22:26:25 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Block deleting compute services which are hosting instances https://review.openstack.org/560674 | |
| 22:26:31 | mriedem | efried: ^ should make it more clear | |
| 22:26:42 | efried | mriedem: ack, will look mañana | |
| 22:26:59 | mriedem | manana iguana? https://www.amazon.com/Manana-Iguana-Ann-Whitford-Paul/dp/0823419800 | |
| 22:27:08 | mriedem | 2 childrens books references in one day | |
| 22:27:36 | mriedem | those are for dansmith and jaypipes btw | |
| 22:35:23 | jaypipes | ewww | |
| 22:36:00 | mriedem | there goes a gate reset so that functional test fix is going to be awhile yet | |
| 23:01:42 | openstackgerrit | Eric Fried proposed openstack/nova master: test.stub_object https://review.openstack.org/560683 | |
| 23:30:46 | openstackgerrit | Chris Friesen proposed openstack/nova stable/pike: libvirt: disconnect volume from host during detach https://review.openstack.org/560690 | |
| 23:42:32 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: api-ref: Example verification for servers.inc https://review.openstack.org/529520 | |
| 23:50:17 | gmann | sdague: can you feedback on this comment (one of TODO from you) - https://review.openstack.org/#/c/529520/18/api-ref/source/servers.inc@765 | |
| 23:51:18 | gmann | sdague: i feel single latest sample response file is good enough instead of separate sample files per request attribute for update | |
| 23:51:36 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: Remove mox in test_neutron_security_groups.py https://review.openstack.org/560267 | |
| #openstack-nova - 2018-04-12 | |||
| 00:04:01 | mnaser | hey | |
| 00:04:03 | mnaser | fun bug time | |
| 00:05:04 | mnaser | if a user builds an instance that if boot from volume (where nova creates the volume) and nova-compute fails to create the volume, the vm build fails, and it actually counts as a 'consecutive build failures' | |
| 00:05:29 | mnaser | so if i'm $bad_user and i try to launch 40 instances but keep hitting quota limits but keep trying again, i will effectively slowly but surely disable every compute node in the cloud | |
| 00:06:14 | mnaser | so while that feature is nice, i think we have to find a way to identify the type of failure it is | |
| 00:08:10 | mnaser | i mean we could disable that feature but that feels dirty | |
| 00:14:36 | mriedem | mnaser: yeah https://bugs.launchpad.net/nova/+bug/1742102 | |
| 00:14:37 | openstack | Launchpad bug 1742102 in OpenStack Compute (nova) "Simple user can disable compute" [Undecided,Confirmed] - Assigned to jichenjc (jichenjc) | |
| 00:14:40 | mriedem | there is an ops ML thread about similar issues | |
| 00:14:59 | mriedem | i think we likely need to consider a whitelist of acceptable, not threshold inducing exceptions | |
| 00:15:30 | mriedem | the latest comments in there from jichen are actually the exact issue you're describing | |
| 00:17:07 | mriedem | but we can also be smarter and check quota before trying to create volumes | |
| 00:17:09 | mriedem | like we do for ports | |
| 00:17:27 | mnaser | mriedem: yeah, i think that's better, do we check quota at api layer for ports? | |
| 00:17:29 | mriedem | could do that in conductor so we don't block the API response | |
| 00:17:33 | mriedem | mnaser: yes | |
| 00:17:40 | mriedem | it's the validate_networks call | |
| 00:17:50 | mnaser | that sounds reasonable and backport-able too i think | |
| 00:17:52 | mriedem | based on the number of requested networks and instances, we check quota | |
| 00:18:22 | mnaser | the thing is if i have a quota of 10 volumes, and i launch a 100 instances (one by one), i might still run into that issue i guess | |
| 00:18:23 | mriedem | yeah - either way you'd fail after the 202 you get from the API | |
| 00:18:31 | mriedem | you either fail in conductor or you fail in compute | |
| 00:18:45 | mriedem | sure but we don't disable your compute :) | |
| 00:18:54 | mnaser | because of the race as conductor still sees you using 0 volumes but as computes start creating volumes | |
| 00:19:05 | mriedem | oh, sure | |
| 00:19:23 | mriedem | we could also just handle volume quota issues in the compute as a whitelist of things to not disable the compute | |
| 00:19:29 | mriedem | multi-part fixes | |
| 00:19:49 | mnaser | i think both out-of-ports and out-of-volumes both seem like reasonable 'skip' failures | |
| 00:20:01 | mriedem | yeah | |
| 00:20:11 | mriedem | the bug above started as a port / fixed ips quota issue | |
| 00:20:15 | mriedem | but also extends to volumes | |
| 00:20:21 | mnaser | i think any api exception should be skipped tbh | |
| 00:20:29 | mnaser | because that means the compute node is fine | |
| 00:20:51 | mnaser | sure it sounds vague but if your cinder is not having a good time then you're slowly disabling all compute nodes | |
| 00:20:52 | mriedem | well, depends on what it is, | |
| 00:21:05 | mriedem | if nova.conf is misconfigured on the compute to talk to neutron, that's a different problem | |
| 00:21:08 | mriedem | likely a 403 | |
| 00:21:21 | mnaser | ah yes | |
| 00:21:41 | mriedem | if we get NeutronClientException, then we made a request and it failed but the endpoint, config and token should be ok | |
| 00:21:57 | mriedem | same with CinderClientException | |
| 00:22:19 | mnaser | so we can skip those 2 exceptions because if we get them, it doesn't mean that the compute node has any problems | |
| 00:22:55 | mriedem | well, if it did turn out that excluding those were too broad, we could narrow it down over time | |
| 00:23:06 | mriedem | vif plug is something that could fail... | |
| 00:23:10 | mriedem | based on bad config of the host | |
| 00:23:17 | mriedem | that's a hard one though | |
| 00:23:46 | mriedem | because we don't get vif plug failures directly | |
| 00:23:59 | mriedem | we get a callback event from neutron that just says plug failed but not why | |
| 00:24:19 | mriedem | but yeah, that's not a NeutronClientException, so ignore me | |
| 00:24:21 | mnaser | i can't imagine a single time that i remember seeing a failed to plug callback | |
| 00:24:27 | mnaser | it either never comes or comes ok :P | |
| 00:24:29 | mnaser | haha | |
| 00:27:06 | mnaser | https://github.com/openstack/python-cinderclient/blob/master/cinderclient/exceptions.py (ClientException) and https://github.com/openstack/python-neutronclient/blob/master/neutronclient/common/exceptions.py (NeutronClientException) | |
| 00:27:13 | mnaser | both seem to be fairly reasonable in terms of things they handle | |
| 00:28:15 | mnaser | thing is NoAuthURLProvided/EndpointNotFound/EndpointTypeNotFound/AmbiguousEndpoints/ConnectionFailed and a bunch of other stuff | |
| 00:28:19 | mnaser | are also under neutronclientexcpetion | |
| 00:32:37 | mriedem | we won't hit those anymore, | |
| 00:32:44 | mriedem | because we constructor neutronclient with a ksa session | |
| 00:32:53 | mriedem | so if we fail auth stuff, it will be early with ksa | |
| 00:32:56 | mriedem | *construct | |
| 00:33:16 | mriedem | that's true in at least queens, i'm not sure about pike... | |
| 00:35:07 | mnaser | so that affects the backportable-itiy | |
| 00:35:26 | mnaser | not that i want to stay on pike for much longer | |
| 00:36:12 | mriedem | maybe, would have to dig into it | |
| 00:36:22 | mriedem | trying to fix bug 1679750 atm | |
| 00:36:22 | openstack | bug 1679750 in OpenStack Compute (nova) queens "Allocations are not cleaned up in placement for instance 'local delete' case" [Medium,Confirmed] https://launchpad.net/bugs/1679750 | |
| 00:37:32 | mnaser | o | |
| 00:37:35 | mnaser | that's a bad time | |
| 00:48:52 | arvindn05 | mriedem: quick question, i think you answered it once but wanted to reconfirm. "A rebuild is staying on the same host, with optionally a new image, but the flavor stays the same." | |
| 00:49:47 | arvindn05 | https://developer.openstack.org/api-guide/compute/server_concepts.html the documentation does not specify that it stays on the same host...just wanted to confirm if rebuild ALWAYS means staying on same host | |
| 00:53:41 | mriedem | yes it's always the same host | |
| 00:54:46 | mriedem | https://developer.openstack.org/api-guide/compute/server_concepts.html#recover-from-a-failed-compute-host could probably be tightened up | |
| 00:55:20 | mriedem | where it says, "Evacuate does the same operation as a rebuild. " - that could say, "Evacuate does the same operation as a rebuild except evacuate is on a new host while rebuild is on the same host." | |