Permalink
Switch branches/tags
debian/wheezy/4.0.2.5-1_bpo70+1 debian/wheezy/4.0.2.3-1_bpo70+1 debian/wheezy/4.0.2.1-2_bpo70+1 debian/wheezy/4.0.2.1-1_bpo70+1 debian/wheezy/4.0.2-2.b1-1_bpo70+1 debian/wheezy/4.0.2-1_bpo70+1 debian/wheezy/4.0.1-1.rc1-1_bpo70+1 debian/wheezy/4.0.1-1_bpo70+1 debian/wheezy/4.0.0.2-1_bpo70+1 debian/wheezy/4.0-17.rc3-2_bpo70+1 debian/wheezy/4.0-17.rc3-1_bpo70+1 debian/wheezy/4.0-16.rc3-1_bpo70+1 debian/wheezy/4.0-15.rc3-1_bpo70+1 debian/wheezy/4.0-13.rc3-1_bpo70+1 debian/wheezy/4.0-10.rc2-1_bpo70+1 debian/wheezy/4.0-9.rc1-1_bpo70+1 debian/wheezy/4.0-8.rc1-1_bpo70+1 debian/wheezy/4.0-5.rc1-2_bpo70+1 debian/wheezy/4.0-5.rc1-1_bpo70+1 debian/wheezy/4.0-1_bpo70+1 debian/wheezy/3.5.1.7-1_bpo70+1 debian/wheezy/3.5.1.4-1_bpo70+1 debian/wheezy/3.5.1.3-2-1_bpo70+1 debian/wheezy/3.5.1-3.rc1-1_bpo70+1 debian/wheezy/3.5.1-2.rc1-1_bpo70+1 debian/wheezy/3.5.1-2_bpo70+1 debian/wheezy/3.5.1-1_bpo70+2 debian/wheezy/3.5.1-1_bpo70+1 debian/wheezy/3.5-24.rc2-1 debian/wheezy/3.5-23.rc2-1 debian/wheezy/3.5-22.rc2-1 debian/wheezy/3.5-18.rc2-1 debian/wheezy/3.5-11.rc1-1 debian/wheezy/3.5-1 debian/jessie/4.1-3.b1-6 debian/jessie/4.1-3.b1-5 debian/jessie/4.1-3.b1-4 debian/jessie/4.1-3.b1-3 debian/jessie/4.1-3.b1-2 debian/jessie/4.1-3.b1-1 debian/jessie/4.1-1 debian/jessie/4.0.2.5-1 debian/jessie/4.0.2.3-2 debian/jessie/4.0.2.3-1 debian/jessie/4.0.2.1-2 debian/jessie/4.0.2.1-1 debian/jessie/4.0.2-2.b1-1 debian/jessie/4.0.2-1 debian/jessie/4.0.1-1 debian/jessie/4.0.1-1.rc1-1 debian/jessie/4.0.0.2-1 debian/jessie/4.0-17.rc3-2 debian/jessie/4.0-17.rc3-1 debian/jessie/4.0-16.rc3-1 debian/jessie/4.0-15.rc3-1 debian/jessie/4.0-13.rc3-1 debian/jessie/4.0-10.rc2-1 debian/jessie/4.0-9.rc1-1 debian/jessie/4.0-8.rc1-2 debian/jessie/4.0-8.rc1-1 debian/jessie/4.0-5.rc1-2 debian/jessie/4.0-5.rc1-1 debian/jessie/4.0-1 debian/jessie/3.5.1.7-1 debian/jessie/3.5.1.4-1 debian/jessie/3.5.1.3-2-1 debian/jessie/3.5.1-3 debian/jessie/3.5.1-3.rc1-1 debian/jessie/3.5.1-2 debian/jessie/3.5.1-2.rc1-1 debian/jessie/3.5.1-1 4.1 4.1-3.b1 4.0.2.5 4.0.2.4 4.0.2.3 4.0.2.2 4.0.2.1 4.0.2 4.0.2-3.b1 4.0.2-2.b1 4.0.2-1.b1 4.0.1 4.0.1-2 4.0.1-1.rc1 4.0.0.2 4.0.0.1 4.0 4.0-17.rc3 4.0-16.rc3 4.0-15.rc3 4.0-14.rc3 4.0-13.rc3 4.0-12.rc3 4.0-11.rc2 4.0-10.rc2 4.0-9.rc1 4.0-8.rc1 4.0-7.rc1 4.0-6.rc1
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
249 lines (225 sloc) 7.75 KB
{
"#": "-------------------------------------------------------------------",
"#": " PSCHEDULER LIMIT CONFIGURATION ",
"#": " ",
"#": "This file is a sample which contains fairly sane defaults. It ",
"#": "should be customized according to the needs of your site. ",
"#": "-------------------------------------------------------------------",
"schema": 2,
"#": "-------------------------------------------------------------------",
"#": "IDENTIFIERS: WHO'S ASKING? ",
"#": " ",
"#": "These identify who's asking to run the test. One requester can ",
"#": "map to zero or more identifiers. ",
"#": "-------------------------------------------------------------------",
"identifiers": [
{
"name": "everybody",
"description": "An identifier that always identifies",
"type": "always",
"data": { }
},
{
"name": "local-interfaces",
"description": "Requests coming from this system",
"type": "localif",
"data": { }
},
{
"#": "NOTE: This only works if the host can resolve DNS",
"#": "on the public Internet.",
"name": "bogons",
"description": "Bogon/Martian IPv4 addresses without private networks",
"type": "ip-cymru-bogon",
"data": {
"exclude": [
"10.0.0.0/8",
"127.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16",
"169.254.0.0/16",
"::/8",
"fe80::/10"
],
"timeout": "PT1S",
"fail-result": false
}
},
{
"name": "hackers",
"description": "Blocks that have tried to hack us (actually TEST-NET-2)",
"type": "ip-cidr-list",
"data": {
"cidrs": [ "198.51.100.0/24" ]
}
}
],
"#": "-------------------------------------------------------------------",
"#": "CLASSIFIERS: HOW DO WE CLASSIFY THE IDENTIFIERS? ",
"#": " ",
"#": "These collect identifiers into groups. ",
"#": "-------------------------------------------------------------------",
"classifiers": [
{
"name": "default",
"description": "Everybody",
"identifiers": [ "everybody" ]
},
{
"name": "friendlies",
"description": "Identifiers we find friendly",
"identifiers": [ "local-interfaces" ]
},
{
"name": "hostiles",
"description": "Identifiers we find unfriendly",
"identifiers": [ "hackers", "bogons" ]
}
],
"#": "-------------------------------------------------------------------",
"#": "REWRITE: WHAT CHANGES ARE MADE TO INCOMING TASKS? ",
"#": " ",
"#": "This is a jq transform that makes changes to incoming tasks prior ",
"#": "to limit enforcement. ",
"#": "-------------------------------------------------------------------",
"rewrite": {
"script": [
"import \"pscheduler/iso8601\" as iso;",
"# This does nothing but is recommended so the statements below",
"# all begin with |. (This makes editing easier.)",
".",
"# Hold this for use later.",
"| .test.type as $testtype",
"# Throttle non-friendlies to 50 Mb/s for throughput",
"| if $testtype == \"throughput\"",
" and (",
" (.test.spec.bandwidth == null)",
" or (.test.spec.bandwidth > 50000000)",
" )",
" and (classifiers | contains([\"friendlies\"]) | not)",
" then",
" .test.spec.bandwidth = 50000000",
" | change(\"Throttled bandwidth to 50 Mb/s\")",
" else",
" .",
" end",
"# Make some tests run a minimum of 5 seconds",
"| if ( [\"idle\", \"idlebgm\", \"idleex\", \"latency\", \"latencybg\", \"throughput\" ]",
" | contains([$testtype]) )",
" and .test.spec.duration != null",
" and iso::duration_as_seconds(.test.spec.duration) < 5",
" then",
" .test.spec.duration = \"PT5S\"",
" | change(\"Bumped duration to 5-second minimum\")",
" else",
" .",
" end",
"# The end. (This takes care of the no-comma-at-end problem)"
]
},
"#": "-------------------------------------------------------------------",
"#": "LIMITS: WHAT ARE THE RESTRICTIONS? ",
"#": " ",
"#": "These are comparisons made against the type of test being proposed,",
"#": "the paramaters for the run and when it is proposed to be run. ",
"#": "-------------------------------------------------------------------",
"limits": [
{
"name": "always",
"description": "Always passes",
"type": "pass-fail",
"data": {
"pass": true
}
},
{
"name": "never",
"description": "Always fails",
"type": "pass-fail",
"data": {
"pass": false
}
},
{
"#": "This prevents denial of service by scheduling long tasks.",
"name": "idleex-default",
"description": "Default limits for idleex",
"type": "test",
"data": {
"test": "idleex",
"limit": {
"duration": {
"range": {
"lower": "PT1S",
"upper": "PT2S"
}
}
}
}
},
{
"name": "innocuous-tests",
"description": "Tests considered harmless",
"type": "test-type",
"data": {
"#": "Resource hogs, which will be inverted below",
"types": [ "throughput", "idleex" ]
},
"invert": true
},
{
"name": "throughput-default-time",
"description": "Throughput time limits",
"type": "test",
"data": {
"test": "throughput",
"limit": {
"duration": {
"range": {
"lower": "PT5S",
"upper": "PT60S"
}
}
}
}
}
],
"#": "-------------------------------------------------------------------",
"#": "APPLICATIONS: TO WHOM DO WE APPLY THE LIMITS? ",
"#": " ",
"#": "These are processed in order until one passes all of the ",
"#": "requirements. The run will be rejected if one fails with ",
"#": "stop-on-failure set to true or none of them passes. ",
"#": "-------------------------------------------------------------------",
"applications": [
{
"description": "Hosts we don't want running any tests",
"classifier": "hostiles",
"apply": [
{ "require": "all", "limits": [ "never" ] }
],
"stop-on-failure": true
},
{
"description": "Hosts we trust to do everything",
"classifier": "friendlies",
"apply": [
{ "require": "all", "limits": [ "always" ] }
]
},
{
"description": "Defaults applied to non-friendly hosts",
"classifier": "default",
"apply": [
{
"require": "any",
"limits": [
"innocuous-tests",
"throughput-default-time",
"idleex-default"
]
}
]
}
]
}