| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-04-14 | |||
| 20:26:27 | sean-k-mooney | we shoudl also have one on the name | |
| 20:26:27 | sean-k-mooney | we shoudl also have one on the name | |
| 20:26:41 | noonedeadpunk | yeah, I saw that... | |
| 20:26:41 | noonedeadpunk | yeah, I saw that... | |
| 20:26:46 | sean-k-mooney | dansmith: do you know why that is the case today ^ | |
| 20:26:46 | sean-k-mooney | dansmith: do you know why that is the case today ^ | |
| 20:27:08 | sean-k-mooney | dansmith: i.e. why we allow to cell records with the same name? | |
| 20:27:08 | sean-k-mooney | dansmith: i.e. why we allow to cell records with the same name? | |
| 20:27:27 | sean-k-mooney | noonedeadpunk: as far as i know we only use the id in other tables | |
| 20:27:27 | sean-k-mooney | noonedeadpunk: as far as i know we only use the id in other tables | |
| 20:27:41 | sean-k-mooney | noonedeadpunk: so other then cell0 which is speciall we dont really use the cell name | |
| 20:27:41 | sean-k-mooney | noonedeadpunk: so other then cell0 which is speciall we dont really use the cell name | |
| 20:28:07 | sean-k-mooney | noonedeadpunk: its just for operators really | |
| 20:28:07 | sean-k-mooney | noonedeadpunk: its just for operators really | |
| 20:28:21 | dansmith | yeah, name is just for the humans | |
| 20:28:21 | dansmith | yeah, name is just for the humans | |
| 20:28:32 | noonedeadpunk | well, I'm probably even ok that cell name is not unique. I just see no reason in adding cells with same name, transport_url and database_connection | |
| 20:28:32 | noonedeadpunk | well, I'm probably even ok that cell name is not unique. I just see no reason in adding cells with same name, transport_url and database_connection | |
| 20:28:34 | dansmith | but no I dunno any reason to or not to be unique on name for any reason | |
| 20:28:34 | dansmith | but no I dunno any reason to or not to be unique on name for any reason | |
| 20:29:07 | dansmith | noonedeadpunk: well, we had initially talked about sharding on the db but not the mq, or vice versa, | |
| 20:29:07 | dansmith | noonedeadpunk: well, we had initially talked about sharding on the db but not the mq, or vice versa, | |
| 20:29:12 | dansmith | so I think that's why we didn't make those unique | |
| 20:29:12 | dansmith | so I think that's why we didn't make those unique | |
| 20:29:41 | noonedeadpunk | And there's an attempt to avoid that with condition and raising `The specified transport_url and/or database_connection combination already exists for another cell with uuid ef89aebc-142d-4755-a377-6ed23b6c1ed4.` | |
| 20:29:41 | noonedeadpunk | And there's an attempt to avoid that with condition and raising `The specified transport_url and/or database_connection combination already exists for another cell with uuid ef89aebc-142d-4755-a377-6ed23b6c1ed4.` | |
| 20:29:42 | sean-k-mooney | dansmith: i was debating if this was for some kind of loadbalancing | |
| 20:29:42 | dansmith | however, I think we'd have work to do before that would actually work | |
| 20:29:42 | sean-k-mooney | dansmith: i was debating if this was for some kind of loadbalancing | |
| 20:29:42 | dansmith | however, I think we'd have work to do before that would actually work | |
| 20:29:43 | dansmith | at least testing | |
| 20:29:43 | dansmith | at least testing | |
| 20:30:45 | sean-k-mooney | kind of like the way you can list multple glance? rabbnit? instances in the config instead of using haproxy | |
| 20:30:45 | sean-k-mooney | kind of like the way you can list multple glance? rabbnit? instances in the config instead of using haproxy | |
| 20:31:04 | dansmith | no, that was never the reasoning for lack of uniqueness that I recall, | |
| 20:31:04 | dansmith | no, that was never the reasoning for lack of uniqueness that I recall, | |
| 20:31:06 | dansmith | more the opposite, | |
| 20:31:06 | dansmith | more the opposite, | |
| 20:31:25 | dansmith | where you wanted to be able to have two DBs and not two MQs or the like | |
| 20:31:25 | dansmith | where you wanted to be able to have two DBs and not two MQs or the like | |
| 20:31:25 | sean-k-mooney | ok | |
| 20:31:59 | sean-k-mooney | noonedeadpunk: in any case i guess you need to figure out why you are creatin gmultiple cells | |
| 20:31:59 | sean-k-mooney | noonedeadpunk: in any case i guess you need to figure out why you are creatin gmultiple cells | |
| 20:32:30 | sean-k-mooney | noonedeadpunk: i guess its not checking if it already exits? | |
| 20:32:30 | sean-k-mooney | noonedeadpunk: i guess its not checking if it already exits? | |
| 20:32:55 | noonedeadpunk | um... any time I run exact same comand - new cell is created. I just want to use same cell, and get exit code 2, when cell with provided transport_url and database_connection already exist | |
| 20:32:55 | noonedeadpunk | um... any time I run exact same comand - new cell is created. I just want to use same cell, and get exit code 2, when cell with provided transport_url and database_connection already exist | |
| 20:33:14 | noonedeadpunk | and when I get exit code 2, I want to update cell if necessary | |
| 20:33:14 | noonedeadpunk | and when I get exit code 2, I want to update cell if necessary | |
| 20:33:28 | noonedeadpunk | sean-k-mooney: it's checking, but check is broken | |
| 20:33:28 | noonedeadpunk | sean-k-mooney: it's checking, but check is broken | |
| 20:33:41 | noonedeadpunk | I'm kind of trying to explain that for the last several minutes :) | |
| 20:33:41 | noonedeadpunk | I'm kind of trying to explain that for the last several minutes :) | |
| 20:33:42 | sean-k-mooney | so nova manage bug? | |
| 20:33:42 | sean-k-mooney | so nova manage bug? | |
| 20:33:58 | noonedeadpunk | https://opendev.org/openstack/nova/src/commit/9e5feb051c15166988e87b10132927135bd56884/nova/cmd/manage.py#L623-L624 | |
| 20:33:58 | noonedeadpunk | https://opendev.org/openstack/nova/src/commit/9e5feb051c15166988e87b10132927135bd56884/nova/cmd/manage.py#L623-L624 | |
| 20:34:51 | sean-k-mooney | hum ok | |
| 20:34:51 | sean-k-mooney | hum ok | |
| 20:35:00 | sean-k-mooney | that should retrun true an print the message | |
| 20:35:00 | sean-k-mooney | that should retrun true an print the message | |
| 20:35:05 | sean-k-mooney | did you get that message printed | |
| 20:35:05 | sean-k-mooney | did you get that message printed | |
| 20:35:23 | noonedeadpunk | cell.database_connection here is resolved and `mysql+pymysql://nova:534d29a090559b5a6345122e999a8ef29f67@172.29.236.101/nova?charset=utf8` but database_connection is `{scheme}://{username}:{password}@{hostname}/{path}?{query}` | |
| 20:35:23 | noonedeadpunk | cell.database_connection here is resolved and `mysql+pymysql://nova:534d29a090559b5a6345122e999a8ef29f67@172.29.236.101/nova?charset=utf8` but database_connection is `{scheme}://{username}:{password}@{hostname}/{path}?{query}` | |
| 20:35:28 | sean-k-mooney | looking at http://paste.openstack.org/show/804488/ no | |
| 20:35:28 | sean-k-mooney | looking at http://paste.openstack.org/show/804488/ no | |
| 20:35:52 | sean-k-mooney | noonedeadpunk: ah ok | |
| 20:35:52 | sean-k-mooney | noonedeadpunk: ah ok | |
| 20:36:19 | noonedeadpunk | as when we run objects.CellMappingList.get_all(ctxt) we end up in https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L159-L169 | |
| 20:36:19 | noonedeadpunk | as when we run objects.CellMappingList.get_all(ctxt) we end up in https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L159-L169 | |
| 20:36:22 | sean-k-mooney | that porbaly happing when we load the object form the db | |
| 20:36:22 | sean-k-mooney | that porbaly happing when we load the object form the db | |
| 20:36:33 | sean-k-mooney | yep | |
| 20:36:56 | noonedeadpunk | yep, and we trigger it here https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L258 | |
| 20:36:56 | noonedeadpunk | yep, and we trigger it here https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L258 | |
| 20:37:18 | sean-k-mooney | so we need to do this https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L162-L165 | |
| 20:37:18 | sean-k-mooney | so we need to do this https://opendev.org/openstack/nova/src/branch/master/nova/objects/cell_mapping.py#L162-L165 | |
| 20:37:25 | sean-k-mooney | in the nova manage command | |
| 20:37:25 | sean-k-mooney | in the nova manage command | |
| 20:37:27 | noonedeadpunk | So I was thinking to add an extra argumet or adjust context, so that it contained like `template_resolve=false` | |
| 20:37:27 | noonedeadpunk | So I was thinking to add an extra argumet or adjust context, so that it contained like `template_resolve=false` | |
| 20:37:56 | sean-k-mooney | noonedeadpunk: i think it would be simpler just to reolve the unresolved one | |
| 20:37:56 | sean-k-mooney | noonedeadpunk: i think it would be simpler just to reolve the unresolved one | |
| 20:38:08 | sean-k-mooney | by calling cell_mapping.format_db_url | |
| 20:38:08 | sean-k-mooney | by calling cell_mapping.format_db_url | |
| 20:38:25 | sean-k-mooney | in this if https://opendev.org/openstack/nova/src/commit/9e5feb051c15166988e87b10132927135bd56884/nova/cmd/manage.py#L623-L624 | |
| 20:38:25 | sean-k-mooney | in this if https://opendev.org/openstack/nova/src/commit/9e5feb051c15166988e87b10132927135bd56884/nova/cmd/manage.py#L623-L624 | |
| 20:38:42 | noonedeadpunk | well, that would have side effect, that in case config on the node where we run nova-manage differs, new cell will be created anyway | |
| 20:38:42 | noonedeadpunk | well, that would have side effect, that in case config on the node where we run nova-manage differs, new cell will be created anyway | |
| 20:39:07 | noonedeadpunk | so I think we should compare what we have in database and what we're about to add there | |
| 20:39:07 | noonedeadpunk | so I think we should compare what we have in database and what we're about to add there | |
| 20:40:06 | sean-k-mooney | well the cell.database_connection value is being formated with your local nova.conf too | |
| 20:40:06 | sean-k-mooney | well the cell.database_connection value is being formated with your local nova.conf too | |
| 20:41:47 | sean-k-mooney | noonedeadpunk: so for your actul usecase you could list the cells and check if the cell is present with that name already | |
| 20:41:47 | sean-k-mooney | noonedeadpunk: so for your actul usecase you could list the cells and check if the cell is present with that name already | |
| 20:41:51 | noonedeadpunk | yes, but I may depend from node to node? | |
| 20:41:51 | noonedeadpunk | yes, but I may depend from node to node? | |
| 20:42:01 | sean-k-mooney | and only create it if it does not exits | |
| 20:42:01 | sean-k-mooney | and only create it if it does not exits | |