Hi Yaniv

We attempted to share the code a few years back, but I don't think it got accepted.

In vdsm.conf we have two bridged interfaces, each connected to a SAN uplink:

[irs]
iscsi_default_ifaces = san1,san2

And here is a diff of the file /usr/lib/python2.7/site-packages/vdsm/storage/ vs the original for vdsm-4.20.17-1 :

463,498c463,464
<  
<         # Original Code ##
<         #iscsi.addIscsiNode(self._iface, self._target, self._cred)
<         #timeout = config.getint("irs", "udev_settle_timeout")
<         #udevadm.settle(timeout)
<         ### Altered Code for EqualLogic Direct LUNs for Keele University : G.Lloyd ###
<         ifaceNames = config.get('irs', 'iscsi_default_ifaces').split(',')
<         if not ifaceNames:
<             iscsi.addIscsiNode(self._iface, self._target, self._cred)
<         else:
<             self.log.debug("Connecting on interfaces: {}".format(ifaceNames))
<             #for ifaceName in ifaceNames:
<             success = False
<             while ifaceNames:
<                 self.log.debug("Remaining interfaces to try: {}".format(ifaceNames))
<                 ifaceName = ifaceNames.pop()
<                 try:
<                     self.log.debug("Connecting on {}".format(ifaceName))
<                     iscsi.addIscsiNode(iscsi.IscsiInterface(ifaceName), self._target, self._cred)
<                     self.log.debug("Success connecting on {}".format(ifaceName))
<                     success = True
<                 except:
<                     self.log.debug("Failure connecting on interface {}".format(ifaceName))
<                     if ifaceNames:
<                       self.log.debug("More iscsi interfaces to try, continuing")
<                       pass
<                     elif success:
<                       self.log.debug("Already succeded on an interface, continuing")
<                       pass
<                     else:
<                       self.log.debug("Could not connect to iscsi target on any interface, raising exception")
<                       raise
<         timeout = config.getint("irs", "scsi_settle_timeout")
---
>         iscsi.addIscsiNode(self._iface, self._target, self._cred)
>         timeout = config.getint("irs", "udev_settle_timeout")
501,502d466
<         ### End of Custom Alterations ###

Regards

Gary Lloyd
________________________________________________
I.T. Systems:Keele University
Finance & IT Directorate
Keele:Staffs:IC1 Building:ST5 5NB:UK
+44 1782 733063
________________________________________________

On 11 February 2018 at 08:38, Yaniv Kaul <ykaul@redhat.com> wrote:


On Fri, Feb 9, 2018 at 4:06 PM, Gary Lloyd <g.lloyd@keele.ac.uk> wrote:
Hi

Is it possible/supported to upgrade from Ovirt 3.6 straight to Ovirt 4.2 ?

No, you go through 4.0, 4.1.
 
Does live migration still function between the older vdsm nodes and vdsm nodes with software built against Ovirt 4.2 ?

Yes, keep the cluster level at 3.6.
 

We changed a couple of the vdsm python files to enable iscsi multipath on direct luns.
(It's a fairly simple change to a couple of the python files).

Nice!
Can you please contribute those patches to oVirt?
Y.
 

We've been running it this way since 2012 (Ovirt 3.2).

Many Thanks

Gary Lloyd
________________________________________________
I.T. Systems:Keele University
Finance & IT Directorate
Keele:Staffs:IC1 Building:ST5 5NB:UK
+44 1782 733063
________________________________________________

_______________________________________________
Users mailing list
Users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/users