def compare_device()

in source/tools/iot-devices-cmp.py [0:0]


def compare_device(thing_name):
    global NUM_THINGS_COMPARED, NUM_THINGS_NOTSYNCED, NUM_ERRORS
    try:
        logger.info('thing_name: {}'.format(thing_name))
        start_time = int(time.time()*1000)
        device_status_primary = get_device_status(c_iot_p, thing_name)
        device_status_secondary = get_device_status(c_iot_s, thing_name)
        logger.info('thing_name: {} device_status_primary: {} device_status_secondary: {}'.format(thing_name, device_status_primary, device_status_secondary))

        errors = []
        if not thing_name in device_status_primary:
            errors.append('thing name does not exist in primary')
        elif not thing_name in device_status_secondary:
            errors.append('thing name does not exist in secondary')

        if thing_name in device_status_primary and thing_name in device_status_secondary:
            if device_status_primary[thing_name]['cert_id'] != device_status_secondary[thing_name]['cert_id']:
                errors.append('cert id missmatch')
            if device_status_primary[thing_name]['policy'] != device_status_secondary[thing_name]['policy']:
                errors.append('policy missmatch')

        if errors:
            logger.error('replication error: {}: primary: {} secondary: {}'.format(','.join(errors), device_status_primary, device_status_secondary))
            NUM_ERRORS += 1

        end_time = int(time.time()*1000)
        duration = end_time - start_time
        NUM_THINGS_COMPARED += 1
        logger.info('compare device: thing_name: {} duration: {}ms'.format(thing_name, duration))
    except Exception as e:
        logger.error('{}'.format(e))
        NUM_ERRORS += 1
        traceback.print_stack()