| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-23 | |||
| 17:12:49 | mriedem | efried: you should follow up in -infra | |
| 17:12:56 | efried | mriedem ack | |
| 17:19:48 | mriedem | dansmith: want to push this through the specs repo to trigger the publish job? https://review.openstack.org/#/c/456756/ | |
| 17:28:29 | dansmith | mriedem: done | |
| 17:40:36 | openstackgerrit | Merged openstack/nova-specs master: Add a new section: "Upgrade impact" to the template https://review.openstack.org/456756 | |
| 18:07:06 | mriedem | efried: ^ should have flushed a post job | |
| 18:07:21 | efried | mriedem Not yet https://specs.openstack.org/openstack/nova-specs/specs/queens/index.html | |
| 18:07:25 | efried | been watching. | |
| 18:28:16 | mriedem | dansmith: remember this test? https://github.com/openstack/nova/blob/master/nova/tests/unit/db/test_sqlalchemy_migration.py#L379 | |
| 18:28:50 | mriedem | it's causing me some problems with the flavor.description stuff because it doesn't run the schema change that adds the description column, but it creates a flavor using the object, which has a flavor attribute now, | |
| 18:29:00 | mriedem | so trying to think of non terrible ways to resolve that in the test | |
| 18:29:28 | dansmith | mriedem: create the flavor with the model directly | |
| 18:30:07 | mriedem | yeah was just thinking about bypassing the object and using nova.objects.Flavor._flavor_crate | |
| 18:30:10 | mriedem | *create | |
| 18:30:26 | dansmith | yeah | |
| 18:36:18 | mriedem | ah that doesn't work, something to do with the sqla model | |
| 18:40:49 | mriedem | i could manually add the flavors.description column in the test itself, which isn't fun but not sure what else can be done | |
| 18:48:15 | dansmith | what fails when using it directly? | |
| 18:56:37 | mriedem | dansmith: same thing as via the object | |
| 18:56:38 | mriedem | one)] | |
| 18:56:38 | mriedem | oslo_db.exception.DBError: (sqlite3.OperationalError) table flavors has no column named description [SQL: u'INSERT INTO flavors (created_at, updated_at, name, memory_mb, vcpus, root_gb, ephemeral_gb, flavorid, swap, rxtx_factor, vcpu_weight, disabled, is_public, description) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: ('2017-10-23 18:35:19.692208', None, 'foo', 123, 1, 1, None, 'm1.foo', 0, 1.0, None, 0, | |
| 18:57:00 | dansmith | is it not nullable? | |
| 18:57:07 | mriedem | it is | |
| 18:57:22 | mriedem | in that test, | |
| 18:57:33 | mriedem | we haven't run the table schema change to add the column to the flavors table | |
| 18:57:35 | dansmith | and you're not setting it on the model rght? | |
| 18:57:36 | dansmith | right | |
| 18:57:38 | mriedem | right | |
| 18:57:40 | dansmith | huh | |
| 18:57:47 | dansmith | I would have thought that would work | |
| 18:57:47 | mriedem | i think the model is defaulting it to None? | |
| 18:58:08 | dansmith | so you could easily just set without the orm | |
| 18:58:20 | dansmith | i.e. table.insert(...) | |
| 18:58:31 | mriedem | yeah... | |
| 18:58:33 | mriedem | will try that | |
| 19:04:32 | mriedem | issue the 2nd: Flavor.save() isn't remotable, so preferences on either making that remotable or adding a new save_updates() remotable or something? Flavor.save() calls off to remotables for updating projects and extra_specs | |
| 19:04:46 | mriedem | not sure if we can add remotable for Flavor.save() now or not | |
| 19:04:51 | mriedem | guessing that's bad form | |
| 19:08:06 | openstackgerrit | Eric Fried proposed openstack/nova master: Include /resource_providers/uuid/allocations link https://review.openstack.org/499826 | |
| 19:09:32 | dansmith | mriedem: computes are the only things that really need things to be remotable, and they can't talk to conductors that could do any flavor saving | |
| 19:15:47 | mriedem | table.insert().execute(values) works btw - easier than the other hacks i was thinking of | |
| 19:15:48 | mriedem | thanks | |
| 19:16:32 | dansmith | cool | |
| 19:44:32 | mriedem | can i use "彩虹和独角兽" as a description in tests? | |
| 19:45:16 | mikal | yes | |
| 19:45:21 | mriedem | i don't even know if we encode those first | |
| 19:45:30 | openstackgerrit | Michael Still proposed openstack/nova master: Move loopback setup and removal to privsep. https://review.openstack.org/495664 | |
| 19:45:30 | openstackgerrit | Michael Still proposed openstack/nova master: Move the idmapshift binary into privsep. https://review.openstack.org/495541 | |
| 19:45:31 | openstackgerrit | Michael Still proposed openstack/nova master: Move kpartx calls to privsep. https://review.openstack.org/500354 | |
| 19:45:31 | openstackgerrit | Michael Still proposed openstack/nova master: Move nbd commands to privsep. https://review.openstack.org/500351 | |
| 19:45:32 | openstackgerrit | Michael Still proposed openstack/nova master: Move blkid calls to privsep. https://review.openstack.org/500398 | |
| 19:46:05 | mikal | sdague: I done fixed that release note for you | |
| 19:51:42 | dansmith | mriedem: niiiice | |
| 19:52:10 | mriedem | rainbows and unicorns are somehow more magical in mandarin | |
| 20:01:03 | sdague | mikal: cool, I'll circle in a minute | |
| 20:04:11 | efried | Anyone know if we're supposed to handle queryparams with multiple values in the placement API? | |
| 20:04:35 | efried | E.g. ?resources=VCPU:1,MEMORY_MB:2048&resources=DISK_GB:5 | |
| 20:05:06 | efried | edleafe dansmith jaypipes cdent ^ ? | |
| 20:05:27 | mikal | sdague: yeah, no rush | |
| 20:05:32 | efried | The code doesn't appear to be set up to do so, but I could be reading it wrong fo sho. | |
| 20:06:33 | edleafe | efried: my understanding is that each resource requires its own resource= | |
| 20:07:45 | efried | edleafe If that's the case, I'm *definitely* reading the code wrong. Let me grab some links... | |
| 20:09:34 | efried | edleafe We grab the 'resources' qparam value here: https://github.com/openstack/nova/blob/a067f8c64654a058e04e41389019bd6ff5841cdc/nova/api/openstack/placement/handlers/allocation_candidate.py#L166 | |
| 20:09:47 | efried | edleafe Then we start chewing it up here: https://github.com/openstack/nova/blob/a067f8c64654a058e04e41389019bd6ff5841cdc/nova/api/openstack/placement/util.py#L223-L230 | |
| 20:10:00 | efried | The latter chunk appears to be expecting a string, never a list | |
| 20:10:39 | efried | And if I'm understanding MultiDict correctly, you'll get a list if you do GET['resources'] and the qstring was like my example above. | |
| 20:10:53 | edleafe | efried: yeah, I'm looking at normalize_resources_qs_param(), and it does look like you can do what you asked | |
| 20:11:13 | efried | edleafe can or can't? | |
| 20:12:03 | edleafe | can: multiple RCs per resource=. I don't see where multiple resource= is supported | |
| 20:12:23 | efried | edleafe Right, in my example DISK_GB was specified in a separate resources= | |
| 20:13:07 | edleafe | I would have to run a few tests with the combinations to say for sure. | |
| 20:13:23 | efried | edleafe oh, interestingly, when you say MultiDict[key] you don't get a list. You get the last one. | |
| 20:13:48 | efried | edleafe You have to use getall to get the list. | |
| 20:14:00 | efried | So: not supported. Good to know. | |
| 20:14:35 | edleafe | too bad cdent isn't here. I remember the back-and-forth we had, but not why we settled on the current approach. He might remember that. | |
| 20:16:42 | efried | edleafe I will be sure to follow up with him on that at some point; but for now it's enough for me to know where we stand. | |
| 21:07:44 | mriedem | dansmith: just noticed something strange - not sure if this was intentional or not, | |
| 21:07:57 | mriedem | but was writing a test where i create an instance, | |
| 21:08:14 | mriedem | then i set instance.flavor and assert the only changed field is the flavor | |
| 21:08:15 | mriedem | self.assertEqual(['flavor'], list(instance.obj_what_changed())) | |
| 21:08:33 | mriedem | that failed with: testtools.matchers._impl.MismatchError: ['flavor'] != ['ec2_ids', 'flavor'] | |
| 21:09:07 | mriedem | it looks like on instance.create() we load ec2_ids and then reset the field, but because we aren't recursively resetting the EC2Ids object, it still shows up in the obj_what_changed() results | |
| 21:10:49 | dansmith | ah might be | |
| 21:10:51 | mriedem | so on a subsequent instance.save() we'll call _save_ec2_ids but that's a no-op, so it's not like it hurts anything, | |
| 21:10:55 | mriedem | but it's unnecessary processing | |
| 21:13:39 | trozet | hi all. I was wondering if someone can help me with an issue. Ocata + 5 ironic nodes. I go to deploy instances (via tripleO) and see Starting with 0 host(s) get_filtered_objects /usr/lib/python2.7/site-packages/nova/filters.py:70 | |
| 21:13:55 | trozet | all ironic nodes are in hypervisor-list | |
| 21:18:00 | efried | trozet I think you want to try the #openstack channel. | |
| 21:31:11 | mriedem | hmm, shouldn't any model update result in an auto-update to the updated_at field? | |
| 21:31:20 | mriedem | given: updated_at = Column(DateTime, onupdate=lambda: timeutils.utcnow()) | |
| 21:35:34 | mriedem | ha, nvm | |
| 21:35:49 | mriedem | something something test assertions doing what you wanted them to do | |
| 21:40:36 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add Flavor.description attribute https://review.openstack.org/514371 | |
| 21:47:46 | mwynne | Hi guys. I'm trying to resize an instance but it just goes to an ACTIVE state and never resizes. | |
| 21:47:57 | mriedem | mwynne: check compute logs for errors | |
| 21:48:14 | mwynne | compute logs on the compute node? | |
| 21:48:28 | mwynne | Is there an easy way for me to tell which compute node the VM is on? | |
| 21:56:26 | melwitt | mwynne: I think if you do a 'nova show' with admin credentials it will show what compute node it's on | |
| 22:08:43 | mwynne | melwitt: hostId? | |
| 22:10:02 | melwitt | mwynne: no, hypervisor_hostname | |