Earlier  
Posted Nick Remark
#openstack-nova - 2017-05-24
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
21:42:05 jose-phillips i was thinking if i can doint from there as a post
21:42:25 jose-phillips my idea is track the last time activity on each server

Earlier   Later