| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-06-06 | |||
| 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 | |
| 21:51:38 | zzzeek | bauzas / melwitt OK so that first URL does go back and forth between URL / string symetrically: http://paste.openstack.org/show/611562/ however, it's not as easy to put inside a file b.c. the character is not ASCII | |
| 21:52:13 | zzzeek | a function that returns an ASCII escaped form of a SQLA URL is defintely a good function to have, in oslo.db to start and SQLA can have it too | |
| 21:53:13 | zzzeek | ah ok %40, let's try that | |
| 21:53:19 | bauzas | zzzeek: right, that's the problem we have | |
| 21:53:39 | bauzas | or we could assume it's a non-problem ? | |
| 21:54:21 | zzzeek | bauzas: well the @ sign has to be %40 because @ is syntactically part of the URL | |
| 21:54:23 | zzzeek | 'mysql+pymysql://test:abcd0123%40AB@controller/nova' | |
| 21:54:23 | zzzeek | >>> u = url.make_url('mysql+pymysql://test:abcd0123%40AB@controller/nova') | |
| 21:54:23 | zzzeek | >>> str(u) | |
| 21:54:43 | zzzeek | if we are talking about @ sign, that has to be %40 in all str representations | |
| 21:54:53 | bauzas | right | |
| 21:54:55 | zzzeek | >>> u.password | |
| 21:54:56 | zzzeek | 'abcd0123@AB' | |
| 21:55:11 | zzzeek | that works symettrically, you can put it in a conf file no problem | |
| 21:56:32 | melwitt | hmm | |
| 21:56:59 | openstackgerrit | Merged openstack/nova master: Remove Babel from requirements.txt https://review.openstack.org/468350 | |
| 21:57:16 | bauzas | that's what I wondered when I stated this a potential non-problem | |
| 21:57:24 | melwitt | yeah, so I guess to the actual database it will work fine but the user would see their password look different in the conf file after we muck with it | |
| 21:57:44 | bauzas | melwitt: we're not updating the file, right? | |
| 21:58:05 | bauzas | melwitt: it's just the connection string that is in the DB that would differ from what the operator provided | |
| 21:58:39 | bauzas | which couldn't be a problem if the service is able to connect thru the given creds even if they are not ASCII-shown | |
| 21:58:44 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Revert "Remove Babel from requirements.txt" https://review.openstack.org/471498 | |
| 21:58:50 | mriedem | sdague: ^ | |
| 21:58:56 | mriedem | babel isn't used in code, it's used in config | |