##### SUMMARY

- When a playbook with eos_l3_interfaces , stae= replaced, is run twice, changed is always  'true'
- In the second run, the configured ipv4 address is removed.

This is because, no ip address is always passed as part of commands.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
eos_l3_interfaces.py

##### ANSIBLE VERSION
```
ansible 2.10.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/gosriniv/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/gosriniv/ansible/lib/ansible
  executable location = /home/gosriniv/ansible/bin/ansible
  python version = 3.6.5 (default, Sep  4 2019, 12:23:33) [GCC 9.0.1 20190312 (Red Hat 9.0.1-0.10)]


```


##### OS / ENVIRONMENT
Arista EOS


##### STEPS TO REPRODUCE

```
eos_l3_interfaces:
      config:
        - name : Ethernet1
          ipv4:
            - address: 203.1.1.1/24
        - name: Ethernet2
          ipv6:
            - address: 5001::1/64
      state: replaced


```

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

##### EXPECTED RESULTS
Changed should be False in the second run.
Commands should be empty in the second run

##### ACTUAL RESULTS

```
First Run
===========

changed: [10.8.38.32] => {
    "after": [
        {
            "ipv4": [
                {
                    "address": "203.1.1.1/24"
                }
            ],
            "name": "Ethernet1"
        },
        {
            "ipv6": [
                {
                    "address": "5001::1/64"
                }
            ],
            "name": "Ethernet2"
        },
        {
            "name": "Ethernet3"
        },
        {
            "name": "Ethernet4"
        },
        {
            "name": "Ethernet5"
        },
        {
            "name": "Ethernet6"
        },
        {
            "name": "Ethernet7"
        },
        {
            "ipv4": [
                {
                    "address": "10.8.38.32/24"
                }
            ],
            "name": "Management1"
        }
    ],
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "before": [
        {
            "name": "Ethernet1"
        },
        {
            "ipv6": [
                {
                    "address": "5001::1/64"
                }
            ],
            "name": "Ethernet2"
        },
        {
            "name": "Ethernet3"
        },
        {
            "name": "Ethernet4"
        },
        {
            "name": "Ethernet5"
        },
        {
            "name": "Ethernet6"
        },
        {
            "name": "Ethernet7"
        },
        {
            "ipv4": [
                {
                    "address": "10.8.38.32/24"
                }
            ],
            "name": "Management1"
        }
    ],
    "changed": true,
    "commands": [
        "interface Ethernet2",
        "no ip address",
        "interface Ethernet1",
        "ip address 203.1.1.1/24"
    ],
    "invocation": {
        "module_args": {
            "config": [
                {
                    "ipv4": [
                        {
                            "address": "203.1.1.1/24",
                            "secondary": null
                        }
                    ],
                    "ipv6": null,
                    "name": "Ethernet1"
                },
                {
                    "ipv4": null,
                    "ipv6": [
                        {
                            "address": "5001::1/64"
                        }
                    ],
                    "name": "Ethernet2"
                }
            ],
            "state": "replaced"
        }
    }
}
META: ran handlers
META: ran handlers

PLAY RECAP ***********************************************************************************************************************************************************************************
10.8.38.32                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   


Second Run:
==========

changed: [10.8.38.32] => {
    "after": [
        {
            "name": "Ethernet1"
        },
        {
            "ipv6": [
                {
                    "address": "5001::1/64"
                }
            ],
            "name": "Ethernet2"
        },
        {
            "name": "Ethernet3"
        },
        {
            "name": "Ethernet4"
        },
        {
            "name": "Ethernet5"
        },
        {
            "name": "Ethernet6"
        },
        {
            "name": "Ethernet7"
        },
        {
            "ipv4": [
                {
                    "address": "10.8.38.32/24"
                }
            ],
            "name": "Management1"
        }
    ],
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "before": [
        {
            "ipv4": [
                {
                    "address": "203.1.1.1/24"
                }
            ],
            "name": "Ethernet1"
        },
        {
            "ipv6": [
                {
                    "address": "5001::1/64"
                }
            ],
            "name": "Ethernet2"
        },
        {
            "name": "Ethernet3"
        },
        {
            "name": "Ethernet4"
        },
        {
            "name": "Ethernet5"
        },
        {
            "name": "Ethernet6"
        },
        {
            "name": "Ethernet7"
        },
        {
            "ipv4": [
                {
                    "address": "10.8.38.32/24"
                }
            ],
            "name": "Management1"
        }
    ],
    "changed": true,
    "commands": [
        "interface Ethernet2",
        "no ip address",
        "interface Ethernet1",
        "no ip address"
    ],
    "invocation": {
        "module_args": {
            "config": [
                {
                    "ipv4": [
                        {
                            "address": "203.1.1.1/24",
                            "secondary": null
                        }
                    ],
                    "ipv6": null,
                    "name": "Ethernet1"
                },
                {
                    "ipv4": null,
                    "ipv6": [
                        {
                            "address": "5001::1/64"
                        }
                    ],
                    "name": "Ethernet2"
                }
            ],
            "state": "replaced"
        }
    }
}
META: ran handlers
META: ran handlers

PLAY RECAP ***********************************************************************************************************************************************************************************
10.8.38.32                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

```

""" The command generator when state is deleted
        :rtype: A list
        :returns: the commands necessary to remove the current configuration
                  of the provided objects
        """
        commands = []
        for key in want:
            desired = dict()
            if key in have:
                extant = have[key]
            else:
                continue
            intf_commands = clear_interface(desired, extant)
            if intf_commands:
                commands.append("interface {0}".format(key))
                commands.extend(intf_commands)
        return commands
def set_interface(want, have):