Earlier  
Posted Nick Remark
#openstack-nova - 2017-01-16
20:20:40 bauzas jaypipes: leaving notes meanwhile
20:21:23 openstackgerrit OpenStack Proposal Bot proposed openstack/nova: Updated from global requirements https://review.openstack.org/420844
20:30:33 jaypipes bauzas: k, done.
20:30:50 bauzas jaypipes: see my comment for context in gerrit
20:33:17 mriedem whew
20:33:44 mriedem dansmith: yeah probably, which is actually what i started working on
20:33:50 mriedem before the call i just got off of happened
20:34:40 bauzas jaypipes: thoughts on that ?
20:35:13 dansmith mriedem: okay
20:35:29 bauzas jaypipes: I honestly totally agree with you that using a reportclient is somehow sad
20:35:44 bauzas jaypipes: but I wanted to be pragmatic
20:38:41 openstackgerrit Andrey Kurilin proposed openstack/python-novaclient: DO NOT MERGE: check OSC https://review.openstack.org/420941
20:43:41 mriedem ok on the api node i create nova_subnode_cell db, and then create subnode-cell cell with the db connection to the nova_subnode_cell db and transport_url to the primary node's same mq
20:43:48 mriedem transport-url is going to be the same for all of these
20:44:00 mriedem then on the subnode setup after n-cpu is running i need to run discover_hosts
20:45:31 mriedem now i need to remember how to awk stuff, damn
21:01:26 jaypipes bauzas: sorry, reading now. got pulled away
21:01:32 bauzas np
21:07:36 comstud mriedem: well, there's your problem
21:08:28 jaypipes comstud: blast from the past! howdy.
21:08:36 comstud yo :)
21:08:41 jaypipes bauzas: ok, fair point on the reporting client thing. I can go along with that.
21:08:56 jaypipes bauzas: with a promise to clean up ex post facto.
21:09:05 bauzas jaypipes: my change is still there
21:09:15 jaypipes bauzas: I still would need to see a ComputeNodeList.get_all_by_uuids() though.
21:09:18 bauzas jaypipes: I mean the placementclient one
21:09:29 jaypipes bauzas: understood.
21:09:29 bauzas jaypipes: sure, I'll redo it
21:09:49 openstackgerrit Claudiu Belu proposed openstack/nova: hyper-v: Adds support for VMs with nested virtualization https://review.openstack.org/398509
21:09:50 openstackgerrit Claudiu Belu proposed openstack/nova: Adds CPUFeaturesField to ImageMetaProps https://review.openstack.org/420960
21:10:10 bauzas jaypipes: the question I was wondering about the placementclient is that it would be reasonable to only provide CRUD ops in it
21:10:33 bauzas jaypipes: or if I'd rather work on objectifying that client
21:10:52 bauzas cutting by just the CRUD ops could possible be merged sooner
21:11:05 jaypipes bauzas: no, I think just pulling get/put/post/safe_connect into a class is correct.
21:11:05 mriedem comstud: it's ok, mrodden stopped by just at the right time and gave me the awk i needed
21:11:18 bauzas but I'd tend to prefer having a placementclient that would have resources in it
21:11:36 bauzas jaypipes: okay, then I'll continue to keep my change up-to-date then
21:11:58 bauzas it'll just be a top change, not a dependent one
21:12:04 jaypipes bauzas: I'd prefer composition over inheritance as I mentioned before, and keep state in separate objects (i.e. not the PlacementClient class itself but the object that contains a PlacementClient object)
21:12:39 bauzas jaypipes: composition is already in the last PS
21:12:42 bauzas AFAIR
21:12:49 bauzas unless I forgot to upload it
21:14:46 bauzas jaypipes: state of what? it's mostly stateless if you except the disabled thing
21:15:08 jaypipes bauzas: I mean the _resource_providers dict.
21:15:22 bauzas jaypipes: in that case, it's fine, I left that
21:15:29 jaypipes bauzas: I would prefer that not be in the PlacementClient. That should be in the ReportingClient, yes?
21:15:40 bauzas correct
21:15:43 jaypipes cool
21:15:51 bauzas jaypipes: https://review.openstack.org/#/c/417111/7/nova/scheduler/client/report.py is pretty seamless
21:16:26 jaypipes bauzas: oui. absolument.
21:16:49 jaypipes bauzas: though I'd change SafeConnectDecorator to @client.safe_connect :)
21:18:12 bauzas jaypipes: but I need to keep a state, hence the deco object :)
21:19:47 jaypipes bauzas: you could just look for a consistently-named attribute, no?
21:20:38 bauzas jaypipes: I could use a global var
21:21:35 jaypipes bauzas: or a consistently-named attr :)
21:22:22 jaypipes bauzas: else you could require classes to implement a get_placement_client() method.
21:22:27 jaypipes bauzas: or something like that.
21:22:29 mriedem dansmith: hmm, should create_cell sync the db schema for that cell?
21:23:00 bauzas jaypipes: I thought of the latter
21:23:16 bauzas jaypipes: anyway, I'll see
21:24:28 openstackgerrit Dan Smith proposed openstack/nova: WIP Move instance creation to conductor https://review.openstack.org/319379
21:24:46 dansmith mriedem: hmm, I dunno..
21:24:54 dansmith maybe optional? --sync-that-mofo-too?
21:25:44 mriedem yeah because the problem is running nova-manage db sync on my subnode cell
21:27:59 mriedem dansmith: fuck i've been doffm'ed https://github.com/openstack/nova/blob/7cb416546a2c6d8eb36cbf9acfde776d54a26811/nova/cmd/manage.py#L630
21:28:20 dansmith mriedem: um, congrats?
21:28:32 mriedem just looks like we thought about this before
21:28:51 mriedem so to sync this db i have to hack the nova.conf
21:29:06 mriedem otherwise it's going to be pointing at the nova db connection on the primary node
21:29:40 dansmith mriedem: you could make that work for other cells easily, right?
21:29:53 dansmith just list all the mappings and target them before sync like cell0 does
21:29:53 mriedem yeah we just get all the cell mappings and sync them
21:31:17 mriedem the note here seems wrong https://github.com/openstack-dev/devstack/blob/master/lib/nova#L687
21:31:46 mriedem nova-manage db sync is just going to sync the local main db, or whatever is in CONF.database.connection
21:32:31 dansmith yeah
21:32:36 mriedem today we're getting cell0 synced b/c of https://github.com/openstack-dev/devstack/blob/master/lib/nova#L950
21:32:43 dansmith mriedem: could also make db sync take a cell uuid or osmeting
21:33:15 mriedem so in the cells v1 case i don't see where we even sync the cell0 db
21:33:39 dansmith the cellsv1 case?
21:33:51 mriedem this https://github.com/openstack-dev/devstack/blob/master/lib/nova#L951-L956
21:34:05 dansmith map_cell0 does it
21:34:25 mriedem umm,
21:34:39 mriedem nope
21:34:40 mriedem https://github.com/openstack/nova/blob/7cb416546a2c6d8eb36cbf9acfde776d54a26811/nova/cmd/manage.py#L1157
21:34:44 mriedem it creates the cell0 mapping
21:34:46 mriedem but doesn't sync it
21:34:54 dansmith oh hmm, yeah
21:34:56 dansmith I thought it did
21:35:30 mriedem simple_cell_setup is the only one that does https://github.com/openstack/nova/blob/7cb416546a2c6d8eb36cbf9acfde776d54a26811/nova/cmd/manage.py#L1105
21:35:33 dansmith wait, no.. the db sync does it for cellsv1 right?
21:36:01 mriedem as far as i can tell, db sync is going to just sync the 'main' db
21:36:18 dansmith no, it does cell0 and the main one
21:36:31 dansmith https://github.com/openstack/nova/blob/7cb416546a2c6d8eb36cbf9acfde776d54a26811/nova/cmd/manage.py#L635
21:36:36 mriedem oh yeah
21:36:39 dansmith it queries for cell0 and does it, it just doesn't list
21:37:08 mriedem so,
21:37:13 mriedem i think i'm just going to address https://github.com/openstack/nova/blob/7cb416546a2c6d8eb36cbf9acfde776d54a26811/nova/cmd/manage.py#L630
21:37:16 mriedem and do the cell mapping list
21:37:19 mriedem and sync those mofos
21:38:02 mriedem i mean we could also do this in create_cell easily

Earlier   Later