<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def synchronize(self):
 """Synchronizes Router DB from Neturon DB with EOS. Walks through the Neturon Db and ensures that all the routers created in Netuton DB match with EOS. After creating appropriate routers, it ensures to add interfaces as well. Uses idempotent properties of EOS configuration, which means same commands can be repeated. """

        LOG.info(_LI('Syncing Neutron Router DB <-> EOS'))
        routers, router_interfaces = self.get_routers_and_interfaces()
        expected_vrfs = set()
        if self._use_vrf:
            expected_vrfs.update(self.driver._arista_router_name(
                r['id'], r['name']) for r in routers)
        expected_vlans = set(r['seg_id'] for r in router_interfaces)
        if self._enable_cleanup:
            self.do_cleanup(expected_vrfs, expected_vlans)
        self.create_routers(routers)
        self.create_router_interfaces(router_interfaces)