| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-02-06 | |||
| 18:50:22 | mriedem | where does map_instances happen? | |
| 18:50:36 | mriedem | https://github.com/openstack/openstack-ansible-os_nova/blob/stable/ocata/tasks/nova_db_post_setup.yml#L38 | |
| 18:50:38 | mriedem | found it | |
| 18:51:04 | odyssey4me | we wait for a compute instance to be ready in the handler: https://github.com/openstack/openstack-ansible-os_nova/blob/stable/ocata/handlers/main.yml#L67-L76 | |
| 18:51:14 | odyssey4me | then yes, https://github.com/openstack/openstack-ansible-os_nova/blob/stable/ocata/tasks/nova_db_post_setup.yml gets run | |
| 18:53:15 | odyssey4me | you'll find those tasks, and their stdout/stderr in this console log: http://logs.openstack.org/29/540329/5/check/openstack-ansible-upgrade-ubuntu-xenial/30ae3e2/job-output.txt.gz | |
| 18:53:36 | odyssey4me | it's a bit verbose, apologies in advance | |
| 18:56:38 | kashyap | dansmith: When you get a moment, wrote this here: https://review.openstack.org/#/c/497457/18 | |
| 18:56:51 | kashyap | Please correct / critique / answer as you see fit. | |
| 18:57:34 | mriedem | odyssey4me: hmm, for https://github.com/openstack/openstack-ansible-os_nova/blob/stable/ocata/tasks/nova_db_post_setup.yml#L39 | |
| 18:57:39 | mriedem | --cell_uuid {{ cell1_uuid['stdout'].split()[3] }}" | |
| 18:57:44 | mriedem | are you sure that's hitting cell1 and not cell0? | |
| 18:58:07 | mriedem | oh i guess because of https://github.com/openstack/openstack-ansible-os_nova/blob/stable/ocata/tasks/nova_db_post_setup.yml#L32 | |
| 18:58:13 | mriedem | so nvm | |
| 18:58:14 | odyssey4me | yep, exactly | |
| 18:58:33 | odyssey4me | if someone names their cell "cell12" then it might not be right - but we're using safe defaults here | |
| 18:58:50 | kashyap | dansmith: To finish up, for completeness' sake: The QEMU / libvirt 3.9.0 "pause-before-switchover" thing -- it won't be useful in Nova's case, as that will stop the guest CPUs, which will extend the guest down time.) | |
| 18:59:02 | odyssey4me | although the spacing in that grep should be reasonable to protect the boundaries | |
| 19:03:14 | mriedem | odyssey4me: just to verify, this is running on the newton code before upgrading to ocata yes? | |
| 19:03:30 | mriedem | because http://logs.openstack.org/29/540329/5/check/openstack-ansible-upgrade-ubuntu-xenial/30ae3e2/job-output.txt.gz#_2018-02-05_18_10_32_079153 returns version 21 for the nova_api db which was the version in newton | |
| 19:04:06 | odyssey4me | yep, the initial build from be from what was the head of stable/newton at the time the test ran | |
| 19:04:17 | odyssey4me | I'll push a patch up to make it use the EOL branch now :) | |
| 19:04:29 | odyssey4me | oh hang on, I think it mighth be sha pinned | |
| 19:04:45 | mriedem | there was only one nova_api db change in newton before eol https://github.com/openstack/nova/blob/newton-eol/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/022_request_specs_spec_mediumtext.py | |
| 19:04:53 | mriedem | and shouldn't have anything to do with what you're seeing | |
| 19:05:04 | odyssey4me | heh, that makes it even weirder that this failed: https://github.com/openstack/openstack-ansible-tests/blob/stable/newton/test-vars.yml#L157 | |
| 19:05:35 | dansmith | kashyap: yeah that's why I said it didn't seem like it would :) | |
| 19:06:58 | mriedem | odyssey4me: so everything in that console output looks ok to me, | |
| 19:07:10 | mriedem | where do instances actually get created in newton before the upgrade is started? | |
| 19:07:14 | dansmith | kashyap: I was also really looking for you to comment on the potential race with the setting of the bandwidth limit in two places.. did you look at that at all? | |
| 19:07:29 | mriedem | odyssey4me: i.e. how do you know that you've actually got instances from newton to map when map_instances runs? | |
| 19:07:36 | kashyap | dansmith: No, not yet. After I finish dinner | |
| 19:08:33 | odyssey4me | mriedem by 'instances' do you mean the compute host? The terminology is confusing to me here... because in this CI run no instance (by this I mean a cloud instance, not a nova hypervisor) is created until *after* the upgrade when tempest executes. | |
| 19:09:41 | mriedem | instances == vms | |
| 19:09:52 | mriedem | odyssey4me: ok then map_instances isn't going to map anything :) | |
| 19:10:02 | mriedem | map_instances means create nova_api.instance_mappings records in the db | |
| 19:10:07 | mriedem | based on VMs in the 'nova' db | |
| 19:10:11 | mriedem | the 'nova' db is the cell1 db | |
| 19:11:08 | mriedem | odyssey4me: so looking at https://pastebin.com/C9ji6vdS again, when/how did either of those instances get created? | |
| 19:11:13 | mriedem | the ones passed to verify_instance | |
| 19:11:13 | odyssey4me | ok, btw if we're doing something dumb here then please feel free to say so with any improvement suggestions :) | |
| 19:11:23 | mriedem | odyssey4me: the ansible tasks all look fine | |
| 19:11:39 | mriedem | the ansible is like a step for step copy of what's in the install guide here https://docs.openstack.org/nova/latest/user/cells.html | |
| 19:11:59 | odyssey4me | ok, given that I did those commands after the test failed, those instances would have been created by tempest after the upgrade completed | |
| 19:12:18 | odyssey4me | the one thing that may not have run here is the online migrations | |
| 19:12:26 | dansmith | kashyap: okay thanks | |
| 19:12:42 | mriedem | odyssey4me: do you see any errors in the nova-api logs? | |
| 19:12:46 | mriedem | or nova-conductor? | |
| 19:13:24 | mriedem | also, based on that git hash for nova, the CI isn't picking up any bug fixes since the newton GA | |
| 19:13:26 | mriedem | which seems less than ideal | |
| 19:16:24 | odyssey4me | nova-conductor: No host-to-cell mapping found for selected host ocata-nova1. Setup is incomplete. | |
| 19:16:42 | odyssey4me | Failed to compute_task_build_instances: Host 'ocata-nova1' is not mapped to any cell | |
| 19:17:48 | hrw | https://marcin.juszkiewicz.com.pl/2018/02/06/graphical-console-in-openstack-aarch64/ - please read ;) | |
| 19:24:15 | tssurya | odyssey4me: can you check the value of the "mapped" column inside compute_nodes table of the nova db (cell1 db), ? if you have this host there, then there should be a record | |
| 19:26:05 | odyssey4me | hmm, select mapped from compute_nodes; gives me an unknown column error | |
| 19:26:50 | odyssey4me | yup, none of those are working | |
| 19:27:02 | odyssey4me | none of the db's have that column | |
| 19:29:49 | tssurya | there should be a table called compute_nodes only in your nova db | |
| 19:29:52 | tssurya | not in the api | |
| 19:30:41 | tssurya | odyssey4me: that is in the cell1's db | |
| 19:31:02 | odyssey4me | yup, the nova db has that table - but the table has no 'mapped' column | |
| 19:32:26 | odyssey4me | tssurya here're the columns present: https://pastebin.com/grmGWEQe | |
| 19:33:11 | odyssey4me | tssurya in case you missed it, this is a newton build (with no cells) being upgraded to an ocata build (with cells being setup) | |
| 19:33:20 | odyssey4me | cells v2 to be clear | |
| 19:35:20 | tssurya | odyssey4me: oh okay, ocata.. | |
| 19:35:49 | odyssey4me | tssurya yep :) ye olde crusty stable code ;) | |
| 19:37:02 | odyssey4me | mriedem any further thoughts or ideas? if not I'll work on fixing up the log capturing so that I can point you at a proper set of logs to peruse | |
| 19:37:54 | mriedem | odyssey4me: sorry was eating lunch, | |
| 19:38:01 | mriedem | i think the compute_nodes.mapped column was added in ocata | |
| 19:38:31 | mriedem | the host 'ocata-nova1' is a problem i think, since an earlier paste showed it was discovered in 2 different cell mappings | |
| 19:38:47 | mriedem | https://pastebin.com/mSwpZybQ | |
| 19:39:13 | mriedem | at this point i'd probably need the logs from an untouched env | |
| 19:39:38 | odyssey4me | alright, thanks much for your time and input so far | |
| 19:39:41 | mriedem | yw | |
| 19:40:21 | odyssey4me | I'll work on getting the log collection fixed up so that we can debug better. | |
| 19:44:30 | efried | mriedem: I'm going to put up three pairs of patches to dig a bit deeper, see which part of ServiceTokenAuthWrapper is actually busted. | |
| 19:44:36 | efried | mriedem: Unless you have some other plan. | |
| 19:44:42 | mriedem | so 6 patches? | |
| 19:45:04 | mriedem | i don't, no :) | |
| 19:45:21 | mriedem | we might have to put this in the release notes as a known issue | |
| 19:45:46 | efried | Yeah, going to pass through each of the service_auth-y bits of ServiceTokenAuthWrapper - which I have to do in ksa - and then a blank Nova patch for each that Depends-On its ksa buddy. | |
| 19:45:52 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Create volume attachment during boot from volume in compute https://review.openstack.org/541420 | |
| 19:45:53 | mriedem | ildikov: ^ cleans up that bfv legacy attach stuff | |
| 19:47:10 | ildikov | mriedem: tnx, looking | |
| 19:47:36 | openstackgerrit | Matt Riedemann proposed openstack/nova master: DNM: debug nova-api service version check during boot from volume https://review.openstack.org/540992 | |
| 19:51:04 | mriedem | holy f 679 check queue length | |
| 19:52:21 | melwitt | I saw there was a status message about zuul from 02:30 having problems | |
| 19:52:51 | melwitt | "[02:30:17] -openstackstatus-NOTICE: Our Zuul infrastructure is currently experiencing some problems and processing jobs very slowly, we're investigating. Please do not approve or recheck changes for now." | |
| 19:53:00 | mriedem | yeah i knew about that | |
| 19:53:22 | mriedem | melwitt: you might want to weigh in on this https://review.openstack.org/#/c/532361/ | |
| 19:53:37 | mriedem | given you'll be the ptl of the project that ruined removing mox in rocky for all projects | |
| 19:53:48 | melwitt | -_- | |
| 19:54:13 | mriedem | as the lame duck ptl, i can only fire shots across the bow | |
| 19:56:02 | mriedem | bauzas: don't forget https://review.openstack.org/#/c/526095/ | |
| 19:56:03 | cdent | melwitt, mriedem : I recommend either lying ("yeah, sure we can will do it") or just do it | |
| 19:56:24 | artom | Strictly speaking, *removing* mox is easy | |
| 19:56:25 | mriedem | cdent: i assumed we'd do what we have done in previous releases, | |
| 19:56:33 | artom | *Replacing* it with mock, OTOH... | |
| 19:56:34 | mriedem | which is we can work on it as a low priority thing | |
| 19:56:48 | mriedem | so it would be what doug said, which is forward progress | |