Example #1
0
def test_calculate_timers_init_v4(initial_calculate_tee_times,
                                  initial_t1_percent, initial_t2_percent,
                                  initial_valid_lifetime):
    # check initial values of different timers in config file

    cfg = setup_server_for_config_backend_cmds(
        calculate_tee_times=initial_calculate_tee_times,
        t1_percent=initial_t1_percent,
        t2_percent=initial_t2_percent,
        valid_lifetime=initial_valid_lifetime)

    # define one, default subnet
    cfg.add_subnet()

    calculate_tee_times = initial_calculate_tee_times if initial_calculate_tee_times is not None else False
    valid_lifetime = initial_valid_lifetime if initial_valid_lifetime is not None else get_cfg_default(
        'valid-lifetime')

    if calculate_tee_times:
        t1_percent = initial_t1_percent if initial_t1_percent is not None else get_cfg_default(
            't1-percent')
        t2_percent = initial_t2_percent if initial_t2_percent is not None else get_cfg_default(
            't2-percent')
        renew_timer = int(t1_percent * valid_lifetime)
        rebind_timer = int(t2_percent * valid_lifetime)
    else:
        renew_timer = None
        rebind_timer = None

    # check getting address from this subnet
    get_address(exp_renew_timer=renew_timer,
                exp_rebind_timer=rebind_timer,
                exp_lease_time=valid_lifetime)
Example #2
0
def test_calculate_timers_init_v6(initial_calculate_tee_times,
                                  initial_t1_percent,
                                  initial_t2_percent,
                                  initial_preferred_lifetime,
                                  initial_valid_lifetime):
    # check initial values of different timers in config file

    cfg = setup_server_for_config_backend_cmds(calculate_tee_times=initial_calculate_tee_times,
                                               t1_percent=initial_t1_percent,
                                               t2_percent=initial_t2_percent,
                                               preferred_lifetime=initial_preferred_lifetime,
                                               valid_lifetime=initial_valid_lifetime)

    # define one, default subnet
    cfg.add_subnet()

    calculate_tee_times = initial_calculate_tee_times if initial_calculate_tee_times is not None else False
    if initial_preferred_lifetime is not None:
        preferred_lifetime = initial_preferred_lifetime
    else:
        preferred_lifetime = get_cfg_default('preferred-lifetime')
    valid_lifetime = initial_valid_lifetime if initial_valid_lifetime is not None else get_cfg_default('valid-lifetime')

    if calculate_tee_times:
        t1_percent = initial_t1_percent if initial_t1_percent is not None else get_cfg_default('t1-percent')
        t2_percent = initial_t2_percent if initial_t2_percent is not None else get_cfg_default('t2-percent')
        renew_timer = int(t1_percent * preferred_lifetime)
        rebind_timer = int(t2_percent * preferred_lifetime)
    else:
        renew_timer = None
        rebind_timer = None

    # check getting address from this subnet
    get_address(exp_renew_timer=renew_timer, exp_rebind_timer=rebind_timer,
                exp_ia_na_iaaddr_preflft=preferred_lifetime, exp_lease_time=valid_lifetime)
Example #3
0
def test_subnet_and_calculate_timers(dhcp_version):
    # change renew timer on different levels (global and subnet)
    # and check if these changes are properly reflected in received ACKs

    cfg = setup_server_for_config_backend_cmds()

    # define one, default subnet
    cfg.add_subnet()

    if dhcp_version == 'v4':
        base_lifetime = get_cfg_default('valid-lifetime')
    else:
        base_lifetime = get_cfg_default('preferred-lifetime')

    # change global renew_timer to 1sec and now check
    # if received lease has renew_timer accordingly set
    cfg.set_global_parameter(calculate_tee_times=True)

    t1_percent = get_cfg_default('t1-percent')
    t2_percent = get_cfg_default('t2-percent')
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # change t1 and t2 and check new renew/rebind-timers
    t1_percent = 0.1
    t2_percent = 0.9
    cfg.set_global_parameter(t1_percent=t1_percent, t2_percent=t2_percent)
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # change again but only t1 and check new renew/rebind-timers
    t1_percent = 0.3
    cfg.set_global_parameter(t1_percent=t1_percent)
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # switch off calculate_tee_times and check if renew/rebind-timers
    # are not present in responses anymore
    cfg.set_global_parameter(calculate_tee_times=False)
    get_address(exp_renew_timer=None, exp_rebind_timer=None)
Example #4
0
def test_subnet_and_calculate_timers(dhcp_version):
    # change renew timer on different levels (global and subnet)
    # and check if these changes are properly reflected in received ACKs

    cfg = setup_server_for_config_backend_cmds()

    # define one, default subnet
    cfg.add_subnet()

    if dhcp_version == 'v4':
        base_lifetime = get_cfg_default('valid-lifetime')
    else:
        base_lifetime = get_cfg_default('preferred-lifetime')

    # change global renew_timer to 1sec and now check
    # if received lease has renew_timer accordingly set
    cfg.set_global_parameter(calculate_tee_times=True)

    t1_percent = get_cfg_default('t1-percent')
    t2_percent = get_cfg_default('t2-percent')
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # change t1 and t2 and check new renew/rebind-timers
    t1_percent = 0.1
    t2_percent = 0.9
    cfg.set_global_parameter(t1_percent=t1_percent, t2_percent=t2_percent)
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # change again but only t1 and check new renew/rebind-timers
    t1_percent = 0.3
    cfg.set_global_parameter(t1_percent=t1_percent)
    get_address(exp_renew_timer=int(t1_percent * base_lifetime),
                exp_rebind_timer=int(t2_percent * base_lifetime))

    # switch off calculate_tee_times and check if renew/rebind-timers
    # are not present in responses anymore
    cfg.set_global_parameter(calculate_tee_times=False)
    get_address(exp_renew_timer=None, exp_rebind_timer=None)