Earlier  
Posted Nick Remark
#openstack-nova - 2017-06-06
20:35:32 bauzas mriedem: no worries, I see you active on the PG thingy
20:35:34 artom bauzas, don't think so - first is error 500, second one is error 400
20:36:17 openstackgerrit Matt Riedemann proposed openstack/nova master: libvirt: Check if domain is persistent before detaching devices https://review.openstack.org/441204
20:36:25 artom bauzas, but the message definitely is the same...
20:36:47 artom I feel like we should just close the first one with not enough info
20:36:53 dansmith melwitt: I think that's a good plan yeah
20:36:54 bauzas artom: yup, looks like both are related, just the fact that the API for nova list transforms it into 400
20:37:00 artom You can't just paste a stack trace into launchpad and call it a bug report
20:37:17 mriedem maybe just review https://review.openstack.org/#/c/422696/
20:38:06 melwitt cool, thanks dansmith
20:38:31 mriedem melwitt: i thought your bottom change was sabout instance groups quota?
20:38:37 mriedem wouldn't a config patch be separate?
20:38:53 mriedem oh wait,
20:39:01 mriedem the recheck quota thing in that patch, now i get it
20:39:11 mriedem and default that to what?
20:39:13 mriedem recheck by default?
20:39:22 melwitt yeah. I could do a separate patch for the config option but it would be by itself with nothing using it
20:39:32 mriedem just mix them together
20:39:33 melwitt yeah I was thinking recheck by default
20:39:38 melwitt ack
20:39:48 mriedem probably with a reno for the config option
20:40:07 melwitt yeah. thanks for reminding bc I probably would have forgotten the reno
20:44:00 ckopper danpawlik: I am finally back from my conference and was curious if you (or anyone else) had thoughts on what to do about the `img_hide_hypervisor_id` issue ( https://review.openstack.org/459753 ). I also hope I did not miss any discussion about this
20:45:43 ckopper (I can certainly wait to discuss this some other time more convenient for you)
21:03:22 openstack Launchpad bug 1696043 in OpenStack Compute (nova) "os-hypervisors api can not list the uuid of the specified VMM" [Undecided,Invalid] - Assigned to mylq (leibnizlq)
21:03:22 bauzas mriedem: heh, fun someone is asking for something you began to write https://bugs.launchpad.net/nova/+bug/1696043
21:03:34 mriedem melwitt: so on https://review.openstack.org/#/c/470578 i think we both probably think that if you delete the instance, if the compute is down, the local delete flow in the api should cleanup the allocations so they don't count against your quota?
21:03:48 bauzas mriedem: be glad to feel yourself filling a gap :p
21:04:24 mriedem heh, if i'd only start writing that patch
21:04:33 melwitt mriedem: yeah, that's what I was thinking. but that introduces the dependency of nova-api on placement as you mentioned
21:04:51 mriedem yup
21:05:05 mriedem but, i don't know what else we'd do there
21:05:21 mriedem unless we ran a periodic in scheduler, but that seems wrong
21:05:31 melwitt yeah, same.
21:05:51 melwitt I thought about it, noted it in the commit message, and then punted the thought for later :P
21:06:51 bauzas melwitt: mriedem: AFAIK we removed any periodic task in the scheduler service
21:07:35 cdent melwitt: I added yet more commentary on the lifestyle of consumer uuids. Not clear what should be done, but it feels like something. Also: good spot on the dangerous thing.
21:07:41 bauzas and given I'd like to see scheduler code be running within the conductor worker, I tend to pretend it should not exist
21:10:06 melwitt cdent: cool, will check it out. yeah, agreed. I'm hoping once we all chime in there, it'll become more clear what we should do
21:10:38 openstack Launchpad bug 1696001 in OpenStack Compute (nova) "nova-manage cell_v2 map_cell0 can create invalid connection URL" [Undecided,New]
21:10:38 bauzas melwitt: dansmith: fun bug https://bugs.launchpad.net/nova/+bug/1696001
21:12:10 melwitt dammit, the rstrip() thing bit us. I guess my suggestion to do the equivalent of a "rreplace()" was actually needed
21:12:30 bauzas yup
21:12:37 bauzas I can cook a patch up
21:15:00 mriedem bauzas: we are certainly running periodic tasks in the scheduler
21:15:02 mriedem in the host manager
21:15:09 mriedem the discover hosts thing from ocata is in there
21:15:14 dansmith is this bug melwitt's fault?
21:15:15 dansmith because I really need her to start taking some of the blame
21:15:50 melwitt it could be reasoned as my fault for not pushing my rreplace() agenda
21:16:10 mriedem it's my fault
21:16:36 mriedem at least we have the unit test to recreate it, just add mysql+pymysql://nova:password@db.example.com/nova?charset=utf8 to the ddt list
21:16:40 melwitt I'm still not sure that's really the right thing to do either because we want to make a change to the url.database variable really. it just didn't work right because of encoding or something
21:17:51 mriedem cool that's also in ocata and newton b/c i backported it
21:18:01 melwitt yeah. fun times
21:18:22 bauzas I just feel we need to replace at the index where we found the string
21:18:50 mriedem i was doing sometihng like that in an earlier version
21:18:58 mriedem and then the sqla url thing was pointed out to simplify
21:19:18 melwitt bauzas: yeah, my suggestion in the review was "return cell0_db_name.join(connection.rsplit(url.database, 1))"
21:19:32 melwitt but really we want to just change url.database and then re-make the whole url and return it
21:19:46 melwitt but when mriedem tried it, it blew up because of the str() call
21:19:54 bauzas lemme try it
21:23:28 mriedem str() blows up because sqla tries to do some things on __str__
21:23:36 mriedem for unicode or repr type stuff
21:24:04 mriedem https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/engine/url.py#L90
21:24:12 mriedem https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/engine/url.py#L69
21:24:17 mriedem yeah it encodes the parameters
21:24:19 mriedem for URL encoding
21:25:40 bauzas mriedem: something I don't understand is why we don't change url.connection directly and stringify url ?
21:26:59 mriedem bauzas: you can't str(url) because of ^
21:27:02 melwitt bauzas: that's what we're talking about
21:27:10 mriedem bauzas: what time is it in le france?
21:27:17 zzzeek mriedem / melwitt : the URL object has all the fields you need to make whatever string you need
21:27:35 mriedem zzzeek: yeah we could build a url i suppose using the parts
21:27:41 mriedem frankenurl
21:27:47 mriedem (tm)
21:28:15 bauzas mriedem: 23:28
21:28:16 melwitt I'm still back on not understanding why it can't re-stringify the url just because we changed url.database
21:28:27 bauzas sec, uploading the change
21:31:00 openstackgerrit Matt Riedemann proposed openstack/nova master: Avoid unnecessary lazy-loads in mutated_migration_context https://review.openstack.org/471486
21:31:08 openstackgerrit Sylvain Bauza proposed openstack/nova master: Fix cell0 naming when QS params on the connection https://review.openstack.org/471487
21:31:33 bauzas mriedem: melwitt: zzzeek: just lemme know why I can't just str() the object
21:31:36 bauzas ^
21:31:39 melwitt heh, that's the same thing mriedem tried
21:32:00 mriedem bauzas: because https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/engine/url.py#L69
21:32:05 mriedem you don't get the same thing back
21:32:10 mriedem you'll get URL-encoded username/password
21:32:27 bauzas okay, that's a small thing then
21:32:37 bauzas I'll rev the patch
21:40:37 openstackgerrit Matt Riedemann proposed openstack/nova master: DNM: see what else is doing useless migration context stuff https://review.openstack.org/471491
21:41:14 zzzeek bauzas: you should be able to str() it ?
21:41:46 zzzeek bauzas: repr() will hide the password but str() should be fine...
21:44:39 melwitt zzzeek: we tried that and it didn't work because it was percent-encoding colon and forward slash that were in the database connection url
21:48:00 zzzeek melwitt: can you show me this URL
21:48:25 bauzas zzzeek: eg. 'mysql+pymysql://test:abcd0123%AB@controller/nova'
21:49:00 melwitt zzzeek: it was in the review I linked but here ya go: reference = 'mysql+pymysql://nova:abcd0123@AB@controller/nova_cell0' actual = u'mysql+pymysql://nova:abcd0123%40AB@controller/nova_cell0'
21:49:16 melwitt that's one example
21:49:47 melwitt it changed the @ in the password to %40
21:51:06 bauzas FWIW, I'm tempted to just rindex() where I can find the DB and just join what's before and after
21:51:27 melwitt bauzas: yeah, that's what I pasted earlier

Earlier   Later