Loading src/webui/service/load_gen/forms.py +5 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,8 @@ DEFAULT_AVAILABILITY = '0.0..99.9999' DEFAULT_CAPACITY_GBPS = '0.1..100.00' #'10, 40, 50, 100, 400' DEFAULT_CAPACITY_GBPS = '0.1..100.00' #'10, 40, 50, 100, 400' DEFAULT_E2E_LATENCY_MS = '5.0..100.00' DEFAULT_E2E_LATENCY_MS = '5.0..100.00' DEFAULT_REGEX = r'.+' class LoadGenForm(FlaskForm): class LoadGenForm(FlaskForm): num_requests = IntegerField('Num Requests', default=100, validators=[DataRequired(), NumberRange(min=0)]) num_requests = IntegerField('Num Requests', default=100, validators=[DataRequired(), NumberRange(min=0)]) num_generated = IntegerField('Num Generated', default=0, render_kw={'readonly': True}) num_generated = IntegerField('Num Generated', default=0, render_kw={'readonly': True}) Loading @@ -33,6 +35,9 @@ class LoadGenForm(FlaskForm): request_type_slice_l2nm = BooleanField('Slice L2NM', default=True) request_type_slice_l2nm = BooleanField('Slice L2NM', default=True) request_type_slice_l3nm = BooleanField('Slice L3NM', default=False) request_type_slice_l3nm = BooleanField('Slice L3NM', default=False) device_regex = StringField('Device selector [regex]', default=DEFAULT_REGEX) endpoint_regex = StringField('Endpoint selector [regex]', default=DEFAULT_REGEX) offered_load = FloatField('Offered Load [Erlang]', default=50, validators=[NumberRange(min=0.0)]) offered_load = FloatField('Offered Load [Erlang]', default=50, validators=[NumberRange(min=0.0)]) holding_time = FloatField('Holding Time [seconds]', default=10, validators=[NumberRange(min=0.0)]) holding_time = FloatField('Holding Time [seconds]', default=10, validators=[NumberRange(min=0.0)]) inter_arrival_time = FloatField('Inter Arrival Time [seconds]', default=0, validators=[NumberRange(min=0.0)]) inter_arrival_time = FloatField('Inter Arrival Time [seconds]', default=0, validators=[NumberRange(min=0.0)]) Loading src/webui/service/load_gen/routes.py +25 −21 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,8 @@ def home(): form = LoadGenForm() form = LoadGenForm() set_properties(form.num_requests , status.parameters.num_requests , readonly=status.running) set_properties(form.num_requests , status.parameters.num_requests , readonly=status.running) set_properties(form.device_regex , status.parameters.device_regex , readonly=status.running) set_properties(form.endpoint_regex , status.parameters.endpoint_regex, readonly=status.running) set_properties(form.offered_load , _offered_load , readonly=status.running) set_properties(form.offered_load , _offered_load , readonly=status.running) set_properties(form.holding_time , _holding_time , readonly=status.running) set_properties(form.holding_time , _holding_time , readonly=status.running) set_properties(form.inter_arrival_time , _inter_arrival_time , readonly=status.running) set_properties(form.inter_arrival_time , _inter_arrival_time , readonly=status.running) Loading Loading @@ -99,6 +101,8 @@ def start(): load_gen_params = Parameters() load_gen_params = Parameters() load_gen_params.num_requests = form.num_requests.data load_gen_params.num_requests = form.num_requests.data load_gen_params.device_regex = form.device_regex.data load_gen_params.endpoint_regex = form.endpoint_regex.data load_gen_params.offered_load = form.offered_load.data load_gen_params.offered_load = form.offered_load.data load_gen_params.holding_time = form.holding_time.data load_gen_params.holding_time = form.holding_time.data load_gen_params.inter_arrival_time = form.inter_arrival_time.data load_gen_params.inter_arrival_time = form.inter_arrival_time.data Loading src/webui/service/templates/load_gen/home.html +30 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,36 @@ </div> </div> <br /> <br /> <div class="row mb-3"> {{ form.device_regex.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> {% if form.device_regex.errors %} {{ form.device_regex(class="form-control is-invalid") }} <div class="invalid-feedback"> {% for error in form.device_regex.errors %}<span>{{ error }}</span>{% endfor %} </div> {% else %} {{ form.device_regex(class="form-control") }} {% endif %} </div> </div> <br /> <div class="row mb-3"> {{ form.endpoint_regex.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> {% if form.endpoint_regex.errors %} {{ form.endpoint_regex(class="form-control is-invalid") }} <div class="invalid-feedback"> {% for error in form.endpoint_regex.errors %}<span>{{ error }}</span>{% endfor %} </div> {% else %} {{ form.endpoint_regex(class="form-control") }} {% endif %} </div> </div> <br /> <div class="row mb-3"> <div class="row mb-3"> {{ form.offered_load.label(class="col-sm-2 col-form-label") }} {{ form.offered_load.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> <div class="col-sm-10"> Loading Loading
src/webui/service/load_gen/forms.py +5 −0 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,8 @@ DEFAULT_AVAILABILITY = '0.0..99.9999' DEFAULT_CAPACITY_GBPS = '0.1..100.00' #'10, 40, 50, 100, 400' DEFAULT_CAPACITY_GBPS = '0.1..100.00' #'10, 40, 50, 100, 400' DEFAULT_E2E_LATENCY_MS = '5.0..100.00' DEFAULT_E2E_LATENCY_MS = '5.0..100.00' DEFAULT_REGEX = r'.+' class LoadGenForm(FlaskForm): class LoadGenForm(FlaskForm): num_requests = IntegerField('Num Requests', default=100, validators=[DataRequired(), NumberRange(min=0)]) num_requests = IntegerField('Num Requests', default=100, validators=[DataRequired(), NumberRange(min=0)]) num_generated = IntegerField('Num Generated', default=0, render_kw={'readonly': True}) num_generated = IntegerField('Num Generated', default=0, render_kw={'readonly': True}) Loading @@ -33,6 +35,9 @@ class LoadGenForm(FlaskForm): request_type_slice_l2nm = BooleanField('Slice L2NM', default=True) request_type_slice_l2nm = BooleanField('Slice L2NM', default=True) request_type_slice_l3nm = BooleanField('Slice L3NM', default=False) request_type_slice_l3nm = BooleanField('Slice L3NM', default=False) device_regex = StringField('Device selector [regex]', default=DEFAULT_REGEX) endpoint_regex = StringField('Endpoint selector [regex]', default=DEFAULT_REGEX) offered_load = FloatField('Offered Load [Erlang]', default=50, validators=[NumberRange(min=0.0)]) offered_load = FloatField('Offered Load [Erlang]', default=50, validators=[NumberRange(min=0.0)]) holding_time = FloatField('Holding Time [seconds]', default=10, validators=[NumberRange(min=0.0)]) holding_time = FloatField('Holding Time [seconds]', default=10, validators=[NumberRange(min=0.0)]) inter_arrival_time = FloatField('Inter Arrival Time [seconds]', default=0, validators=[NumberRange(min=0.0)]) inter_arrival_time = FloatField('Inter Arrival Time [seconds]', default=0, validators=[NumberRange(min=0.0)]) Loading
src/webui/service/load_gen/routes.py +25 −21 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,8 @@ def home(): form = LoadGenForm() form = LoadGenForm() set_properties(form.num_requests , status.parameters.num_requests , readonly=status.running) set_properties(form.num_requests , status.parameters.num_requests , readonly=status.running) set_properties(form.device_regex , status.parameters.device_regex , readonly=status.running) set_properties(form.endpoint_regex , status.parameters.endpoint_regex, readonly=status.running) set_properties(form.offered_load , _offered_load , readonly=status.running) set_properties(form.offered_load , _offered_load , readonly=status.running) set_properties(form.holding_time , _holding_time , readonly=status.running) set_properties(form.holding_time , _holding_time , readonly=status.running) set_properties(form.inter_arrival_time , _inter_arrival_time , readonly=status.running) set_properties(form.inter_arrival_time , _inter_arrival_time , readonly=status.running) Loading Loading @@ -99,6 +101,8 @@ def start(): load_gen_params = Parameters() load_gen_params = Parameters() load_gen_params.num_requests = form.num_requests.data load_gen_params.num_requests = form.num_requests.data load_gen_params.device_regex = form.device_regex.data load_gen_params.endpoint_regex = form.endpoint_regex.data load_gen_params.offered_load = form.offered_load.data load_gen_params.offered_load = form.offered_load.data load_gen_params.holding_time = form.holding_time.data load_gen_params.holding_time = form.holding_time.data load_gen_params.inter_arrival_time = form.inter_arrival_time.data load_gen_params.inter_arrival_time = form.inter_arrival_time.data Loading
src/webui/service/templates/load_gen/home.html +30 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,36 @@ </div> </div> <br /> <br /> <div class="row mb-3"> {{ form.device_regex.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> {% if form.device_regex.errors %} {{ form.device_regex(class="form-control is-invalid") }} <div class="invalid-feedback"> {% for error in form.device_regex.errors %}<span>{{ error }}</span>{% endfor %} </div> {% else %} {{ form.device_regex(class="form-control") }} {% endif %} </div> </div> <br /> <div class="row mb-3"> {{ form.endpoint_regex.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> {% if form.endpoint_regex.errors %} {{ form.endpoint_regex(class="form-control is-invalid") }} <div class="invalid-feedback"> {% for error in form.endpoint_regex.errors %}<span>{{ error }}</span>{% endfor %} </div> {% else %} {{ form.endpoint_regex(class="form-control") }} {% endif %} </div> </div> <br /> <div class="row mb-3"> <div class="row mb-3"> {{ form.offered_load.label(class="col-sm-2 col-form-label") }} {{ form.offered_load.label(class="col-sm-2 col-form-label") }} <div class="col-sm-10"> <div class="col-sm-10"> Loading