| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-05-24 | |||
| 20:43:26 | zzzeek | mriedem: OK...are there no existing tests using it? | |
| 20:43:28 | mriedem | but teardown complains about not having a schema attribute on the test | |
| 20:43:30 | mriedem | nope | |
| 20:43:33 | mriedem | well, | |
| 20:43:48 | mriedem | our db schema migration tests do some stuff, but i can't make heads or tails of those | |
| 20:44:13 | mriedem | going through the setup code in oslo.db totally gets me lost | |
| 20:44:29 | zzzeek | mriedem: yeah | |
| 20:44:42 | zzzeek | oslo_test_base.BaseTestCase ? | |
| 20:44:42 | zzzeek | mriedem: are you mixing in test_fixtures.OpportunisticDBTestMixin, | |
| 20:44:57 | mriedem | not the BaseTestCase | |
| 20:45:25 | zzzeek | mriedem: try sticking "SCHEMA_SCOPE=None" on your test class ? | |
| 20:46:15 | mriedem | trying it | |
| 20:46:36 | zzzeek | mriedem: hmmm that's not it | |
| 20:46:40 | zzzeek | mriedem: stack trace ? | |
| 20:48:13 | zzzeek | mriedem: oh. this is all deprecated stuff anyway. you on newish oslo.db ? | |
| 20:48:21 | mriedem | yeah i'm trying to use the fixtures | |
| 20:48:22 | zzzeek | mriedem: e.g. dont need to backport to mitaka ? | |
| 20:48:33 | mriedem | with our nova base TestCase code | |
| 20:48:36 | mriedem | which has it's own DatabaseFixture | |
| 20:48:58 | mriedem | i started copying this https://review.openstack.org/#/c/283364/6/nova/tests/functional/regressions/test_bug_1538011.py but that's extending a deprecated test class in oslo.db | |
| 20:49:08 | zzzeek | mriedem: yeah i was goign to go in there and change it all a while back, a lot of this fixture stuff had nova in mind. | |
| 20:50:01 | mriedem | getting this back to where i started and then i can push it up | |
| 20:51:09 | jose-phillips | hey | |
| 20:51:27 | jose-phillips | someone now how to set a metadata with python novaclient | |
| 20:51:29 | zzzeek | mriedem: yeah i need stack trace to work w/ this here | |
| 20:51:38 | zzzeek | mriedem: need to see where it looks for .schema | |
| 20:51:51 | jose-phillips | should be nova.aggregates.set_metadata (openstackId,metadata) ? | |
| 20:51:59 | zzzeek | mriedem: id guess your fixture is mixing in stuff from your existing fixture stuff ? | |
| 20:52:19 | mriedem | zzzeek: yeah | |
| 20:52:50 | mriedem | hmm, maybe this worked for https://review.openstack.org/#/c/283364/6/nova/tests/functional/regressions/test_bug_1538011.py because it wasn't pulling in our TestCase default setup in nova | |
| 20:53:03 | zzzeek | mriedem: you'd need to start totally clean first. i had a plan to totally rewrork nova's fixtures at some point | |
| 20:53:05 | mriedem | which means i'd have to reinvent some things in my test | |
| 20:53:10 | mriedem | ok yeah | |
| 20:53:11 | mriedem | bummer | |
| 20:54:13 | sdague | zzzeek: is there a way we can get some version we can use with our existing fixture set? | |
| 20:54:39 | zzzeek | sdague: of course | |
| 20:55:11 | sdague | we do have this class of mysql related issues that would be good to have a pattern to write regressions for | |
| 20:55:27 | zzzeek | sdague: id have to look at it again to see if the base fixture had some patterns that werent' going to work. the main one is that weird way you rebuild the sqlite schema using a dumpfile | |
| 20:55:56 | sdague | zzzeek: yeh, but that isn't used in the NoDBTestCase | |
| 20:57:39 | zzzeek | sdague: if mriedem wants to give me code I can re-familiarize with everything and what nova looks like today and get his test to run | |
| 20:58:40 | zzzeek | sdague: i had a lot of ideas for fixing nova's DB fixtures and a lot of what is in oslo_db today is based around being able to do that w/ maximum flexibility | |
| 21:00:13 | sdague | zzzeek: sure, I don't know where that stands. All I've got is the code I abandoned, that used the old fixture that he linked https://review.openstack.org/#/c/283364/6/nova/tests/functional/regressions/test_bug_1538011.py | |
| 21:00:54 | sdague | the preamble that gets to the point of being able to run migration.db_sync(database='main') | |
| 21:01:04 | sdague | is kind of what needs to be figured out | |
| 21:01:17 | mriedem | i'm close | |
| 21:01:27 | zzzeek | sdague: are these the tests you want to run? | |
| 21:01:31 | mriedem | no | |
| 21:02:13 | mriedem | things have changed quite a bit from that patch | |
| 21:02:19 | sdague | mriedem: ok | |
| 21:03:40 | zzzeek | sdague: the fixture would include GeneratesSchema as a mixin and implement the generate_schema_migrations(engine) method, wher you pass that engine into migration.db_sync(database='main', engine=engine) IIRC how you had that in your test suite already | |
| 21:04:05 | sdague | right, I think the trick was getting the engine allocated | |
| 21:04:12 | zzzeek | sdague: err GeneratesSchemaFromMigrations | |
| 21:04:45 | zzzeek | sdague: yeah this happens in your existing test suite somehwere. or maybe the patch I had included a small tweak to allow it. guess i have to find it | |
| 21:05:38 | zzzeek | sdague mriedem here we are https://review.openstack.org/#/c/349057/ | |
| 21:06:07 | mriedem | heh well i'm getting closer Table 'frkgzoinub.flavors' doesn't exist | |
| 21:06:13 | mriedem | looks like it didn't run the migrations properly | |
| 21:06:50 | sdague | mriedem: you have to run them manually | |
| 21:07:56 | zzzeek | mriedem sdague look at generate_schema_migrations in https://review.openstack.org/#/c/349057/2/nova/tests/fixtures.py | |
| 21:09:29 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Fix instance lookup in hide_server_addresses extension https://review.openstack.org/467772 | |
| 21:09:36 | mriedem | zzzeek: sdague: ^ is the start | |
| 21:10:35 | sdague | mriedem: cool, yeh, that looks kind of what I'd expect | |
| 21:11:24 | sdague | mriedem: I can play in the morning, I need to start working on dinner here | |
| 21:12:11 | zzzeek | mriedem: I can work on using all the newest patterns in just this one test if you want | |
| 21:12:44 | openstackgerrit | Dan Smith proposed openstack/nova master: Fix live migration devstack hook for multicell environment https://review.openstack.org/458537 | |
| 21:12:45 | openstackgerrit | Dan Smith proposed openstack/nova master: Target cell on local delete https://review.openstack.org/464059 | |
| 21:14:01 | mriedem | zzzeek: that's fine if you want, we'll actually have two db's to sync | |
| 21:14:05 | mriedem | the api db and the main db | |
| 21:14:18 | mriedem | not sure how that's going to work here | |
| 21:14:52 | zzzeek | mriedem: in one test ? | |
| 21:15:02 | mriedem | yeah | |
| 21:15:11 | zzzeek | mriedem: here's why oslo.db is so complicated :) | |
| 21:15:38 | mriedem | https://github.com/openstack/nova/blob/master/nova/test.py#L273 | |
| 21:15:41 | mriedem | that sets up the api db, | |
| 21:15:52 | mriedem | and then 2 cells mappings, which are really 2 dbs | |
| 21:15:54 | mriedem | with the same schema | |
| 21:15:58 | mriedem | so we really have 3 dbs per test | |
| 21:16:11 | mriedem | https://github.com/openstack/nova/blob/master/nova/test.py#L317 | |
| 21:16:22 | openstackgerrit | Matt Rabe proposed openstack/nova master: Query deleted instance records during _destroy_evacuated_instances https://review.openstack.org/467774 | |
| 21:16:29 | zzzeek | mriedem: I shoved dozens of weird nova use cases into this and that...hmm actually I can do that. one fixture per DB | |
| 21:17:45 | zzzeek | mriedem: so the test would create three schemas on one MySQL server ? | |
| 21:18:00 | zzzeek | err three databases | |
| 21:23:09 | mriedem | yeah | |
| 21:23:19 | mriedem | nova_api, nova_cell0 and nova | |
| 21:23:37 | mriedem | schema for the first is 'api' and 'main' for the latter 2 | |
| 21:38:29 | jose-phillips | someone know | |
| 21:38:42 | jose-phillips | if i can update a metadata from a vm with a post command? | |
| 21:38:47 | jose-phillips | to the metadata address? | |
| 21:40:11 | mriedem | update in the config drive? | |
| 21:40:22 | mriedem | config drive is static after you've created the server | |
| 21:40:30 | jose-phillips | no i m mean | |
| 21:40:32 | jose-phillips | for example | |
| 21:40:39 | jose-phillips | i want to update a metadata called last-login | |
| 21:41:02 | jose-phillips | the question is if i can perform the update of these metadata from this address http://169.254.169.254/openstack/latest/meta_data.json | |
| 21:41:05 | jose-phillips | m | |
| 21:41:05 | jose-phillips | on each v | |
| 21:41:14 | mriedem | no | |
| 21:41:21 | mriedem | metadata API is read-only | |
| 21:41:30 | mriedem | you can change the metadata on the server via the compute REST API | |
| 21:41:44 | mriedem | https://developer.openstack.org/api-ref/compute/#server-metadata-servers-metadata | |
| 21:41:55 | jose-phillips | got it | |