| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-04-11 | |||
| 16:55:20 | mriedem | it would also keep the fix patch smaller | |
| 16:55:26 | mriedem | like gangham style? | |
| 16:55:28 | imacdonn | I can certainly related to getting all tangled up in fixtures :/ | |
| 16:55:35 | imacdonn | relate* | |
| 16:55:44 | dansmith | mriedem: similar, yeah | |
| 16:55:59 | tssurya | mriedem: that would be really awesome for me, writing the test_services from stratch is causing me a headache because its my first go | |
| 16:56:42 | tssurya | imacdonn: :) | |
| 16:59:37 | imacdonn | mriedem dansmith speaking of which ... I tried to implement that compute-is-configured-to-use-placement check based on auth_type, but I'm back in unit-test hell ... 27 tests that start a compute service trip on it .. and if I set auth_type in the conf fixture, a bazillion other tests fail ... some due to auth_url not set | |
| 17:04:27 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: Localdisk https://review.openstack.org/549300 | |
| 17:08:22 | mriedem | dansmith: lyarwood: done https://review.openstack.org/#/c/543569/ | |
| 17:10:57 | mriedem | dansmith: you should hit https://review.openstack.org/#/c/559987/ while we wait for lee to fix that up | |
| 17:11:27 | dansmith | ya | |
| 17:19:14 | mriedem | dansmith: left some replies in https://review.openstack.org/#/c/536722/ based on earlier discussions | |
| 17:19:31 | mriedem | as for the cleanup routine, i think some of that is going to have to just be impl trial and error, but i left some ideas | |
| 17:20:03 | dansmith | mriedem: how is it not a new rpc call? | |
| 17:20:19 | dansmith | oh because live_migration_abort() I guess? | |
| 17:20:22 | mriedem | yes | |
| 17:20:29 | mriedem | read the rest of my comment :) | |
| 17:21:26 | mriedem | there is one thing i'm not totally sure about, and it's that http://pythonhosted.org/futures/#concurrent.futures.Executor.shutdown says "If wait is False then this method will return immediately and the resources associated with the executor will be freed when all pending futures are done executing. Regardless of the value of wait, the entire Python program will not exit until all pending futures are done executing." | |
| 17:21:53 | cfriesen | melwitt: lyarwood: I'm seeing something weird on Pike: http://paste.openstack.org/show/718967/ Basically heat creates an instance and attaches volumes to it, then on stack teardown it runs into problems detaching the volume from the instance. Eventually the token times out and it retries, only this time libvirt doesn't actually recognize the specified device (making me wonder whether it had actually been detached at this | |
| 17:21:55 | cfriesen | point.) | |
| 17:21:57 | mriedem | however, if we do the done callback and Futures.cancel() thing i laid out, i think the pool will exit once we cancel those futures | |
| 17:22:05 | dansmith | mriedem: so the thing that sucks about that, IMHO, | |
| 17:22:20 | dansmith | is it's a cast, and we could check the status of the migration before we make that call, but it might be different when it would land on the compute and do its thing | |
| 17:22:34 | dansmith | which maybe isn't a problem because it's just less permissive not more | |
| 17:23:38 | mriedem | dansmith: yeah, worst case is the api races and then the compute ignores the abort request, because i think it's ultimately the libvirt driver that has to ack the abort request | |
| 17:23:39 | dansmith | mriedem: and we'd have to have the migration in rpcapi in order to know the status and whether or not we need to abort based on theversion we're pinned to | |
| 17:24:37 | mriedem | oh because we don't pass the migration record itself to live_migration_abort, just the id | |
| 17:24:51 | dansmith | right | |
| 17:25:07 | mriedem | hmm, well, we have to bump the compute service version anyway, so we can do that in the same version bump | |
| 17:25:29 | melwitt | cfriesen: I think you might need this https://review.openstack.org/#/c/515008 | |
| 17:25:42 | mriedem | i was just looking that up :) | |
| 17:25:52 | dansmith | mriedem: well you don't actually have to change the rpc call, you just have to change the interface to the rpcapi method | |
| 17:26:03 | dansmith | mriedem: or you do it based on service version in compute/api before you get that far | |
| 17:26:13 | cfriesen | melwitt: looks promising, thanks | |
| 17:26:34 | mriedem | dansmith: right so pass migration object to rpcapi method, if can't send new version, send migration.id | |
| 17:26:34 | mriedem | right? | |
| 17:26:51 | mriedem | and if it can't send the new version and the migration status is not 'running' it should blow up | |
| 17:27:02 | mriedem | which i think avoids us needing to do an explicit service version check in the API method | |
| 17:27:11 | dansmith | mriedem: no, pass migration to rpcapi, and it always sends migration id, but raises if the version is old and state is not "running" or whatever | |
| 17:27:19 | mriedem | ah yeah | |
| 17:27:19 | mriedem | ok | |
| 17:27:29 | mriedem | but these are impl details right? does the spec need this level of detail? | |
| 17:27:41 | mriedem | i assume it will be me and you reviewing the code | |
| 17:28:10 | dansmith | mriedem: well, I dunno, it papered over a lot of this | |
| 17:28:41 | mriedem | ok, up to you if you want to ask for more detail | |
| 17:28:56 | mriedem | if you do, i'd say link this irc conversation in there so Kevin_Zheng has it | |
| 17:29:32 | dansmith | well, since it's not as big of a change as I was thinking (just clarifying we're re-using the same) I guess I can just go ahead and approve it and see if he'll come back around to add some stuff | |
| 17:30:49 | melwitt | cfriesen: this is the redhat bz where we ran into the problem. I think it was during a similar thing, a heat stack delete failing at the detach step for "not found" https://bugzilla.redhat.com/show_bug.cgi?id=1505595 | |
| 17:30:49 | openstack | bugzilla.redhat.com bug 1505595 in openstack-nova "Nova assumes that a volume is fully detached from the compute if the volume is not defined in the instance's libvirt definition" [High,Modified] - Assigned to sferdjao | |
| 17:33:57 | cfriesen | melwitt: sounds even more promising. what do you think of the idea of heat detecting the failure-to-detach by polling the instance action events? | |
| 17:35:19 | mriedem | cfriesen: that's how i implemented the tempest test for extend volume - pool instance action events until the extend volume action is complete | |
| 17:35:26 | mriedem | *poll | |
| 17:36:22 | mriedem | https://github.com/openstack/tempest/blob/e5d343178334f9d7630e77289e3945e7ccd06cc1/tempest/api/volume/test_volumes_extend.py#L90 | |
| 17:36:22 | melwitt | hm, I was thinking it might be simpler to poll the presence of the attachments by GET to os-volume_attachments and don't proceed to the next step until they are gone | |
| 17:36:57 | melwitt | but I guess that wouldn't tell you detail about the status | |
| 17:37:23 | mriedem | yeah you could end up polling for a long time | |
| 17:37:27 | mriedem | you'd have to build in a timeout | |
| 17:37:49 | cfriesen | currently it seems to keep polling until the token times out | |
| 17:37:51 | mriedem | you likely need a timeout either way https://github.com/openstack/tempest/blob/e5d343178334f9d7630e77289e3945e7ccd06cc1/tempest/api/volume/test_volumes_extend.py#L160 | |
| 17:38:05 | mriedem | some cloud providers have 24 hour token timeouts don't they? | |
| 17:38:07 | mriedem | or maybe that was years ago | |
| 17:38:15 | cfriesen | in this case it was an hour | |
| 17:38:39 | mriedem | if a volume detach isn't done in 5 minutes something is fubar | |
| 17:38:46 | cfriesen | but then it naively retries and hits the other failure that I think will be adresssed by the commit melwitt pointed out | |
| 17:38:47 | mriedem | even a minute really | |
| 17:41:48 | cfriesen | melwitt: the method you describe is what it seems to be doing currently, it's calling self.client().volumes.get_server_volume(server_id, attach_id) and looking for the "not found" exception. | |
| 17:42:17 | mriedem | cfriesen: if sahid's patch fixes your issue in pike, you can propose https://review.openstack.org/#/c/546655/ for stable/pike | |
| 17:42:19 | melwitt | I see | |
| 17:42:40 | cfriesen | mriedem: ack | |
| 17:42:47 | openstackgerrit | Merged openstack/nova-specs master: Allow abort live migrations in queued status https://review.openstack.org/536722 | |
| 17:57:05 | openstackgerrit | Merged openstack/nova master: Marker reset option for nova-manage map_instances https://review.openstack.org/539501 | |
| 17:57:17 | openstackgerrit | Merged openstack/nova master: Imported Translations from Zanata https://review.openstack.org/548772 | |
| 18:21:12 | openstackgerrit | Dan Smith proposed openstack/nova master: libvirt: refactor get_base_config to accept host arg https://review.openstack.org/560456 | |
| 18:30:00 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: vSCSI volume driver https://review.openstack.org/526094 | |
| 18:30:23 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: Snapshot https://review.openstack.org/543023 | |
| 18:30:53 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: DiskAdapter parent class https://review.openstack.org/549053 | |
| 18:43:51 | dustfalling | Does anyone knows if it possible for nova to pass individual local drives as block device to VM, for use cases like big data? | |
| 18:54:24 | dansmith | dustfalling: see channel topic, but using the LVM ephemeral driver is about as close as you can get | |
| 18:55:36 | dustfalling | thank you, dansmith | |
| 19:20:57 | cfriesen | was there ever a concensus reached about how to deal with https://bugs.launchpad.net/nova/+bug/1558880 ? It seems to have been stalled for a long time now without any clear path forward. | |
| 19:20:57 | openstack | Launchpad bug 1558880 in OpenStack Compute (nova) "instance can not resize ephemeral in mitaka" [Medium,In progress] - Assigned to Nazeema Begum (nazeema123) | |
| 19:25:08 | melwitt | cfriesen: doesn't look like it. mdbooth had some ideas in comment 15. I hadn't seen the bug before you mentioned it | |
| 19:28:57 | openstackgerrit | Merged openstack/nova stable/pike: libvirt: Allow to specify granular CPU feature flags https://review.openstack.org/559702 | |
| 19:40:03 | openstackgerrit | Arvind Nadendla proposed openstack/nova master: update scheduler to use image-traits https://review.openstack.org/560596 | |
| 19:55:26 | openstackgerrit | Eric Berglund proposed openstack/nova master: PowerVM Driver: Localdisk https://review.openstack.org/549300 | |
| 19:56:18 | openstackgerrit | Eric Berglund proposed openstack/nova master: WIP: PowerVM: Cold Migrate & Resize https://review.openstack.org/553583 | |
| 19:58:36 | mriedem | dansmith: fyi, for https://review.openstack.org/#/c/560596/ we'll have to think about rebuild + new image with required traits... | |
| 19:58:51 | mriedem | as much as no one wants to think about that | |
| 20:02:32 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add functional test for deleting a compute service https://review.openstack.org/560626 | |
| 20:02:33 | mriedem | tssurya: ^ i'll rebase your change on top of it | |
| 20:13:38 | tssurya | mriedem: thanks a lot, oh nice I wasted so much of time in trying to see if the service fixture could return the service object also,, not sure why I didn't think of just querying it using get_services after the compute service is creeated | |
| 20:14:03 | mriedem | for the most part, we want functional tests to interact with the REST API | |
| 20:14:45 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add functional test for deleting a compute service https://review.openstack.org/560626 | |
| 20:14:46 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Cleanup RP and HM records while deleting a compute service. https://review.openstack.org/554920 | |
| 20:14:53 | tssurya | mriedem: yea makes sense, I am completely naive :( will practise writing these things more | |
| 20:15:21 | efried | mriedem: test_resize_with_reschedule_then_live_migrate is that bug you fixed earlier with the waiting for migration to complete? | |
| 20:15:53 | mriedem | efried: yes | |
| 20:16:04 | mriedem | http://status.openstack.org/elastic-recheck/#1762876 | |
| 20:16:05 | efried | mriedem: was gonna ask if it merged, but I see it's trying to get through the gate. | |