Project

General

Profile

Actions

action #2214

closed

action #2396: Refactor job_templates and friends

Better management of ENV variables on job_templates

Added by ancorgs almost 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
Start date:
2014-04-03
Due date:
% Done:

50%

Estimated time:
30.00 h

Description

Right now, products, machines and test_suites can define environment variables. But those list of variables are only a string that is parsed. That can be improved in several ways:

  • We need to be careful about what we accept as variable names in the web ui. Since those settings are exported to the environment things like e.g LD_PRELOAD must not be allowed. Maybe we should rename all variables to start with OPENQA_ or something similar to avoid side effects in the first place.
  • Create the key / value separation of variables, as was done in job_settings table
  • Drive / limit / control the options that the user have in the UI side (DESKTOP \in {KDE, GNOME, XFCE, LXDE})

We have to decide where we want to go exactly and then implement it.


Related issues 2 (1 open1 closed)

Related to openQA Project - action #2434: get rid of environment variablesResolvedmlin74422014-05-05

Actions
Related to openQA Project - action #2524: [webui] better display of test suite variable settingsNew2014-05-19

Actions
Actions #1

Updated by lnussel almost 10 years ago

wrt to meta data declaration in os-autoinst I'd go for something similar to what we use in sysconfig, see /usr/share/doc/packages/yast2-sysconfig/metadata.txt:

       Supported types:

        Type                        Valid values
        ---------------------------------------------------------------------
        string              any value
        string(v1,v2,...)   value from list or any value
        list(v1,v2,...)     only value from list
        integer             integer
        integer(min:max)    integer in specified range (one limit can be missing,
                            use e.g. integer(0:) for values >= 0)
        boolean             only "true" or "false"
        yesno               only "yes" or "no"
        ip                  IPv4 or IPv6 adress (e.g. 10.20.0.1)
        ip4                 IPv4 adress
        ip6                 IPv6 adress
        regexp(re)          only strings that matches regular expression re
                            (POSIX Extended Regular Expression), e.g. use
                            regexp(^0[0-7]*$) for octal values.

        If this keyword is missing default value "string" will be used.
Actions #2

Updated by ancorgs almost 10 years ago

  • Parent task set to #2396
Actions #3

Updated by ancorgs almost 10 years ago

  • Target version set to Sprint 07
Actions #4

Updated by lnussel almost 10 years ago

  • Status changed from New to In Progress
  • Assignee set to lnussel

as per discussion in the startup meeting we will limit this to a minimal implementation for now

Actions #5

Updated by lnussel almost 10 years ago

  • % Done changed from 0 to 30
Actions #6

Updated by lnussel almost 10 years ago

  • % Done changed from 30 to 40
Actions #7

Updated by lnussel almost 10 years ago

  • % Done changed from 40 to 50

variable split done

Actions #8

Updated by lnussel almost 10 years ago

  • Status changed from In Progress to Resolved

closing, see #2524 for follow-up

Actions

Also available in: Atom PDF