action #2214
closed
action #2396: Refactor job_templates and friends
Better management of ENV variables on job_templates
Added by ancorgs over 10 years ago.
Updated over 10 years ago.
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.
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.
- Target version set to Sprint 07
- 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
- % Done changed from 0 to 30
- % Done changed from 30 to 40
- % Done changed from 40 to 50
- Status changed from In Progress to Resolved
closing, see #2524 for follow-up
Also available in: Atom
PDF