*** apearson has joined #openstack-powervm | 01:17 | |
*** apearson has quit IRC | 01:17 | |
*** apearson has joined #openstack-powervm | 01:18 | |
*** apearson has quit IRC | 01:19 | |
*** edmondsw has joined #openstack-powervm | 03:55 | |
*** edmondsw has quit IRC | 05:03 | |
*** edmondsw has joined #openstack-powervm | 05:03 | |
*** edmondsw has quit IRC | 05:08 | |
*** AlexeyAbashkin has joined #openstack-powervm | 07:36 | |
*** Alexey_Abashkin has joined #openstack-powervm | 08:48 | |
*** Alexey_Abashkin has quit IRC | 08:50 | |
*** Alexey_Abashkin has joined #openstack-powervm | 08:50 | |
*** AlexeyAbashkin has quit IRC | 08:51 | |
*** AlexeyAbashkin has joined #openstack-powervm | 08:54 | |
*** Alexey_Abashkin has quit IRC | 08:54 | |
*** Alexey_Abashkin has joined #openstack-powervm | 09:02 | |
*** AlexeyAbashkin has quit IRC | 09:05 | |
*** Alexey_Abashkin is now known as AlexeyAbashkin | 09:05 | |
*** AlexeyAbashkin has quit IRC | 10:47 | |
*** AlexeyAbashkin has joined #openstack-powervm | 10:51 | |
*** edmondsw has joined #openstack-powervm | 11:47 | |
*** edmondsw has quit IRC | 12:37 | |
*** efried has quit IRC | 12:54 | |
*** esberglu has joined #openstack-powervm | 13:15 | |
*** tjakobs_ has joined #openstack-powervm | 13:43 | |
*** edmondsw has joined #openstack-powervm | 13:58 | |
*** efried has joined #openstack-powervm | 14:04 | |
esberglu | efried: Any reason we can't follow the suggestion by mriedem here? | 14:45 |
---|---|---|
esberglu | https://review.openstack.org/#/c/526094/45/nova/virt/powervm/volume/fcvscsi.py@387 | 14:45 |
efried | ... | 14:45 |
*** Alexey_Abashkin has joined #openstack-powervm | 14:50 | |
efried | esberglu: Do we override __hash__ on volume driver? | 14:50 |
efried | I would think locking on the volume ID should be aight. | 14:50 |
esberglu | efried: No we don't | 14:51 |
esberglu | Sounds good | 14:51 |
efried | esberglu: Okay, then let me take a closer look at what we would be hashing. | 14:52 |
efried | Is the volume Id enough? | 14:52 |
efried | Or do we have a volume driver per VIOS+volume (for multi-attach)? | 14:52 |
efried | Kind of thing. | 14:52 |
*** AlexeyAbashkin has quit IRC | 14:54 | |
esberglu | efried: Sorry I shouldn't have started this convo right now, I've gotta present CI education, pick this back up later? | 14:54 |
*** Alexey_Abashkin is now known as AlexeyAbashkin | 14:54 | |
efried | esberglu: sho. I'm a bit distracted too (at the TCC). | 14:55 |
esberglu | efried: I think vol id should be enough | 14:55 |
efried | esberglu: FYI this afternoon I might be much less available. | 14:55 |
esberglu | ack | 14:55 |
*** tjakobs__ has joined #openstack-powervm | 15:46 | |
*** tjakobs_ has quit IRC | 15:47 | |
edmondsw | esberglu check slack | 15:53 |
*** edmondsw has quit IRC | 16:29 | |
*** Alexey_Abashkin has joined #openstack-powervm | 16:31 | |
*** efried has quit IRC | 16:33 | |
*** AlexeyAbashkin has quit IRC | 16:34 | |
*** Alexey_Abashkin is now known as AlexeyAbashkin | 16:34 | |
*** AlexeyAbashkin has quit IRC | 16:59 | |
*** edmondsw has joined #openstack-powervm | 17:34 | |
*** edmondsw has quit IRC | 17:37 | |
*** edmondsw has joined #openstack-powervm | 17:37 | |
*** efried has joined #openstack-powervm | 17:39 | |
esberglu | efried: edmondsw: Either of you actually around? | 20:13 |
efried | Sitting next to each other in a mtg | 20:13 |
edmondsw | esberglu what he said | 20:13 |
efried | not going to be able to pay 100% attention. | 20:13 |
edmondsw | sup? | 20:13 |
esberglu | efried: edmondsw: I'm working on this comment | 20:14 |
esberglu | https://review.openstack.org/#/c/526094/45/nova/virt/powervm/driver.py@559 | 20:14 |
esberglu | I can change the check there from "if not conn_info" to "if not bdm.is_volume" and everything works fine (live tested this) | 20:14 |
esberglu | But I'm struggling to get the UT working | 20:15 |
esberglu | I think it's a problem with how the bdms are being mocked, but am not sure how to do it properly | 20:15 |
esberglu | https://review.openstack.org/#/c/526094/45/nova/tests/unit/virt/powervm/test_driver.py@494 | 20:16 |
esberglu | Each bdm returned by _fake_bdms() is a DriverVolumeBlockDevice which is a dict | 20:17 |
esberglu | Which means we can do stuff like bdm.get('connection_info') | 20:17 |
esberglu | However is_volume() is a property of the BlockDeviceMapping object | 20:18 |
esberglu | So I'm confused what the actual bdms being passed into _vol_drv_iter() are, dicts or objects? | 20:19 |
esberglu | I'll keep working this, but didn't want to get stuck too long since we're finally in a runway | 20:21 |
esberglu | efried: edmondsw: ^ should cover it, get back whenever you have a chance | 20:21 |
efried | esberglu: You should be able to add "is_volume": True (or False) to mapping_dict, I believe. | 20:28 |
efried | esberglu: Those objects *are* dicts (they derive from dict). And provide overrides that allow you to get at their members via bdm.foo or bdm['foo'] | 20:29 |
efried | esberglu: Which is weird, and people hate it. But it's too entrenched to change right now. | 20:29 |
efried | Let me know if that doesn't work. | 20:29 |
esberglu | efried: Nope that fails when validating the dict | 20:38 |
esberglu | http://paste.openstack.org/show/719773/ | 20:38 |
efried | ... | 20:38 |
esberglu | And here's the original failure http://paste.openstack.org/show/719772/ | 20:39 |
esberglu | (with the only change being the check on bdm.is_volume instead of conn_info) | 20:39 |
efried | BlockDeviceDict isn't where we want it, then. | 20:39 |
efried | esberglu: ah, sorry, is_volume is a @property that just checks if self.destination_type == "volume". Which it does. | 20:41 |
efried | esberglu: So for your 'true' use case, you shouldn't need to do anything. And if you're trying to get the sucker to fail, set destination_type to something else. | 20:42 |
efried | esberglu: "local" is the other option. | 20:42 |
efried | based on nova.objects.fields.BlockDeviceDestinationType | 20:42 |
esberglu | efried: It's failing with the true case though. With 'destination_type': 'volume' | 20:43 |
esberglu | That's the second paste I posted | 20:43 |
efried | yeah, looking... | 20:43 |
efried | esberglu: What happens if you take DriverVolumeBlockDevice out of the picture and just return bdm_obj? | 20:50 |
esberglu | efried: I tried that and got other errors. I didn't go any further than that since I had no idea if on the right track | 20:51 |
esberglu | Let me get the error message quick | 20:51 |
efried | esberglu: What I suspect is that we're using DriverVolumeBlockDevice in our tests where we really ought to be using BlockDeviceMapping. Which is going to be a substantial refactor to yank out of there, but is probably The Right Thing To Do. | 20:56 |
esberglu | efried: Yeah I wondered that same thing. I'll start moving forward on it | 20:57 |
esberglu | http://paste.openstack.org/show/719774/ | 20:57 |
esberglu | ^ with bdm_obj | 20:58 |
esberglu | Which is probably because of this jsonutils.dumps(connection_info) | 20:59 |
*** tjakobs__ has quit IRC | 21:37 | |
*** esberglu has quit IRC | 22:18 | |
*** esberglu has joined #openstack-powervm | 22:19 | |
*** esberglu has quit IRC | 22:21 | |
*** efried has quit IRC | 22:42 | |
*** edmondsw has quit IRC | 22:43 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!