vdsm-hook-macspoof was created to let VM owners override the
vdsm-no-mac-spoofing  that was once hard-coded on each vNIC.

Since ovirt-4.0's
Bug 1317441 - [RFE] Allow MAC Anti-Spoofing per interface instead of globally
the hook is no longer needed, because ovirt-engine supports selection
of filters, including the "Empty" one.

Thus, we can finally drop vdsm-hook-macspoof from vdsm code.

https://gerrit.ovirt.org/#/c/94613/ does that.

If someone still depends on setting the ifacemacspoof custom property,
they can find and fix the vnic profiles using a script similar to the
following one. Note that ovirtlib does not yet have an easy-to-pull
canonical location.

        from __future__ import print_function

        import sys

        from ovirtlib.system import SDKSystemRoot
        from ovirtlib.netlib import Network, VnicProfile,
CustomProperty, NetworkFilter
        from ovirtlib.datacenterlib import DataCenter

        system = SDKSystemRoot()
        system.connect(url=URL, insecure=True, password=PASSWORD, username=USER)

        spoof_cp = CustomProperty(name='ifacemacspoof', value='true')
        broken_profiles = [
            profile for profile in VnicProfile.iterate(system)
            if spoof_cp in profile.custom_properties and
                    profile.filter and profile.filter.name ==
'vdsm-no-mac-spoofing']

        if broken_profiles:
            if '--modify' in sys.argv:
                print('clearing vdsm-no-mac-spoof filter from profiles:')
                for profiles in broken_profiles:
                    print(profile.name)
                    profile.filter = None
            else:
                print('''ifacemacspoof custom property is no longer
supported by vdsm.
        vnic profiles that depended on it for connectivity, e.g they
serve VMs with
        in-guest bonds or vlans, must use an empty network filter instead.

        profiles with ifacemacspoof and vdsm-no-mac-spoof filter:''')
                for profiles in broken_profiles:
                    print(profile.name)
                print('run again with --modify to remove the filter')
        else:
            print('no profile with ifacemacspoof and vdsm-no-mac-spoof
was found.')
_______________________________________________
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/site/privacy-policy/
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/users@ovirt.org/message/ESTQ3FURPNAVM4BZM2QO3S52D5KR6NXL/

Reply via email to