{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "OSMO_GSM_TESTER_BRANCH",
          "value" : "refs/heads/master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "OSMO_GSM_TESTER_OPTS",
          "value" : "-s sms:trx-b200 -T -l dbg"
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Pau Espin Pedrol",
          "userId" : "pespin",
          "userName" : "Pau Espin Pedrol"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/pespin/gprs" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 97,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b06e7d39bd92d5ece4cd841a6b0a1378109f324e",
            "branch" : [
              {
                "SHA1" : "b06e7d39bd92d5ece4cd841a6b0a1378109f324e",
                "name" : "refs/remotes/origin/pespin/gprs"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b06e7d39bd92d5ece4cd841a6b0a1378109f324e",
            "branch" : [
              {
                "SHA1" : "b06e7d39bd92d5ece4cd841a6b0a1378109f324e",
                "name" : "refs/remotes/origin/pespin/gprs"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/call-signals2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 227,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ee828ee19e8027f7dd49fa8d9b710314ccfdb83a",
            "branch" : [
              {
                "SHA1" : "ee828ee19e8027f7dd49fa8d9b710314ccfdb83a",
                "name" : "refs/remotes/origin/pespin/call-signals2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ee828ee19e8027f7dd49fa8d9b710314ccfdb83a",
            "branch" : [
              {
                "SHA1" : "ee828ee19e8027f7dd49fa8d9b710314ccfdb83a",
                "name" : "refs/remotes/origin/pespin/call-signals2"
              }
            ]
          }
        },
        "refs/remotes/origin/zecke/debug" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 197,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "34ec5ddf7b77c27e7fe53283f3ccea599dd8a20c",
            "branch" : [
              {
                "SHA1" : "34ec5ddf7b77c27e7fe53283f3ccea599dd8a20c",
                "name" : "refs/remotes/origin/zecke/debug"
              }
            ]
          },
          "revision" : {
            "SHA1" : "34ec5ddf7b77c27e7fe53283f3ccea599dd8a20c",
            "branch" : [
              {
                "SHA1" : "34ec5ddf7b77c27e7fe53283f3ccea599dd8a20c",
                "name" : "refs/remotes/origin/zecke/debug"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/tmp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 275,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bd552f9786272d44163d53b8cfa31355de15db2f",
            "branch" : [
              {
                "SHA1" : "bd552f9786272d44163d53b8cfa31355de15db2f",
                "name" : "refs/remotes/origin/pespin/tmp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bd552f9786272d44163d53b8cfa31355de15db2f",
            "branch" : [
              {
                "SHA1" : "bd552f9786272d44163d53b8cfa31355de15db2f",
                "name" : "refs/remotes/origin/pespin/tmp"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/2g" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 277,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "199b6f44eb58eca36f8335e3c8fe453cd0bc224e",
            "branch" : [
              {
                "SHA1" : "199b6f44eb58eca36f8335e3c8fe453cd0bc224e",
                "name" : "refs/remotes/origin/pespin/2g"
              }
            ]
          },
          "revision" : {
            "SHA1" : "199b6f44eb58eca36f8335e3c8fe453cd0bc224e",
            "branch" : [
              {
                "SHA1" : "199b6f44eb58eca36f8335e3c8fe453cd0bc224e",
                "name" : "refs/remotes/origin/pespin/2g"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/smart-socket" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 238,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3f2712eaf96fef592f14a758b2c9ac655ff0ef28",
            "branch" : [
              {
                "SHA1" : "3f2712eaf96fef592f14a758b2c9ac655ff0ef28",
                "name" : "refs/remotes/origin/pespin/smart-socket"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3f2712eaf96fef592f14a758b2c9ac655ff0ef28",
            "branch" : [
              {
                "SHA1" : "3f2712eaf96fef592f14a758b2c9ac655ff0ef28",
                "name" : "refs/remotes/origin/pespin/smart-socket"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/oc2g" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 234,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9e2ef07e04176c6709b60d8a72ab799610359fd3",
            "branch" : [
              {
                "SHA1" : "9e2ef07e04176c6709b60d8a72ab799610359fd3",
                "name" : "refs/remotes/origin/pespin/oc2g"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9e2ef07e04176c6709b60d8a72ab799610359fd3",
            "branch" : [
              {
                "SHA1" : "9e2ef07e04176c6709b60d8a72ab799610359fd3",
                "name" : "refs/remotes/origin/pespin/oc2g"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/sdcch8" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 165,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
            "branch" : [
              {
                "SHA1" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
                "name" : "refs/remotes/origin/pespin/sdcch8"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
            "branch" : [
              {
                "SHA1" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
                "name" : "refs/remotes/origin/pespin/sdcch8"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/trx" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 250,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "82b3075152cc6a857ca987aa8fcc0b15e1435339",
            "branch" : [
              {
                "SHA1" : "82b3075152cc6a857ca987aa8fcc0b15e1435339",
                "name" : "refs/remotes/origin/pespin/trx"
              }
            ]
          },
          "revision" : {
            "SHA1" : "82b3075152cc6a857ca987aa8fcc0b15e1435339",
            "branch" : [
              {
                "SHA1" : "82b3075152cc6a857ca987aa8fcc0b15e1435339",
                "name" : "refs/remotes/origin/pespin/trx"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 158,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
            "branch" : [
              {
                "SHA1" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
                "name" : "refs/remotes/origin/pespin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
            "branch" : [
              {
                "SHA1" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
                "name" : "refs/remotes/origin/pespin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/call-signals" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 223,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "76e25665f1c2ed0d3ae73fd32f3953ad204f8e9d",
            "branch" : [
              {
                "SHA1" : "76e25665f1c2ed0d3ae73fd32f3953ad204f8e9d",
                "name" : "refs/remotes/origin/pespin/call-signals"
              }
            ]
          },
          "revision" : {
            "SHA1" : "76e25665f1c2ed0d3ae73fd32f3953ad204f8e9d",
            "branch" : [
              {
                "SHA1" : "76e25665f1c2ed0d3ae73fd32f3953ad204f8e9d",
                "name" : "refs/remotes/origin/pespin/call-signals"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/quadmodem" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 179,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0795679045e8d34403a78f0f1747dc9beda5d4c7",
            "branch" : [
              {
                "SHA1" : "0795679045e8d34403a78f0f1747dc9beda5d4c7",
                "name" : "refs/remotes/origin/pespin/quadmodem"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0795679045e8d34403a78f0f1747dc9beda5d4c7",
            "branch" : [
              {
                "SHA1" : "0795679045e8d34403a78f0f1747dc9beda5d4c7",
                "name" : "refs/remotes/origin/pespin/quadmodem"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/umtrx" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 177,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "20995fd89ccf811fde2b36500fa054b463fa4679",
            "branch" : [
              {
                "SHA1" : "20995fd89ccf811fde2b36500fa054b463fa4679",
                "name" : "refs/remotes/origin/pespin/umtrx"
              }
            ]
          },
          "revision" : {
            "SHA1" : "20995fd89ccf811fde2b36500fa054b463fa4679",
            "branch" : [
              {
                "SHA1" : "20995fd89ccf811fde2b36500fa054b463fa4679",
                "name" : "refs/remotes/origin/pespin/umtrx"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/oct" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 94,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b75b710b40efdc0ebc1548c8f47ead85f34d3756",
            "branch" : [
              {
                "SHA1" : "b75b710b40efdc0ebc1548c8f47ead85f34d3756",
                "name" : "refs/remotes/origin/pespin/oct"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b75b710b40efdc0ebc1548c8f47ead85f34d3756",
            "branch" : [
              {
                "SHA1" : "b75b710b40efdc0ebc1548c8f47ead85f34d3756",
                "name" : "refs/remotes/origin/pespin/oct"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/fix-sudo" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 237,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "89739954026f6c2cc412111d82b8a624ebb94d98",
            "branch" : [
              {
                "SHA1" : "89739954026f6c2cc412111d82b8a624ebb94d98",
                "name" : "refs/remotes/origin/pespin/fix-sudo"
              }
            ]
          },
          "revision" : {
            "SHA1" : "89739954026f6c2cc412111d82b8a624ebb94d98",
            "branch" : [
              {
                "SHA1" : "89739954026f6c2cc412111d82b8a624ebb94d98",
                "name" : "refs/remotes/origin/pespin/fix-sudo"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/modifiers" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 150,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8d3159cdb310498e7d36555d389e6dffcaeafcb0",
            "branch" : [
              {
                "SHA1" : "8d3159cdb310498e7d36555d389e6dffcaeafcb0",
                "name" : "refs/remotes/origin/pespin/modifiers"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8d3159cdb310498e7d36555d389e6dffcaeafcb0",
            "branch" : [
              {
                "SHA1" : "8d3159cdb310498e7d36555d389e6dffcaeafcb0",
                "name" : "refs/remotes/origin/pespin/modifiers"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/remote-trx" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 156,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1ff03766be8d48b7e84656544d64111466327271",
            "branch" : [
              {
                "SHA1" : "1ff03766be8d48b7e84656544d64111466327271",
                "name" : "refs/remotes/origin/pespin/remote-trx"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1ff03766be8d48b7e84656544d64111466327271",
            "branch" : [
              {
                "SHA1" : "1ff03766be8d48b7e84656544d64111466327271",
                "name" : "refs/remotes/origin/pespin/remote-trx"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/sc5" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 249,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b1267d2af5f1a41906aa1aacd8b339a3110041bb",
            "branch" : [
              {
                "SHA1" : "b1267d2af5f1a41906aa1aacd8b339a3110041bb",
                "name" : "refs/remotes/origin/pespin/sc5"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b1267d2af5f1a41906aa1aacd8b339a3110041bb",
            "branch" : [
              {
                "SHA1" : "b1267d2af5f1a41906aa1aacd8b339a3110041bb",
                "name" : "refs/remotes/origin/pespin/sc5"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/nanobts-multitrx" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 124,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f6a07122823f8a0b01b40705d103199277925169",
            "branch" : [
              {
                "SHA1" : "f6a07122823f8a0b01b40705d103199277925169",
                "name" : "refs/remotes/origin/pespin/nanobts-multitrx"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f6a07122823f8a0b01b40705d103199277925169",
            "branch" : [
              {
                "SHA1" : "f6a07122823f8a0b01b40705d103199277925169",
                "name" : "refs/remotes/origin/pespin/nanobts-multitrx"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/fixes" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 281,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
            "branch" : [
              {
                "SHA1" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
                "name" : "refs/remotes/origin/pespin/fixes"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
            "branch" : [
              {
                "SHA1" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
                "name" : "refs/remotes/origin/pespin/fixes"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/lime" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 228,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8910fbb9a865df54c87caa632805a68c4c9ca15b",
            "branch" : [
              {
                "SHA1" : "8910fbb9a865df54c87caa632805a68c4c9ca15b",
                "name" : "refs/remotes/origin/pespin/lime"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8910fbb9a865df54c87caa632805a68c4c9ca15b",
            "branch" : [
              {
                "SHA1" : "8910fbb9a865df54c87caa632805a68c4c9ca15b",
                "name" : "refs/remotes/origin/pespin/lime"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 282,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
            "branch" : [
              {
                "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
            "branch" : [
              {
                "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
        "branch" : [
          {
            "SHA1" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-gsm-tester"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 1,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "log",
      "fileName" : "log",
      "relativePath" : "trial-282/last_run/log"
    },
    {
      "displayPath" : "trial-282-run.tgz",
      "fileName" : "trial-282-run.tgz",
      "relativePath" : "trial-282-run.tgz"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#282",
  "duration" : 219749,
  "estimatedDuration" : 262130,
  "executor" : None,
  "fullDisplayName" : "osmo-gsm-tester_manual-run #282",
  "id" : "282",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 282,
  "queueId" : 291880,
  "result" : "SUCCESS",
  "timestamp" : 1602676852465,
  "url" : "https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_manual-run/282/",
  "builtOn" : "osmo-gsm-tester-prod",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-amarisoft.sh"
        ],
        "commitId" : "3f2a5e5b4171c0fd6ad9712cfe616848ca80ec46",
        "timestamp" : 1586183533000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so\u000a\u000aIn the ENB case it's not really required since osmo-gsm-tester makes use\u000aof LD_LIBRARY_PATH. However, since the UE is potentially run with\u000acapabilitites to create tunnels and alike, LD_LIBRARY_PATH cannot be\u000aused and lteue will fail to load trx_zmq.so (because it cannot find its\u000adependency libsrslte_rf.so).\u000a\u000aChange-Id: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29\u000a",
        "date" : "2020-04-06 16:32:13 +0200",
        "id" : "3f2a5e5b4171c0fd6ad9712cfe616848ca80ec46",
        "msg" : "contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-amarisoft.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl",
          "src/osmo_gsm_tester/pcu_oc2g.py",
          "src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
        ],
        "commitId" : "ba213a3067f91f013f70bd5abc95481767ede800",
        "timestamp" : 1586187213000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "pcu: Improve logging and gsmtap\u000a\u000aChange-Id: I506a39b114eed55a185d329cea5e9d6ba379a2ae\u000a",
        "date" : "2020-04-06 17:33:33 +0200",
        "id" : "ba213a3067f91f013f70bd5abc95481767ede800",
        "msg" : "pcu: Improve logging and gsmtap",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-oc2g.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
        ],
        "commitId" : "3edc29cab13837c88b323d0dbb21a69bccd1bdf4",
        "timestamp" : 1586188342000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: Improve cs7 config in osmo-{bsc,msc}\u000a\u000aChange-Id: I0aa0057c85e606d45e67d01b818db7549033bdbd\u000a",
        "date" : "2020-04-06 17:52:22 +0200",
        "id" : "3edc29cab13837c88b323d0dbb21a69bccd1bdf4",
        "msg" : "templates: Improve cs7 config in osmo-{bsc,msc}",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/amarisoft_ue.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl",
          "src/osmo_gsm_tester/amarisoft_enb.py",
          "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl",
          "example/scenarios/amarisoftue-rftype@.conf"
        ],
        "commitId" : "65beb8f324e2ee79911226e600ca1bcbd6c19dbf",
        "timestamp" : 1586272164000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoftUE: adding basic support for Amarisoft UE\u000a\u000aChange-Id: Idda0d3a040663969dd71781814198b47fff7daf3\u000a",
        "date" : "2020-04-07 15:09:24 +0000",
        "id" : "65beb8f324e2ee79911226e600ca1bcbd6c19dbf",
        "msg" : "amarisoftUE: adding basic support for Amarisoft UE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/amarisoft_enb.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/amarisoftue-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/amarisoft_ue.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl",
          "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
        ],
        "commitId" : "9a5be2c8fd749ae1a2ab2b949f6c8a1753d9e4b3",
        "timestamp" : 1586272164000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically\u000a\u000aChange-Id: I2d63055d0648a1758905fd277c20edaeec8f9b85\u000a",
        "date" : "2020-04-07 15:09:24 +0000",
        "id" : "9a5be2c8fd749ae1a2ab2b949f6c8a1753d9e4b3",
        "msg" : "amarisoftue.cfg.tmpl: fix UE bandwidth/rate config and power on automatically",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "example/defaults.conf",
          "src/osmo_gsm_tester/amarisoft_enb.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "example/scenarios/mod-enb-meas-event@.conf"
        ],
        "commitId" : "a7f19836584897246fe4fe8086aabc95cdcaeafe",
        "timestamp" : 1586273017000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: add measurement modifier to scenario files\u000a\u000athis commit adds basic support for configuring measurements in the\u000aeNB config. It currently support A1, A2, and A3 events.\u000aBy default UE measurements are turned off and need to be enabled by\u000aconfiguring an event with:\u000a\u000a+mod-enb-meas-event@{name},{report_type},{value},{hysterisis},{time to trigger}\u000a\u000aFor example one can update the a2 and a3 event with:\u000a\u000a+mod-enb-meas-event@a2,rsrq,-40,2,480+mod-enb-meas-event@a3,rsrp,6,1,512\u000a\u000aChange-Id: Ia7657be2396886840570bc41645450a268b4cfff\u000a",
        "date" : "2020-04-07 17:23:37 +0200",
        "id" : "a7f19836584897246fe4fe8086aabc95cdcaeafe",
        "msg" : "enb: add measurement modifier to scenario files",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-enb-meas-event@.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/amarisoft_enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl",
          "src/osmo_gsm_tester/pcu_oc2g.py",
          "src/osmo_gsm_tester/bts.py",
          "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
        ],
        "commitId" : "29b7132eb8fca86ef4701275f3f7e28934732b46",
        "timestamp" : 1586275967000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "pcu: Enable 'egprs only' vty option if egprs requested\u000a\u000aChange-Id: Idd0b5bf8769d693480268c0a0b89dbfd63779e48\u000a",
        "date" : "2020-04-07 16:12:47 +0000",
        "id" : "29b7132eb8fca86ef4701275f3f7e28934732b46",
        "msg" : "pcu: Enable 'egprs only' vty option if egprs requested",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/suites/encryption/suite.conf",
          "suites/encryption/lib/testlib.py",
          "suites/smpp/esme_ms_sms_transaction.py",
          "example/suites/nitb_debug/fail_raise.py",
          "example/suites/4g/suite.conf",
          "example/suites/nitb_netreg/register.py",
          "example/suites/nitb_ussd/suite.conf",
          "example/suites/encryption/register_a5_0_authreq.py",
          "example/suites/nitb_sms/mo_mt_sms.py",
          "example/suites/4g/iperf3_ul.py",
          "example/suites/nitb_debug/fail.py",
          "suites/nitb_netreg_mass/register_default_mass.py",
          "suites/encryption/suite.conf",
          "suites/ussd/assert_extension.py",
          "example/suites/encryption/register_a5_3_authreq.py",
          "suites/debug/interactive.py",
          "suites/sms/mo_mt_sms.py",
          "suites/nitb_debug/interactive.py",
          "suites/smpp/suite.conf",
          "suites/voice/mo_mt_call_osmux.py",
          "suites/4g/iperf3_ul.py",
          "suites/nitb_sms/mo_mt_sms.py",
          "example/suites/gprs/lib/testlib.py",
          "suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "suites/nitb_debug/fail.py",
          "suites/encryption/register_a5_3_authreq.py",
          "example/suites/nitb_smpp/suite.conf",
          "example/suites/smpp/esme_ms_sms_storeforward.py",
          "suites/ussd/suite.conf",
          "suites/gprs/iperf3m4.py",
          "suites/gprs/ping_idle_ping.py",
          "example/paths.conf",
          "example/suites/nitb_netreg/register_default.py",
          "suites/gprs/lib/testlib.py",
          "suites/nitb_smpp/esme_ms_sms_transaction.py",
          "example/suites/voice/lib/testlib.py",
          "suites/gprs/ping.py",
          "doc/manuals/chapters/install.adoc",
          "example/suites/nitb_smpp/esme_connect_policy_closed.py",
          "example/suites/nitb_netreg_mass/suite.conf",
          "suites/smpp/esme_ms_sms_storeforward.py",
          "example/suites/nitb_debug/pass.py",
          "suites/nitb_sms/suite.conf",
          "suites/sms/suite.conf",
          "suites/nitb_ussd/assert_extension.py",
          "example/suites/gprs/iperf3m4.py",
          "suites/nitb_smpp/suite.conf",
          "suites/4g/ping.py",
          "example/suites/gprs/ping.py",
          "suites/voice/lib/testlib.py",
          "suites/nitb_netreg_mass/suite.conf",
          "suites/encryption/register_a5_0_authreq.py",
          "example/suites/nitb_debug/suite.conf",
          "suites/voice/mo_mt_call.py",
          "example/suites/voice/mo_mt_call_osmux.py",
          "suites/nitb_debug/pass.py",
          "example/suites/gprs/iperf3.py",
          "suites/nitb_debug/suite.conf",
          "example/suites/gprs/suite.conf",
          "example/suites/ussd/suite.conf",
          "suites/gprs/cs_paging_gprs_active.py",
          "example/suites/gprs/ping_idle_ping.py",
          "suites/4g/iperf3_dl.py",
          "example/suites/ussd/assert_extension.py",
          "example/suites/smpp/esme_ms_sms_transaction.py",
          "suites/nitb_debug/fail_raise.py",
          "suites/encryption/register_a5_1_authreq.py",
          "suites/nitb_debug/error.py",
          "suites/nitb_netreg/suite.conf",
          "example/suites/dynts/suite.conf",
          "suites/debug/suite.conf",
          "example/suites/sms/suite.conf",
          "suites/gprs/suite.conf",
          "example/suites/encryption/register_a5_0_authopt.py",
          "example/suites/smpp/esme_connect_policy_closed.py",
          "suites/smpp/esme_connect_policy_closed.py",
          "suites/gprs/iperf3.py",
          "example/suites/nitb_debug/error.py",
          "example/suites/nitb_sms/suite.conf",
          "suites/dynts/suite.conf",
          "example/suites/nitb_ussd/assert_extension.py",
          "example/suites/4g/ping.py",
          "suites/smpp/esme_connect_policy_acceptall.py",
          "example/suites/debug/suite.conf",
          "example/suites/debug/interactive.py",
          "suites/dynts/switch_tch_pdch.py",
          "example/suites/voice/suite.conf",
          "suites/encryption/register_a5_0_authopt.py",
          "example/suites/encryption/lib/testlib.py",
          "example/suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "example/suites/dynts/switch_tch_pdch.py",
          "example/suites/4g/iperf3_dl.py",
          "suites/nitb_netreg/register_default.py",
          "example/suites/voice/mo_mt_call.py",
          "example/suites/smpp/suite.conf",
          "example/suites/nitb_smpp/esme_ms_sms_transaction.py",
          "doc/manuals/chapters/config.adoc",
          "suites/nitb_smpp/esme_connect_policy_closed.py",
          "example/suites/smpp/esme_connect_policy_acceptall.py",
          "example/suites/nitb_debug/interactive.py",
          "suites/nitb_netreg/register.py",
          "example/suites/nitb_netreg_mass/register_default_mass.py",
          "suites/voice/suite.conf",
          "suites/nitb_ussd/suite.conf",
          "example/suites/sms/mo_mt_sms.py",
          "example/suites/gprs/cs_paging_gprs_active.py",
          "suites/4g/suite.conf",
          "suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "example/suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "example/suites/encryption/register_a5_1_authreq.py",
          "example/suites/nitb_netreg/suite.conf"
        ],
        "commitId" : "69488f6d8ae8e7a82c4b136bd0408c6c7d59378b",
        "timestamp" : 1586275967000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move suites/ dir inside example/\u000a\u000aexample/paths.conf and documentation are updated accordingly.\u000a\u000aTest suites should have been moved a long time ago, since the they are\u000auser or setup-specific based on what needs to be tested.\u000a\u000aChange-Id: I154b19979b545deba8b232b60172903f63fd9e28\u000a",
        "date" : "2020-04-07 16:12:47 +0000",
        "id" : "69488f6d8ae8e7a82c4b136bd0408c6c7d59378b",
        "msg" : "Move suites/ dir inside example/",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/4g/ping.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/mo_mt_call_osmux.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/cs_paging_gprs_active.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/ping.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/cs_paging_gprs_active.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/interactive.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/error.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/fail_raise.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/4g/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/ping.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_netreg_mass/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_netreg/register.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/lib/testlib.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "example/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/pass.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/dynts/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/pass.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/iperf3.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/register_a5_3_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/fail.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/voice/mo_mt_call_osmux.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/fail.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/fail_raise.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_netreg_mass/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/debug/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/4g/ping.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/debug/interactive.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/install.adoc"
          },
          {
            "editType" : "add",
            "file" : "example/suites/dynts/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/voice/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/ussd/assert_extension.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/register_a5_3_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/error.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/ussd/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/smpp/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/gprs/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/voice/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/nitb_smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/gprs/iperf3.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "add",
            "file" : "example/suites/nitb_netreg/register.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/4g/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/sms/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/smpp/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/amarisoft_ue.py",
          "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
        ],
        "commitId" : "d97ab42462f169bbaa376cb27565e22c3cce2c6d",
        "timestamp" : 1586277501000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_ue: fix UHD support\u000a\u000athe Amarisoft UE seems to be only working with UHD when the bandwidth\u000aparam is provided. It seems the set_bandwidth() API is used.\u000a\u000aChange-Id: I3f20a5a8ca80c63374f0ad500fd2794e2dc45479\u000a",
        "date" : "2020-04-07 18:38:21 +0200",
        "id" : "d97ab42462f169bbaa376cb27565e22c3cce2c6d",
        "msg" : "amarisoft_ue: fix UHD support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/amarisoft_ue.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/srs_enb.py",
          "src/osmo_gsm_tester/srs_ue.py",
          "src/osmo_gsm_tester/amarisoft_enb.py",
          "doc/manuals/chapters/config_mangling.adoc",
          "doc/manuals/chapters/config.adoc"
        ],
        "commitId" : "6b8f5ae3d220c49f09ed8c2d19c9069ef9f2b54e",
        "timestamp" : 1586278319000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args\u000a\u000aCommit 12ae6d79a5b53a213f619999ef0230c1dae88bb7 switched the rf_dev_type\u000ato be in lowercase but forgot to change these conditions.\u000a\u000aChange-Id: I91d3877381b4e6343dc4aa0465e699341ed6648d\u000a",
        "date" : "2020-04-07 18:51:59 +0200",
        "id" : "6b8f5ae3d220c49f09ed8c2d19c9069ef9f2b54e",
        "msg" : "srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/amarisoft_enb.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config_mangling.adoc"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/srs_enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/srs_ue.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/bin/osmo-gsm-tester_setcap_net_admin.sh",
          "utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh",
          "utils/bin/osmo-gsm-tester_setcap_net_raw.sh"
        ],
        "commitId" : "80855498f1c565795592e25b515d765d063d4f45",
        "timestamp" : 1586351770000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "utils/bin: Support passing several bin files to setcap helper scripts\u000a\u000aChange-Id: Ifa43f895ae0796d086f35778263aaba07f2e1b7a\u000a",
        "date" : "2020-04-08 15:16:10 +0200",
        "id" : "80855498f1c565795592e25b515d765d063d4f45",
        "msg" : "utils/bin: Support passing several bin files to setcap helper scripts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "utils/bin/osmo-gsm-tester_setcap_netsys_admin.sh"
          },
          {
            "editType" : "edit",
            "file" : "utils/bin/osmo-gsm-tester_setcap_net_raw.sh"
          },
          {
            "editType" : "edit",
            "file" : "utils/bin/osmo-gsm-tester_setcap_net_admin.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/amarisoft_ue.py",
          "utils/bin/osmo-gsm-tester_netns_setup.sh",
          "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
        ],
        "commitId" : "23e60e5b3708571256a9eba8c3f78e3a1a85c3a0",
        "timestamp" : 1586351812000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoft_ue: Implement data plane\u000a\u000aUse the ifup script to set up the netns + configure the tun device\u000acreated by lteue. Use it also as a hook to know when the UE is attached.\u000aSince tun setup is done by arch-optimized lte-avx(2) binaries, we also\u000aneed to give capabilitites to them (instead of allowing inheritance of\u000acaps in general in the setcap script).\u000a\u000aChange-Id: I1e228b1296eac8e4cb183c2faa735b0468abe124\u000a",
        "date" : "2020-04-08 15:16:52 +0200",
        "id" : "23e60e5b3708571256a9eba8c3f78e3a1a85c3a0",
        "msg" : "amarisoft_ue: Implement data plane",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/amarisoft_ue.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "utils/bin/osmo-gsm-tester_netns_setup.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/pcu_oc2g.py"
        ],
        "commitId" : "ce82b038c7f5fb3d94281e4ebef14d9ff79a2f66",
        "timestamp" : 1586476788000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "pcu_{sysmo,oc2g}: Inherit from pcu abstract class\u000a\u000aFor some reason these classes were still not inheriting from the base\u000aclass (probably because it was added after they existed) and they\u000astarted failing after recent changes which presumed they where already\u000ainheriting.\u000a\u000aChange-Id: I88217baf490ec45373d0743585377ed2639a8cfd\u000a",
        "date" : "2020-04-10 01:59:48 +0200",
        "id" : "ce82b038c7f5fb3d94281e4ebef14d9ff79a2f66",
        "msg" : "pcu_{sysmo,oc2g}: Inherit from pcu abstract class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_oc2g.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_oc2g.py"
        ],
        "commitId" : "19155245a4819e0e666c8e4938a43bfc5fd0969e",
        "timestamp" : 1586477362000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_oc2g: Fix missing import remote\u000a\u000aChange-Id: I318683b8dc6215f5bf863cfb1581e2c3bfa05621\u000a",
        "date" : "2020-04-10 02:09:22 +0200",
        "id" : "19155245a4819e0e666c8e4938a43bfc5fd0969e",
        "msg" : "bts_oc2g: Fix missing import remote",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_oc2g.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_oc2g.py"
        ],
        "commitId" : "bd552f9786272d44163d53b8cfa31355de15db2f",
        "timestamp" : 1586478057000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_oc2g: Fix ready_for_pcu() waiting forever\u000a\u000aChange-Id: Id33e527591164b87d1e14b7922247b726267ad6e\u000a",
        "date" : "2020-04-10 02:20:57 +0200",
        "id" : "bd552f9786272d44163d53b8cfa31355de15db2f",
        "msg" : "bts_oc2g: Fix ready_for_pcu() waiting forever",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_oc2g.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/dbus-1/dbus_osmo-gsm-tester.conf",
          "install/org.ofono.conf",
          "install/osmo-gsm-tester.service",
          "install/ofono.service",
          "install/osmo-gsm-tester-limits.conf",
          "utils/systemd/osmo-gsm-tester.service"
        ],
        "commitId" : "69a6f668b9cad6a2a9a7f580f577d84a9f18b708",
        "timestamp" : 1586532550000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Get rid of install top directory\u000a\u000aSome content there is out of date, or should be mvoed to utils/ with the\u000arest of installable stuff.\u000a\u000aChange-Id: I17ee94b175deb88faff71e7788c482093693f8a8\u000a",
        "date" : "2020-04-10 17:29:10 +0200",
        "id" : "69a6f668b9cad6a2a9a7f580f577d84a9f18b708",
        "msg" : "Get rid of install top directory",
        "paths" : [
          {
            "editType" : "add",
            "file" : "utils/systemd/osmo-gsm-tester.service"
          },
          {
            "editType" : "delete",
            "file" : "install/osmo-gsm-tester.service"
          },
          {
            "editType" : "delete",
            "file" : "install/osmo-gsm-tester-limits.conf"
          },
          {
            "editType" : "add",
            "file" : "utils/dbus-1/dbus_osmo-gsm-tester.conf"
          },
          {
            "editType" : "delete",
            "file" : "install/ofono.service"
          },
          {
            "editType" : "delete",
            "file" : "install/org.ofono.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/suites/encryption/suite.conf",
          "example/scenarios/cipher-a51.conf",
          "example/suites/4g/suite.conf",
          "sysmocom/scenarios/cfg-codec-fr1.conf",
          "example/suites/encryption/register_a5_0_authreq.py",
          "example/scenarios/mod-bts0-chanallocdescend.conf",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py",
          "sysmocom/ttcn3/resources.conf.rnd",
          "example/scenarios/trx.conf",
          "sysmocom/scenarios/band-900.conf",
          "sysmocom/scenarios/mod-srsue-ncarriers@.conf",
          "sysmocom/scenarios/mod-bts0-egprs.conf",
          "example/scenarios/octphy.conf",
          "example/README.txt",
          "sysmocom/scenarios/mod-bts0-dynts67-osmo.conf",
          "sysmocom/scenarios/sysmo.conf",
          "sysmocom/scenarios/nanobts.conf",
          "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh",
          "sysmocom/scenarios/mod-enb-meas-event@.conf",
          "sysmocom/scenarios/band-1800.conf",
          "sysmocom/suites/encryption/register_a5_3_authreq.py",
          "example/suites/gprs/lib/testlib.py",
          "example/scenarios/mod-bts0-dynts-osmo.conf",
          "sysmocom/scenarios/cfg-amarisoft-license@.conf",
          "example/scenarios/mod-enb-ncells@.conf",
          "example/suites/nitb_smpp/suite.conf",
          "example/suites/smpp/esme_ms_sms_storeforward.py",
          "example/scenarios/nanobts.conf",
          "sysmocom/scenarios/mod-srsue-airplane_mode_sim@.conf",
          "example/scenarios/mfeature-gprs.conf",
          "sysmocom/scenarios/cfg-codec-hr1.conf",
          "sysmocom/suites/voice/mo_mt_call.py",
          "example/paths.conf",
          "example/suites/nitb_netreg/register_default.py",
          "sysmocom/suites/nitb_debug/fail_raise.py",
          "sysmocom/suites/nitb_debug/fail.py",
          "sysmocom/suites/smpp/esme_ms_sms_storeforward.py",
          "sysmocom/suites/gprs/iperf3.py",
          "sysmocom/suites/gprs/ping_idle_ping.py",
          "example/scenarios/cfg-epc-type@.conf",
          "sysmocom/ttcn3/scenarios/oc2g.conf",
          "example/suites/nitb_smpp/esme_connect_policy_closed.py",
          "ttcn3/resources.conf.rnd",
          "example/suites/nitb_netreg_mass/suite.conf",
          "example/scenarios/amarisoftenb-rftype@.conf",
          "sysmocom/suites/voice/mo_mt_call_osmux.py",
          "example/scenarios/mod-enb-args@.conf",
          "example/suites/nitb_debug/pass.py",
          "sysmocom/defaults.conf",
          "example/scenarios/mod-srsue-ncarriers@.conf",
          "example/suites/gprs/iperf3m4.py",
          "sysmocom/ttcn3/resources.conf.prod",
          "ttcn3/default-suites.conf",
          "sysmocom/scenarios/mod-bts0-dynts-ipa.conf",
          "sysmocom/scenarios/cfg-codec-hr3.conf",
          "ttcn3/paths.conf",
          "example/scenarios/mod-bts0-egprs.conf",
          "example/scenarios/mod-modem-args@.conf",
          "sysmocom/suites/gprs/lib/testlib.py",
          "example/scenarios/mod-bts0-numtrx2.conf",
          "example/scenarios/cfg-iperf3-time@.conf",
          "ttcn3/suites/ttcn3_bts_tests/lib/testlib.py",
          "example/suites/gprs/iperf3.py",
          "ttcn3/README.txt",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh",
          "sysmocom/suites/nitb_netreg_mass/suite.conf",
          "sysmocom/suites/encryption/suite.conf",
          "sysmocom/ttcn3/defaults.conf",
          "sysmocom/scenarios/trx.conf",
          "sysmocom/suites/encryption/lib/testlib.py",
          "sysmocom/scenarios/mod-bts0-ts-tchh.conf",
          "example/scenarios/mod-enb-nprb@.conf",
          "example/defaults.conf",
          "sysmocom/ttcn3/default-suites.conf",
          "example/scenarios/cfg-srs-enable-pcap.conf",
          "sysmocom/suites/voice/suite.conf",
          "sysmocom/suites/smpp/esme_ms_sms_transaction.py",
          "example/scenarios/band-1800.conf",
          "sysmocom/suites/nitb_ussd/suite.conf",
          "example/scenarios/mod-bts0-ts-tchf.conf",
          "sysmocom/suites/4g/suite.conf",
          "example/suites/sms/suite.conf",
          "sysmocom/suites/nitb_debug/error.py",
          "sysmocom/scenarios/mod-bts0-chanallocdescend.conf",
          "sysmocom/suites/smpp/esme_connect_policy_acceptall.py",
          "sysmocom/suites/voice/lib/testlib.py",
          "example/suites/smpp/esme_connect_policy_closed.py",
          "example/suites/nitb_sms/suite.conf",
          "sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf",
          "ttcn3/scenarios/oc2g.conf",
          "sysmocom/suites/nitb_smpp/suite.conf",
          "example/scenarios/cfg-codec-fr1.conf",
          "example/resources.conf.prod",
          "sysmocom/paths.conf",
          "example/default-suites.conf",
          "sysmocom/scenarios/mod-bts0-dynts67-ipa.conf",
          "sysmocom/suites/nitb_sms/mo_mt_sms.py",
          "sysmocom/README.txt",
          "sysmocom/scenarios/trx-sysmocell5000.conf",
          "sysmocom/ttcn3/scenarios/trx.conf",
          "sysmocom/scenarios/cfg-codec-fr-any.conf",
          "sysmocom/scenarios/cipher-a50.conf",
          ".gitignore",
          "example/scenarios/cfg-codec-hr3.conf",
          "ttcn3/defaults.conf",
          "example/suites/debug/interactive.py",
          "sysmocom/scenarios/mod-bts0-ts-tchf.conf",
          "example/suites/voice/suite.conf",
          "sysmocom/suites/nitb_netreg_mass/register_default_mass.py",
          "example/scenarios/mod-bts0-trxdversion0.conf",
          "example/suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "example/suites/4g/iperf3_dl.py",
          "example/suites/smpp/suite.conf",
          "sysmocom/scenarios/cfg-epc-type@.conf",
          "sysmocom/suites/encryption/register_a5_0_authreq.py",
          "sysmocom/scenarios/mod-bts0-trxdversion0.conf",
          "example/scenarios/cfg-codec-fr2.conf",
          "example/scenarios/oc2g.conf",
          "example/suites/nitb_debug/interactive.py",
          "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl",
          "sysmocom/scenarios/srsue-rftype@.conf",
          "example/scenarios/cipher-a50.conf",
          "sysmocom/suites/nitb_netreg/register_default.py",
          "example/scenarios/cfg-codec-fr-any.conf",
          "sysmocom/suites/nitb_debug/suite.conf",
          "sysmocom/scenarios/mod-bts0-dynts-osmo.conf",
          "example/suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "example/resources.conf.virtual",
          "example/scenarios/mod-enb-meas-event@.conf",
          "ttcn3/suites/ttcn3_bts_tests/suite.conf",
          "example/scenarios/srsenb-rftype@.conf",
          "example/suites/nitb_debug/fail_raise.py",
          "sysmocom/scenarios/trx-lms.conf",
          "example/suites/nitb_netreg/register.py",
          "example/suites/nitb_ussd/suite.conf",
          "example/scenarios/amarisoftue-rftype@.conf",
          "example/scenarios/mod-enb-txmode@.conf",
          "example/suites/nitb_sms/mo_mt_sms.py",
          "example/suites/4g/iperf3_ul.py",
          "example/suites/nitb_debug/fail.py",
          "sysmocom/ttcn3/scenarios/sysmo.conf",
          "sysmocom/ttcn3/jenkins-run.sh",
          "example/scenarios/srsue-rftype@.conf",
          "sysmocom/suites/4g/iperf3_ul.py",
          "sysmocom/suites/encryption/register_a5_0_authopt.py",
          "sysmocom/suites/debug/suite.conf",
          "example/suites/encryption/register_a5_3_authreq.py",
          "sysmocom/ttcn3/paths.conf",
          "sysmocom/scenarios/trx-b200.conf",
          "sysmocom/resources.conf.prod",
          "example/scenarios/mod-bts0-dynts67-osmo.conf",
          "sysmocom/suites/nitb_netreg/suite.conf",
          "sysmocom/suites/4g/ping.py",
          "sysmocom/scenarios/cipher-a51.conf",
          "sysmocom/suites/sms/suite.conf",
          "sysmocom/scenarios/oc2g.conf",
          "sysmocom/scenarios/amarisoftue-rftype@.conf",
          "sysmocom/ttcn3/README.txt",
          "example/scenarios/trx-lms.conf",
          "example/suites/voice/lib/testlib.py",
          "sysmocom/scenarios/mod-bts0-numtrx2.conf",
          "sysmocom/default-suites.conf",
          "sysmocom/scenarios/srsenb-rftype@.conf",
          "sysmocom/scenarios/cfg-iperf3-time@.conf",
          "sysmocom/suites/nitb_netreg/register.py",
          "example/scenarios/band-900.conf",
          "example/scenarios/cfg-codec-fr3.conf",
          "sysmocom/scenarios/trx-umtrx.conf",
          "sysmocom/suites/nitb_debug/interactive.py",
          "sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py",
          "example/suites/gprs/ping.py",
          "sysmocom/scenarios/cfg-codec-fr2.conf",
          "ttcn3/scenarios/sysmo.conf",
          "sysmocom/scenarios/band-1900.conf",
          "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "sysmocom/suites/sms/mo_mt_sms.py",
          "example/suites/nitb_debug/suite.conf",
          "example/resources.conf.rnd",
          "sysmocom/suites/gprs/suite.conf",
          "example/suites/voice/mo_mt_call_osmux.py",
          "sysmocom/scenarios/amarisoftenb-rftype@.conf",
          "example/suites/gprs/suite.conf",
          "example/scenarios/mod-bts0-ts-tchh.conf",
          "sysmocom/suites/ussd/suite.conf",
          "sysmocom/scenarios/mod-enb-nprb@.conf",
          "example/scenarios/cfg-amarisoft-license@.conf",
          "sysmocom/suites/nitb_debug/pass.py",
          "example/scenarios/trx-sysmocell5000.conf",
          "example/suites/ussd/suite.conf",
          "ttcn3/scenarios/trx.conf",
          "example/scenarios/cfg-epc-qci@.conf",
          "example/suites/gprs/ping_idle_ping.py",
          "sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "ttcn3/resources.conf.prod",
          "sysmocom/suites/encryption/register_a5_1_authreq.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl",
          "example/suites/ussd/assert_extension.py",
          "sysmocom/suites/gprs/ping.py",
          "sysmocom/scenarios/mod-modem-args@.conf",
          "example/suites/smpp/esme_ms_sms_transaction.py",
          "sysmocom/scenarios/mod-enb-ncells@.conf",
          "example/suites/dynts/suite.conf",
          "example/scenarios/sysmo.conf",
          "sysmocom/suites/nitb_sms/suite.conf",
          "example/scenarios/band-1900.conf",
          "sysmocom/suites/debug/interactive.py",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py",
          "example/scenarios/trx-b200.conf",
          "example/suites/encryption/register_a5_0_authopt.py",
          "example/suites/nitb_debug/error.py",
          "sysmocom/suites/nitb_ussd/assert_extension.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf",
          "example/scenarios/cfg-codec-hr1.conf",
          "example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf",
          "example/suites/nitb_ussd/assert_extension.py",
          "sysmocom/scenarios/trx-lms-limenet-micro.conf",
          "example/suites/4g/ping.py",
          "example/scenarios/trx-lms-limenet-micro.conf",
          "example/suites/debug/suite.conf",
          "sysmocom/scenarios/mod-enb-txmode@.conf",
          "example/suites/encryption/lib/testlib.py",
          "example/suites/dynts/switch_tch_pdch.py",
          "example/scenarios/trx-umtrx.conf",
          "example/suites/voice/mo_mt_call.py",
          "sysmocom/scenarios/mod-enb-args@.conf",
          "sysmocom/suites/4g/iperf3_dl.py",
          "ttcn3/jenkins-run.sh",
          "example/scenarios/mod-srsue-airplane_mode_sim@.conf",
          "sysmocom/resources.conf.rnd",
          "example/suites/nitb_smpp/esme_ms_sms_transaction.py",
          "sysmocom/scenarios/cfg-codec-fr3.conf",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "sysmocom/scenarios/mfeature-gprs.conf",
          "example/suites/smpp/esme_connect_policy_acceptall.py",
          "sysmocom/suites/smpp/suite.conf",
          "sysmocom/suites/dynts/suite.conf",
          "sysmocom/suites/ussd/assert_extension.py",
          "example/suites/nitb_netreg_mass/register_default_mass.py",
          "example/suites/sms/mo_mt_sms.py",
          "example/scenarios/mod-bts0-dynts67-ipa.conf",
          "example/suites/gprs/cs_paging_gprs_active.py",
          "sysmocom/scenarios/cfg-epc-qci@.conf",
          "sysmocom/suites/smpp/esme_connect_policy_closed.py",
          "sysmocom/scenarios/cfg-srs-enable-pcap.conf",
          "example/scenarios/mod-bts0-dynts-ipa.conf",
          "example/suites/encryption/register_a5_1_authreq.py",
          "example/suites/nitb_netreg/suite.conf",
          "sysmocom/suites/dynts/switch_tch_pdch.py",
          "sysmocom/suites/gprs/iperf3m4.py",
          "sysmocom/suites/gprs/cs_paging_gprs_active.py",
          "sysmocom/resources.conf.virtual",
          "sysmocom/scenarios/octphy.conf"
        ],
        "commitId" : "99bed8bdb286bac4b7d3d5c2297aea30fd82e709",
        "timestamp" : 1586538014000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3\u000a\u000aThis content is mostly specific to sysmocom's setup (thought it can\u000astill be re-used by other people if willing to).\u000a\u000asymlinks in ttcn3/ pointing to example/ are redone to point to\u000asysmocom/.\u000a\u000aChange-Id: I364e0859c0851b9167907a4d948b659a0f6a19fb\u000a",
        "date" : "2020-04-10 19:00:14 +0200",
        "id" : "99bed8bdb286bac4b7d3d5c2297aea30fd82e709",
        "msg" : "Move example/ and ttcn3/ to sysmocom/ and sysmocom/ttcn3",
        "paths" : [
          {
            "editType" : "add",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/scenarios/trx.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/amarisoftue-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cipher-a51.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/amarisoftenb-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-nprb@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-dynts-ipa.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-dynts-osmo.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "delete",
            "file" : "example/README.txt"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-srsue-airplane_mode_sim@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-dynts67-osmo.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-ts-tchh.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx-b200.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/dynts/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/ussd/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/sysmo.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-epc-type@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cipher-a50.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/resources.conf.prod"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-trxdversion0.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/fail.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-srsue-airplane_mode_sim@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-epc-qci@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx-lms-limenet-micro.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/scenarios/sysmo.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/band-900.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-epc-type@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mfeature-gprs.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-egprs.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/resources.conf.rnd"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/jenkins-run.sh"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-hr1.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-chanallocdescend.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/ping.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/fail.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/cs_paging_gprs_active.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/defaults.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/ping.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/amarisoftue-rftype@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-fr1.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mfeature-gprs.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx-lms-limenet-micro.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-amarisoft-license@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-srsue-ncarriers@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-enb-meas-event@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-numtrx2.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-hr1.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-modem-args@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/band-1900.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/4g/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/oc2g.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/dynts/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/README.txt"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/ping.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_netreg_mass/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/amarisoftenb-rftype@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/fail_raise.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-meas-event@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx-lms.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/resources.conf.virtual"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/iperf3.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/scenarios/oc2g.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-txmode@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/4g/ping.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-dynts-osmo.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/paths.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/srsue-rftype@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_netreg/register.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-dynts-ipa.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/debug/interactive.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/ussd/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-amarisoft-license@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/voice/mo_mt_call_osmux.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/nanobts.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-ts-tchf.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-args@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/pass.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/band-900.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx-b200.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-ts-tchf.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/voice/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-fr3.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-epc-qci@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-egprs.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/smpp/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/defaults.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/voice/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-iperf3-time@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/voice/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-iperf3-time@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cipher-a51.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-dynts67-ipa-compat-nanobts.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-dynts67-osmo.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/resources.conf.prod"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/oc2g.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/error.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-dynts67-ipa.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-modem-args@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-fr2.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-srs-enable-pcap.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/scenarios/trx.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/srsue-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/paths.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx-umtrx.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/sysmo.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/README.txt"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/srsenb-rftype@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/voice/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-fr-any.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_netreg/register.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cipher-a50.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-chanallocdescend.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-fr2.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/error.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/debug/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-hr3.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-dynts67-ipa.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/srsenb-rftype@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-srsue-ncarriers@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/README.txt"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_debug/pass.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/resources.conf.virtual"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/resources.conf.rnd"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-trxdversion0.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/iperf3.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/sms/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/resources.conf.rnd"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/jenkins-run.sh"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/default-suites.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-enb-txmode@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-srs-enable-pcap.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx-sysmocell5000.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "delete",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/voice/mo_mt_call_osmux.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-fr1.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-ncells@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-bts0-numtrx2.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/band-1800.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-codec-fr3.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx-lms.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/scenarios/oc2g.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/octphy.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/nanobts.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/suites/ttcn3_bts_tests/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/scenarios/sysmo.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-enb-args@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/octphy.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-fr-any.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/band-1900.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/smpp/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/register_a5_3_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-enb-ncells@.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/register_a5_3_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "example/paths.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/trx-sysmocell5000.conf"
          },
          {
            "editType" : "delete",
            "file" : "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/trx-umtrx.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-hr3.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/gprs/cs_paging_gprs_active.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/nitb_netreg_mass/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/nitb_debug/fail_raise.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/band-1800.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/gprs/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-enb-nprb@.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/mod-bts0-ts-tchh.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/encryption/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "delete",
            "file" : "example/suites/encryption/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/examples/4g_srsLTE/scenarios/cfg-epc-qci@.conf",
          "doc/examples/4g_srsLTE/scenarios/mod-enb-txmode@.conf",
          "doc/examples/4g_srsLTE/defaults.conf",
          "doc/examples/4g_srsLTE/README.txt",
          "doc/examples/4g_srsLTE/scenarios/mod-modem-args@.conf",
          "doc/examples/2g_osmocom/resources.conf",
          "doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers@.conf",
          "doc/examples/4g_srsLTE/default-suites.conf",
          "doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf",
          "doc/examples/4g_srsLTE/scenarios/cfg-epc-type@.conf",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time@.conf",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py",
          "doc/examples/4g_srsLTE/paths.conf",
          "doc/examples/4g_srsLTE/resources.conf",
          "doc/examples/2g_osmocom/default-suites.conf",
          "doc/examples/4g_srsLTE/suites/4g/suite.conf",
          "doc/examples/4g_srsLTE/scenarios/srsenb-rftype@.conf",
          "doc/examples/4g_srsLTE/scenarios/mod-enb-nprb@.conf",
          "doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim@.conf",
          "doc/examples/2g_osmocom/README.txt",
          "doc/examples/4g_srsLTE/scenarios/mod-enb-args@.conf",
          "doc/examples/4g_srsLTE/scenarios/srsue-rftype@.conf",
          "doc/examples/2g_osmocom/paths.conf",
          "doc/examples/2g_osmocom/suites/sms/suite.conf",
          "doc/examples/4g_srsLTE/scenarios/mod-enb-ncells@.conf",
          "doc/examples/2g_osmocom/defaults.conf",
          "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py",
          "doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event@.conf",
          "doc/examples/4g_srsLTE/suites/4g/ping.py",
          "doc/examples/2g_osmocom/scenarios/trx-b200.conf"
        ],
        "commitId" : "f9d92f78e6beaa8ba464cde9a5c622e4d15b2e26",
        "timestamp" : 1586538014000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce doc/examples/ directory\u000a\u000aIt contains simple usual setups to get started with osmo-gsm-tester,\u000asuch as creating a 4G network using srsLTE or a 2G network using the\u000aosmocom stack (+ ofono modems).\u000a\u000aChange-Id: I55d5b1152da201799af21a77ef6c562f97bd94fc\u000a",
        "date" : "2020-04-10 19:00:14 +0200",
        "id" : "f9d92f78e6beaa8ba464cde9a5c622e4d15b2e26",
        "msg" : "Introduce doc/examples/ directory",
        "paths" : [
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-enb-ncells@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/defaults.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/resources.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-enb-meas-event@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-enb-nprb@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/suites/4g/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/README.txt"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/resources.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/srsue-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/cfg-iperf3-time@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-modem-args@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-enb-txmode@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/README.txt"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-srsue-ncarriers@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/cfg-srs-enable-pcap.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/suites/4g/ping.py"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/cfg-epc-type@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/suites/sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/srsenb-rftype@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/cfg-epc-qci@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-srsue-airplane_mode_sim@.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/scenarios/trx-b200.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/defaults.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/scenarios/mod-enb-args@.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/amarisoft_enb.py",
          "src/osmo_gsm_tester/enb_amarisoft.py",
          "src/osmo_gsm_tester/osmo_bsc.py",
          "src/osmo_gsm_tester/srs_enb.py",
          "src/osmo_gsm_tester/amarisoft_epc.py",
          "src/osmo_gsm_tester/osmo_nitb.py",
          "src/osmo_gsm_tester/ggsn_osmo.py",
          "src/osmo_gsm_tester/msc_osmo.py",
          "src/osmo_gsm_tester/osmo_sgsn.py",
          "src/osmo_gsm_tester/mgw_osmo.py",
          "src/osmo_gsm_tester/epc_amarisoft.py",
          "src/osmo_gsm_tester/srs_epc.py",
          "src/osmo_gsm_tester/osmo_ggsn.py",
          "src/osmo_gsm_tester/enb_srs.py",
          "src/osmo_gsm_tester/osmo_stp.py",
          "src/osmo_gsm_tester/ms_srs.py",
          "src/osmo_gsm_tester/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/osmo_mgcpgw.py",
          "src/osmo_gsm_tester/stp_osmo.py",
          "src/osmo_gsm_tester/epc_srs.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/sgsn_osmo.py",
          "src/osmo_gsm_tester/nitb_osmo.py",
          "src/osmo_gsm_tester/bsc_osmo.py",
          "src/osmo_gsm_tester/osmo_hlr.py",
          "src/osmo_gsm_tester/srs_ue.py",
          "src/osmo_gsm_tester/hlr_osmo.py",
          "src/osmo_gsm_tester/ms_amarisoft.py",
          "src/osmo_gsm_tester/amarisoft_ue.py",
          "src/osmo_gsm_tester/osmo_msc.py",
          "src/osmo_gsm_tester/osmo_mgw.py",
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "9b486eedb6914e815468094b1838424c5772a953",
        "timestamp" : 1586540466000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Rename object classes to be {obj_class}_{implementation}\u000a\u000aChange-Id: Ieafd96d7ee5b4baef08ca767629b93834f6a8c7c\u000a",
        "date" : "2020-04-10 19:41:06 +0200",
        "id" : "9b486eedb6914e815468094b1838424c5772a953",
        "msg" : "Rename object classes to be {obj_class}_{implementation}",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/epc_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_sgsn.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/ms_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_hlr.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_nitb.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/mgw_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_bsc.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/bsc_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/amarisoft_ue.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/ms_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/amarisoft_enb.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/srs_enb.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/sgsn_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/amarisoft_epc.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/srs_epc.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_ggsn.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/hlr_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_msc.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/stp_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/nitb_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/epc_srs.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/ggsn_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/srs_ue.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/mgcpgw_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/msc_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/enb_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_stp.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_mgcpgw.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_mgw.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/epc.py",
          "src/osmo_gsm_tester/enb_amarisoft.py",
          "src/osmo_gsm_tester/process.py",
          "src/osmo_gsm_tester/template.py",
          "src/osmo_gsm_tester/event_loop.py",
          "src/osmo_gsm_tester/msc_osmo.py",
          "src/osmo_gsm_tester/util.py",
          "src/osmo_gsm_tester/osmo_ctrl.py",
          "src/osmo_gsm_tester/smsc.py",
          "src/osmo_gsm_tester/ms_driver.py",
          "src/osmo_gsm_tester/epc_amarisoft.py",
          "src/osmo_gsm_tester/powersupply_intellinet.py",
          "src/osmo_gsm_tester/enb_srs.py",
          "src/osmo_ms_driver/__main__.py",
          "src/osmo_gsm_tester/core/remote.py",
          "src/osmo_gsm_tester/core/event_loop.py",
          "src/osmo_gsm_tester/iperf3.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/core/util.py",
          "src/osmo_gsm_tester/powersupply.py",
          "src/osmo_gsm_tester/core/template.py",
          "src/osmo_gsm_tester/pcu_oc2g.py",
          "selftest/process_test.py",
          "src/osmo_gsm_tester/core/process.py",
          "src/osmo_gsm_tester/stp_osmo.py",
          "selftest/template_test.py",
          "src/osmo_gsm_tester/run_node.py",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/sgsn_osmo.py",
          "src/osmo_gsm_tester/core/schema.py",
          "src/osmo_gsm_tester/nitb_osmo.py",
          "src/osmo_gsm_tester/test.py",
          "src/osmo_gsm_tester/schema.py",
          "src/osmo_ms_driver/simple_loop.py",
          "selftest/log_test.py",
          "src/osmo_gsm_tester/ms_amarisoft.py",
          "src/osmo_ms_driver/event_server.py",
          "src/osmo_gsm_tester/config.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/bts.py",
          "src/osmo_gsm_tester/log.py",
          "src/osmo_gsm_tester/trial.py",
          "src/osmo_gsm_tester/core/config.py",
          "src/osmo_gsm_tester/enb.py",
          "src/osmo_gsm_tester/ggsn_osmo.py",
          "src/osmo_gsm_tester/mgw_osmo.py",
          "selftest/config_test.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/powersupply_sispm.py",
          "selftest/trial_test.py",
          "selftest/_prep.py",
          "src/osmo_ms_driver/starter.py",
          "src/osmo_gsm_tester/ms_srs.py",
          "src/osmo_gsm_tester/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/pcap_recorder.py",
          "src/osmo_gsm_tester/bts_oc2g.py",
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/remote.py",
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/ms.py",
          "src/osmo_gsm_tester/epc_srs.py",
          "selftest/resource_test.py",
          "selftest/suite_test.py",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/bsc_osmo.py",
          "selftest/lock_test_help.py",
          "src/osmo_gsm_tester/core/__init__.py",
          "src/osmo_gsm_tester/core/log.py",
          "src/osmo-gsm-tester.py",
          "src/osmo_gsm_tester/bts_osmovirtual.py",
          "selftest/util_test.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/osmocon.py",
          "src/osmo_gsm_tester/hlr_osmo.py",
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_ms_driver/test_support.py",
          "src/osmo_gsm_tester/esme.py",
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "e8bbcbf5b8f3fd456b17595fd6ea22ce031b5427",
        "timestamp" : 1586625353000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Create core directory to contain most of code not in object classes used by tests\u000a\u000aChange-Id: I9aec6c55ccd71894182057d36e0025b69925d314\u000a",
        "date" : "2020-04-11 19:15:53 +0200",
        "id" : "e8bbcbf5b8f3fd456b17595fd6ea22ce031b5427",
        "msg" : "Create core directory to contain most of code not in object classes used by tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/log_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/sgsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/stp_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/test_support.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/process_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/lock_test_help.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/util.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/__init__.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/remote.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply_intellinet.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/enb_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmovirtual.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/epc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/msc_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/config.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/template.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/config_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/nitb_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/log.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ggsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/simple_loop.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/remote.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/util.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmocon.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/template.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/util_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/_prep.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_ctrl.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/event_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/mgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bsc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcap_recorder.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/event_server.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/mgcpgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply_sispm.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/hlr_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/run_node.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/smsc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/log.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_oc2g.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/epc.py",
          "src/osmo_gsm_tester/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/osmo_ctrl.py",
          "src/osmo_gsm_tester/obj/bts_osmo.py",
          "src/osmo_gsm_tester/obj/bts_osmovirtual.py",
          "src/osmo_gsm_tester/obj/pcap_recorder.py",
          "src/osmo_gsm_tester/msc_osmo.py",
          "src/osmo_gsm_tester/osmo_ctrl.py",
          "src/osmo_gsm_tester/obj/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/smsc.py",
          "src/osmo_gsm_tester/ms_driver.py",
          "src/osmo_gsm_tester/epc_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_driver.py",
          "src/osmo_gsm_tester/powersupply_intellinet.py",
          "src/osmo_gsm_tester/enb_srs.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "src/osmo_gsm_tester/iperf3.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/obj/osmocon.py",
          "src/osmo_gsm_tester/powersupply.py",
          "src/osmo_gsm_tester/obj/mgw_osmo.py",
          "src/osmo_gsm_tester/obj/sms.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "src/osmo_gsm_tester/obj/bts_octphy.py",
          "src/osmo_gsm_tester/pcu_oc2g.py",
          "src/osmo_gsm_tester/obj/pcu_sysmo.py",
          "src/osmo_gsm_tester/obj/bts_sysmo.py",
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/stp_osmo.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/sgsn_osmo.py",
          "src/osmo_gsm_tester/run_node.py",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/powersupply.py",
          "src/osmo_gsm_tester/obj/smsc.py",
          "src/osmo_gsm_tester/sgsn_osmo.py",
          "src/osmo_gsm_tester/nitb_osmo.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/obj/bts_nanobts.py",
          "src/osmo_gsm_tester/test.py",
          "src/osmo_gsm_tester/obj/ms.py",
          "src/osmo_gsm_tester/obj/bts.py",
          "src/osmo_gsm_tester/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "selftest/sms_test.py",
          "src/osmo_gsm_tester/bts.py",
          "src/osmo_gsm_tester/obj/ms_osmo_mobile.py",
          "src/osmo_gsm_tester/obj/modem.py",
          "src/osmo_gsm_tester/obj/ggsn_osmo.py",
          "src/osmo_gsm_tester/obj/epc.py",
          "src/osmo_gsm_tester/enb.py",
          "src/osmo_gsm_tester/ggsn_osmo.py",
          "src/osmo_gsm_tester/mgw_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_oc2g.py",
          "src/osmo_gsm_tester/ms_osmo_mobile.py",
          "src/osmo_gsm_tester/obj/hlr_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_osmo.py",
          "src/osmo_gsm_tester/obj/msc_osmo.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/powersupply_sispm.py",
          "src/osmo_gsm_tester/ms_srs.py",
          "src/osmo_gsm_tester/obj/powersupply_sispm.py",
          "src/osmo_gsm_tester/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/pcap_recorder.py",
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/bts_oc2g.py",
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/obj/pcu.py",
          "src/osmo_gsm_tester/obj/stp_osmo.py",
          "src/osmo_gsm_tester/obj/run_node.py",
          "src/osmo_gsm_tester/sms.py",
          "src/osmo_gsm_tester/obj/bsc_osmo.py",
          "src/osmo_gsm_tester/epc_srs.py",
          "src/osmo_gsm_tester/ms.py",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/bsc_osmo.py",
          "src/osmo_gsm_tester/obj/powersupply_intellinet.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/bts_osmovirtual.py",
          "src/osmo_gsm_tester/obj/nitb_osmo.py",
          "src/osmo_gsm_tester/osmocon.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/hlr_osmo.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/esme.py",
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_gsm_tester/esme.py",
          "src/osmo_gsm_tester/obj/bts_oc2g.py",
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "e1a58bd8ddaa4afb1f6de80d165f4561cb44de60",
        "timestamp" : 1586625356000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move object classes used by tests into obj/ subdir\u000a\u000aChange-Id: I0b2963cf00acd1f9036dca2e87aa3b87a0f8066d\u000a",
        "date" : "2020-04-11 19:15:56 +0200",
        "id" : "e1a58bd8ddaa4afb1f6de80d165f4561cb44de60",
        "msg" : "Move object classes used by tests into obj/ subdir",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/run_node.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/mgw_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/pcu.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/modem.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_osmovirtual.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/nitb_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_osmovirtual.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/smsc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/nitb_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bsc_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/msc_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/epc_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/pcap_recorder.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ms_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/stp_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ggsn_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/sgsn_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmocon.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_sysmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/pcap_recorder.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ms_osmo_mobile.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/sms.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_nanobts.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/powersupply_sispm.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/epc_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/mgw_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/osmo_ctrl.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/pcu_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/enb_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/mgcpgw_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/enb_amarisoft.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/stp_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ms.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/sms.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/pcu_sysmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/run_node.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/powersupply.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/osmo_ctrl.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/pcu_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bsc_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_oc2g.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/smsc.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/msc_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms_driver.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ggsn_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/epc.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/enb.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/mgcpgw_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/powersupply_sispm.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/sgsn_osmo.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/powersupply.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/powersupply_intellinet.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_oc2g.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/powersupply_intellinet.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/esme.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/bts_octphy.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/pcu_oc2g.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms_osmo_mobile.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/sms_test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/hlr_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/osmocon.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/hlr_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/modem.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py"
        ],
        "commitId" : "0dbd6945017a26b710ec1a5ddb5b993414a6a61d",
        "timestamp" : 1586625356000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Rename modem.py to ms_ofono.py\u000a\u000aChange-Id: I050970986b0b3fbc23b756c5b7c524cb8b7c1327\u000a",
        "date" : "2020-04-11 19:15:56 +0200",
        "id" : "0dbd6945017a26b710ec1a5ddb5b993414a6a61d",
        "msg" : "Rename modem.py to ms_ofono.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/obj/modem.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "fdd8e3aad20df1cc94fbc8f69a79cb48df9e55d5",
        "timestamp" : 1586861423000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Avoid using --logfile arg\u000a\u000aSome older iperf3 versions don't support the --logfile arg. Let's\u000ainstead parse the json from stdout. Old --logfile behavior is left in\u000acode but disabled since it's a nicer (less hacky) way to get results,\u000abecause parsing from stdout means we need to avoid reading some content.\u000a\u000aChange-Id: Ia1b7fa4dae074089878963aeddf0006aea68e31f\u000a",
        "date" : "2020-04-14 12:50:23 +0200",
        "id" : "fdd8e3aad20df1cc94fbc8f69a79cb48df9e55d5",
        "msg" : "iperf3: Avoid using --logfile arg",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "e4d5a139e3cab2df6942cfa8f34372ae5e0a955f",
        "timestamp" : 1586895786000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: fix enb conf template name\u000a\u000aissue has been introduced during refactor of enb class names\u000a\u000aChange-Id: Ib3ad6451c3979440be28d8811f51ce5d1c103518\u000a",
        "date" : "2020-04-14 22:23:06 +0200",
        "id" : "e4d5a139e3cab2df6942cfa8f34372ae5e0a955f",
        "msg" : "enb_amarisoft: fix enb conf template name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "135c609d295a3d2217d4275c8682d73905fffb2e",
        "timestamp" : 1587037477000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_srs.py: Pass filenames to main cfg file template instead of cmdline args\u000a\u000aChange-Id: Ifec6a8a9c29b94634f6ac7ea50aae9b8e18ae3cb\u000a",
        "date" : "2020-04-16 13:44:37 +0200",
        "id" : "135c609d295a3d2217d4275c8682d73905fffb2e",
        "msg" : "enb_srs.py: Pass filenames to main cfg file template instead of cmdline args",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsepc.conf.tmpl",
          "src/osmo_gsm_tester/obj/epc_srs.py"
        ],
        "commitId" : "3373703a72232f040c27e53fe5f395780e846120",
        "timestamp" : 1587038397000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "epc_srs.py: Pass filenames to main cfg file template instead of cmdline args\u000a\u000aChange-Id: I1ac3a3cace7ec2b0f85c5d9a5f97d5007d7c65ac\u000a",
        "date" : "2020-04-16 13:59:57 +0200",
        "id" : "3373703a72232f040c27e53fe5f395780e846120",
        "msg" : "epc_srs.py: Pass filenames to main cfg file template instead of cmdline args",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsepc.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "0e6ab424a49a6c3c061e0bbee3dd40da9d0129b3",
        "timestamp" : 1587044491000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs.py: Pass filenames to main cfg file template instead of cmdline args\u000a\u000aChange-Id: Id2a6ba17d087d2ff67fe10b1dae6434259e74366\u000a",
        "date" : "2020-04-16 15:41:31 +0200",
        "id" : "0e6ab424a49a6c3c061e0bbee3dd40da9d0129b3",
        "msg" : "ms_srs.py: Pass filenames to main cfg file template instead of cmdline args",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "4b5a09a83c54ceb0f8a044ce4f0256b03a5a6138",
        "timestamp" : 1587067389000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: add optional gtp_bind_addr paramter to enb class\u000a\u000athis allows to optionally specify a the GTP bind_address for a enb object\u000ain the resources.conf\u000a\u000athis address is then used for binding the listening socket for gtp connections\u000awhich, in turn, allows to run the enb and epc on the same host.\u000a\u000awhen gtp_bind_addr is not specified, addr is used by default\u000a\u000athis is especially useful if eNB and EPC run on the same host\u000aand ZMQ is used for RF between eNB and UE. Two eNB addresses\u000aare needed in this case, one bind address and one \"remote-accessable\"\u000aaddress for the UEs ZMQ radio to connect to\u000a\u000aChange-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37\u000a",
        "date" : "2020-04-16 22:03:09 +0200",
        "id" : "4b5a09a83c54ceb0f8a044ce4f0256b03a5a6138",
        "msg" : "enb: add optional gtp_bind_addr paramter to enb class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/powersupply.py"
        ],
        "commitId" : "2b959580b9affe729e966c506656b7f47926c4bf",
        "timestamp" : 1587135197000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "powersupply: Import sublcass module only if used\u000a\u000aThis way we avoid unconditionally importing all subclass dependencies,\u000aand make them optional based on whether the setup has devices of that\u000atype or not.\u000a\u000aChange-Id: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1\u000a",
        "date" : "2020-04-17 16:53:17 +0200",
        "id" : "2b959580b9affe729e966c506656b7f47926c4bf",
        "msg" : "powersupply: Import sublcass module only if used",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/powersupply.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "check_dependencies.py",
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "045245d5aee511461756aa90c6928c116ca2e2e0",
        "timestamp" : 1587145464000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "check_dependencies: Import modules dynamically and find related debian packages\u000a\u000aThis way we don't need to manually add new imports here or drop unusued\u000aones. It also makes sure local imports in all our py files is correct.\u000aFor instance, running the script already caught an issue which is added\u000ato this patch (osmo_ms_driver/__main__.py).\u000a\u000aThis new version of the script also allows specifying subsets of\u000afeatures to skip when checking for dependencies. This way, for instance\u000asomebody not willing to use a sispm powersupply can stil check all the\u000aneeded dependencies are fine.\u000a\u000aThis new tool will make it easier to slowly make some dependencies only\u000aused by some object test classes optional (for instance, python-smpplib\u000aif user doesn't want to run an ESME node).\u000a\u000aIt also allows to retrieve the required debian/manually installed\u000apackages when run with \"-p\" option:\u000a\"\"\"\u000aDebian packages:\u000a        libpython3.5-minimal:amd64\u000a        python3-gi\u000a        python3-six\u000a        libpython3.5-stdlib:amd64\u000a        python3-pygments\u000a        python3-yaml\u000a        python3-mako\u000a        python3-numpy\u000a        python3-markupsafe\u000a\u000aModules without debian package (pip or setuptools?):\u000a        usb                  [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/usb/_interop.py]\u000a        pydbus               [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/pydbus/proxy.py]\u000a        smpplib              [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/smpplib/command_codes.py]\u000a        sispm                [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/sispm/__init__.py]\u000a\"\"\"\u000a\u000aChange-Id: I29ddf8971837754abd930d847bd1036e8e510de6\u000a",
        "date" : "2020-04-17 19:44:24 +0200",
        "id" : "045245d5aee511461756aa90c6928c116ca2e2e0",
        "msg" : "check_dependencies: Import modules dynamically and find related debian packages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "check_dependencies.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "sysmocom/defaults.conf"
        ],
        "commitId" : "f46ae22b3dd7c9a4147ccc70ad66dbef2a8b8c14",
        "timestamp" : 1587146908000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: Add cell_list attribute\u000a\u000aIt allows configuring each cell_list up to a maximum of 'num_cells'.\u000a\u000aChange-Id: I4fd30a3e37789b76bfaddc2beba1815154daab7f\u000a",
        "date" : "2020-04-17 20:08:28 +0200",
        "id" : "f46ae22b3dd7c9a4147ccc70ad66dbef2a8b8c14",
        "msg" : "enb: Add cell_list attribute",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/powersupply.py"
        ],
        "commitId" : "a65b505adc782533122589abab2c63538f98dd49",
        "timestamp" : 1587315403000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "powersupply.py: Fix import module line typo\u000a\u000aRecent commit changed the import line so it runs only when required, but\u000aadded a typo making tests uing it fail.\u000a\u000aChange-Id: Id3e5c16adc763a9b79cc464937c541abd15f98de\u000aFixes: 2b959580b9affe729e966c506656b7f47926c4bf\u000a",
        "date" : "2020-04-19 18:56:43 +0200",
        "id" : "a65b505adc782533122589abab2c63538f98dd49",
        "msg" : "powersupply.py: Fix import module line typo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/powersupply.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "ca89bb3924908ec28b7ee75095a7282409865f07",
        "timestamp" : 1587377813000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srsenb_rr.conf.tmpl: Fix whitespace\u000a\u000aChange-Id: Ic2b4d8e2468984b096a870c878fa5d032ea4130f\u000a",
        "date" : "2020-04-20 12:16:53 +0200",
        "id" : "ca89bb3924908ec28b7ee75095a7282409865f07",
        "msg" : "srsenb_rr.conf.tmpl: Fix whitespace",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/rfemu.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py",
          "src/osmo_gsm_tester/obj/rfemu_minicircuits.py"
        ],
        "commitId" : "d4404d54c05a2c78e9b8d2fc491e668bdc4fa6c7",
        "timestamp" : 1587382227000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: Implement initial RF emulation API\u000a\u000aTwo implementations are provided:\u000a* Amarisoft Ctrl interface (websocket)\u000a* Mini-Circuits Programmable Attenuator (HW, HTTP API) [1]\u000a\u000ain Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl\u000ainterface one is used by default, while still being possible to use the\u000aHW one.\u000a\u000a[1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf\u000a\u000aChange-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32\u000a",
        "date" : "2020-04-20 13:30:27 +0200",
        "id" : "d4404d54c05a2c78e9b8d2fc491e668bdc4fa6c7",
        "msg" : "enb: Implement initial RF emulation API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/rfemu.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/rfemu_minicircuits.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "sysmocom/defaults.conf"
        ],
        "commitId" : "491f77cd0f537f7a07ed8c23b84c2c7e2405a1cb",
        "timestamp" : 1587391857000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: Add attribute to set 'id'\u000a\u000aChange-Id: I8ce296c7875d557062dc13e7093ce0400050f2ce\u000a",
        "date" : "2020-04-20 16:10:57 +0200",
        "id" : "491f77cd0f537f7a07ed8c23b84c2c7e2405a1cb",
        "msg" : "enb: Add attribute to set 'id'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "a6d6304afccbd37462acf9ad8207d6ac29f25da9",
        "timestamp" : 1587391857000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes\u000a\u000aChange-Id: I4228ba8746a54db4c17443718c01069d431361b9\u000a",
        "date" : "2020-04-20 16:10:57 +0200",
        "id" : "a6d6304afccbd37462acf9ad8207d6ac29f25da9",
        "msg" : "srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/defaults.conf"
        ],
        "commitId" : "9eff96e0682781a396ded323b868aebeb454b6c9",
        "timestamp" : 1587398640000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "AmarisoftUE: Fix setting tx/rx gain attr\u000a\u000aFixes: a6d6304afccbd37462acf9ad8207d6ac29f25da9\u000aChange-Id: I344313863390a00604045dcc18e552aa789b282f\u000a",
        "date" : "2020-04-20 18:04:00 +0200",
        "id" : "9eff96e0682781a396ded323b868aebeb454b6c9",
        "msg" : "AmarisoftUE: Fix setting tx/rx gain attr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "154dc932192a89ff40c115f02ddce29b7426badc",
        "timestamp" : 1587399671000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "AmarisoftENB: Support setting PCI value\u000a\u000aChange-Id: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef\u000a",
        "date" : "2020-04-20 18:21:11 +0200",
        "id" : "154dc932192a89ff40c115f02ddce29b7426badc",
        "msg" : "AmarisoftENB: Support setting PCI value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "6c77874f4643476dc070170d291f5591a916255e",
        "timestamp" : 1587399671000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: Introduce support for neighbour cell list\u000a\u000aChange-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06\u000a",
        "date" : "2020-04-20 18:21:11 +0200",
        "id" : "6c77874f4643476dc070170d291f5591a916255e",
        "msg" : "enb: Introduce support for neighbour cell list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "96d64efdbb926b281bcaffadfb4b18bbf4133e39",
        "timestamp" : 1587399671000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srsenb: Support neighbour and secondary cell lists in config file\u000a\u000aChange-Id: I8fe0703b7d9db69658c112066404d2da1c3d1e09\u000a",
        "date" : "2020-04-20 18:21:11 +0200",
        "id" : "96d64efdbb926b281bcaffadfb4b18bbf4133e39",
        "msg" : "srsenb: Support neighbour and secondary cell lists in config file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "d6c792536f8248bb93ecd7466892d877202bd595",
        "timestamp" : 1587399671000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoftENB: Fix running with num_cells=2\u000a\u000aThe B200 device being used in the physical setup doesn't support several\u000aRF ports, so let's hardcode it to 0 for now.\u000a\u000aChange-Id: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c\u000a",
        "date" : "2020-04-20 18:21:11 +0200",
        "id" : "d6c792536f8248bb93ecd7466892d877202bd595",
        "msg" : "amarisoftENB: Fix running with num_cells=2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-amarisoft.sh"
        ],
        "commitId" : "6360dfb4d6e01188a8b757427c4fb3c35f2d0057",
        "timestamp" : 1587407781000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "jenkins-build-amarisoft: turn off other RF libs when building for zmq driver\u000a\u000aChange-Id: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5\u000a",
        "date" : "2020-04-20 20:36:21 +0200",
        "id" : "6360dfb4d6e01188a8b757427c4fb3c35f2d0057",
        "msg" : "jenkins-build-amarisoft: turn off other RF libs when building for zmq driver",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-amarisoft.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "8e1ba792c5047301fe811e05d244b0f87d0111c2",
        "timestamp" : 1587407781000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "jenkins-build-common.sh: also pass additional build flags to CMake\u000a\u000aChange-Id: I1c5998d31201505d0a2532f22f905ec155d6c094\u000a",
        "date" : "2020-04-20 20:36:21 +0200",
        "id" : "8e1ba792c5047301fe811e05d244b0f87d0111c2",
        "msg" : "jenkins-build-common.sh: also pass additional build flags to CMake",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "bf40f8c8bf33211c2b6b508a8d986fe1a58c5f64",
        "timestamp" : 1587474351000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb: use two antenna ports for TM > 1\u000a\u000aChange-Id: Ia241f96341780760d482d389097659b0f7b897e8\u000a",
        "date" : "2020-04-21 15:05:51 +0200",
        "id" : "bf40f8c8bf33211c2b6b508a8d986fe1a58c5f64",
        "msg" : "amarisoft_enb: use two antenna ports for TM > 1",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "e2a6da6b48198e4f3be30b9f5fb562e3909d60ed",
        "timestamp" : 1587474351000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: refactored rf_args handling for ZMQ-based radio\u000a\u000athis patch moves the rf_dev_args creation for both eNB types\u000ainto the eNB base class, since they are identical.\u000a\u000athe patch also fixes the arguments for all CA and MIMO configurations\u000a\u000aChange-Id: I8ca3ed83e65dc07927385267e5970bc4f5b120d5\u000a",
        "date" : "2020-04-21 15:05:51 +0200",
        "id" : "e2a6da6b48198e4f3be30b9f5fb562e3909d60ed",
        "msg" : "enb: refactored rf_args handling for ZMQ-based radio",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "333b868492f4d6155a59c81996a53f39b5269a5a",
        "timestamp" : 1587474351000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: fix ZMQ radio arguments for CA and MIMO configs\u000a\u000asimilar to the eNB patches this fixes the CA and MIMO radio\u000aparameters. In pricinple this could also be reused for the\u000aAmarisoftUE but since we currently don't have a means to test\u000ait I left it for a future commit.\u000a\u000aChange-Id: I16b00009f97d61a9ab4715e5d727024661d3d0be\u000a",
        "date" : "2020-04-21 15:05:51 +0200",
        "id" : "333b868492f4d6155a59c81996a53f39b5269a5a",
        "msg" : "ms_srs: fix ZMQ radio arguments for CA and MIMO configs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "96b17df282234f02972c6e4dbd02134f89767400",
        "timestamp" : 1587474351000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling\u000a\u000athis fixes an issues when allocating CQI resources for multiple carriers\u000aor multiple users\u000a\u000aChange-Id: I8b9345502003da2f5b6841a98b77375656e84d8c\u000a",
        "date" : "2020-04-21 15:05:51 +0200",
        "id" : "96b17df282234f02972c6e4dbd02134f89767400",
        "msg" : "srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/epc.py",
          "src/osmo_gsm_tester/core/config.py",
          "src/osmo_gsm_tester/obj/bts_osmo.py",
          "selftest/config_test.py",
          "src/osmo_gsm_tester/obj/msc_osmo.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "src/osmo_gsm_tester/obj/osmocon.py",
          "src/osmo_gsm_tester/core/util.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/run_node.py",
          "src/osmo_gsm_tester/obj/bsc_osmo.py",
          "selftest/resource_test.py",
          "selftest/suite_test.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/core/schema.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/obj/ms.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/bts.py",
          "src/osmo-gsm-tester.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "ea8c3d4b1235ef703e54cd963bc96f6716168387",
        "timestamp" : 1588602993000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Generate schemas dynamically from pieces provided by each object class\u000a\u000aThis way we benefit from:\u000a* knowing which attributes are used/required by each object class and\u000a  subclass\u000a* Having validation function definitions near the class going to use them\u000a\u000aChange-Id: I8fd6773c51d19405a585977af4ed72cad2b21db1\u000a",
        "date" : "2020-05-04 16:36:33 +0200",
        "id" : "ea8c3d4b1235ef703e54cd963bc96f6716168387",
        "msg" : "Generate schemas dynamically from pieces provided by each object class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/msc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/util.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bsc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/osmocon.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/config_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/run_node.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/obj/bts.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/obj/epc.py",
          "src/osmo_gsm_tester/obj/ms.py"
        ],
        "commitId" : "1ee5ec5db262f1d67616a71a1fd6e41f3c6d1f0d",
        "timestamp" : 1588605773000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move object subclass instance allocation logic out of suite.py/resource.py\u000a\u000aThis way we get rid of object related content in resource.py and we can\u000afinally move it to core/ in next commit.\u000a\u000aChange-Id: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4\u000a",
        "date" : "2020-05-04 17:22:53 +0200",
        "id" : "1ee5ec5db262f1d67616a71a1fd6e41f3c6d1f0d",
        "msg" : "Move object subclass instance allocation logic out of suite.py/resource.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/resource.py",
          "selftest/resource_test.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/test.py"
        ],
        "commitId" : "06cb536826cfceecad93c8631077d38c4164a138",
        "timestamp" : 1588612327000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move resource.py to core/\u000a\u000aChange-Id: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901\u000a",
        "date" : "2020-05-04 19:12:07 +0200",
        "id" : "06cb536826cfceecad93c8631077d38c4164a138",
        "msg" : "Move resource.py to core/",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/trial.py",
          "src/osmo_gsm_tester/report.py",
          "src/osmo_gsm_tester/core/report.py",
          "selftest/suite_test.py",
          "src/osmo_gsm_tester/core/test.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/test.py"
        ],
        "commitId" : "ee217b0a18d2de6bb5c197329adec1cb11764560",
        "timestamp" : 1588612996000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move test.py and report.py to core/\u000a\u000aChange-Id: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544\u000a",
        "date" : "2020-05-04 19:23:16 +0200",
        "id" : "ee217b0a18d2de6bb5c197329adec1cb11764560",
        "msg" : "Move test.py and report.py to core/",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/report.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/report.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/trial.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/trial.py",
          "src/osmo_gsm_tester/testenv.py",
          "selftest/suite_test/test_suite/hello_world.py",
          "src/osmo_gsm_tester/core/test.py",
          "selftest/suite_test/test_suite/test_fail.py",
          "src/osmo_gsm_tester/suite.py",
          "selftest/suite_test/test_suite/test_error.py"
        ],
        "commitId" : "aa1cbdc75a2898f176bfce03e710b0587e6093f5",
        "timestamp" : 1588673950000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move all obj/ references in suite.py to testenv.py\u000a\u000aChange-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e\u000a",
        "date" : "2020-05-05 12:19:10 +0200",
        "id" : "aa1cbdc75a2898f176bfce03e710b0587e6093f5",
        "msg" : "Move all obj/ references in suite.py to testenv.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/hello_world.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/test_fail.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/test_error.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/trial.py",
          "src/osmo_gsm_tester/core/suite.py",
          "src/osmo-gsm-tester.py",
          "selftest/trial_test.py",
          "selftest/suite_test.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/core/trial.py"
        ],
        "commitId" : "f574a46b37adf079cfcab35691c218ca7b9ab7cc",
        "timestamp" : 1588674217000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move trial.py and suite.py to core/\u000a\u000aChange-Id: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b\u000a",
        "date" : "2020-05-05 12:23:37 +0200",
        "id" : "f574a46b37adf079cfcab35691c218ca7b9ab7cc",
        "msg" : "Move trial.py and suite.py to core/",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ggsn_osmo.py",
          "src/osmo_gsm_tester/obj/epc.py",
          "src/osmo_gsm_tester/obj/bts_osmo.py",
          "src/osmo_gsm_tester/obj/pcap_recorder.py",
          "src/osmo_gsm_tester/obj/bts_osmovirtual.py",
          "src/osmo_gsm_tester/obj/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_oc2g.py",
          "src/osmo_gsm_tester/obj/hlr_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_osmo.py",
          "src/osmo_gsm_tester/obj/msc_osmo.py",
          "src/osmo_gsm_tester/obj/ms_driver.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "src/osmo_ms_driver/starter.py",
          "src/osmo_gsm_tester/obj/osmocon.py",
          "src/osmo_gsm_tester/core/test.py",
          "src/osmo_gsm_tester/obj/mgw_osmo.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "src/osmo_gsm_tester/obj/bts_octphy.py",
          "src/osmo_gsm_tester/obj/pcu_sysmo.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py",
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/obj/bts_sysmo.py",
          "src/osmo_gsm_tester/core/suite.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/sgsn_osmo.py",
          "src/osmo_gsm_tester/obj/pcu.py",
          "src/osmo_gsm_tester/obj/stp_osmo.py",
          "src/osmo_gsm_tester/obj/bsc_osmo.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/obj/bts_nanobts.py",
          "src/osmo_gsm_tester/obj/ms.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/bts.py",
          "src/osmo_gsm_tester/obj/nitb_osmo.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/obj/bts_oc2g.py"
        ],
        "commitId" : "a442cb8e5f4107611e0bb3d8ccebe9ab876fe26c",
        "timestamp" : 1588679761000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Update obj classes in obj/ to use testenv instead of suite_run\u000a\u000aChange-Id: Idf41243a497de7bc507b9f1cd1b38640f456f815\u000a",
        "date" : "2020-05-05 13:56:01 +0200",
        "id" : "a442cb8e5f4107611e0bb3d8ccebe9ab876fe26c",
        "msg" : "Update obj classes in obj/ to use testenv instead of suite_run",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcap_recorder.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/stp_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/mgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/mgcpgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/sgsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ggsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/msc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmovirtual.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/hlr_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/nitb_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bsc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/osmocon.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/gprs/iperf3.py",
          "sysmocom/suites/gprs/ping_idle_ping.py",
          "sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "sysmocom/suites/nitb_netreg/register.py",
          "sysmocom/suites/nitb_netreg_mass/register_default_mass.py",
          "sysmocom/suites/encryption/register_a5_1_authreq.py",
          "sysmocom/suites/encryption/lib/testlib.py",
          "sysmocom/suites/voice/mo_mt_call_osmux.py",
          "sysmocom/suites/gprs/ping.py",
          "sysmocom/suites/nitb_debug/interactive.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py",
          "sysmocom/suites/smpp/esme_ms_sms_transaction.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py",
          "sysmocom/suites/4g/iperf3_dl.py",
          "selftest/suite_test/test_suite/hello_world.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "sysmocom/suites/encryption/register_a5_0_authopt.py",
          "sysmocom/suites/encryption/register_a5_0_authreq.py",
          "sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "src/osmo_gsm_tester/testenv.py",
          "sysmocom/suites/ussd/assert_extension.py",
          "sysmocom/suites/debug/interactive.py",
          "sysmocom/suites/smpp/esme_connect_policy_acceptall.py",
          "sysmocom/suites/sms/mo_mt_sms.py",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py",
          "sysmocom/suites/gprs/lib/testlib.py",
          "sysmocom/suites/voice/lib/testlib.py",
          "sysmocom/suites/nitb_netreg/register_default.py",
          "sysmocom/suites/4g/ping.py",
          "sysmocom/suites/encryption/register_a5_3_authreq.py",
          "sysmocom/suites/nitb_ussd/assert_extension.py",
          "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py",
          "sysmocom/suites/smpp/esme_connect_policy_closed.py",
          "sysmocom/suites/nitb_sms/mo_mt_sms.py",
          "sysmocom/suites/dynts/switch_tch_pdch.py",
          "sysmocom/suites/voice/mo_mt_call.py",
          "doc/examples/4g_srsLTE/suites/4g/ping.py",
          "selftest/suite_test/test_suite/test_fail.py",
          "sysmocom/suites/gprs/iperf3m4.py",
          "sysmocom/suites/gprs/cs_paging_gprs_active.py",
          "selftest/suite_test/test_suite/test_error.py",
          "sysmocom/suites/smpp/esme_ms_sms_storeforward.py"
        ],
        "commitId" : "40c7bc7765e265939c0da6949608be69e8bedd74",
        "timestamp" : 1588679761000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: Replace 'suite' with 'tenv'\u000a\u000aChange-Id: I777ec59ffd83b861ddc09e85e52d7a8896264b8c\u000a",
        "date" : "2020-05-05 13:56:01 +0200",
        "id" : "40c7bc7765e265939c0da6949608be69e8bedd74",
        "msg" : "tests: Replace 'suite' with 'tenv'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/hello_world.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/debug/interactive.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/test_fail.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/voice/mo_mt_call_osmux.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/register_a5_3_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/cs_paging_gprs_active.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg/register.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/voice/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/test_error.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py"
        ],
        "commitId" : "5b9c7b922acf09f49c4ca98fe67e4ea5d9795753",
        "timestamp" : 1588682458000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: deferr importing obj module class until use is required\u000a\u000aChange-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241\u000a",
        "date" : "2020-05-05 14:40:58 +0200",
        "id" : "5b9c7b922acf09f49c4ca98fe67e4ea5d9795753",
        "msg" : "testenv: deferr importing obj module class until use is required",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "check_dependencies.py"
        ],
        "commitId" : "407756968cfa241c31c3cb0b5d8ae443c4c200ba",
        "timestamp" : 1588691620000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "check_dependencies: allow passing any module name to skip\u000a\u000aChange-Id: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8\u000a",
        "date" : "2020-05-05 17:13:40 +0200",
        "id" : "407756968cfa241c31c3cb0b5d8ae443c4c200ba",
        "msg" : "check_dependencies: allow passing any module name to skip",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "check_dependencies.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "cc89cd0c5f58eea0bdc13c7b454f0fb94ee0a482",
        "timestamp" : 1588693767000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: import numpy module on first use\u000a\u000aChange-Id: I2ce974954028bdbc7bc1561c4538b909edee2cb1\u000a",
        "date" : "2020-05-05 17:49:27 +0200",
        "id" : "cc89cd0c5f58eea0bdc13c7b454f0fb94ee0a482",
        "msg" : "ms_srs: import numpy module on first use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/esme.py"
        ],
        "commitId" : "45149393e7719d08964a422b1f3a46ac6e8f19e9",
        "timestamp" : 1588695718000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "esme: import smpplib module on first use\u000a\u000aChange-Id: Icc92937fdada9210f788805dbc42b80014e345e8\u000a",
        "date" : "2020-05-05 18:21:58 +0200",
        "id" : "45149393e7719d08964a422b1f3a46ac6e8f19e9",
        "msg" : "esme: import smpplib module on first use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/esme.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_ofono.py"
        ],
        "commitId" : "a1daa51665e1fc1d52fadb068ddba8d71c31783d",
        "timestamp" : 1588695991000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_ofono: import pydbus and GLib modules on first use\u000a\u000aChange-Id: I754e1290eb5593c0ef168f74747f42db1b50f16c\u000a",
        "date" : "2020-05-05 18:26:31 +0200",
        "id" : "a1daa51665e1fc1d52fadb068ddba8d71c31783d",
        "msg" : "ms_ofono: import pydbus and GLib modules on first use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/powersupply_sispm.py"
        ],
        "commitId" : "326091555b28bc3777c3eb42e31e1f25a9deaf4b",
        "timestamp" : 1588695991000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "powersupply_sispm: import sispm and usb modules on first use\u000a\u000aChange-Id: I6045bb739e5c69972014a9d27be3a24b7ad61c9a\u000a",
        "date" : "2020-05-05 18:26:31 +0200",
        "id" : "326091555b28bc3777c3eb42e31e1f25a9deaf4b",
        "msg" : "powersupply_sispm: import sispm and usb modules on first use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/powersupply_sispm.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
        ],
        "commitId" : "a8b8990bb844c91a0474422b953605fa817f98c3",
        "timestamp" : 1588695991000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "rfemu_amarisoftctrl: import websocket module on first use\u000a\u000aChange-Id: I568af52ffb7ac57222697f5d861a532c0e2a70de\u000a",
        "date" : "2020-05-05 18:26:31 +0200",
        "id" : "a8b8990bb844c91a0474422b953605fa817f98c3",
        "msg" : "rfemu_amarisoftctrl: import websocket module on first use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/install.adoc"
        ],
        "commitId" : "06376b779aa25e60d95f0e25f34f1b98562b45a6",
        "timestamp" : 1588696784000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc: Drop redundant app-name in install section\u000a\u000aChange-Id: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a\u000a",
        "date" : "2020-05-05 18:39:44 +0200",
        "id" : "06376b779aa25e60d95f0e25f34f1b98562b45a6",
        "msg" : "doc: Drop redundant app-name in install section",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/install.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/install.adoc"
        ],
        "commitId" : "0baa5c7269adc231d5f71ab97315d9833015b555",
        "timestamp" : 1588698493000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc: install.adoc: Correctly split optional dependencies\u000a\u000aChange-Id: Id8b5dcd15fd86c670915b928112699d831e6e7b0\u000a",
        "date" : "2020-05-05 19:08:13 +0200",
        "id" : "0baa5c7269adc231d5f71ab97315d9833015b555",
        "msg" : "doc: install.adoc: Correctly split optional dependencies",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/install.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/README.txt",
          "README.md"
        ],
        "commitId" : "17dd270cf4b2f60a0506660cac68293515cebac1",
        "timestamp" : 1588699533000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Rework README file\u000a\u000aDrop old one in doc/ which contains lots of outadated stuff already\u000aplaced in the User Manual.\u000aWrite a new markdown README in the root directory with pointers to\u000aplaces in the repo and the issue tracket, ansible setup, etc.\u000a\u000aChange-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1\u000a",
        "date" : "2020-05-05 19:25:33 +0200",
        "id" : "17dd270cf4b2f60a0506660cac68293515cebac1",
        "msg" : "Rework README file",
        "paths" : [
          {
            "editType" : "add",
            "file" : "README.md"
          },
          {
            "editType" : "delete",
            "file" : "doc/README.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-gsm-tester.py"
        ],
        "commitId" : "0dd4c0be10badb1daf705bdca543e92d9ab99ae2",
        "timestamp" : 1588766664000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-gsm-tester.py: Fix import error when using default-suites.conf\u000a\u000aRecent commit refactoring stuff introduced an import error only\u000atriggered when default-suites.conf is used (no -s param).\u000aThis commit fixes the issue.\u000a\u000aFixes: ea8c3d4b1235ef703e54cd963bc96f6716168387\u000aChange-Id: I1534cfba55c69ed5c1354175f8b5df9b656b7d82\u000a",
        "date" : "2020-05-06 14:04:24 +0200",
        "id" : "0dd4c0be10badb1daf705bdca543e92d9ab99ae2",
        "msg" : "osmo-gsm-tester.py: Fix import error when using default-suites.conf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "sysmocom/suites/4g/handover.py",
          "sysmocom/scenarios/mod-enb-meas-enable.conf",
          "src/osmo_gsm_tester/obj/ms.py"
        ],
        "commitId" : "eaefe6b5331ef304bb31fe69face2cb51d339f3c",
        "timestamp" : 1588775093000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites/4g: Introduce sample handover test\u000a\u000aThis test currently only works with AmarisoftENB and srsUE, because:\u000a* srsENB has no handover support yet\u000a* AmarisoftUE doesn't provide any known way to verify handovers.\u000a\u000aAs a result, it usually runs with following filters and modifiers:\u000aamarisoftenb-rftype@uhd+srsue-rftype@uhd+mod-enb-ncells@2+mod-enb-meas-enable\u000a\u000aThe get_counter() API may change in the future based on information\u000aavailable from other implementations.\u000a\u000aChange-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773\u000a",
        "date" : "2020-05-06 16:24:53 +0200",
        "id" : "eaefe6b5331ef304bb31fe69face2cb51d339f3c",
        "msg" : "suites/4g: Introduce sample handover test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/handover.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-meas-enable.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/resource_test.py",
          "selftest/trial_test.ok",
          "selftest/trial_test.py",
          "selftest/resource_test.ok"
        ],
        "commitId" : "afa2fc3aa669912637c6f402b01ebf486a5e44fa",
        "timestamp" : 1588779729000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest/trial_test: Fix repr(RuntimeError) changing in new python version\u000a\u000aIf using python 3.8.2, the trailing comma at the end of parameters is\u000anot longer there (probably got fixed, since it's not needed). That\u000achange breaks expected output.\u000a\u000aChange-Id: I6da3024f946c0e761099058e812c0eacf3d6071f\u000a",
        "date" : "2020-05-06 17:42:09 +0200",
        "id" : "afa2fc3aa669912637c6f402b01ebf486a5e44fa",
        "msg" : "selftest/trial_test: Fix repr(RuntimeError) changing in new python version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/process_test.ok",
          "selftest/process_test/foo.py"
        ],
        "commitId" : "fa653e4136d08e83d4f1d7dc4f415057920c8e33",
        "timestamp" : 1588780656000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest/process_test: Fix output changing in new python version\u000a\u000aOn older versions apparently upon child termination due to SIGINT\u000asubprocess.poll() returned 1. On new python versions (such as 3.8.2),\u000a-2 is returned, according to documentation:\u000a\u000aA negative value -N indicates that the child was terminated by signal N (Unix only).\u000a\u000aLet's catch the SIGINT in the child process and exit with a known 42\u000avalue to fix different behavior.\u000a\u000aChange-Id: I7949ff2b435e91e890061e6840b0f411f8b0a817\u000a",
        "date" : "2020-05-06 17:57:36 +0200",
        "id" : "fa653e4136d08e83d4f1d7dc4f415057920c8e33",
        "msg" : "selftest/process_test: Fix output changing in new python version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/process_test/foo.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/process_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/misc.py"
        ],
        "commitId" : "636f560dc2f26d303a0bdb7115744cb402159131",
        "timestamp" : 1588783444000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest: Remove unused misc.py file\u000a\u000aChange-Id: I167bce29d7b22956c82053dcae5634c23d405b3f\u000a",
        "date" : "2020-05-06 18:44:04 +0200",
        "id" : "636f560dc2f26d303a0bdb7115744cb402159131",
        "msg" : "selftest: Remove unused misc.py file",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "selftest/misc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/sms_test/sms_test.py",
          "selftest/trial_test.ok",
          "selftest/cdf_test.py",
          "selftest/log_test.ok",
          "selftest/log_test/_prep.py",
          "selftest/suite_test/suite_test.ok.ign",
          "selftest/process_test.ok.ign",
          "selftest/log_test/log_test.ok",
          "selftest/util_test/util_test.err",
          "selftest/lock_test/lock_test.err",
          "selftest/sms_test/_prep.py",
          "selftest/process_test/process_test.ok.ign",
          "selftest/template_test.ok",
          "selftest/sms_test.err",
          "selftest/util_test/util_test.ok",
          "selftest/resource_test/conf/resources.conf",
          "selftest/process_test.py",
          "selftest/conf/paths.conf",
          "selftest/resource_test.err",
          "selftest/resource_test/resource_test.err",
          "selftest/lock_test.ok",
          "selftest/template_test.py",
          "selftest/log_test/log_test.err",
          "selftest/trial_test/_prep.py",
          "selftest/trial_test/trial_test.ok",
          "selftest/config_test/config_test.err",
          "selftest/config_test/_prep.py",
          "selftest/config_test/config_test.ok",
          "selftest/trial_test/trial_test.err",
          "selftest/trial_test.err",
          "selftest/lock_test/lock_test_help.py",
          "selftest/resource_test/_prep.py",
          "selftest/resource_test.ok",
          "selftest/sms_test/sms_test.ok",
          "selftest/suite_test/suite_test.py",
          "selftest/suite_test.err",
          "selftest/log_test.py",
          "selftest/lock_test/_prep.py",
          "selftest/util_test.err",
          "selftest/lock_test.sh",
          "selftest/suite_test/suite_test.err",
          "selftest/template_test/template_test.py",
          "selftest/trial_test/trial_test.ok.ign",
          "selftest/sms_test.py",
          "selftest/resource_test/resource_test.ok.ign",
          "selftest/suite_test/suite_test.ok",
          "selftest/resource_test.ok.ign",
          "selftest/process_test/process_test.py",
          "selftest/cdf_test/_prep.py",
          ".gitignore",
          "selftest/resource_test/resource_test.ok",
          "selftest/suite_test.ok",
          "selftest/template_test/template_test.err",
          "selftest/util_test.ok",
          "selftest/trial_test.ok.ign",
          "selftest/process_test/process_test.err",
          "selftest/process_test.err",
          "selftest/process_test.ok",
          "selftest/config_test.py",
          "selftest/config_test.err",
          "selftest/sms_test/sms_test.err",
          "selftest/sms_test.ok",
          "selftest/_prep.py",
          "selftest/trial_test.py",
          "selftest/suite_test.ok.ign",
          "selftest/cdf_test/cdf_test.ok",
          "selftest/template_test/_prep.py",
          "selftest/config_test/config_test.py",
          "selftest/trial_test/trial_test.py",
          "selftest/log_test.err",
          "selftest/template_test.err",
          "selftest/cdf_test/cdf_test.py",
          "selftest/lock_test/lock_test.ok",
          "selftest/process_test/_prep.py",
          "selftest/lock_test.err",
          "selftest/suite_test.py",
          "selftest/resource_test.py",
          "selftest/lock_test/lock_test.sh",
          "selftest/conf/resources.conf",
          "selftest/lock_test_help.py",
          "selftest/template_test/template_test.ok",
          "selftest/util_test/util_test.py",
          "selftest/util_test/_prep.py",
          "selftest/resource_test/conf/paths.conf",
          "selftest/util_test.py",
          "selftest/suite_test/_prep.py",
          "selftest/cdf_test.ok",
          "selftest/resource_test/resource_test.py",
          "selftest/all_tests.py",
          "selftest/process_test/process_test.ok",
          "selftest/config_test.ok",
          "selftest/log_test/log_test.py"
        ],
        "commitId" : "ab1904a307b531dbd1c738ef04eeeeb68f9920b3",
        "timestamp" : 1588783771000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest: Move tests into own subdirectories\u000a\u000aChange-Id: Id21cda19df131e24402e1a593036e1e33a914920\u000a",
        "date" : "2020-05-06 18:49:31 +0200",
        "id" : "ab1904a307b531dbd1c738ef04eeeeb68f9920b3",
        "msg" : "selftest: Move tests into own subdirectories",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/lock_test/lock_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/log_test/log_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/config_test/_prep.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/lock_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/process_test.ok.ign"
          },
          {
            "editType" : "delete",
            "file" : "selftest/resource_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/lock_test/lock_test.sh"
          },
          {
            "editType" : "add",
            "file" : "selftest/process_test/process_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/trial_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/process_test/process_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/sms_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/trial_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/cdf_test/_prep.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/process_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/template_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/util_test/util_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/log_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/lock_test.sh"
          },
          {
            "editType" : "delete",
            "file" : "selftest/lock_test_help.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/log_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/resource_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/resource_test.ok.ign"
          },
          {
            "editType" : "add",
            "file" : "selftest/util_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/sms_test/sms_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/template_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/trial_test.ok.ign"
          },
          {
            "editType" : "edit",
            "file" : "selftest/all_tests.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/log_test/log_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/config_test/config_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/trial_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suite_test.ok.ign"
          },
          {
            "editType" : "delete",
            "file" : "selftest/util_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/process_test/process_test.ok.ign"
          },
          {
            "editType" : "delete",
            "file" : "selftest/conf/resources.conf"
          },
          {
            "editType" : "delete",
            "file" : "selftest/sms_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/lock_test/lock_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/lock_test/lock_test_help.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/process_test/process_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/template_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/log_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/sms_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/log_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/conf/resources.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/trial_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/config_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/util_test/util_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/template_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/process_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/conf/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/cdf_test/cdf_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/resource_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/_prep.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/cdf_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/lock_test/_prep.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/process_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/process_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/config_test/config_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/_prep.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/util_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/resource_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/log_test/log_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/template_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/resource_test.ok.ign"
          },
          {
            "editType" : "add",
            "file" : "selftest/sms_test/sms_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/cdf_test/cdf_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/util_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/sms_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/trial_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/lock_test.ok"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suite_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/config_test/config_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/trial_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/conf/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/sms_test/sms_test.err"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/config_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/resource_test/resource_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/util_test/util_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/cdf_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/config_test.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/trial_test.ok.ign"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test.ok.ign"
          },
          {
            "editType" : "delete",
            "file" : "selftest/template_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/schema.py"
        ],
        "commitId" : "e0b899079cb229be01a61e193995be351e45bd4c",
        "timestamp" : 1588785286000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "schema: Allow keys to start with a number\u000a\u000aYAML allows it, and it will allow suites tarting with a number on its\u000aname (like the '4g' one) to register its own schema on next commits.\u000a\u000aChange-Id: I64e5a9d6604085d3b17eba30498a5e7a66242cc8\u000a",
        "date" : "2020-05-06 17:14:46 +0000",
        "id" : "e0b899079cb229be01a61e193995be351e45bd4c",
        "msg" : "schema: Allow keys to start with a number",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "549826d424f0a034ee5933050f4f507289242ce2",
        "timestamp" : 1588796478000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: add rf_port to cell list param\u000a\u000awe need to make the rf_port a param in the cell list because for CA with\u000atwo cells on different EARFNCs, the RF port is different\u000a\u000afor two cells without CA on the same EARFCN the RF port is the same\u000a\u000aso we need to be able to configure it\u000a\u000aChange-Id: I32e83cc34811588757104c5ce1cae7277402addd\u000a",
        "date" : "2020-05-06 20:21:18 +0000",
        "id" : "549826d424f0a034ee5933050f4f507289242ce2",
        "msg" : "enb: add rf_port to cell list param",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "d27b3ba2e2279ab2b55bfea05d00add3af82e2b5",
        "timestamp" : 1588796478000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srs_{enb,ue}: don't set sc12 as OTW format\u000a\u000aChange-Id: I7fc20d998b082f5c37b2451f1900161f997954b1\u000a",
        "date" : "2020-05-06 20:21:18 +0000",
        "id" : "d27b3ba2e2279ab2b55bfea05d00add3af82e2b5",
        "msg" : "srs_{enb,ue}: don't set sc12 as OTW format",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Makefile"
        ],
        "commitId" : "3135a1ae7eb09d939b5d192eb864c60909cf3439",
        "timestamp" : 1588858075000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Makefile: Add manual target to build user manual\u000a\u000aChange-Id: I61ff89db5666248de47cb9752a2aecdd6fd06f02\u000a",
        "date" : "2020-05-07 13:27:55 +0000",
        "id" : "3135a1ae7eb09d939b5d192eb864c60909cf3439",
        "msg" : "Makefile: Add manual target to build user manual",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Makefile",
          "selftest/Makefile"
        ],
        "commitId" : "94e7ef0f6c0314f9a827ac6cd344a3a8f60d397a",
        "timestamp" : 1588858075000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Makefile: Implement clean target\u000a\u000aChange-Id: Ia21b0f184bfd454b3835774949f581a27860a80a\u000a",
        "date" : "2020-05-07 13:27:55 +0000",
        "id" : "94e7ef0f6c0314f9a827ac6cd344a3a8f60d397a",
        "msg" : "Makefile: Implement clean target",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Makefile"
          },
          {
            "editType" : "edit",
            "file" : "selftest/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/schema_test/schema_case_03.conf",
          "selftest/suite_test/suite_test.ok",
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/core/suite.py",
          "selftest/schema_test/schema_test.ok",
          "src/osmo_gsm_tester/core/schema.py",
          "selftest/schema_test/schema_case_04.conf",
          "selftest/suite_test/test_suite/suite.conf",
          "selftest/suite_test/test_suite/test_suite_params.py",
          "selftest/schema_test/schema_case_01.conf",
          "selftest/schema_test/schema_case_05.conf",
          "selftest/suite_test/suite_test.py",
          "selftest/schema_test/schema_case_02.conf",
          "selftest/schema_test/schema_test.py",
          "src/osmo_gsm_tester/core/test.py",
          "selftest/schema_test/_prep.py",
          "doc/manuals/chapters/config.adoc",
          "selftest/schema_test/schema_test.err"
        ],
        "commitId" : "306373027a18f44ba6dec2370dfde9d83ad7eeec",
        "timestamp" : 1588863961000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Allow suites to dynamically register schemas so tests can receive parameters\u000a\u000aChange-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad\u000a",
        "date" : "2020-05-07 15:06:01 +0000",
        "id" : "306373027a18f44ba6dec2370dfde9d83ad7eeec",
        "msg" : "Allow suites to dynamically register schemas so tests can receive parameters",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_01.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_04.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/test_suite/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_03.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_02.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_test.err"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_05.conf"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/test_suite/test_suite_params.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/scenarios/suite-4g@.conf",
          "sysmocom/suites/4g/suite.conf",
          "sysmocom/suites/4g/handover.py"
        ],
        "commitId" : "fa02b9c677b98bb742116db904193ad2f96ea95e",
        "timestamp" : 1588863961000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites: 4g: Parametrize handover.py test\u000a\u000aChange-Id: I7de5acdaa6b905e52655786758bd51490add1d2b\u000a",
        "date" : "2020-05-07 15:06:01 +0000",
        "id" : "fa02b9c677b98bb742116db904193ad2f96ea95e",
        "msg" : "suites: 4g: Parametrize handover.py test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/suite-4g@.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/handover.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_driver.py"
        ],
        "commitId" : "18ff1e6e25ed3d1cbb60474149daa9848027f0d4",
        "timestamp" : 1588864251000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_driver: Fix typos after recent refactorings\u000a\u000aChange-Id: Id9709743648d60792ec64c97ab1bc6811c4e3e1e\u000a",
        "date" : "2020-05-07 17:10:51 +0200",
        "id" : "18ff1e6e25ed3d1cbb60474149daa9848027f0d4",
        "msg" : "ms_driver: Fix typos after recent refactorings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_driver.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-gsm-tester.py",
          "doc/examples/4g_srsLTE/README.txt",
          "src/osmo_gsm_tester/core/config.py",
          "selftest/suite_test/suite_test.py",
          "doc/examples/2g_osmocom/README.txt",
          "selftest/resource_test/resource_test.py",
          "sysmocom/README.txt",
          "contrib/jenkins-run.sh",
          "doc/examples/2g_osmocom/README.md",
          "sysmocom/README.md",
          "doc/manuals/chapters/config.adoc",
          "doc/examples/4g_srsLTE/README.md"
        ],
        "commitId" : "06c82aee5ce007a2c5ba12cd59d3db158c593ee8",
        "timestamp" : 1588871363000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones\u000a\u000aEnvironment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an\u000aerror is logged each time it's used. Same feature is available through\u000a\"-c\" command line parameters, so having the envvar only makes things\u000amore complex for no good reason. It cannot yet be completely dropped\u000asince some environemnt still make use of it. Give some time to users to\u000aadapt their setups.\u000aOther environment variables setting some config apths can be dropped\u000asince they are not being really used in any setup.\u000a\u000aChange-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862\u000a",
        "date" : "2020-05-07 19:09:23 +0200",
        "id" : "06c82aee5ce007a2c5ba12cd59d3db158c593ee8",
        "msg" : "Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones",
        "paths" : [
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/README.md"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/README.md"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "delete",
            "file" : "doc/examples/2g_osmocom/README.txt"
          },
          {
            "editType" : "delete",
            "file" : "doc/examples/4g_srsLTE/README.txt"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/resource_test.py"
          },
          {
            "editType" : "delete",
            "file" : "sysmocom/README.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-run.sh"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-gsm-tester.py"
        ],
        "commitId" : "0bd048c6205a8fb0c2d947584ba899c545bee4f5",
        "timestamp" : 1588873117000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-gsm-tester.py: Update help description and remove old nope cmdline arg\u000a\u000aChange-Id: I879a5c30c185905614c2c5a7d54eb33817c94c31\u000a",
        "date" : "2020-05-07 19:38:37 +0200",
        "id" : "0bd048c6205a8fb0c2d947584ba899c545bee4f5",
        "msg" : "osmo-gsm-tester.py: Update help description and remove old nope cmdline arg",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ggsn_osmo.py",
          "src/osmo_gsm_tester/obj/bts_osmovirtual.py",
          "src/osmo_gsm_tester/obj/mgcpgw_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_oc2g.py",
          "src/osmo_gsm_tester/obj/hlr_osmo.py",
          "src/osmo_gsm_tester/obj/pcu_osmo.py",
          "src/osmo_gsm_tester/obj/msc_osmo.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "src/osmo_gsm_tester/obj/osmocon.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "src/osmo_gsm_tester/obj/mgw_osmo.py",
          "src/osmo_gsm_tester/obj/bts_octphy.py",
          "src/osmo_gsm_tester/obj/pcu_sysmo.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py",
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/obj/bts_sysmo.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/sgsn_osmo.py",
          "src/osmo_gsm_tester/obj/stp_osmo.py",
          "src/osmo_gsm_tester/obj/bsc_osmo.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/obj/bts_nanobts.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/nitb_osmo.py",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/obj/bts_oc2g.py"
        ],
        "commitId" : "2a2d8464300677430c607f55aae0a00d0090a984",
        "timestamp" : 1589187412000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "obj: Fix objects placing their content in suite rundir instead of test rundir\u000a\u000aChange-Id: I421d35473575086b93d5c8db98b909cc6c83d896\u000a",
        "date" : "2020-05-11 10:56:52 +0200",
        "id" : "2a2d8464300677430c607f55aae0a00d0090a984",
        "msg" : "obj: Fix objects placing their content in suite rundir instead of test rundir",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/msc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/mgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_oc2g.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/stp_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/hlr_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/mgcpgw_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/nitb_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/sgsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ggsn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bsc_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmovirtual.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/osmocon.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/pcu_oc2g.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/gprs/lib/testlib.py"
        ],
        "commitId" : "aebaa3cf314b430f7ebf3f9fe593b9cb7add657e",
        "timestamp" : 1589189386000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites/gprs: Catch unexpected iperf3 result content and print it\u000a\u000aChange-Id: I10f7f682da023f5e05e461b73f55cc50c5f36f79\u000a",
        "date" : "2020-05-11 11:29:46 +0200",
        "id" : "aebaa3cf314b430f7ebf3f9fe593b9cb7add657e",
        "msg" : "suites/gprs: Catch unexpected iperf3 result content and print it",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "620d2ee5ba9505931e5fa8d10f07cffeece8fb93",
        "timestamp" : 1589190734000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: fix numpy import\u000a\u000anumpy is used in a few places in the class code so we need to jhave it\u000aavailable in a bigger scope, while still only loading when needed.\u000a\u000aChange-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f\u000a",
        "date" : "2020-05-11 11:52:14 +0200",
        "id" : "620d2ee5ba9505931e5fa8d10f07cffeece8fb93",
        "msg" : "ms_srs: fix numpy import",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/esme.py"
        ],
        "commitId" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
        "timestamp" : 1589190948000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "esme: fix smpplib imports\u000a\u000asmpplib modules are used in several places, so it's not enough to import\u000athem in the constructor since they are only imported for the function\u000ascope.\u000a\u000aChange-Id: I6511e28c7ef6aa86e85a7e03aa10a67d87896588\u000a",
        "date" : "2020-05-11 11:55:48 +0200",
        "id" : "b1d8d30526e49a4f2c8d89c0b35b78d2625a9145",
        "msg" : "esme: fix smpplib imports",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/esme.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/suite.py",
          "src/osmo_gsm_tester/core/config.py",
          "selftest/suite_test/suite_test.py",
          "src/osmo_gsm_tester/core/scenario.py"
        ],
        "commitId" : "4e6b5077d0df3220057c79631d24876d15ed2b83",
        "timestamp" : 1589202727000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Split Scenario class to its own file\u000a\u000aChange-Id: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185\u000a",
        "date" : "2020-05-11 15:12:07 +0200",
        "id" : "4e6b5077d0df3220057c79631d24876d15ed2b83",
        "msg" : "Split Scenario class to its own file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/core/scenario.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/scenario_test/scenario_case_03@specific.conf",
          "selftest/scenario_test/paths.conf",
          "selftest/scenario_test/scenario_test.ok",
          "selftest/scenario_test/_prep.py",
          "selftest/scenario_test/scenario_test.err",
          "selftest/scenario_test/scenario_case_01.conf",
          "selftest/scenario_test/scenario_test.py",
          "selftest/scenario_test/scenario_case_03@.conf",
          "selftest/scenario_test/scenario_test.ok.ign",
          "selftest/scenario_test/scenario_case_02.conf"
        ],
        "commitId" : "0433c9b6719539575474cd45ffd46fc5a5c947e2",
        "timestamp" : 1589208796000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest: Introduce scenario_test\u000a\u000aThis covers some unit tests for scenario module (Scenario class).\u000a\u000aChange-Id: I4c80047bb03ae8254c192057007fa7df84478605\u000a",
        "date" : "2020-05-11 16:53:16 +0200",
        "id" : "0433c9b6719539575474cd45ffd46fc5a5c947e2",
        "msg" : "selftest: Introduce scenario_test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_case_01.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_case_02.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_test.err"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_case_03@.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_case_03@specific.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/scenario_test/scenario_test.ok.ign"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test/suite_test.ok",
          "sysmocom/ttcn3/paths.conf",
          "selftest/resource_test/resource_test.ok",
          "src/osmo_gsm_tester/core/config.py",
          "selftest/scenario_test/scenario_test.ok",
          "doc/examples/4g_srsLTE/main.conf",
          "contrib/jenkins-run.sh",
          "doc/examples/2g_osmocom/paths.conf",
          "sysmocom/ttcn3/defaults.conf",
          "doc/examples/2g_osmocom/README.md",
          "sysmocom/README.md",
          "doc/examples/4g_srsLTE/README.md",
          "sysmocom/main.conf",
          "src/osmo-gsm-tester.py",
          "selftest/suite_test/suite_test.py",
          "sysmocom/paths.conf",
          "selftest/resource_test/resource_test.py",
          "doc/examples/2g_osmocom/main.conf",
          "doc/examples/4g_srsLTE/paths.conf",
          "sysmocom/ttcn3/jenkins-run.sh",
          "src/osmo_gsm_tester/core/resource.py",
          "selftest/scenario_test/scenario_test.py",
          "doc/manuals/chapters/config.adoc",
          "sysmocom/ttcn3/main.conf"
        ],
        "commitId" : "6c6c0e85992beee8123e9afff9583034781b01e5",
        "timestamp" : 1589285249000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it\u000a\u000aIt has been notified that current configuration system is difficult to\u000aunderstand and to use, so it has been envisioned to refactor it a bit.\u000aThe idea is that the user passes a -c path/to/main.conf file, which in\u000aturn contains whatever osmo-gsm-tester main settings supports (basically\u000awhat old paths.conf used to be, plus some files harcoded to the same -c\u000adirectory are now configurable through the main configuration file).\u000a\u000aChange-Id: Ieca65b71b543c44cfcec8e83efd0fe053c432e55\u000a",
        "date" : "2020-05-12 14:07:29 +0200",
        "id" : "6c6c0e85992beee8123e9afff9583034781b01e5",
        "msg" : "Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/README.md"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/2g_osmocom/README.md"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/resource_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/scenario_test/scenario_test.py"
          },
          {
            "editType" : "delete",
            "file" : "doc/examples/4g_srsLTE/paths.conf"
          },
          {
            "editType" : "delete",
            "file" : "sysmocom/ttcn3/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/2g_osmocom/main.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/resource_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-run.sh"
          },
          {
            "editType" : "add",
            "file" : "doc/examples/4g_srsLTE/main.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/README.md"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/jenkins-run.sh"
          },
          {
            "editType" : "delete",
            "file" : "doc/examples/2g_osmocom/paths.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/resource.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/ttcn3/main.conf"
          },
          {
            "editType" : "delete",
            "file" : "sysmocom/paths.conf"
          },
          {
            "editType" : "delete",
            "file" : "sysmocom/ttcn3/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/scenario_test/scenario_test.ok"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/main.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/config.adoc"
        ],
        "commitId" : "fceb8e14dec6267461d899effc4f738327d83628",
        "timestamp" : 1589285256000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc/manuals: Swap order of schemas and config files\u000a\u000aFirst explain the different config files and directories, later describe\u000athe schemas used in each of them.\u000a\u000aChange-Id: Iaf31808a655a5c77a1dfaa155e86d42585130820\u000a",
        "date" : "2020-05-12 14:07:36 +0200",
        "id" : "fceb8e14dec6267461d899effc4f738327d83628",
        "msg" : "doc/manuals: Swap order of schemas and config files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "check_dependencies.py",
          "contrib/check_dependencies.py",
          "Makefile"
        ],
        "commitId" : "1337fb8e48f6abe3718fbb5f279fbac0b7fef283",
        "timestamp" : 1589285256000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move check_dependencies.py to contrib/\u000a\u000aChange-Id: I8def867b1042cbb98bb36ff4a473b4cdb92ce122\u000a",
        "date" : "2020-05-12 14:07:36 +0200",
        "id" : "1337fb8e48f6abe3718fbb5f279fbac0b7fef283",
        "msg" : "Move check_dependencies.py to contrib/",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "check_dependencies.py"
          },
          {
            "editType" : "add",
            "file" : "contrib/check_dependencies.py"
          },
          {
            "editType" : "edit",
            "file" : "Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/update_version.sh",
          ".gitignore",
          "Makefile",
          "update_version.sh"
        ],
        "commitId" : "656952760c1bc022a0caab1fd370740dd952a8d4",
        "timestamp" : 1589285256000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Move update_version.sh to contrib/\u000a\u000aChange-Id: I26218cd512a739fc26ba04be05f01260152d785f\u000a",
        "date" : "2020-05-12 14:07:36 +0200",
        "id" : "656952760c1bc022a0caab1fd370740dd952a8d4",
        "msg" : "Move update_version.sh to contrib/",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "update_version.sh"
          },
          {
            "editType" : "edit",
            "file" : "Makefile"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "contrib/update_version.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test/suite_test.ok",
          "src/osmo-gsm-tester.py",
          "selftest/resource_test/resource_test.ok",
          "src/osmo_gsm_tester/core/config.py",
          "doc/manuals/chapters/config.adoc",
          "selftest/scenario_test/scenario_test.ok"
        ],
        "commitId" : "e972c9c52412d3d436fd963f507ffc144e24ebe2",
        "timestamp" : 1589293653000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "config: Allow setting trial directory in main.conf\u000a\u000aChange-Id: Ia4141001d084f690897dbdff5eae6c69ff2e521c\u000a",
        "date" : "2020-05-12 16:27:33 +0200",
        "id" : "e972c9c52412d3d436fd963f507ffc144e24ebe2",
        "msg" : "config: Allow setting trial directory in main.conf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/resource_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo-gsm-tester.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/scenario_test/scenario_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "27b609f4d354b05688da9e663167ae8b42d1af14",
        "timestamp" : 1590060116000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs.py: Fix typos in comments\u000a\u000aChange-Id: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf\u000a",
        "date" : "2020-05-21 13:21:56 +0200",
        "id" : "27b609f4d354b05688da9e663167ae8b42d1af14",
        "msg" : "ms_srs.py: Fix typos in comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/schema_test/schema_test.py",
          "src/osmo_gsm_tester/core/schema.py",
          "selftest/schema_test/schema_test.ok",
          "selftest/schema_test/schema_case_06.conf"
        ],
        "commitId" : "d79e7198043f8b2a2c8c4e5651d2ce323fd84963",
        "timestamp" : 1590068474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "schema: Allow objects registering their own schema types\u000a\u000aChange-Id: I998c8674a55531909bfeac420064c3f238cea126\u000a",
        "date" : "2020-05-21 15:41:14 +0200",
        "id" : "d79e7198043f8b2a2c8c4e5651d2ce323fd84963",
        "msg" : "schema: Allow objects registering their own schema types",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/schema_test/schema_case_06.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/schema_test/schema_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/schema_test/schema_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py",
          "sysmocom/suites/gprs/lib/testlib.py",
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "sysmocom/scenarios/cfg-iperf3-proto@.conf"
        ],
        "commitId" : "3a0dea682e73c605c2a4d45f0e7a8a39fba3bb6b",
        "timestamp" : 1590153627000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Support using configuring UDP protocol\u000a\u000aChange-Id: I0b3545847b01ae3d029881f243fea276f0fa39de\u000a",
        "date" : "2020-05-22 15:20:27 +0200",
        "id" : "3a0dea682e73c605c2a4d45f0e7a8a39fba3bb6b",
        "msg" : "iperf3: Support using configuring UDP protocol",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/cfg-iperf3-proto@.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test/suite_test.ok",
          "selftest/resource_test/resource_test.ok",
          "src/osmo_gsm_tester/core/config.py",
          "selftest/scenario_test/paths.conf",
          "selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py",
          "selftest/scenario_test/scenario_test.ok",
          "selftest/suite_test/suitedirA/test_suite/mo_sms.py",
          "doc/examples/4g_srsLTE/main.conf",
          "src/osmo_gsm_tester/core/scenario.py",
          "sysmocom/main.conf",
          "selftest/suite_test/test_suite/test_suite_params.py",
          "selftest/suite_test/suitedirA/test_suite/test_fail_raise.py",
          "selftest/suite_test/suitedirA/test_suite/test_error.py",
          "selftest/suite_test/suitedirB/suiteB/test_success.py",
          "selftest/suite_test/test_suite/mo_mt_sms.py",
          "doc/examples/2g_osmocom/main.conf",
          "selftest/suite_test/test_suite/hello_world.py",
          "doc/manuals/chapters/config.adoc",
          "src/osmo_gsm_tester/core/suite.py",
          "selftest/suite_test/suitedirA/test_suite/test_suite_params.py",
          "selftest/suite_test/suitedirA/empty_dir/.unrelated_file",
          "selftest/suite_test/suitedirA/test_suite/suite.conf",
          "selftest/suite_test/suitedirA/test_suite/hello_world.py",
          "selftest/resource_test/conf/paths.conf",
          "selftest/suite_test/suitedirA/test_suite/test_fail.py",
          "selftest/suite_test/test_suite/suite.conf",
          "selftest/suite_test/test_suite/test_fail_raise.py",
          "selftest/suite_test/paths.conf",
          "selftest/suite_test/empty_dir/.unrelated_file",
          "selftest/suite_test/suitedirB/suiteB/suite.conf",
          "selftest/suite_test/test_suite/test_fail.py",
          "selftest/suite_test/test_suite/mo_sms.py",
          "selftest/suite_test/test_suite/test_error.py",
          "sysmocom/ttcn3/main.conf"
        ],
        "commitId" : "66ef9457cba0c2b311a7f57a5dc2a4b68a00e0cb",
        "timestamp" : 1590406430000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "config: suites_dir and scenarios_dir are now a list of paths\u000a\u000aThis allows inheriting suites or scenarios from eg. sysmocom/ dir, while\u000astill allowing to apply new suites and scenarios on top.\u000a\u000aChange-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96\u000a",
        "date" : "2020-05-25 13:33:50 +0200",
        "id" : "66ef9457cba0c2b311a7f57a5dc2a4b68a00e0cb",
        "msg" : "config: suites_dir and scenarios_dir are now a list of paths",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/mo_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/test_fail_raise.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/scenario.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/scenario_test/scenario_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/hello_world.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/empty_dir/.unrelated_file"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/main.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/hello_world.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/resource_test.ok"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/test_error.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirB/suiteB/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/test_fail_raise.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/test_fail.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/empty_dir/.unrelated_file"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/test_error.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/test_suite_params.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/scenario_test/paths.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/main.conf"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/test_fail.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/test_suite_params.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/mo_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/main.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test/conf/paths.conf"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/2g_osmocom/main.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirB/suiteB/test_success.py"
          },
          {
            "editType" : "delete",
            "file" : "selftest/suite_test/test_suite/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/handover.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py",
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/gprs/lib/testlib.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "f4ab97fb4a419b78536b8e0204ea69bafb52be11",
        "timestamp" : 1590408667000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Support runing test with bidirectional data\u000a\u000aChange-Id: Ia6f12c65fd3ea26d412997741cb8685a9646af43\u000a",
        "date" : "2020-05-25 14:11:07 +0200",
        "id" : "f4ab97fb4a419b78536b8e0204ea69bafb52be11",
        "msg" : "iperf3: Support runing test with bidirectional data",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/handover.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "src/osmo_gsm_tester/obj/iperf3.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
        ],
        "commitId" : "d84a8387be583e61101a7c9fc3868a66be930a91",
        "timestamp" : 1590409419000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "4g: Pass max bitrate to iperf3\u000a\u000aOtherwise bitrate 0 (unlimited) does weird stuff, like iperf3 hanging\u000aforever in DL.\u000a\u000aChange-Id: I631243cce132923d9024f8161cf96161c51cdae5\u000a",
        "date" : "2020-05-25 14:23:39 +0200",
        "id" : "d84a8387be583e61101a7c9fc3868a66be930a91",
        "msg" : "4g: Pass max bitrate to iperf3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/core/remote.py"
        ],
        "commitId" : "0d64f165443a920e3ac39af5978e459c97df7808",
        "timestamp" : 1590414779000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit\u000a\u000aThe API was doing far more stuff than its name indicated. Even more\u000aimportant stuff, like making sure the process is killed at the end with\u000a-9 after ssh connection is dropped.\u000a\u000aChange-Id: If043ecab509b34b0922824d73db916196274ec64\u000a",
        "date" : "2020-05-25 15:52:59 +0200",
        "id" : "0d64f165443a920e3ac39af5978e459c97df7808",
        "msg" : "Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/remote.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py"
        ],
        "commitId" : "6f31de823e035e9bc89783a646ecfc834a77454a",
        "timestamp" : 1590415929000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess\u000a\u000aIt is known that sometimes srsENB hangs until it is killed -9, specially\u000awhen using ZMQ backend. Let's use RemoteProcessSafeExit in order to make\u000asure it is killed in an acceptable time (srs binaries use some\u000apreventive sigalarm 6 seconds auto-kill procedure, hence we use 7\u000aseconds) before next test is started and potentially try to re-use the\u000asame ENB and fails due to previous one still running.\u000a\u000aChange-Id: I905bd753c7822feccf1c1bb59752698f1d1b85f0\u000a",
        "date" : "2020-05-25 16:12:09 +0200",
        "id" : "6f31de823e035e9bc89783a646ecfc834a77454a",
        "msg" : "enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/process.py"
        ],
        "commitId" : "9dbdb623a0da0113330f41b7d1179e83067e9f77",
        "timestamp" : 1590417936000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Log stdout tail when process exits with error\u000a\u000aThis is useful since remote processes we run under ssh end up merging\u000aboth remote stdout and sterr into local stdout.\u000a\u000aChange-Id: Ibbfb099a667f21641075faa1858e0b9acd706fd2\u000a",
        "date" : "2020-05-25 16:45:36 +0200",
        "id" : "9dbdb623a0da0113330f41b7d1179e83067e9f77",
        "msg" : "process: Log stdout tail when process exits with error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "2cfa4a3d3cd6557a4538caa9095fc917fa705fab",
        "timestamp" : 1590501339000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: add max rolling average as metric operation\u000a\u000athis allows to calculate the rolling average over a specific\u000awindow in time and take the maximum of that\u000a\u000athis is useful to get average value for 30s UDP traffic for\u000aexample from the UE metrics\u000a\u000aChange-Id: I34bbfe08dbc1f27b86c9805f54649d44d697fa18\u000a",
        "date" : "2020-05-26 13:55:39 +0000",
        "id" : "2cfa4a3d3cd6557a4538caa9095fc917fa705fab",
        "msg" : "ms_srs: add max rolling average as metric operation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "1a96ecdeb6a861062e3c768d1878460f1e8c93cd",
        "timestamp" : 1590501339000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: allow + operator when specifying CSV columns\u000a\u000athis allows to sum dl_brate and ul_brate and perform\u000athe known operations, like max, average, etc. on both\u000aUL and DL bitrate combined\u000a\u000aFor examples, with this CSV ..\u000a\u000atime;cc;pci;earfcn;rsrp;pl;cfo;dl_mcs;dl_snr;dl_turbo;dl_brate;dl_bler;ul_ta;ul_mcs;ul_buff;ul_brate;ul_bler;rf_o;rf_u;rf_l;is_attached\u000a1999;0;1;3400;-67;59;913;27;29;0.50;10432.000000;0;2.6;20;0.0;10848.000000;0;0.0;0.0;0.0;1.0\u000a2998;0;1;3400;-67;59;912;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0\u000a3997;0;1;3400;-69;61;909;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0\u000a\u000a.. one could calculate the average of DL and UL bit rate with:\u000a\u000aue.verify_metric(1e6, operation='avg', metric='dl_brate+ul_brate', criterion='gt', window=test_duration)\u000a\u000aand veriy that it's average is greater than 1 Mbit/s\u000a\u000aChange-Id: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860\u000a",
        "date" : "2020-05-26 13:55:39 +0000",
        "id" : "1a96ecdeb6a861062e3c768d1878460f1e8c93cd",
        "msg" : "ms_srs: allow + operator when specifying CSV columns",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py"
        ],
        "commitId" : "71b430c22fb6c718e67e49ab33ac8619f34b7b1c",
        "timestamp" : 1590501339000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: fix UL max rate calculation\u000a\u000adon't double the maximum rate for UL traffic in MIMO since\u000awe are only using MIMO in the downlink\u000a\u000aChange-Id: I018e8ba8cb822a4bd57b8d0e420dd496172ac229\u000a",
        "date" : "2020-05-26 13:55:39 +0000",
        "id" : "71b430c22fb6c718e67e49ab33ac8619f34b7b1c",
        "msg" : "enb: fix UL max rate calculation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "26890f3c3175991e4f6945ab9d8fcf8e91886ab4",
        "timestamp" : 1590501339000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: wait 6s after stopping srsUE\u000a\u000awe've only waited when running with ZMQ but in fact we need\u000ato always wait because the UE may need some time to\u000agracefully exit, i.e. send the detach request and shut down correctly.\u000a\u000athis is checked in cleanup() and verity_metrics(), so also before copying back\u000athe CSV metrics. But we only wait once.\u000a\u000aChange-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d\u000a",
        "date" : "2020-05-26 13:55:39 +0000",
        "id" : "26890f3c3175991e4f6945ab9d8fcf8e91886ab4",
        "msg" : "ms_srs: wait 6s after stopping srsUE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/remote.py"
        ],
        "commitId" : "2e495749d5cf3bbe8329ce46a930b63d8f706042",
        "timestamp" : 1590574508000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Fix processes run with RemoteProcessSafeExit not receiving stdin\u000a\u000aSince the process is run in the background through the wrapper bash\u000ascript, stdin was disabled there. By explicitly redirecting the bash\u000aprocess stdin we make sure it is always able to read from it.\u000a\u000aChange-Id: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919\u000a",
        "date" : "2020-05-27 12:15:08 +0200",
        "id" : "2e495749d5cf3bbe8329ce46a930b63d8f706042",
        "msg" : "Fix processes run with RemoteProcessSafeExit not receiving stdin",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/remote.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".gitignore",
          "src/osmo_gsm_tester/obj/run_node.py",
          "doc/manuals/chapters/trial.adoc",
          "selftest/trial_test/run_label/foobar/sample.tar.gz",
          "selftest/trial_test/trial_test.ok",
          "selftest/Makefile",
          "src/osmo_gsm_tester/core/trial.py",
          "selftest/trial_test/trial_test.ok.ign",
          "selftest/trial_test/run_label/checksums.md5",
          "selftest/trial_test/run_label/sample.tar.gz",
          "selftest/trial_test/trial_test.py"
        ],
        "commitId" : "6e0b6fb0747b045e97e915e9ff9aeeb80c4c7f40",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Support identifying different tgz files based on run_label attribute\u000a\u000atgz files in trials can be categorized in subdirectories, allowing to\u000aselect different bianry files at runtime based on the target run node\u000awhich is going to run them. This way for instance one can have a binary\u000alinked against libs for eg. CentOS under run_label \"centos/\" or an ARM\u000atarget under \"arm\", and then use \"run_label: arm\" on the resource using\u000ait.\u000a\u000aChange-Id: Iaf2e97da3aff693395f44f0e93b184d4846cf6da\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "6e0b6fb0747b045e97e915e9ff9aeeb80c4c7f40",
        "msg" : "Support identifying different tgz files based on run_label attribute",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/run_node.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/run_label/foobar/sample.tar.gz"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/trial.adoc"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/run_label/sample.tar.gz"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test/trial_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test/trial_test.ok.ign"
          },
          {
            "editType" : "add",
            "file" : "selftest/trial_test/run_label/checksums.md5"
          },
          {
            "editType" : "edit",
            "file" : "selftest/trial_test/trial_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py"
        ],
        "commitId" : "e921995ce7966826a16709548a62b24e59cd698b",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label\u000a\u000aChange-Id: I90b8dab8bdc9980a7d2486d890cff183c07f1809\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "e921995ce7966826a16709548a62b24e59cd698b",
        "msg" : "epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "sysmocom/resources.conf.prod",
          "src/osmo_gsm_tester/obj/run_node.py",
          "doc/examples/4g_srsLTE/resources.conf"
        ],
        "commitId" : "1abff4e260cb5b784d79701eebda9c1130990039",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb: Reuse run_node to hold run info\u000a\u000aChange-Id: If396940f154813d42ff3d3364c44b8979179127f\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "1abff4e260cb5b784d79701eebda9c1130990039",
        "msg" : "enb: Reuse run_node to hold run info",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/run_node.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "sysmocom/resources.conf.prod",
          "doc/examples/4g_srsLTE/resources.conf"
        ],
        "commitId" : "5f826be20aaf72882169167e13fee0a174e2b3f3",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_{srs,amarisoft}: Reuse run_node to hold run info\u000a\u000aChange-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "5f826be20aaf72882169167e13fee0a174e2b3f3",
        "msg" : "ms_{srs,amarisoft}: Reuse run_node to hold run info",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "b452ed6db14dd9fc1ab8543c41f89641ee4f5771",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label\u000a\u000aChange-Id: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "b452ed6db14dd9fc1ab8543c41f89641ee4f5771",
        "msg" : "enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "eddff7c03cfc8342e69002bff7586998283da962",
        "timestamp" : 1590671585000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label\u000a\u000aChange-Id: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208\u000a",
        "date" : "2020-05-28 13:13:05 +0000",
        "id" : "eddff7c03cfc8342e69002bff7586998283da962",
        "msg" : "ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py"
        ],
        "commitId" : "346ffd9192e3caa25eea1ffa989230337fd50438",
        "timestamp" : 1590746140000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: remove freq config for zmq operation\u000a\u000aspecifiying the rx/tx_freq for the eNB is optional. But when\u000ait's done it needs to be correct. There seems to be an issue\u000awhen mapping the freq[0-3] between srsENB and Amarisoft eNB.\u000a\u000aSo it's safe to just drop the config here altogether.\u000a\u000aChange-Id: I70f5776173c2df5894031f68df2f6c3a900b79f8\u000a",
        "date" : "2020-05-29 09:55:40 +0000",
        "id" : "346ffd9192e3caa25eea1ffa989230337fd50438",
        "msg" : "enb: remove freq config for zmq operation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "eb7ced13670b7e6a82e5517e294d68abe4957ed3",
        "timestamp" : 1590746159000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: sum bitrates for all component carrier\u000a\u000awhen calculating the dl and ul bitrate, it is required to take the\u000asum of all active component carriers since they are reported seperately\u000ainside the CSV file\u000a\u000aChange-Id: If30ec3f22ce5871f911433e6a6997e9c6e7ca210\u000a",
        "date" : "2020-05-29 09:55:59 +0000",
        "id" : "eb7ced13670b7e6a82e5517e294d68abe4957ed3",
        "msg" : "ms_srs: sum bitrates for all component carrier",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/process.py",
          "src/osmo_gsm_tester/core/log.py"
        ],
        "commitId" : "19fe3a1cafb944a4495dce2af78f04aad585697d",
        "timestamp" : 1591279899000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Fix wrong use of log.ctx(self)\u000a\u000aThat's not needed and will produce some parent loop detection in\u000alog.find_on_stack() if logging is called under that stack frame.\u000a\u000aChange-Id: I4ab7e8977fa9bad5c8956b7c1df1513b27bb5aa2\u000a",
        "date" : "2020-06-04 16:11:39 +0200",
        "id" : "19fe3a1cafb944a4495dce2af78f04aad585697d",
        "msg" : "process: Fix wrong use of log.ctx(self)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/log.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/log.py"
        ],
        "commitId" : "cf6bec75426c361b3149622191e6a61e1450c454",
        "timestamp" : 1591280673000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "log: Improve log ctx information in log.Error exception\u000a\u000aBefore, it would show somethig like:\u000a\"\"\"\u000aosmo_gsm_tester.core.log.Error: Exited in error 255\u000a\"\"\"\u000a\u000aNow:\u000a\"\"\"\u000aosmo_gsm_tester.core.log.Error: rm-remote-dir(pid=24820): Exited in error 255 [trial↪4g:srsue-rftype@zmq+srsenb-rftype@zmq+mod-enb-nprb@6↪ping.py:9↪ping.py↪srsepc_10.42.42.118↪host-jenkins@10.42.42.110↪rm-remote-dir(pid=24820)]\u000a\"\"\"\u000a\u000aChange-Id: I8873f67a2f3df21c4dd552c92510535bf95e2c9d\u000a",
        "date" : "2020-06-04 16:24:33 +0200",
        "id" : "cf6bec75426c361b3149622191e6a61e1450c454",
        "msg" : "log: Improve log ctx information in log.Error exception",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/log.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/process.py"
        ],
        "commitId" : "7e30d84034d6c82099cf7000975ae4d17d58beb9",
        "timestamp" : 1591282003000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Improve launch_sync() exception due to process failing\u000a\u000aAfter this commit, in some situations ssh related errors are printed\u000adirectly in the exception to quickly find cause of the issue.\u000a\u000aExample:\u000a    FAIL: ping.py (5.0 sec) Error: rm-remote-dir(pid=25913): launch_sync(): local ssh process exited with status 255 (ssh: connect to host 10.42.42.110 port 22: No route to host) [trial↪4g:srsue-rftype@zmq+srsenb-rftype@zmq+mod-enb-nprb@6↪ping.py:9↪ping.py↪srsepc_10.42.42.118↪host-jenkins@10.42.42.110↪rm-remote-dir(pid=25913)]\u000a\u000aChange-Id: Ia16c7dec96f70d761600ad6a50d9df8382d9c2c8\u000a",
        "date" : "2020-06-04 16:46:43 +0200",
        "id" : "7e30d84034d6c82099cf7000975ae4d17d58beb9",
        "msg" : "process: Improve launch_sync() exception due to process failing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py",
          "selftest/suite_test/suitedirA/test_suite/mo_sms.py"
        ],
        "commitId" : "315ba57651d0a2c7c1edf77b5468240e9a6c29c9",
        "timestamp" : 1591283356000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Get rid of 'resources' global variable\u000a\u000aChange-Id: Id7576d21d0f9de29dd9bc4211eaf9b9ec634c990\u000a",
        "date" : "2020-06-04 17:09:16 +0200",
        "id" : "315ba57651d0a2c7c1edf77b5468240e9a6c29c9",
        "msg" : "testenv: Get rid of 'resources' global variable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirA/test_suite/mo_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/template.py",
          "selftest/template_test/template_test.py",
          "selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl",
          "selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl",
          "selftest/template_test/template_test.ok",
          "selftest/template_test/osmo-nitb.cfg.tmpl"
        ],
        "commitId" : "4ddcdaf62cde56137fd096d122b9bccdd7466cc3",
        "timestamp" : 1591285157000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest: template: Test existing overlay dir features\u000a\u000aChange-Id: Iff1a4dafcbf2193e95b1fb6e5a6712f1bcdd6309\u000a",
        "date" : "2020-06-04 17:39:17 +0200",
        "id" : "4ddcdaf62cde56137fd096d122b9bccdd7466cc3",
        "msg" : "selftest: template: Test existing overlay dir features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/template.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/mytemplatedir/mytemplate.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test/template_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test/template_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/template_test/mytemplatedir/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "delete",
            "file" : "selftest/template_test/osmo-nitb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "selftest/suite_test/suite_test.ok",
          "selftest/suite_test/suitedirB/suiteC/test_template_overlay.py",
          "selftest/suite_test/suitedirB/suiteC/suite.conf",
          "src/osmo_gsm_tester/obj/stp_osmo.py",
          "selftest/suite_test/suite_test.py",
          "selftest/suite_test/suite_test.ok.ign",
          "src/osmo_gsm_tester/core/template.py",
          "selftest/suite_test/suitedirB/suiteC/mytemplatedir/.gitignore"
        ],
        "commitId" : "166dc10769b9df7c0ea21a9f08e608ad6a56e560",
        "timestamp" : 1591293787000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Support test overlaying a directory to look for templates\u000a\u000aThis way tests which require a very specific config file can override\u000aspecific template files used by object classes.\u000a\u000aChange-Id: I65d1b1e826d2d430ee83810d998b98d0ccaa07cd\u000a",
        "date" : "2020-06-04 20:03:07 +0200",
        "id" : "166dc10769b9df7c0ea21a9f08e608ad6a56e560",
        "msg" : "testenv: Support test overlaying a directory to look for templates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirB/suiteC/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirB/suiteC/mytemplatedir/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/stp_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirB/suiteC/test_template_overlay.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/template.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok.ign"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/test_api.adoc"
        ],
        "commitId" : "ab78df2902144f705776022b9910bc02a20c9328",
        "timestamp" : 1591293787000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc: manual: Write initial Test API section\u000a\u000aChange-Id: I86bc9a8a0b5ff50e72c21a4bd8a857830bd84c4c\u000a",
        "date" : "2020-06-04 20:03:07 +0200",
        "id" : "ab78df2902144f705776022b9910bc02a20c9328",
        "msg" : "doc: manual: Write initial Test API section",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/test_api.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/report.py"
        ],
        "commitId" : "f3df1e45193d2a2e810478a5dd5aa3ce82491e34",
        "timestamp" : 1591350804000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "report: Add trial name to junit 'testsuites' node\u000a\u000aChange-Id: I8cd62484bb67756e3d98d43a75731f4702acd2b7\u000a",
        "date" : "2020-06-05 11:53:24 +0200",
        "id" : "f3df1e45193d2a2e810478a5dd5aa3ce82491e34",
        "msg" : "report: Add trial name to junit 'testsuites' node",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/report.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/trial.py",
          "src/osmo_gsm_tester/core/report.py"
        ],
        "commitId" : "ef919c0f1c308b0f910570ae976badd48b92764c",
        "timestamp" : 1591358908000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "report: Add trial commit info to junit file\u000a\u000aChange-Id: I997bbbeb3807af5cd927594a4155b824f0c6d03d\u000a",
        "date" : "2020-06-05 14:08:28 +0200",
        "id" : "ef919c0f1c308b0f910570ae976badd48b92764c",
        "msg" : "report: Add trial commit info to junit file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/report.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
        ],
        "commitId" : "f2c2a3472695afed8a147dc9b2fa68a9fca4957b",
        "timestamp" : 1591705934000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Fix ttcn3 testsuites after recent refactors\u000a\u000aChange-Id: I545e3141ef56980e4ef2474b990bd4e4d4c21322\u000a",
        "date" : "2020-06-09 14:32:14 +0200",
        "id" : "f2c2a3472695afed8a147dc9b2fa68a9fca4957b",
        "msg" : "Fix ttcn3 testsuites after recent refactors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/jenkins-run.sh"
        ],
        "commitId" : "32f3e169b3f770e3a040ce73bf6e1af2ccc473d6",
        "timestamp" : 1591712570000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "sysmocom/ttcn3/jenkins-run.sh: Pass confg file as cmdline\u000a\u000aFix after recent huge refactoring.\u000a\u000aChange-Id: If0bcc9f7cb70e4ef324b3295d2174d11982a4bde\u000a",
        "date" : "2020-06-09 16:22:50 +0200",
        "id" : "32f3e169b3f770e3a040ce73bf6e1af2ccc473d6",
        "msg" : "sysmocom/ttcn3/jenkins-run.sh: Pass confg file as cmdline",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/jenkins-run.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "487d1ef14279ee7e7f3b4d42cdc04ba69b129f28",
        "timestamp" : 1591776730000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb: fix RI config\u000a\u000athis cause all MIMO modes to fail because RI reporting was disabled\u000a\u000aChange-Id: Ic25233cf7feb4ded8b3d0f440191cc958d8bc0ec\u000a",
        "date" : "2020-06-10 08:12:10 +0000",
        "id" : "487d1ef14279ee7e7f3b4d42cdc04ba69b129f28",
        "msg" : "amarisoft_enb: fix RI config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "61d150b1151669b301b4c4f720a6c41f4270b431",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: refactor ue_max_rate() and move helper function back to sub classes\u000a\u000aIt turned out that the Amarisoft and SRS eNB scheduler produces\u000aslightly different maximum data rates for both UL and DL.\u000a\u000aChange-Id: I30fa7006906d101c53ba586fb06bced3945aa960\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "61d150b1151669b301b4c4f720a6c41f4270b431",
        "msg" : "enb: refactor ue_max_rate() and move helper function back to sub classes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/epc.py"
        ],
        "commitId" : "aa7b5b7751c8f1075092ea6079876276618306ba",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "epc: add run function to EPC\u000a\u000athis allows, for example, to run a ping originating from the core to the UE\u000a\u000aChange-Id: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "aa7b5b7751c8f1075092ea6079876276618306ba",
        "msg" : "epc: add run function to EPC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "3c978fe0f2c53d4e8056d9c55f05e274f2d05953",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: add PRACH, reestablishment and paging counter\u000a\u000athis allows to query the number of PRACH attempts and paging\u000amessages received during a test\u000a\u000aChange-Id: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "3c978fe0f2c53d4e8056d9c55f05e274f2d05953",
        "msg" : "ms_srs: add PRACH, reestablishment and paging counter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
        ],
        "commitId" : "98ad77e4a0645cd798fcfc67df7bbab985061307",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_sib.conf_tmpl: fix whitespaces\u000a\u000aChange-Id: Ifbd3c8bd97d7e2d3f165e88f3358dce9e7e33067\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "98ad77e4a0645cd798fcfc67df7bbab985061307",
        "msg" : "srsenb_sib.conf_tmpl: fix whitespaces",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
        ],
        "commitId" : "f7915a8509cf9ff31ee2e7a2429c10847a4f0ba4",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_sib.conf.tmpl: increase default T311 value to 10s\u000a\u000athis matches the default of Amarisoft eNB so tests can use the same values\u000a\u000aChange-Id: Ic81fb6428751305d8b37a25bddb0d018ca6f51f6\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "f7915a8509cf9ff31ee2e7a2429c10847a4f0ba4",
        "msg" : "srsenb_sib.conf.tmpl: increase default T311 value to 10s",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "8eeea7f991ee7327a5151ef23553e59d254cda55",
        "timestamp" : 1591776769000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb.conf.tmpl: reduce RRC inactivity timer to 5s\u000a\u000athe default value of 60s is too long to trigger errors in the handling\u000aof this timer. So a 5s timer is more likely to reveal potential issues\u000aduring the test execution\u000a\u000aChange-Id: Id7a6739487c7875c4f26a47d05978c9ea9f33873\u000a",
        "date" : "2020-06-10 10:12:49 +0200",
        "id" : "8eeea7f991ee7327a5151ef23553e59d254cda55",
        "msg" : "srsenb.conf.tmpl: reduce RRC inactivity timer to 5s",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/handover.py",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "sysmocom/suites/4g/ping.py",
          "src/osmo_gsm_tester/obj/ms.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py"
        ],
        "commitId" : "419a662f7642fde9324077acb3b55705401c5a67",
        "timestamp" : 1591796400000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_srs: refactor UE state getter functions\u000a\u000arename UE helper functions to query RRC connected/idle state\u000aand adapt tests accordingly\u000a\u000aalso add helper to retrieve assinged IP address\u000a\u000aChange-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546\u000a",
        "date" : "2020-06-10 15:40:00 +0200",
        "id" : "419a662f7642fde9324077acb3b55705401c5a67",
        "msg" : "ms_srs: refactor UE state getter functions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/handover.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/rrc_idle_mo_ping.py",
          "sysmocom/suites/4g/rrc_idle_mt_ping.py"
        ],
        "commitId" : "898a5aaf68f5b249d57655a9f00f141d7ee6067b",
        "timestamp" : 1591796502000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "4g_suite: add MT and MO test cases\u000a\u000aadd two new test cases to test paging (MT) and MO traffic\u000a\u000aChange-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f\u000a",
        "date" : "2020-06-10 15:41:42 +0200",
        "id" : "898a5aaf68f5b249d57655a9f00f141d7ee6067b",
        "msg" : "4g_suite: add MT and MO test cases",
        "paths" : [
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/rrc_idle_mo_ping.py"
          },
          {
            "editType" : "add",
            "file" : "sysmocom/suites/4g/rrc_idle_mt_ping.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/handover.py"
        ],
        "commitId" : "07679207e27f03cc7d89a3be3558f1dd7407f665",
        "timestamp" : 1591796506000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "handover.py: fix typo in test\u000a\u000aChange-Id: I9a52a341d7575807d3e52460e1aa24732e3b3112\u000a",
        "date" : "2020-06-10 15:41:46 +0200",
        "id" : "07679207e27f03cc7d89a3be3558f1dd7407f665",
        "msg" : "handover.py: fix typo in test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/handover.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py"
        ],
        "commitId" : "10ed8dc3a7f86632b3073c35f85db8b0ef521efa",
        "timestamp" : 1591796506000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_srs: add extra head room for max rate with 6 PRB in MIMO mode\u000a\u000athe overhead with 6 PRB and MIMO is a bit higher when compared\u000ato other PRBs resulting in lower achievable throughput\u000a\u000aChange-Id: I63888435553bba4f7be88cc745e24472921a7fb4\u000a",
        "date" : "2020-06-10 15:41:46 +0200",
        "id" : "10ed8dc3a7f86632b3073c35f85db8b0ef521efa",
        "msg" : "enb_srs: add extra head room for max rate with 6 PRB in MIMO mode",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "acdf416796ab5d63931ce0b5216885da9ade010c",
        "timestamp" : 1591796506000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_amarisoft: decrease max rate for TM2+\u000a\u000aperhaps additional CRS for MIMO up to 25 PRB result in slighlt lower max rate\u000a\u000aChange-Id: I128085e308f400622683905245d42f92a631e81d\u000a",
        "date" : "2020-06-10 15:41:46 +0200",
        "id" : "acdf416796ab5d63931ce0b5216885da9ade010c",
        "msg" : "enb_amarisoft: decrease max rate for TM2+",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "0a5011047a7307ba096f0a23787558835b06d801",
        "timestamp" : 1591796506000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb,ms: refactor base_rate selection for ZMQ\u000a\u000aUse tailored sample rate only use for 6, 50 and 75 PRB. For all other bandwidths,\u000awe use the full LTE rate and downsample.\u000aWith 5.76e6 as base sample rate, for example, we had some issue during the tests like:\u000a\u000a[zmq] Error: tx time is 0.178 ms in the past (7833600 < 7835648)\u000a[zmq] Error: tx time is 0.011 ms in the past (7835520 < 7835648)\u000a\u000aUsing a higher sample rate seems to work better.\u000a\u000aChange-Id: I53678587b2c5e0e5dccb1b55a328ad2f1a97fc4c\u000a",
        "date" : "2020-06-10 15:41:46 +0200",
        "id" : "0a5011047a7307ba096f0a23787558835b06d801",
        "msg" : "enb,ms: refactor base_rate selection for ZMQ",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/config.adoc",
          "doc/manuals/chapters/install.adoc"
        ],
        "commitId" : "ffa325ede0155c76b3a4394ef5f5e8ff8b0fdaae",
        "timestamp" : 1591804263000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc/manual: Fix links to nonexistent sections\u000a\u000aChange-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b\u000a",
        "date" : "2020-06-10 17:51:03 +0200",
        "id" : "ffa325ede0155c76b3a4394ef5f5e8ff8b0fdaae",
        "msg" : "doc/manual: Fix links to nonexistent sections",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/install.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/gprs/ping_idle_ping.py",
          "sysmocom/suites/ussd/assert_extension.py",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py",
          "sysmocom/suites/debug/interactive.py",
          "sysmocom/suites/sms/mo_mt_sms.py",
          "sysmocom/suites/nitb_netreg/register.py",
          "sysmocom/suites/gprs/lib/testlib.py",
          "sysmocom/suites/voice/lib/testlib.py",
          "sysmocom/suites/nitb_netreg/register_default.py",
          "sysmocom/suites/encryption/lib/testlib.py",
          "sysmocom/suites/gprs/ping.py",
          "sysmocom/suites/nitb_ussd/assert_extension.py",
          "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py",
          "sysmocom/suites/nitb_debug/interactive.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py",
          "sysmocom/suites/smpp/esme_ms_sms_transaction.py",
          "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py",
          "sysmocom/suites/nitb_sms/mo_mt_sms.py",
          "sysmocom/suites/dynts/switch_tch_pdch.py",
          "doc/examples/4g_srsLTE/suites/4g/ping.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py",
          "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "sysmocom/suites/smpp/esme_ms_sms_storeforward.py"
        ],
        "commitId" : "3a81a7e4dc2951b2e60adc6b837ce92cad3549be",
        "timestamp" : 1591804657000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: Replace is_connected() with is_registered()\u000a\u000aAPI was renamed and old name deprecated, let's use it everywhere.\u000a\u000aChange-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523\u000a",
        "date" : "2020-06-10 17:57:37 +0200",
        "id" : "3a81a7e4dc2951b2e60adc6b837ce92cad3549be",
        "msg" : "tests: Replace is_connected() with is_registered()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/voice/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg/register.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/gprs/ping_idle_ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/debug/interactive.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_debug/interactive.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/obj/bts_osmotrx.py",
          "src/osmo_gsm_tester/core/event_loop.py",
          "src/osmo_gsm_tester/obj/osmocon.py",
          "src/osmo_gsm_tester/obj/esme.py",
          "src/osmo_gsm_tester/obj/powersupply_sispm.py",
          "src/osmo_gsm_tester/obj/powersupply.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/obj/bts_nanobts.py",
          "src/osmo_gsm_tester/obj/ms_ofono.py",
          "src/osmo_gsm_tester/core/process.py"
        ],
        "commitId" : "664e383021748324c6066dd7cc27cdb3e306b796",
        "timestamp" : 1591811412000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "EventLoop: Fix log error \"Origin parent loop\" during wait()\u000a\u000aSetting the log.ctx manually is not needed anymore and it's actually\u000aharmful since all palces where it was used, a log.Origin already in path\u000awas being passed, causing a origin loop.\u000a\u000aChange-Id: I0511b9f7bc59e3c7f2269ff3155d0c95db58d063\u000a",
        "date" : "2020-06-10 19:50:12 +0200",
        "id" : "664e383021748324c6066dd7cc27cdb3e306b796",
        "msg" : "EventLoop: Fix log error \"Origin parent loop\" during wait()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_ofono.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/event_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/osmocon.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/powersupply_sispm.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/powersupply.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
        ],
        "commitId" : "8ea4ba2e5a3009a5e2b30845104cc0445d728c13",
        "timestamp" : 1591866109000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ttcn3: Don't overwrite output junit file on multiple testsuites\u000a\u000aChange-Id: I803fa8766acb4e90c4a735a420b24ef18ef6b0c9\u000a",
        "date" : "2020-06-11 09:01:49 +0000",
        "id" : "8ea4ba2e5a3009a5e2b30845104cc0445d728c13",
        "msg" : "ttcn3: Don't overwrite output junit file on multiple testsuites",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/log.py"
        ],
        "commitId" : "9e2e8d218d3d054471b17dfb0b902d24267514a3",
        "timestamp" : 1591872095000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "log: Fix OriginLoopError generated in log.Error from testenv.poll()\u000a\u000aChange-Id: Iea80d06a30346533e4ecec338b03c72d1f1067ae\u000a",
        "date" : "2020-06-11 12:41:35 +0200",
        "id" : "9e2e8d218d3d054471b17dfb0b902d24267514a3",
        "msg" : "log: Fix OriginLoopError generated in log.Error from testenv.poll()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/log.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "3b49d464644576e9d932e1b0e92048c98b903b75",
        "timestamp" : 1591874300000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoft_enb: Properly set S1AP SCTP bind ip addr\u000a\u000aChange-Id: I8e2b8609cb198c6d5e293cffaa0a9de99600f06d\u000a",
        "date" : "2020-06-11 13:18:20 +0200",
        "id" : "3b49d464644576e9d932e1b0e92048c98b903b75",
        "msg" : "amarisoft_enb: Properly set S1AP SCTP bind ip addr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "selftest/suite_test/suite_test.ok"
        ],
        "commitId" : "a4bb6d315be17e1451bac0b6d4c33a0dd27ad276",
        "timestamp" : 1591885434000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Add debug log when overlaying templates dir\u000a\u000aChange-Id: I10fdfc5b2e3bf4c96941a3fae53230131f384de9\u000a",
        "date" : "2020-06-11 16:23:54 +0200",
        "id" : "a4bb6d315be17e1451bac0b6d4c33a0dd27ad276",
        "msg" : "testenv: Add debug log when overlaying templates dir",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "sysmocom/suites/4g/rrc_idle_mt_ping.py",
          "sysmocom/suites/4g/ping.py",
          "sysmocom/suites/4g/handover.py",
          "sysmocom/suites/4g/rrc_idle_mo_ping.py"
        ],
        "commitId" : "57e37f95e124efd9e491ee56267888b54b94ec57",
        "timestamp" : 1591888364000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites/4g: Wait for IP addr received before trying to use the link\u000a\u000aOtherwise processes using the link like \"ping\" or \"iperf3\" may fail\u000abecause there's still no IP address assigned.\u000a\u000aChange-Id: I28137f10a19db01fe90b24830a60342a448d1e92\u000a",
        "date" : "2020-06-11 17:12:44 +0200",
        "id" : "57e37f95e124efd9e491ee56267888b54b94ec57",
        "msg" : "suites/4g: Wait for IP addr received before trying to use the link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/rrc_idle_mt_ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/rrc_idle_mo_ping.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/handover.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/trial.py",
          "src/osmo_gsm_tester/core/test.py",
          "src/osmo_gsm_tester/core/log.py"
        ],
        "commitId" : "ec28572e423f18d998a383819bc4c0048fdca8a1",
        "timestamp" : 1591891628000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "test: Store brief log per test and use as default report_stdout\u000a\u000aChange-Id: I0972ba56a42c24f3d3b1bc94bcbdaca86026046a\u000a",
        "date" : "2020-06-11 18:07:08 +0200",
        "id" : "ec28572e423f18d998a383819bc4c0048fdca8a1",
        "msg" : "test: Store brief log per test and use as default report_stdout",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/log.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
        ],
        "commitId" : "7c759d9a89cde721811c158ff2c8cf6b2ffa6feb",
        "timestamp" : 1591900637000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_sib.conf.tmpl: add default SIB3\u000a\u000aif SIB3 isn't transmitted, the UE won't do HO and cell reselection\u000a\u000aChange-Id: I329a59d9d0fa3b25bc00b760a455eadbe0b7220f\u000a",
        "date" : "2020-06-11 20:37:17 +0200",
        "id" : "7c759d9a89cde721811c158ff2c8cf6b2ffa6feb",
        "msg" : "srsenb_sib.conf.tmpl: add default SIB3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/process.py",
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "a9bc93da99fe279e61d5709604c66815dcd4de15",
        "timestamp" : 1591968872000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Fix iperf3cli.launch_sync() when configured to run more than 300 sec\u000a\u000aprocess object always used timeout=300 while runnig wth launch_sync().\u000aLet's allow replacing that value beforehand so that iperf3 can\u000apre-configure the process object and caller doesn't need to care about\u000acalculating expected time.\u000a\u000aChange-Id: I7f6c5078f648013515919aa35ebcdb3ef157b5e4\u000a",
        "date" : "2020-06-12 15:34:32 +0200",
        "id" : "a9bc93da99fe279e61d5709604c66815dcd4de15",
        "msg" : "iperf3: Fix iperf3cli.launch_sync() when configured to run more than 300 sec",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test/suite_test.ok",
          "sysmocom/suites/smpp/suite.conf",
          "selftest/suite_test/suitedirB/suiteC/suite.conf",
          "selftest/suite_test/suitedirA/test_suite/suite.conf",
          "sysmocom/suites/encryption/suite.conf",
          "sysmocom/suites/nitb_netreg/suite.conf",
          "src/osmo_gsm_tester/core/schema.py",
          "sysmocom/suites/nitb_smpp/suite.conf",
          "sysmocom/suites/nitb_debug/suite.conf",
          "selftest/suite_test/suitedirB/suiteB/suite.conf",
          "sysmocom/suites/nitb_ussd/suite.conf",
          "sysmocom/suites/4g/suite.conf",
          "sysmocom/suites/nitb_sms/suite.conf",
          "doc/examples/4g_srsLTE/suites/4g/suite.conf",
          "doc/manuals/chapters/config.adoc",
          "sysmocom/suites/nitb_netreg_mass/suite.conf"
        ],
        "commitId" : "8cfb5d020f925a40432237170e41460cab616c14",
        "timestamp" : 1591971163000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Remove all references to defaults: timeout: from suite.conf\u000a\u000aThis feature is not really implemented and maybe never was. In any case,\u000ait makes sense to have that working per-test so we can specify different\u000avalues per test in case it's needed.\u000a\u000aChange-Id: I3c1b95c10e974da87ec9abd25578d8bcc0bc55a3\u000a",
        "date" : "2020-06-12 16:12:43 +0200",
        "id" : "8cfb5d020f925a40432237170e41460cab616c14",
        "msg" : "Remove all references to defaults: timeout: from suite.conf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/encryption/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirA/test_suite/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirB/suiteC/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "doc/examples/4g_srsLTE/suites/4g/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/smpp/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirB/suiteB/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/nitb_netreg_mass/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/test.py"
        ],
        "commitId" : "444129ee1f1064d42c106c3d1d04203cf60900fb",
        "timestamp" : 1591972717000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "test: Move duration time calculation to helper function\u000a\u000aChange-Id: Ica2e7d92f37d18a4f8832f38d9f9f3baba8be09f\u000a",
        "date" : "2020-06-12 16:38:37 +0200",
        "id" : "444129ee1f1064d42c106c3d1d04203cf60900fb",
        "msg" : "test: Move duration time calculation to helper function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/suite.py",
          "selftest/suite_test/suite_test.ok",
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/core/test.py"
        ],
        "commitId" : "a75f85a058db6d0b256c4b3137c4144ce20bd73f",
        "timestamp" : 1591975560000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Refactor test specific config parsing & generation\u000a\u000aThe dictionary is generated once during test creation at suite startup.\u000a\u000aChange-Id: I4de511d64ccf65d2ec6eec45dcf28529b74c5d26\u000a",
        "date" : "2020-06-12 17:26:00 +0200",
        "id" : "a75f85a058db6d0b256c4b3137c4144ce20bd73f",
        "msg" : "Refactor test specific config parsing & generation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test/suite_test.ok",
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/core/suite.py",
          "selftest/suite_test/suitedirA/test_suite/suite.conf",
          "selftest/suite_test/suite_test.py",
          "src/osmo_gsm_tester/core/test.py",
          "doc/manuals/chapters/config.adoc",
          "selftest/suite_test/suitedirA/test_suite/test_timeout.py"
        ],
        "commitId" : "c3cf682afd09272c0faec629cd385cd8c2019d9c",
        "timestamp" : 1592211226000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Implement per-test timeout guard\u000a\u000aTimeout value can be specified by test in suite.conf:\u000a\u000aconfig:\u000a  suite:\u000a    <suite_name>:\u000a      <test_name>:\u000a        timeout: 2 # 2 seconds timeout\u000a\u000aChange-Id: I522f51f77f8be64ebfdb5d5e07ba92baf82d7706\u000a",
        "date" : "2020-06-15 10:53:46 +0200",
        "id" : "c3cf682afd09272c0faec629cd385cd8c2019d9c",
        "msg" : "Implement per-test timeout guard",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/config.adoc"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/suite_test/suitedirA/test_suite/test_timeout.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/suitedirA/test_suite/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py"
        ],
        "commitId" : "683d19653237efc9b03962b0724706619c0d0a6c",
        "timestamp" : 1592213981000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Prepend underscor to internal method\u000a\u000aChange-Id: I2297f4b44d6f0c88409ab6982de4e3640a6a48b2\u000a",
        "date" : "2020-06-15 11:39:41 +0200",
        "id" : "683d19653237efc9b03962b0724706619c0d0a6c",
        "msg" : "testenv: Prepend underscor to internal method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/config.py",
          "src/osmo_gsm_tester/core/resource.py"
        ],
        "commitId" : "e66e3aebb475b6e30c7f4f21565bb218409158d1",
        "timestamp" : 1592224080000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "config: Allow empty config files\u000a\u000aChange-Id: Ic010e06220421df00405c5b6f5ad2e83514b6dcd\u000a",
        "date" : "2020-06-15 14:28:00 +0200",
        "id" : "e66e3aebb475b6e30c7f4f21565bb218409158d1",
        "msg" : "config: Allow empty config files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/config.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/epc.py",
          "sysmocom/suites/4g/rrc_idle_mt_ping.py"
        ],
        "commitId" : "b0ebcbcf10aa95b1e938ce90ba00ae7213aa3b3c",
        "timestamp" : 1592233777000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "epc: refactor run_wait() method and rename to prepare_proc()\u000a\u000athis refactor no longer enforces blocking operation of the process.\u000aInstead it returns the process object to the caller who\u000acan now run either proc.launch() for non-blocking operation\u000aor proc.launch_sync() for blocking mode.\u000a\u000aThe non-block mode allos doing other stuff in the background,\u000afor example controlling the rfemu while running a ping.\u000a\u000aChange-Id: Ia6372e55a8829f722e40db537d9dfd63a94d1be9\u000a",
        "date" : "2020-06-15 15:09:37 +0000",
        "id" : "b0ebcbcf10aa95b1e938ce90ba00ae7213aa3b3c",
        "msg" : "epc: refactor run_wait() method and rename to prepare_proc()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/rrc_idle_mt_ping.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "ccb632037d02ba1209f4e7f3ddc02c8212829e2b",
        "timestamp" : 1592233777000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: fix typo\u000a\u000aChange-Id: Ie898da5eae10af96c2bca6c2413bdff4a5160e9f\u000a",
        "date" : "2020-06-15 15:09:37 +0000",
        "id" : "ccb632037d02ba1209f4e7f3ddc02c8212829e2b",
        "msg" : "enb_amarisoft: fix typo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu.py",
          "src/osmo_gsm_tester/obj/rfemu_minicircuits.py",
          "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
        ],
        "commitId" : "8b1547b56211dd030469a5bdf79c51b235f0f629",
        "timestamp" : 1592233777000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "rfemu: add max attenuation getter\u000a\u000athis allows to query the maximum channel attenuation from within a test case\u000a\u000aChange-Id: I35f7cb188790c59bbf2450f78c663fbc9440e406\u000a",
        "date" : "2020-06-15 15:09:37 +0000",
        "id" : "8b1547b56211dd030469a5bdf79c51b235f0f629",
        "msg" : "rfemu: add max attenuation getter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_minicircuits.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "f678c4dfec0dc3b6b2b54aa7e6c5101d4a130430",
        "timestamp" : 1592233777000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "iperf3: increase extra timeout to 30s\u000a\u000a10s was too short and has still caused tests to fail because they were\u000astopped just before the iperf finished.\u000a\u000a30s seems to be enought and has passed multiple times so far\u000a\u000aChange-Id: I80b732a060356aa98882ff0e8b5debaf623ba0fb\u000a",
        "date" : "2020-06-15 15:09:37 +0000",
        "id" : "f678c4dfec0dc3b6b2b54aa7e6c5101d4a130430",
        "msg" : "iperf3: increase extra timeout to 30s",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl"
        ],
        "commitId" : "393cd61382405df93c3e5c5b135f6ccaacf2bb3f",
        "timestamp" : 1592233795000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_drb.cfg.tmpl: adjust default values for QCI 1 and 2\u000a\u000ause more realistic values for QCI 1 and 2 bearers to prepare\u000aQoS operation\u000a\u000aChange-Id: Ibfffde9ecccd473f22e816bd47e197fbe24b0ded\u000a",
        "date" : "2020-06-15 15:09:55 +0000",
        "id" : "393cd61382405df93c3e5c5b135f6ccaacf2bb3f",
        "msg" : "amarisoft_drb.cfg.tmpl: adjust default values for QCI 1 and 2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "sysmocom/scenarios/mod-modem-args@.conf",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "sysmocom/scenarios/mod-enb-args@.conf"
        ],
        "commitId" : "e592de80561377fdbf87b0822d2ff1f7098c0bf0",
        "timestamp" : 1592235083000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srs: Convert additional_args attr to list to allow combining different params\u000a\u000aChange-Id: I4b371332cd6fbe11b98c85c79a6f8fdcc776a57b\u000a",
        "date" : "2020-06-15 17:31:23 +0200",
        "id" : "e592de80561377fdbf87b0822d2ff1f7098c0bf0",
        "msg" : "srs: Convert additional_args attr to list to allow combining different params",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/scenarios/mod-enb-args@.conf"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/scenarios/mod-modem-args@.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/suite.py",
          "selftest/report_test/resources.conf",
          "selftest/report_test/report_test.ok",
          "selftest/report_test/expected_junit_output.xml",
          "selftest/report_test/_prep.py",
          "selftest/report_test/report_test.err",
          "selftest/report_test/report_test.ok.ign",
          "selftest/report_test/report_test.py",
          "selftest/report_test/main.conf"
        ],
        "commitId" : "d4dc2ad3a2767bcebf4eb2bba2cefee0c26f6d6e",
        "timestamp" : 1592235778000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "selftest: Add test to verify junit xml report\u000a\u000aChange-Id: I8cad02abe776cc00b513113dbaf3c948ea7956cd\u000a",
        "date" : "2020-06-15 15:42:58 +0000",
        "id" : "d4dc2ad3a2767bcebf4eb2bba2cefee0c26f6d6e",
        "msg" : "selftest: Add test to verify junit xml report",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/main.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/resources.conf"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/report_test.ok"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/report_test.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/_prep.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/report_test.ok.ign"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/expected_junit_output.xml"
          },
          {
            "editType" : "add",
            "file" : "selftest/report_test/report_test.err"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/report_test/expected_junit_output.xml",
          "selftest/report_test/report_test.ok",
          "src/osmo_gsm_tester/core/test.py",
          "selftest/report_test/report_test.py",
          "src/osmo_gsm_tester/core/report.py"
        ],
        "commitId" : "e3d1b61175d3f177ff15679954785d5d72b7ad8e",
        "timestamp" : 1592235778000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add per-test KPI support\u000a\u000atests can now use 'tenv.test().set_kpis(some_dict)' to set any kind of\u000adata as KPIs, which will be presented in the junit report.\u000a\u000aThe representation of KPIs in the xml file doesn't follow the junit\u000aformat, mainly because it has no support for per-test properties.\u000a\u000aChange-Id: I00e976f65a202e82d440bf33708f06c8ce2643e2\u000a",
        "date" : "2020-06-15 15:42:58 +0000",
        "id" : "e3d1b61175d3f177ff15679954785d5d72b7ad8e",
        "msg" : "Add per-test KPI support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/report_test/expected_junit_output.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/report_test/report_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/report_test/report_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/report.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "be50eae49b77bf6f003cf95b0eeada8cd8f886f0",
        "timestamp" : 1592251966000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: fix additional_args init\u000a\u000aregressions after porting to list. init to new empty list\u000a\u000aChange-Id: I06f370462934ca35f3aa13bbfcd9e5fc3df91895\u000a",
        "date" : "2020-06-15 22:12:46 +0200",
        "id" : "be50eae49b77bf6f003cf95b0eeada8cd8f886f0",
        "msg" : "ms_srs: fix additional_args init",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "229f11647e64bcb0b1268b5c7a2561f87256bf0f",
        "timestamp" : 1592301844000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Refactor iperf3cli popen arg list generation\u000a\u000aChange-Id: I10ab737e1317a52b6ccbd0de2470a9cf0c90c934\u000a",
        "date" : "2020-06-16 10:04:04 +0000",
        "id" : "229f11647e64bcb0b1268b5c7a2561f87256bf0f",
        "msg" : "iperf3: Refactor iperf3cli popen arg list generation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "5680255fb59b689c5aa4337541396f642af57837",
        "timestamp" : 1592301844000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Add support for setting TOS\u000a\u000aChange-Id: I3ccc249ad1c9598c606303c52eff6823f45afa7b\u000a",
        "date" : "2020-06-16 10:04:04 +0000",
        "id" : "5680255fb59b689c5aa4337541396f642af57837",
        "msg" : "iperf3: Add support for setting TOS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/manuals/chapters/test_api.adoc"
        ],
        "commitId" : "cedee0a00bdb8aa5fae121e4cbd3e41a29f97e62",
        "timestamp" : 1592301855000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "doc/manuals: Fix callout definition in code block\u000a\u000aCurrently osmo-gsm-tester master jenkins build fails while building\u000amanual due to errors like:\u000a\"asciidoc: WARNING: test_api.adoc: line 42: no callouts refer to list\u000aitem 1\"\u000a\u000aAccording to asciidoc documentation in [1], code examples can be\u000aannotated with callouts, but callouts need to be put inside source code\u000acomments.\u000a\u000a[1] http://www.methods.co.nz/asciidoc/chunked/ch20.html\u000a\u000aChange-Id: I2213874592342b12adf7440b25edc706abfc78ba\u000a",
        "date" : "2020-06-16 10:04:15 +0000",
        "id" : "cedee0a00bdb8aa5fae121e4cbd3e41a29f97e62",
        "msg" : "doc/manuals: Fix callout definition in code block",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/manuals/chapters/test_api.adoc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "62e887d9b4927d8d5d58349c2819b50e88653b63",
        "timestamp" : 1592384047000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb.cfg.tmpl: expose log options\u000a\u000athis allows to alter the log options through a modifier\u000a\u000aChange-Id: Iecd24afe6b242fbebc8463c9e1fa1c3b60b27d01\u000a",
        "date" : "2020-06-17 08:54:07 +0000",
        "id" : "62e887d9b4927d8d5d58349c2819b50e88653b63",
        "msg" : "amarisoft_enb.cfg.tmpl: expose log options",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_osmo_mobile.py"
        ],
        "commitId" : "14bb5ff9de6eac1825fbd4b87be80b37c376f065",
        "timestamp" : 1592389743000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ms_osmo_mobile.py: Fix missing sublcass implementation of abstract MS methods\u000a\u000aChange-Id: Icddab08c84ef97924d10801d7128158f515bcd01\u000a",
        "date" : "2020-06-17 12:29:03 +0200",
        "id" : "14bb5ff9de6eac1825fbd4b87be80b37c376f065",
        "msg" : "ms_osmo_mobile.py: Fix missing sublcass implementation of abstract MS methods",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_osmo_mobile.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "219ec75aa976a322558b43c20f7459104dea7c15",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "iperf3: add getter to read the actual run time of an iperf client run\u000a\u000athis is helpful to run some action for the exact run time of an iperf3\u000asession. note that if no time spec is given when calling\u000a\"prepare_test_proc()\", a modifier could set the runtime of an DL experiment\u000ato an arbitrary value so we need to have a mechanism to read\u000athe actual time from within a test\u000a\u000aChange-Id: I484a0add322ffd269a1e9df72a00cf348950b268\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "219ec75aa976a322558b43c20f7459104dea7c15",
        "msg" : "iperf3: add getter to read the actual run time of an iperf client run",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py"
        ],
        "commitId" : "0957e9e09570c9d9bd977dde742a6acc9ee96e7a",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: add getter for number of cells of an eNB\u000a\u000aIn order to set up the channel emulator we need to calculate the total\u000anumber of RF channels that a eNB has from within a test.\u000a\u000aChange-Id: If641993033eb5dcdc6e2d6afdc8426ed322241ca\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "0957e9e09570c9d9bd977dde742a6acc9ee96e7a",
        "msg" : "enb: add getter for number of cells of an eNB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "55b455cbf64bd057d659ca58d78c2d37e00509a1",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "iperf3: add getter to retrieve received bitrate\u000a\u000aChange-Id: Id5676ce002cab6d52480b9b0f996f3065fd5dda6\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "55b455cbf64bd057d659ca58d78c2d37e00509a1",
        "msg" : "iperf3: add getter to retrieve received bitrate",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl"
        ],
        "commitId" : "d5a58d0d619d29f1a50001ab534ca19272a62efb",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ltemme: add two on-demand dedicated bearer for TOS 0xb8 and 0x60\u000a\u000atwo bearer of QCI 1 and 2\u000a\u000aChange-Id: I857bed943b0184540b0a8ac696e7ebddd693be87\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "d5a58d0d619d29f1a50001ab534ca19272a62efb",
        "msg" : "ltemme: add two on-demand dedicated bearer for TOS 0xb8 and 0x60",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "7c1c8d62e8ca2e3baa9f4c51d9aca746f9dc567c",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: fix scp-back-metrics routine\u000a\u000aevery call to verify_metrics would copy back metrics again. see log here:\u000a\u000a23:29:22.149299 run                 srsue(pid=31521): Terminating (SIGINT)\u000a23:29:22.368263 run                 srsue(pid=31521): Terminated: ok {rc=0}\u000a23:29:28.401035 run      scp-back-metrics(pid=32265): Launched\u000a23:29:29.423083 run      scp-back-metrics(pid=32265): Terminated: ok {rc=0}\u000a23:29:29.490275 run      scp-back-metrics(pid=32271): Launched\u000a23:29:30.513852 run      scp-back-metrics(pid=32271): Terminated: ok {rc=0}\u000a23:29:30.550862 run      scp-back-metrics(pid=32277): Launched\u000a23:29:31.573962 run      scp-back-metrics(pid=32277): Terminated: ok {rc=0}\u000a\u000athis patch only copies back metrics only once. also make sure that, similar\u000ato logs, metrics are always copied back at the end of the run even if they\u000aare not used for metrics checking. this is needed to run the plotting\u000ascript.\u000a\u000aChange-Id: Ie7c156a5b2c8768bf90ff8e86515976e0d454c25\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "7c1c8d62e8ca2e3baa9f4c51d9aca746f9dc567c",
        "msg" : "ms_srs: fix scp-back-metrics routine",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl",
          "src/osmo_gsm_tester/templates/srsepc.conf.tmpl"
        ],
        "commitId" : "82ced3fb1da7af2875145ffb80483c0c1e2ce122",
        "timestamp" : 1592923260000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "{enb,epc,ms}_srs: expose log.all_level parameter\u000a\u000aexpose paramter to set log level, use warning as default\u000a\u000aChange-Id: I4e77e5351399aefef47a309c82b8805e2c6022c5\u000a",
        "date" : "2020-06-23 16:41:00 +0200",
        "id" : "82ced3fb1da7af2875145ffb80483c0c1e2ce122",
        "msg" : "{enb,epc,ms}_srs: expose log.all_level parameter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsepc.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "315b078fe8142e9d609e65a05c12f3a5cc4f38ce",
        "timestamp" : 1593108269000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Drop using patchelf out of PATH\u000a\u000aNew patchelf 0.11 release is out and it has fixes hitting us in both 0.9\u000aand 0.10 on different binaries. So let's simply requiring having\u000apatchelf 0.11 in all cases and be done with it (actually, if not running\u000a4G binaries, using 0.9 is enough).\u000a\u000aRelated: OS#4389\u000aChange-Id: I2701e46e7710db4c923a68e6b3a2f3c7b126f356\u000a",
        "date" : "2020-06-25 20:04:29 +0200",
        "id" : "315b078fe8142e9d609e65a05c12f3a5cc4f38ce",
        "msg" : "Drop using patchelf out of PATH",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/process.py"
        ],
        "commitId" : "20087ad8c46cbee43d83e25623dea39fcc30a074",
        "timestamp" : 1593519767000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "process: provide API to return filename for process output\u000a\u000athis is useful if the caller handles the opening/reading from\u000athe file itself\u000a\u000aChange-Id: I5e70fd1593a5bc7902fa218aae6452103545e4e0\u000a",
        "date" : "2020-06-30 14:22:47 +0200",
        "id" : "20087ad8c46cbee43d83e25623dea39fcc30a074",
        "msg" : "process: provide API to return filename for process output",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/srslte_common.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "f14ff812ced98d6be55f6ebbb39056c103ccc81d",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "{ms,enb}_srs: add method to read kpi from a test run\u000a\u000athis method uses the kpi_analyzer module for analyzing\u000astdout, CSV metrics and the logfile (if present).\u000a\u000aif the module can't be loaded, no KPI will be added.\u000a\u000aChange-Id: I28226a375f9ac4e08424c488062ae6a74a19af92\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "f14ff812ced98d6be55f6ebbb39056c103ccc81d",
        "msg" : "{ms,enb}_srs: add method to read kpi from a test run",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/srslte_common.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "0694c30c8e5f9273d81ddc0f2a66a603404ab18f",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb: update lteenb default parameter for PDCCH, SRS and CQI\u000a\u000athose configs should provide better HO performance, PDDCH format is selected automatically\u000a\u000aChange-Id: I62a4240ac062d793ae5e197f852ea09eb4fe4ae9\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "0694c30c8e5f9273d81ddc0f2a66a603404ab18f",
        "msg" : "amarisoft_enb: update lteenb default parameter for PDCCH, SRS and CQI",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/test.py"
        ],
        "commitId" : "8b27ded7812d28d1509b2718adcacb81200125ae",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "test: append KPI rather than overwrite in set_kpi() method\u000a\u000athis allows to call set_kpi() multiple times in one TC\u000a\u000aChange-Id: I5f68d9e6e1135ee2afa79c9af2ed240d371214c4\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "8b27ded7812d28d1509b2718adcacb81200125ae",
        "msg" : "test: append KPI rather than overwrite in set_kpi() method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
        ],
        "commitId" : "9df7cd0a12cc1a1a736b56fb088c24ca80249be6",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsue.conf.tmpl: add default EARFCNs for 4xCA config\u000a\u000aChange-Id: I553241735b5e204cb4be03936b90628d156c418c\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "9df7cd0a12cc1a1a736b56fb088c24ca80249be6",
        "msg" : "srsue.conf.tmpl: add default EARFCNs for 4xCA config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py"
        ],
        "commitId" : "ba40facbafebddbcae169585b71abb77b89c1faf",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_srs: remove comment introduced through copy+paste\u000a\u000aChange-Id: I7d14ae5c17bd1cd1c1b23657dc60dc331519e32c\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "ba40facbafebddbcae169585b71abb77b89c1faf",
        "msg" : "enb_srs: remove comment introduced through copy+paste",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "f8c99a863d025f2f5526bedb56d70fa6ba36503d",
        "timestamp" : 1593593529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: add min_rolling_average calculation\u000a\u000auseful metric to detect low/zero downlink throughput for longer\u000atime periods\u000a\u000aChange-Id: I77a82a68689bc6c21cb9227dc9e7616d03e2b547\u000a",
        "date" : "2020-07-01 10:52:09 +0200",
        "id" : "f8c99a863d025f2f5526bedb56d70fa6ba36503d",
        "msg" : "ms_srs: add min_rolling_average calculation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "2ebcff934da6c7e481ad8eeda99ca626e721e725",
        "timestamp" : 1593599311000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: register log options as config scheme\u000a\u000aallows setting those in scenario files\u000a\u000aChange-Id: Idefd3c628441ededbee9411117ec426dd585eae0\u000a",
        "date" : "2020-07-01 12:28:31 +0200",
        "id" : "2ebcff934da6c7e481ad8eeda99ca626e721e725",
        "msg" : "enb_amarisoft: register log options as config scheme",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/obj/stress.py"
        ],
        "commitId" : "969a4eebaefdeb62a80b9f6b746ba69574a14c0a",
        "timestamp" : 1593688968000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce stress tool object\u000a\u000aThis object allows to run the \"stress\" cmdline program in the background\u000aon the specifies run_node, to simulate system load.\u000a\u000aTo run stress, a test can simply do:\u000astress = tenv.stress(epc.run_node())\u000astress.start(cpu_workers=2, mem_workers=1, io_workers=1)\u000a\u000aAnd the test environment will remember to stop it when the test finishes.\u000a\u000aChange-Id: I21023e6c64c48109f294291bfe3d8d8f4e1de038\u000a",
        "date" : "2020-07-02 13:22:48 +0200",
        "id" : "969a4eebaefdeb62a80b9f6b746ba69574a14c0a",
        "msg" : "Introduce stress tool object",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/stress.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "sysmocom/defaults.conf"
        ],
        "commitId" : "955249d39da8f1d01b5876cd274c6fb283737c2c",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_amarisoft: add option to enable and configure DL AWGN channel\u000a\u000aexpose option to enable DL AWGN noise and make SNR configurable\u000a\u000aChange-Id: Ib248e87e5abd855d4c974eab42ec40828c6e1d40\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "955249d39da8f1d01b5876cd274c6fb283737c2c",
        "msg" : "enb_amarisoft: add option to enable and configure DL AWGN channel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu_minicircuits.py"
        ],
        "commitId" : "69dd689644f65bf6132a6743644de5be9ff178aa",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "rfemu_minicircuits: reset attenuation to zero in dtor\u000a\u000athis avoids issues when the channel emulation stops in the middle\u000aof a high attenuation values and the device is left in this state.\u000a\u000aChange-Id: I9aeafc68bf81b8932aac4cb28040b9aea6bfcbdb\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "69dd689644f65bf6132a6743644de5be9ff178aa",
        "msg" : "rfemu_minicircuits: reset attenuation to zero in dtor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_minicircuits.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
        ],
        "commitId" : "59c83a2159cd646683c59d5b1c703d89a1c718a7",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srsue.conf.tmpl: use UE cat 8 whenever more than one carrier is configured\u000a\u000aChange-Id: Id96827960cac436b8ac363e28c2b0ab7b6acf57f\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "59c83a2159cd646683c59d5b1c703d89a1c718a7",
        "msg" : "srsue.conf.tmpl: use UE cat 8 whenever more than one carrier is configured",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "008fd3194bd5641106a5361c33179ab9b5f8b453",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "enb_amarisoft: add support for PHY signal log file\u000a\u000awhen phy.signal=1 is set in the log_options, the eNB will dump\u000aa binary file that needs to be copied back as well\u000a\u000aChange-Id: I63d13cb74572ac065d5a3fcfb1632552d0a6dbc6\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "008fd3194bd5641106a5361c33179ab9b5f8b453",
        "msg" : "enb_amarisoft: add support for PHY signal log file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-srslte.sh"
        ],
        "commitId" : "b92e2d1c9932ebcdd0f2b3f2193d86a02c617815",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "jenkins-build-srslte.sh: pass extra configuration_opts to build_repo\u000a\u000athis allows to pass extra CMake opts to, e.g., enable address sanitizer\u000a\u000aChange-Id: I6fd00025a7225b1e075704d69354a8eb5e7f30ec\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "b92e2d1c9932ebcdd0f2b3f2193d86a02c617815",
        "msg" : "jenkins-build-srslte.sh: pass extra configuration_opts to build_repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-srslte.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsepc.conf.tmpl"
        ],
        "commitId" : "1dddb7b264bdeb24ddf338b3b93d3dc6a657968b",
        "timestamp" : 1594302180000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "srsepc.conf.tmpl: zero-pad mnc and mcc in config\u000a\u000asrsEPC expect zero-padding MNC/MCC in config file. However,\u000a001 and mcc will end up as 1 in the rendered template.\u000aTherefore, they need to be formatted correctly.\u000a\u000aChange-Id: Ie63cd1b15b961e493a6dcbd7e5a4fbabe0bb6f33\u000a",
        "date" : "2020-07-09 13:43:00 +0000",
        "id" : "1dddb7b264bdeb24ddf338b3b93d3dc6a657968b",
        "msg" : "srsepc.conf.tmpl: zero-pad mnc and mcc in config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsepc.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-amarisoft.sh"
        ],
        "commitId" : "f1b43f956c8175aea0cfa5be7c88808af2ffb079",
        "timestamp" : 1594647915000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib/jenkins-build-amarisoft.sh: Pass srsLTE.git branch explicitly\u000a\u000aThis allows easily changing the branch for local builds.\u000a\u000aChange-Id: I9765e1ebdd7488788be5f5c7259cf8b6e04e58f6\u000a",
        "date" : "2020-07-13 15:45:15 +0200",
        "id" : "f1b43f956c8175aea0cfa5be7c88808af2ffb079",
        "msg" : "contrib/jenkins-build-amarisoft.sh: Pass srsLTE.git branch explicitly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-amarisoft.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-amarisoft.sh"
        ],
        "commitId" : "4130eef9651088634c129d310d2ff4a05221f353",
        "timestamp" : 1594649140000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib/jenkins-build-amarisoft.sh: Allow generating trial without lteue\u000a\u000aSome Amarisoft bundles may come without lteue in it. Allow the script to\u000arun if that's the case by setting an envvar.\u000a\u000aChange-Id: I363b44cd8aa48f80d24219b6bf5b3ebde580e3c3\u000a",
        "date" : "2020-07-13 16:05:40 +0200",
        "id" : "4130eef9651088634c129d310d2ff4a05221f353",
        "msg" : "contrib/jenkins-build-amarisoft.sh: Allow generating trial without lteue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-amarisoft.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh"
        ],
        "commitId" : "f96d590703e6328c181414b8315f41a43e05e95f",
        "timestamp" : 1594657163000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "amarisoft_ltemme_ifup.sh: use ip cmd instead of ifconfig\u000a\u000aifconfig is deprecated and not available in newer distros.\u000a\u000aChange-Id: I93e4b7f3c9bee2563c0e01a1ff7e832e5098cf1f\u000a",
        "date" : "2020-07-13 18:19:23 +0200",
        "id" : "f96d590703e6328c181414b8315f41a43e05e95f",
        "msg" : "amarisoft_ltemme_ifup.sh: use ip cmd instead of ifconfig",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl",
          "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl",
          "src/osmo_gsm_tester/obj/epc_amarisoft.py",
          "sysmocom/resources.conf.prod",
          "src/osmo_gsm_tester/obj/ms_amarisoft.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/core/schema.py",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl",
          "src/osmo_gsm_tester/obj/ms.py"
        ],
        "commitId" : "0f7f265114742ba2ca9e88c0dfb94ffe5537d72e",
        "timestamp" : 1594658033000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "4G: Add milenage support\u000a\u000aChange-Id: I4c1fb9bfec9927f2bfa29e6b27959323838f59e5\u000a",
        "date" : "2020-07-13 18:33:53 +0200",
        "id" : "0f7f265114742ba2ca9e88c0dfb94ffe5537d72e",
        "msg" : "4G: Add milenage support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "6b9a50e2e12423e2a3f5181bf24294d1297d7ab7",
        "timestamp" : 1594660049000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Avoid creating empty log file\u000a\u000aSince a while ago, we avoid by default using the --logfile param to log\u000athe json output to a different file, in order to stay compatible with\u000aolder versions of iperf3.\u000aHowever, the local logfile was still being created, and was not\u000aoverwritten with the remote file with content because there's none\u000acreated remotely (due to reasons explained above).\u000a\u000aChange-Id: I218ec28dc65febc7bd083d6d15854319bf4f3daf\u000a",
        "date" : "2020-07-13 19:07:29 +0200",
        "id" : "6b9a50e2e12423e2a3f5181bf24294d1297d7ab7",
        "msg" : "iperf3: Avoid creating empty log file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "03fab0922e6a1e0968836157fdcfd69ee67d4294",
        "timestamp" : 1594660435000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: server: Avoid copying logfile during cleanup if already copied previously\u000a\u000aChange-Id: I44e28f326fd476d27eb021922d38e9ca913aec69\u000a",
        "date" : "2020-07-13 19:13:55 +0200",
        "id" : "03fab0922e6a1e0968836157fdcfd69ee67d4294",
        "msg" : "iperf3: server: Avoid copying logfile during cleanup if already copied previously",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "5c4c052d81aa13383a2d67ac8aa2b333d8e43813",
        "timestamp" : 1594802898000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_{mme,enb}: make sure mcc/mnc are zero padded\u000a\u000asame as for srsEPC this is also required for Amarisoft MME and eNB to support, i.e. 001/01\u000a\u000aNote that the 3 digit MNC isn't covered by this.\u000a\u000aChange-Id: I80a84e01ec9530c285634452d7c18c17bdd595ce\u000a",
        "date" : "2020-07-15 10:48:18 +0200",
        "id" : "5c4c052d81aa13383a2d67ac8aa2b333d8e43813",
        "msg" : "amarisoft_{mme,enb}: make sure mcc/mnc are zero padded",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/iperf3.py"
        ],
        "commitId" : "053ee5fbb75099704c085c3fb23536b22c42d324",
        "timestamp" : 1594806503000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "iperf3: increase additional wait time for iperf client\u000a\u000awe've noticed that the Iperf client times out too soon in\u000asome experiment. It seems that this happens with ZMQ if\u000athe RAT is too slow (slower than realtime) and the eNB buffers\u000atoo much data. This causes iperf to still receive DL data\u000afor example long after the configured runtime.\u000a\u000aChange-Id: I9b823ab22812c96920d54fb7342c8d4c578d5270\u000a",
        "date" : "2020-07-15 11:48:23 +0200",
        "id" : "053ee5fbb75099704c085c3fb23536b22c42d324",
        "msg" : "iperf3: increase additional wait time for iperf client",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl"
        ],
        "commitId" : "bafedff96355227d6dd01c8d3a05a50b0c1731a8",
        "timestamp" : 1594816163000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_drb: adapt QCI 8 config for ZMQ operation\u000a\u000awe use the otherwise unused QCI 8 as a slightly modified\u000aversion of QCI 7 (default RLC UM) with a PDCP discard\u000atimer set to infinity to avoid dropping PDCP SDUs if\u000apackets arive faster than can be processed in the DL\u000a\u000aChange-Id: I06b7b583701f90827fba36564f969b5d58c9b9ad\u000a",
        "date" : "2020-07-15 14:29:23 +0200",
        "id" : "bafedff96355227d6dd01c8d3a05a50b0c1731a8",
        "msg" : "amarisoft_drb: adapt QCI 8 config for ZMQ operation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "dbe4bb3cb1dc2ad1d006708a19cd30c5419af6d2",
        "timestamp" : 1594817031000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb.cfg.tmpl: enable eNB PCAP if configured\u000a\u000aenable PCAP output in eNB config\u000a\u000aChange-Id: I8482315ce854c5b21a90b77de55dbb82f3049bcd\u000a",
        "date" : "2020-07-15 14:43:51 +0200",
        "id" : "dbe4bb3cb1dc2ad1d006708a19cd30c5419af6d2",
        "msg" : "amarisoft_enb.cfg.tmpl: enable eNB PCAP if configured",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl"
        ],
        "commitId" : "6039c1ce4fb80998795ecb0cd65f05aadd410a0c",
        "timestamp" : 1594884644000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_drb.conf.tmpl: add QCI8 config\u000a\u000aadd QCI config with RLC UM and PDCP SDU discard set to infinity\u000a\u000aChange-Id: If946f569f7bbb98fc754f30ff5627fa5ca4afe68\u000a",
        "date" : "2020-07-16 09:30:44 +0200",
        "id" : "6039c1ce4fb80998795ecb0cd65f05aadd410a0c",
        "msg" : "srsenb_drb.conf.tmpl: add QCI8 config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/core/suite.py"
        ],
        "commitId" : "d81b1e4499c2ceb3f8abd4a57b8740d8ecc8d673",
        "timestamp" : 1595324580000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "suite: fix runtime error when suite.duration is None\u000a\u000areport generation failed when duration was not set correctly\u000aand None was returned. Use 0 as duration by default.\u000a\u000aChange-Id: Ia654c67bf2dcce432f84e869550c516d8d5a07a0\u000a",
        "date" : "2020-07-21 11:43:00 +0200",
        "id" : "d81b1e4499c2ceb3f8abd4a57b8740d8ecc8d673",
        "msg" : "suite: fix runtime error when suite.duration is None",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/core/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
        ],
        "commitId" : "ed5c7761007eacc8b8ea5db1a14ada0a9acddb4d",
        "timestamp" : 1596653844000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ttcn3/lib/testlib.py: make list of kwargs git friendly\u000a\u000aChange-Id: I3b9e8d95b871f8bf5043b168fee0716c71becbe5\u000a",
        "date" : "2020-08-06 01:57:24 +0700",
        "id" : "ed5c7761007eacc8b8ea5db1a14ada0a9acddb4d",
        "msg" : "ttcn3/lib/testlib.py: make list of kwargs git friendly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py",
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
        ],
        "commitId" : "d1cb75935aaa947b18342475c508b6c5c96fe71a",
        "timestamp" : 1596653845000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ttcn3/lib/testlib.py: implement the concept of test case groups\u000a\u000aChange-Id: I687c221e4a6c7232290509cb11a3158d72b9c2c3\u000a",
        "date" : "2020-08-06 01:57:25 +0700",
        "id" : "d1cb75935aaa947b18342475c508b6c5c96fe71a",
        "msg" : "ttcn3/lib/testlib.py: implement the concept of test case groups",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
        ],
        "commitId" : "e42631a7308fbc64f6e36adbbaf66990834e6552",
        "timestamp" : 1596653963000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm}\u000a\u000aChange-Id: I8eb28584e90ad012cbf7f3175ee3a8e775c8d523\u000a",
        "date" : "2020-08-06 01:59:23 +0700",
        "id" : "e42631a7308fbc64f6e36adbbaf66990834e6552",
        "msg" : "ttcn3/suites/bts: also enable both BTS_Tests_{SMSCB,LAPDm}",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
        ],
        "commitId" : "ac5f6f8bdc2d99af9237da850a1742c10e3eb8cf",
        "timestamp" : 1596654376000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1'\u000a\u000aChange-Id: Ie3457f10f1a398c8cce6737002410f42ad908702\u000a",
        "date" : "2020-08-06 02:06:16 +0700",
        "id" : "ac5f6f8bdc2d99af9237da850a1742c10e3eb8cf",
        "msg" : "ttcn3/suites/scripts: collect core dumps: add '--ulimit core=-1'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
        ],
        "commitId" : "25743bc482ba8670d7a3c020d867eac5c40b9787",
        "timestamp" : 1597388753000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ttcn3/lib/testlib.py: increase test suite execution timeout\u000a\u000aSince I8eb28584e90ad012cbf7f3175ee3a8e775c8d523, the test suite\u000ais supposed to run both BTS_Tests_{SMSCB,LAPDm}.control among with\u000aBTS_Tests.control.  Apparently this requires more time than 3600\u000aseconds, so everything is broken since build #2652 in Jenkins.\u000a\u000aChange-Id: Ieceab920a94cbf92ff6c83a59d572f22e8ae933f\u000a",
        "date" : "2020-08-14 14:05:53 +0700",
        "id" : "25743bc482ba8670d7a3c020d867eac5c40b9787",
        "msg" : "ttcn3/lib/testlib.py: increase test suite execution timeout",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "a7b21a888bfaa8fe3477ae35920d93f93f09ccfb",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srs{ue,enb}.conf.tmpl: remove restriction of PHY threads for ZMQ\u000a\u000awe now support any number of PHY threads also with ZMQ operation\u000a\u000aChange-Id: I31abfce742f757179fbfe4099cd0a934db4e63d7\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "a7b21a888bfaa8fe3477ae35920d93f93f09ccfb",
        "msg" : "srs{ue,enb}.conf.tmpl: remove restriction of PHY threads for ZMQ",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py"
        ],
        "commitId" : "58422c5e870ce8fe8c27be93d57f4401e4466dc2",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_srs: add sleep after stopping srsENB to allow log flush\u000a\u000aadd similar concept used in the UE to allow the process to flush\u000athe logs\u000a\u000aChange-Id: I9f8341869f89cd7ae845072b9da4f6070fa2d242\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "58422c5e870ce8fe8c27be93d57f4401e4466dc2",
        "msg" : "enb_srs: add sleep after stopping srsENB to allow log flush",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
        ],
        "commitId" : "d899cf4b4e3314ec148cd4855c0d22fb74421cea",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "rfemu_amarisoft: handle exception and log event if WS is closed\u000a\u000athe WS is closed if the eNB process dies. this patch will log an\u000aevent but not stop the experiment.\u000a\u000aChange-Id: I0fafc7e38954400540375d51813e96500700f50c\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "d899cf4b4e3314ec148cd4855c0d22fb74421cea",
        "msg" : "rfemu_amarisoft: handle exception and log event if WS is closed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "736c30b4dcb3899c57f763259869a455f55efe41",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1\u000a\u000athis gives higher UL throughput because less resources are reserved for\u000aSR/CQI. For more users we may have to make the value configurable again.\u000a\u000aChange-Id: If6c313a1deafffda26e9effeb807ca71064c46bc\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "736c30b4dcb3899c57f763259869a455f55efe41",
        "msg" : "srsenb_rr.conf.tmpl: reduce PUCCH PRBs for SR and CQI to 1",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl",
          "sysmocom/defaults.conf"
        ],
        "commitId" : "0cfc08436dafa5e37eef91b6f7e4fe50b5a08035",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb: expose RRC inactivity timer\u000a\u000aallow the user to specifiy the RRC inactiviy timer used in the eNB.\u000aset the default value to 20s\u000a\u000aChange-Id: I6a264b8dee893b883d40a48831cbb47eb15e1e7b\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "0cfc08436dafa5e37eef91b6f7e4fe50b5a08035",
        "msg" : "enb: expose RRC inactivity timer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "9bcbb9aea77f944b87ba098123e6b15f5d029992",
        "timestamp" : 1598535474000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: trim leading zeros in UE metrics when calculating min_rolling_avg\u000a\u000athis avoids a false negative detection when the UE attach takes a bit\u000alonger and the first seconds all zeros are reported in the CSV\u000a\u000athe HO test, for example, would fail in such a case as it expects\u000ano zero TP over the course of the experiment.\u000a\u000aChange-Id: I96dab17bb19249504dedda6659aed5eac0a65a26\u000a",
        "date" : "2020-08-27 15:37:54 +0200",
        "id" : "9bcbb9aea77f944b87ba098123e6b15f5d029992",
        "msg" : "ms_srs: trim leading zeros in UE metrics when calculating min_rolling_avg",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/iperf3_dl.py",
          "sysmocom/suites/4g/iperf3_ul.py"
        ],
        "commitId" : "cda03cb81557402f06dd8414d89a4fb5a3d1f545",
        "timestamp" : 1598604961000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "4g: consider number of component carriers for max rate calculation\u000a\u000awhen carrier aggregation is enabled we need to multiply the\u000amax rate of a single carrier with the number of carriers to\u000aget the actual achievable rate\u000a\u000aChange-Id: I70d850c0996ed461d3733e911adc33f3554c297c\u000a",
        "date" : "2020-08-28 10:56:01 +0200",
        "id" : "cda03cb81557402f06dd8414d89a4fb5a3d1f545",
        "msg" : "4g: consider number of component carriers for max rate calculation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
        ],
        "commitId" : "a7a89bdd32bba280967b6a76964366eeffdcb59b",
        "timestamp" : 1600425805000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts-trx: Disable power-ramp\u000a\u000aPower ramping features were implemented recently for osmo-bts-trx. We\u000adon't want to enable them because it makes phones take longer (if even\u000aat all) to find the network.\u000a\u000aChange-Id: I35e2f560b28eddef886ad3b2f8ffb4ff79be77da\u000a",
        "date" : "2020-09-18 12:43:25 +0200",
        "id" : "a7a89bdd32bba280967b6a76964366eeffdcb59b",
        "msg" : "bts-trx: Disable power-ramp",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
        ],
        "commitId" : "1b99ad67d27e90a964d69d91e1ff6c05a1244f86",
        "timestamp" : 1600428500000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx: Set more restrictive logging levels to avoid sporadic high load on stderr\u000a\u000aChange-Id: I9dca89027d9015b946440363eae5f7bd3e082268\u000a",
        "date" : "2020-09-18 13:28:20 +0200",
        "id" : "1b99ad67d27e90a964d69d91e1ff6c05a1244f86",
        "msg" : "osmo-trx: Set more restrictive logging levels to avoid sporadic high load on stderr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py"
        ],
        "commitId" : "7cb6badec10e5f1deba16a52d834c12929654027",
        "timestamp" : 1600435030000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Fix missing import module util\u000a\u000autil module is used in prompt() method (debug suite, interactive test).\u000a\u000aChange-Id: I9bb759d053a99108f121f1c4f7994726b6075fee\u000a",
        "date" : "2020-09-18 15:17:10 +0200",
        "id" : "7cb6badec10e5f1deba16a52d834c12929654027",
        "msg" : "testenv: Fix missing import module util",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-trx.sh"
        ],
        "commitId" : "2159cfe01fe4f4edf95a4a9fccc34f7907b655fc",
        "timestamp" : 1600454882000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: osmo-trx: Drop explicit --without-sse\u000a\u000aNowadays we have instruction set runtime detection, so there's no point\u000ain disabling it in the binary, specially because nowadays we run in sse\u000acapable host (despite in the past we didn't and there was no runtime\u000adetection, hence why was it explicitly disabled).\u000a\u000aChange-Id: I2ffdc60c7644bb514a3854965d17109e91dda800\u000a",
        "date" : "2020-09-18 20:48:02 +0200",
        "id" : "2159cfe01fe4f4edf95a4a9fccc34f7907b655fc",
        "msg" : "contrib: osmo-trx: Drop explicit --without-sse",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-trx.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/suites/4g/iperf3_dl.py",
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "sysmocom/suites/4g/iperf3_ul.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "7d3b83ee9335f261124ac2c82603cd287d61765f",
        "timestamp" : 1600596077000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "enb: incorporate number of carriers into ue_max_rate() API\u000a\u000athis allows the enb to calculate the max rate in a single\u000aspot rather than each test individually\u000a\u000aChange-Id: Id225a986e0b271cf9c057c74c9aefd6c7f3d39d6\u000a",
        "date" : "2020-09-20 10:01:17 +0000",
        "id" : "7d3b83ee9335f261124ac2c82603cd287d61765f",
        "msg" : "enb: incorporate number of carriers into ue_max_rate() API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_dl.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/suites/4g/iperf3_ul.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "4db88de2fa559c436558866b83567a70a6ddaa50",
        "timestamp" : 1600596077000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "enb_srs: expose DL AWGN channel modifier for srsENB\u000a\u000awe've added the modifier to configure Amarisoft eNB channel\u000amodel. This patch enables it for srsENB.\u000a\u000aChange-Id: I30e65d0431b2d2792986128287caf8b23a22b2c1\u000a",
        "date" : "2020-09-20 10:01:17 +0000",
        "id" : "4db88de2fa559c436558866b83567a70a6ddaa50",
        "msg" : "enb_srs: expose DL AWGN channel modifier for srsENB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "645b5ccd8eacff8c27bd6b985e38c5d0971eccd8",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: temporary reduce max UL rate on 2nd CC\u000a\u000athis is due to a confirmed bug in Amarisoft eNB. will\u000abe reverted as soon as the fix is released.\u000a\u000aChange-Id: I182b46cf9e6c2f428c9535edf3c7df3daa912f18\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "645b5ccd8eacff8c27bd6b985e38c5d0971eccd8",
        "msg" : "enb_amarisoft: temporary reduce max UL rate on 2nd CC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "52fb33cd9cc47cec4f1e6b98ee7cb67f8036c628",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_rr.conf.example: comment CQI and SR specific subframes\u000a\u000athis enables auto-selection by eNB which has been implemented\u000arecently\u000a\u000aChange-Id: I17e16c5c47a2fba5c2955a1c3e6e0e16f83bab72\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "52fb33cd9cc47cec4f1e6b98ee7cb67f8036c628",
        "msg" : "srsenb_rr.conf.example: comment CQI and SR specific subframes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py"
        ],
        "commitId" : "3d3bbcb3aead318b11d0ebc957358d29779f19f4",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "reduce max expected UL rate for 4xCA 100 PRB\u000a\u000athis needs to be reverte once extendedBSRs are supported\u000a\u000aChange-Id: I8432c744868afe43e2b150f6fcecd8cb3a0458a3\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "3d3bbcb3aead318b11d0ebc957358d29779f19f4",
        "msg" : "reduce max expected UL rate for 4xCA 100 PRB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/obj/srslte_common.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "99fb78bfca03b97f1bd5b5cbbd5b39db85d702f0",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "{enb,epc,ms}_srs: refactor start/stop and KPI helpers\u000a\u000arefactor some of the functionality to srslte_common\u000a\u000aChange-Id: I2ff36df6f1a07ed8ddac39d296d62fe44a215283\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "99fb78bfca03b97f1bd5b5cbbd5b39db85d702f0",
        "msg" : "{enb,epc,ms}_srs: refactor start/stop and KPI helpers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/srslte_common.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "eb991f5f5ab20a4456146171d3823079a780ae22",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb_rr.conf.tmpl: set TAC for cells to 0x0007\u000a\u000athis is the default TAC used in the EPC. A recent EPC patch\u000awill reject the S1 setup request if the TACs don't match\u000a\u000aChange-Id: I94fdb96631ce3ae35a1b2a9f90d1101df9161233\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "eb991f5f5ab20a4456146171d3823079a780ae22",
        "msg" : "srsenb_rr.conf.tmpl: set TAC for cells to 0x0007",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "a9fb751e69bb2ae7a2154e51c2ae0289456d8172",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: fix ZMQ config for 4xCA\u000a\u000aadd missing freq config for 4xCA\u000a\u000aChange-Id: I88a389f5b03d6b55ff5ef403d5107c648a11686f\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "a9fb751e69bb2ae7a2154e51c2ae0289456d8172",
        "msg" : "ms_srs: fix ZMQ config for 4xCA",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl"
        ],
        "commitId" : "dda20e27e91f504f8a3deef97dc20b9d12bd67d0",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_sib23.asn.tmpl: set p-b value in SIB23 depending on TM\u000a\u000athis fixes a wrong p-b value used for TM2 and above\u000a\u000aChange-Id: I89c557c456f3330f491cc66bc4931a0234bf6e02\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "dda20e27e91f504f8a3deef97dc20b9d12bd67d0",
        "msg" : "amarisoft_sib23.asn.tmpl: set p-b value in SIB23 depending on TM",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "0908ceb0eb2f459d4e4cd93c663b89da80e66a9a",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb.cfg.tmpl: use default tac 0007\u000a\u000athis is the tac used in srsepc.\u000a\u000aChange-Id: I1de432a52281ea210abae5648239fd89ba5eb4ce\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "0908ceb0eb2f459d4e4cd93c663b89da80e66a9a",
        "msg" : "amarisoft_enb.cfg.tmpl: use default tac 0007",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "0e00f38aa2eb8c0eb9a4dad1f39af1500ddd76a9",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "lte: update UHD device args for MIMO usage\u000a\u000athe USRP B210 device args were not ideal for MIMO configs for\u000aboth Amarisoft and srsLTE.\u000a\u000aChange-Id: I3785bb96eb7c10a6b10b3d1a86fa71d1f787a7a3\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "0e00f38aa2eb8c0eb9a4dad1f39af1500ddd76a9",
        "msg" : "lte: update UHD device args for MIMO usage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "51fa94199411e3ada3baf660dd3daf7ecfb44354",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb.cfg.tmpl: increas threshold for failed UL retransmissions\u000a\u000athis avoids the eNB from releasing the UE too early if the UL channel\u000astays very bad for a longer time but many PUSCH are scheduled\u000a\u000aChange-Id: Ib82616e920eecc70fbded12433e54bd90ae1bcd4\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "51fa94199411e3ada3baf660dd3daf7ecfb44354",
        "msg" : "amarisoft_enb.cfg.tmpl: increas threshold for failed UL retransmissions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_amarisoft.py"
        ],
        "commitId" : "c1c2f3d16fafe0ae18222eed1373a3d070e75e21",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: reduce max achievable UL rate for 100 PRB\u000a\u000aChange-Id: Ib7a0b8e2948cdf6c0a15d4ad2bf7d218a6b28ea2\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "c1c2f3d16fafe0ae18222eed1373a3d070e75e21",
        "msg" : "enb_amarisoft: reduce max achievable UL rate for 100 PRB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
        ],
        "commitId" : "a9bbbd64e4790391ff87d145f302c3c211b8d97b",
        "timestamp" : 1601898552000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "amarisoft_enb.cfg.tmpl: seperate PRACH root sequences for cells\u000a\u000aseperate the root sequence index for each cell a bit more to\u000aavoid detection of a single PRACH in both cells\u000a\u000aChange-Id: I5aea1a27939c880944779c282e902465ab513715\u000a",
        "date" : "2020-10-05 13:49:12 +0200",
        "id" : "a9bbbd64e4790391ff87d145f302c3c211b8d97b",
        "msg" : "amarisoft_enb.cfg.tmpl: seperate PRACH root sequences for cells",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/srslte_common.py"
        ],
        "commitId" : "f4fb48af9ae8d5d8694d34bbd813aa68df748ea0",
        "timestamp" : 1601904257000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srslte_common: add get_num_phy_errors() method\u000a\u000athe get_num_phy_errors() uses the external KPI analyzer module\u000ato calculate the number of PHY layers errors in a vector of log metrics\u000a\u000aChange-Id: I0c8de87e7f83f986e288585640ce56847959c497\u000a",
        "date" : "2020-10-05 15:24:17 +0200",
        "id" : "f4fb48af9ae8d5d8694d34bbd813aa68df748ea0",
        "msg" : "srslte_common: add get_num_phy_errors() method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/srslte_common.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/srslte_common.py"
        ],
        "commitId" : "182109db4d4b7b54db45e5970744f8b40a5315c4",
        "timestamp" : 1601920993000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srslte_common: fix indent in whole file\u000a\u000aChange-Id: I8aee79e9d451761dde8f35f84d75483dc4e23040\u000a",
        "date" : "2020-10-05 20:03:13 +0200",
        "id" : "182109db4d4b7b54db45e5970744f8b40a5315c4",
        "msg" : "srslte_common: fix indent in whole file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/srslte_common.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "e3a1910915c07453b21f49efd6b1300c819da6c5",
        "timestamp" : 1601970766000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "ms_srs: add freq_offset as resource param\u000a\u000athis allows to specify a freq tuning offset in Hz in the MS resource config\u000a\u000aChange-Id: Iab726edd27e890d2c2dddbea91afe80d8a5068aa\u000a",
        "date" : "2020-10-06 09:52:46 +0200",
        "id" : "e3a1910915c07453b21f49efd6b1300c819da6c5",
        "msg" : "ms_srs: add freq_offset as resource param",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-amarisoft.sh"
        ],
        "commitId" : "4bf20439da9cf268652c2d5ae80e7cfa2d21e3d2",
        "timestamp" : 1602164748000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "jenkins-build-amarisoft: fix build script for ZMQ module\u000a\u000anewer versions of srsLTE create symlinks with the rf library\u000aincluding the version, see below. This caused the trx_zmq.so\u000alib to load .so.0 instead of .so only. this patch adds\u000aanother symlink so loading works fine again\u000a\u000alibsrslte_rf.so -> libsrslte_rf.so.0\u000alibsrslte_rf.so.0 -> libsrslte_rf.so.20.10.0\u000alibsrslte_rf.so.20.10.0\u000a\u000aChange-Id: Ib5302c9872f4c82a1ee5074f59de86709aa6c5a9\u000a",
        "date" : "2020-10-08 15:45:48 +0200",
        "id" : "4bf20439da9cf268652c2d5ae80e7cfa2d21e3d2",
        "msg" : "jenkins-build-amarisoft: fix build script for ZMQ module",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-amarisoft.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb.py",
          "src/osmo_gsm_tester/obj/enb_amarisoft.py",
          "sysmocom/defaults.conf",
          "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
        ],
        "commitId" : "c489f190bea8fbb74e37857b4f44c28ea68e1965",
        "timestamp" : 1602514031000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "enb_amarisoft: add rf_dev_sync option to specify the sync type\u000a\u000athis allows to specify \"external_clock\" for example to use\u000athe external REF input of an USRP\u000a\u000aChange-Id: Ie066993440840cbd2c18e8f0c0c577b92ac7092d\u000a",
        "date" : "2020-10-12 16:47:11 +0200",
        "id" : "c489f190bea8fbb74e37857b4f44c28ea68e1965",
        "msg" : "enb_amarisoft: add rf_dev_sync option to specify the sync type",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_amarisoft.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/templates/srsue.conf.tmpl",
          "src/osmo_gsm_tester/obj/ms_srs.py",
          "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
        ],
        "commitId" : "b5f044402123cfb8afc820a60fe9a750ce69d33b",
        "timestamp" : 1602516445000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srs{enb,ue}: add rf_dev_sync option to config templates\u000a\u000apass-through the option so they can be used in templates\u000a\u000ajust concatenate with rf_dev_args for srsLTE eNB/UE, arguments\u000aparsing will handle them\u000a\u000aChange-Id: I3818026c159780f29968888f547163cdf730afad\u000a",
        "date" : "2020-10-12 17:27:25 +0200",
        "id" : "b5f044402123cfb8afc820a60fe9a750ce69d33b",
        "msg" : "srs{enb,ue}: add rf_dev_sync option to config templates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb.conf.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsue.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu.py",
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py",
          "sysmocom/defaults.conf"
        ],
        "commitId" : "1f46d24935c2c61120ba53332a6ec1c468ea4b66",
        "timestamp" : 1602528418000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "Introduce RFemu stdin implementation for srsENB\u000a\u000aChange-Id: I5487dec3691cbf424306369f94f337ed34a10c70\u000a",
        "date" : "2020-10-12 20:46:58 +0200",
        "id" : "1f46d24935c2c61120ba53332a6ec1c468ea4b66",
        "msg" : "Introduce RFemu stdin implementation for srsENB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmocom/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "9ff1eabdb1a5bc640b517c1c56de1160de11c591",
        "timestamp" : 1602529081000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb: Fix ECI in handover cell list\u000a\u000aSo far we only support setting cell IDs from same ENB. Support for\u000ahandover to other ENB will come later, probably by adding some API to be\u000acalled during the test to add own's CellID's to other ENB's config.t\u000a\u000aChange-Id: I1780bda130cde0faab15d4032117e0aa2b9c5dbe\u000a",
        "date" : "2020-10-12 20:58:01 +0200",
        "id" : "9ff1eabdb1a5bc640b517c1c56de1160de11c591",
        "msg" : "srsenb: Fix ECI in handover cell list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
        ],
        "commitId" : "10c64fee41fdf68eb1623f4d4ac780b66cb52f0d",
        "timestamp" : 1602575745000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "srsenb: Activate handover in config file\u000a\u000aThis is needed to test handover features.\u000a\u000aChange-Id: Ifa8462f4d1e183e73b059a7af37bcdf7b3e247f6\u000a",
        "date" : "2020-10-13 09:55:45 +0200",
        "id" : "10c64fee41fdf68eb1623f4d4ac780b66cb52f0d",
        "msg" : "srsenb: Activate handover in config file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/enb_srs.py",
          "src/osmo_gsm_tester/obj/epc_srs.py",
          "src/osmo_gsm_tester/obj/ms_srs.py"
        ],
        "commitId" : "54307cbf09620fccfaa04602568f3457d9f48c45",
        "timestamp" : 1602604658000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "{enb,epc,ms}_srs: remove uneeded class variable\u000a\u000aself.kpis is define in base class\u000a\u000aChange-Id: I49c9c9cdf7bc31270d3cfe182a79b197a742dd2c\u000a",
        "date" : "2020-10-13 17:57:38 +0200",
        "id" : "54307cbf09620fccfaa04602568f3457d9f48c45",
        "msg" : "{enb,epc,ms}_srs: remove uneeded class variable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/epc_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/enb_srs.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/ms_srs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py"
        ],
        "commitId" : "e3f40f990472c3377011d75595333d9b3b2e6d1a",
        "timestamp" : 1602605128000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
          "fullName" : "andre"
        },
        "authorEmail" : "andre@softwareradiosystems.com",
        "comment" : "rfemu_srsenb_stdin: use negative dB value to set attenuation\u000a\u000athe logic for the RF emulator on the command line is, like the\u000aAmarisoft equivalent, to set a negative gain value to express\u000aattenuation. Therefore, the sign needs to be inverted.\u000a\u000aChange-Id: I7b6ac611a9f711bbdc1570602bfd797a5346ab86\u000a",
        "date" : "2020-10-13 18:05:28 +0200",
        "id" : "e3f40f990472c3377011d75595333d9b3b2e6d1a",
        "msg" : "rfemu_srsenb_stdin: use negative dB value to set attenuation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/obj/rfemu_srsenb_stdin.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
        ],
        "commitId" : "d0e8601ace7191498c13c56d212e76ea0e404d3a",
        "timestamp" : 1602673195000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates/osmo-bts-trx: Increase osmo-trx rx-gain\u000a\u000aOtherwise osmo-trx with a B200 seems to be having issues receiving some\u000adata from the MS otherwise, making \"sms\" test fail. In general LU works\u000afine, and when MS sends the SMS, CM Service Request+Accept also works\u000afine, but then the BTS never sees the CP-DATA afterwards probably due to\u000aMS power loop.\u000a\u000aChange-Id: I5f7e3d22a142521ab83db81635ded252dabcf111\u000a",
        "date" : "2020-10-14 10:59:55 +0000",
        "id" : "d0e8601ace7191498c13c56d212e76ea0e404d3a",
        "msg" : "templates/osmo-bts-trx: Increase osmo-trx rx-gain",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmocom/scenarios/mod-enb-cells-2ca.conf"
        ],
        "commitId" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
        "timestamp" : 1602673667000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "scenarios: Introduce mod-enb-cells-2ca.conf\u000a\u000aThis configuration is needed to have UEs attaching to srsenb-zmq in\u000ahandover.py\u000a\u000aChange-Id: I0182af4db98852f00622dcebe5274dc7f6e99e6d\u000a",
        "date" : "2020-10-14 13:07:47 +0200",
        "id" : "71336c2f3ad80c51c81dbe0db9d2612d07ea6db7",
        "msg" : "scenarios: Introduce mod-enb-cells-2ca.conf",
        "paths" : [
          {
            "editType" : "add",
            "file" : "sysmocom/scenarios/mod-enb-cells-2ca.conf"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
      "fullName" : "Vadim Yanitskiy"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/andre",
      "fullName" : "andre"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
      "fullName" : "Pau Espin Pedrol"
    }
  ]
}