Monday, 2018-04-23

*** apearson has joined #openstack-powervm01:17
*** apearson has quit IRC01:17
*** apearson has joined #openstack-powervm01:18
*** apearson has quit IRC01:19
*** edmondsw has joined #openstack-powervm03:55
*** edmondsw has quit IRC05:03
*** edmondsw has joined #openstack-powervm05:03
*** edmondsw has quit IRC05:08
*** AlexeyAbashkin has joined #openstack-powervm07:36
*** Alexey_Abashkin has joined #openstack-powervm08:48
*** Alexey_Abashkin has quit IRC08:50
*** Alexey_Abashkin has joined #openstack-powervm08:50
*** AlexeyAbashkin has quit IRC08:51
*** AlexeyAbashkin has joined #openstack-powervm08:54
*** Alexey_Abashkin has quit IRC08:54
*** Alexey_Abashkin has joined #openstack-powervm09:02
*** AlexeyAbashkin has quit IRC09:05
*** Alexey_Abashkin is now known as AlexeyAbashkin09:05
*** AlexeyAbashkin has quit IRC10:47
*** AlexeyAbashkin has joined #openstack-powervm10:51
*** edmondsw has joined #openstack-powervm11:47
*** edmondsw has quit IRC12:37
*** efried has quit IRC12:54
*** esberglu has joined #openstack-powervm13:15
*** tjakobs_ has joined #openstack-powervm13:43
*** edmondsw has joined #openstack-powervm13:58
*** efried has joined #openstack-powervm14:04
esbergluefried: Any reason we can't follow the suggestion by mriedem here?14:45
*** Alexey_Abashkin has joined #openstack-powervm14:50
efriedesberglu: Do we override __hash__ on volume driver?14:50
efriedI would think locking on the volume ID should be aight.14:50
esbergluefried: No we don't14:51
esbergluSounds good14:51
efriedesberglu: Okay, then let me take a closer look at what we would be hashing.14:52
efriedIs the volume Id enough?14:52
efriedOr do we have a volume driver per VIOS+volume (for multi-attach)?14:52
efriedKind of thing.14:52
*** AlexeyAbashkin has quit IRC14:54
esbergluefried: 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 AlexeyAbashkin14:54
efriedesberglu: sho.  I'm a bit distracted too (at the TCC).14:55
esbergluefried: I think vol id should be enough14:55
efriedesberglu: FYI this afternoon I might be much less available.14:55
*** tjakobs__ has joined #openstack-powervm15:46
*** tjakobs_ has quit IRC15:47
edmondswesberglu check slack15:53
*** edmondsw has quit IRC16:29
*** Alexey_Abashkin has joined #openstack-powervm16:31
*** efried has quit IRC16:33
*** AlexeyAbashkin has quit IRC16:34
*** Alexey_Abashkin is now known as AlexeyAbashkin16:34
*** AlexeyAbashkin has quit IRC16:59
*** edmondsw has joined #openstack-powervm17:34
*** edmondsw has quit IRC17:37
*** edmondsw has joined #openstack-powervm17:37
*** efried has joined #openstack-powervm17:39
esbergluefried: edmondsw: Either of you actually around?20:13
efriedSitting next to each other in a mtg20:13
edmondswesberglu what he said20:13
efriednot going to be able to pay 100% attention.20:13
esbergluefried: edmondsw: I'm working on this comment20:14
esbergluI 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
esbergluBut I'm struggling to get the UT working20:15
esbergluI think it's a problem with how the bdms are being mocked, but am not sure how to do it properly20:15
esbergluEach bdm returned by _fake_bdms() is a DriverVolumeBlockDevice which is a dict20:17
esbergluWhich means we can do stuff like bdm.get('connection_info')20:17
esbergluHowever is_volume() is a property of the BlockDeviceMapping object20:18
esbergluSo I'm confused what the actual bdms being passed into _vol_drv_iter() are, dicts or objects?20:19
esbergluI'll keep working this, but didn't want to get stuck too long since we're finally in a runway20:21
esbergluefried: edmondsw: ^ should cover it, get back whenever you have a chance20:21
efriedesberglu: You should be able to add "is_volume": True (or False) to mapping_dict, I believe.20:28
efriedesberglu: Those objects *are* dicts (they derive from dict).  And provide overrides that allow you to get at their members via or bdm['foo']20:29
efriedesberglu: Which is weird, and people hate it.  But it's too entrenched to change right now.20:29
efriedLet me know if that doesn't work.20:29
esbergluefried: Nope that fails when validating the dict20:38
esbergluAnd here's the original failure
esberglu(with the only change being the check on bdm.is_volume instead of conn_info)20:39
efriedBlockDeviceDict isn't where we want it, then.20:39
efriedesberglu: ah, sorry, is_volume is a @property that just checks if self.destination_type == "volume".  Which it does.20:41
efriedesberglu: 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
efriedesberglu: "local" is the other option.20:42
efriedbased on nova.objects.fields.BlockDeviceDestinationType20:42
esbergluefried: It's failing with the true case though. With 'destination_type': 'volume'20:43
esbergluThat's the second paste I posted20:43
efriedyeah, looking...20:43
efriedesberglu: What happens if you take DriverVolumeBlockDevice out of the picture and just return bdm_obj?20:50
esbergluefried: I tried that and got other errors. I didn't go any further than that since I had no idea if on the right track20:51
esbergluLet me get the error message quick20:51
efriedesberglu: 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
esbergluefried: Yeah I wondered that same thing. I'll start moving forward on it20:57
esberglu^ with bdm_obj20:58
esbergluWhich is probably because of this jsonutils.dumps(connection_info)20:59
*** tjakobs__ has quit IRC21:37
*** esberglu has quit IRC22:18
*** esberglu has joined #openstack-powervm22:19
*** esberglu has quit IRC22:21
*** efried has quit IRC22:42
*** edmondsw has quit IRC22:43

Generated by 2.15.3 by Marius Gedminas - find it at!