resource: times is expected to be a non-zero positive integer

Change-Id: Ie9e313727053a411cec2f698c3bd654d27e8013f
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index f8acb9e..d8efe2f 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -68,7 +68,7 @@
     }
 
 WANT_SCHEMA = util.dict_add(
-    dict([('%s[].times' % r, schema.INT) for r in R_ALL]),
+    dict([('%s[].times' % r, schema.TIMES) for r in R_ALL]),
     RESOURCES_SCHEMA)
 
 KNOWN_BTS_TYPES = {
diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py
index b904960..dcdfdb1 100644
--- a/src/osmo_gsm_tester/schema.py
+++ b/src/osmo_gsm_tester/schema.py
@@ -71,6 +71,11 @@
     if n < 0:
         raise ValueError('Positive value expected instead of %d' % n)
 
+def times(val):
+    n = int(val)
+    if n < 1:
+        raise ValueError('Positive value >0 expected instead of %d' % n)
+
 INT = 'int'
 STR = 'str'
 UINT = 'uint'
@@ -82,6 +87,7 @@
 KI = 'ki'
 MSISDN = 'msisdn'
 AUTH_ALGO = 'auth_algo'
+TIMES='times'
 SCHEMA_TYPES = {
         INT: int,
         STR: str,
@@ -94,6 +100,7 @@
         KI: ki,
         MSISDN: msisdn,
         AUTH_ALGO: auth_algo,
+        TIMES: times,
     }
 
 def validate(config, schema):