##### SUMMARY
calling ovirt_host_network module against a bond interface throws a TypeError exception when run against an existing a bond interface regardless of whether the module arguments have changed or not

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ovirt_host_networks in method  __compare_options of the HostNetworksModule class

##### ANSIBLE VERSION

```
ansible 2.8.4
  config file = None
  configured module search path = ['/home/deploy/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/deploy/ansible_285_venv/lib/python3.6/site-packages/ansible
  executable location = /home/deploy/ansible_285_venv/bin/ansible

```

##### CONFIGURATION

```
N/A (no changes)

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
CentOS7.7 19.08 


##### STEPS TO REPRODUCE
Configure a bond interface, initial run will complete and configure the bond as expected. Second run of the same code fails with exception

<!--- Paste example playbooks or commands between quotes below -->
```
- name: "Configure bond interface"
  delegate_to: localhost
  ovirt_host_network:
    auth: "{{ ovirt_auth }}"
    name: "{{ ansible_fqdn }}"
    networks: "{{ networks_on_bond }}"
    bond:
      name: "{{ bond_name }}"
      mode: 4
      interfaces: "{{ bond_interfaces }}"
      options:
        lacp_rate: "fast"
        xmit_hash_policy: "layer3+4"
    save: yes
    check: yes
    timeout: 180
    wait: yes

```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS

Ansible should report that OK or CHANGED depending on whether the module arguments have changed the configuration or now


##### ACTUAL RESULTS

```
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: deploy
<localhost> EXEC /bin/sh -c 'echo ~deploy && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198 `" && echo ansible-tmp-1569588017.0785801-154242329421198="` echo /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198 `" ) && sleep 0'
Using module file /home/deploy/ansible_285_venv/lib/python3.6/site-packages/ansible/modules/cloud/ovirt/ovirt_host_network.py
<localhost> PUT /home/deploy/.ansible/tmp/ansible-local-24097xoko1are/tmpe2zvp1l4 TO /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198/AnsiballZ_ovirt_host_network.py
<localhost> EXEC /bin/sh -c 'chmod u+x /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198/ /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198/AnsiballZ_ovirt_host_network.py && sleep 0'
<localhost> EXEC /bin/sh -c '/home/deploy/ansible_285_venv/bin/python3 /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198/AnsiballZ_ovirt_host_network.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /home/deploy/.ansible/tmp/ansible-tmp-1569588017.0785801-154242329421198/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_ovirt_host_network_payload_s4fkqwyn/__main__.py", line 395, in main
    (nic is None or host_networks_module.has_update(nics_service.service(nic.id)))
  File "/tmp/ansible_ovirt_host_network_payload_s4fkqwyn/__main__.py", line 288, in has_update
    update = self.__compare_options(get_bond_options(bond.get('mode'), bond.get('options')), getattr(nic.bonding, 'options', []))
  File "/tmp/ansible_ovirt_host_network_payload_s4fkqwyn/__main__.py", line 247, in __compare_options
    return sorted(get_dict_of_struct(opt) for opt in new_options) != sorted(get_dict_of_struct(opt) for opt in old_options)
TypeError: '<' not supported between instances of 'dict' and 'dict'

fatal: [compute01.ovirt.nullpacket.io -> localhost]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "bond": {
                "interfaces": [
                    "enp61s0f0",
                    "enp61s0f1"
                ],
                "mode": 4,
                "name": "bond0",
                "options": {
                    "lacp_rate": "fast",
                    "xmit_hash_policy": "layer3+4"
                }
            },
            "check": true,
            "fetch_nested": false,
            "interface": null,
            "labels": null,
            "name": "compute01.ovirt.nullpacket.io",
            "nested_attributes": [],
            "networks": [
                {
                    "address": "10.10.83.2",
                    "boot_protocol": "static",
                    "gateway": "10.10.83.1",
                    "name": "ovirtmgmt",
                    "netmask": "255.255.255.0"
                },
                {
                    "boot_protocol": "none",
                    "name": "vm_provider"
                },
                {
                    "boot_protocol": "none",
                    "name": "vm_okd"
                }
            ],
            "poll_interval": 3,
            "save": true,
            "state": "present",
            "sync_networks": false,
            "timeout": 180,
            "wait": true
        }
    },
    "msg": "'<' not supported between instances of 'dict' and 'dict'"
}

```

service=hosts_service,
        )
        host = host_networks_module.search_entity()
        if host is None:
            raise Exception("Host '%s' was not found." % module.params['name'])
        bond = module.params['bond']
        interface = module.params['interface']
        networks = module.params['networks']
        labels = module.params['labels']
        nic_name = bond.get('name') if bond else module.params['interface']
        host_service = hosts_service.host_service(host.id)
        nics_service = host_service.nics_service()
        nic = search_by_name(nics_service, nic_name)
        if module.params["sync_networks"]:
            if needs_sync(nics_service):
                if not module.check_mode:
                    host_service.sync_all_networks()
                host_networks_module.changed = True
        network_names = [network['name'] for network in networks or []]
        state = module.params['state']
        if (
            state == 'present' and
            (nic is None or host_networks_module.has_update(nics_service.service(nic.id)))
        ):
            
            attachments_service = host_service.network_attachments_service()
            
            for a in attachments_service.list():
                current_network_name = get_link_name(connection, a.network)
                if current_network_name in network_names: