{
  "_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 nitb_netreg_mass"
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Holger Freyther",
          "userId" : "zecke",
          "userName" : "Holger Freyther"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/pespin/smpp-improvements" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 22,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6100b629e55ed4aa319f46ad797741131b9da8e7",
            "branch" : [
              {
                "SHA1" : "6100b629e55ed4aa319f46ad797741131b9da8e7",
                "name" : "refs/remotes/origin/pespin/smpp-improvements"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6100b629e55ed4aa319f46ad797741131b9da8e7",
            "branch" : [
              {
                "SHA1" : "6100b629e55ed4aa319f46ad797741131b9da8e7",
                "name" : "refs/remotes/origin/pespin/smpp-improvements"
              }
            ]
          }
        },
        "refs/remotes/origin/fix-smpp" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 18,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "91c75b38f122d2728f6b94568df6534ddf0ed0f8",
            "branch" : [
              {
                "SHA1" : "91c75b38f122d2728f6b94568df6534ddf0ed0f8",
                "name" : "refs/remotes/origin/fix-smpp"
              }
            ]
          },
          "revision" : {
            "SHA1" : "91c75b38f122d2728f6b94568df6534ddf0ed0f8",
            "branch" : [
              {
                "SHA1" : "91c75b38f122d2728f6b94568df6534ddf0ed0f8",
                "name" : "refs/remotes/origin/fix-smpp"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/mainloop" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 685,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "796bf3954170ad9515af9cb37b1abdf1fce1774b",
            "branch" : [
              {
                "SHA1" : "796bf3954170ad9515af9cb37b1abdf1fce1774b",
                "name" : "refs/remotes/origin/pespin/mainloop"
              }
            ]
          },
          "revision" : {
            "SHA1" : "796bf3954170ad9515af9cb37b1abdf1fce1774b",
            "branch" : [
              {
                "SHA1" : "796bf3954170ad9515af9cb37b1abdf1fce1774b",
                "name" : "refs/remotes/origin/pespin/mainloop"
              }
            ]
          }
        },
        "origin/point-code" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 27,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0411af76c902f8556daaef0243e9140a1854d362",
            "branch" : [
              {
                "SHA1" : "0411af76c902f8556daaef0243e9140a1854d362",
                "name" : "origin/point-code"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0411af76c902f8556daaef0243e9140a1854d362",
            "branch" : [
              {
                "SHA1" : "0411af76c902f8556daaef0243e9140a1854d362",
                "name" : "origin/point-code"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/sysmocell5000" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 53,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0b22bb2f39f20e7413913fc93eeaaaed50012bfd",
            "branch" : [
              {
                "SHA1" : "0b22bb2f39f20e7413913fc93eeaaaed50012bfd",
                "name" : "refs/remotes/origin/pespin/sysmocell5000"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0b22bb2f39f20e7413913fc93eeaaaed50012bfd",
            "branch" : [
              {
                "SHA1" : "0b22bb2f39f20e7413913fc93eeaaaed50012bfd",
                "name" : "refs/remotes/origin/pespin/sysmocell5000"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/nanobts" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 677,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a6d427a7aef6effbe5d942813ef5c26fb03b31d6",
            "branch" : [
              {
                "SHA1" : "a6d427a7aef6effbe5d942813ef5c26fb03b31d6",
                "name" : "refs/remotes/origin/pespin/nanobts"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a6d427a7aef6effbe5d942813ef5c26fb03b31d6",
            "branch" : [
              {
                "SHA1" : "a6d427a7aef6effbe5d942813ef5c26fb03b31d6",
                "name" : "refs/remotes/origin/pespin/nanobts"
              }
            ]
          }
        },
        "refs/remotes/origin/neels/test" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 76,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "36e0404f456b32898d174b8bdfb363dbe580db2e",
            "branch" : [
              {
                "SHA1" : "36e0404f456b32898d174b8bdfb363dbe580db2e",
                "name" : "refs/remotes/origin/neels/test"
              }
            ]
          },
          "revision" : {
            "SHA1" : "36e0404f456b32898d174b8bdfb363dbe580db2e",
            "branch" : [
              {
                "SHA1" : "36e0404f456b32898d174b8bdfb363dbe580db2e",
                "name" : "refs/remotes/origin/neels/test"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/dbus-cancel" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 530,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ebb658a3591e36ea0224374e6ebb7ab9c48df679",
            "branch" : [
              {
                "SHA1" : "ebb658a3591e36ea0224374e6ebb7ab9c48df679",
                "name" : "refs/remotes/origin/pespin/dbus-cancel"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ebb658a3591e36ea0224374e6ebb7ab9c48df679",
            "branch" : [
              {
                "SHA1" : "ebb658a3591e36ea0224374e6ebb7ab9c48df679",
                "name" : "refs/remotes/origin/pespin/dbus-cancel"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/voice" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 554,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9cad169cf68cca1822a32523de7175f1f6bbce31",
            "branch" : [
              {
                "SHA1" : "9cad169cf68cca1822a32523de7175f1f6bbce31",
                "name" : "refs/remotes/origin/pespin/voice"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9cad169cf68cca1822a32523de7175f1f6bbce31",
            "branch" : [
              {
                "SHA1" : "9cad169cf68cca1822a32523de7175f1f6bbce31",
                "name" : "refs/remotes/origin/pespin/voice"
              }
            ]
          }
        },
        "detached" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 8,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b398b52ad5d69aeef0aba014264800bd041508c7",
            "branch" : [
              {
                "SHA1" : "b398b52ad5d69aeef0aba014264800bd041508c7",
                "name" : "detached"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b398b52ad5d69aeef0aba014264800bd041508c7",
            "branch" : [
              {
                "SHA1" : "b398b52ad5d69aeef0aba014264800bd041508c7",
                "name" : "detached"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/msc-mgw" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 667,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
            "branch" : [
              {
                "SHA1" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
                "name" : "refs/remotes/origin/pespin/msc-mgw"
              }
            ]
          },
          "revision" : {
            "SHA1" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
            "branch" : [
              {
                "SHA1" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
                "name" : "refs/remotes/origin/pespin/msc-mgw"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/oct" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 644,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "95f5d1500451f83c2d6d41027c85ae2dce4c54ab",
            "branch" : [
              {
                "SHA1" : "95f5d1500451f83c2d6d41027c85ae2dce4c54ab",
                "name" : "refs/remotes/origin/pespin/oct"
              }
            ]
          },
          "revision" : {
            "SHA1" : "95f5d1500451f83c2d6d41027c85ae2dce4c54ab",
            "branch" : [
              {
                "SHA1" : "95f5d1500451f83c2d6d41027c85ae2dce4c54ab",
                "name" : "refs/remotes/origin/pespin/oct"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/nanobts-900" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 678,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "47d2d3a83824e2474ad821bdec755c506dee2732",
            "branch" : [
              {
                "SHA1" : "47d2d3a83824e2474ad821bdec755c506dee2732",
                "name" : "refs/remotes/origin/pespin/nanobts-900"
              }
            ]
          },
          "revision" : {
            "SHA1" : "47d2d3a83824e2474ad821bdec755c506dee2732",
            "branch" : [
              {
                "SHA1" : "47d2d3a83824e2474ad821bdec755c506dee2732",
                "name" : "refs/remotes/origin/pespin/nanobts-900"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/ussd" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 31,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b6f4769fdfc3ae70322114582960ac9bd2842a80",
            "branch" : [
              {
                "SHA1" : "b6f4769fdfc3ae70322114582960ac9bd2842a80",
                "name" : "refs/remotes/origin/pespin/ussd"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b6f4769fdfc3ae70322114582960ac9bd2842a80",
            "branch" : [
              {
                "SHA1" : "b6f4769fdfc3ae70322114582960ac9bd2842a80",
                "name" : "refs/remotes/origin/pespin/ussd"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 689,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
            "branch" : [
              {
                "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
            "branch" : [
              {
                "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/pespin/encryption" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 59,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8fdaab4e6adcf536c352d9dff3d178f45f3ff411",
            "branch" : [
              {
                "SHA1" : "8fdaab4e6adcf536c352d9dff3d178f45f3ff411",
                "name" : "refs/remotes/origin/pespin/encryption"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8fdaab4e6adcf536c352d9dff3d178f45f3ff411",
            "branch" : [
              {
                "SHA1" : "8fdaab4e6adcf536c352d9dff3d178f45f3ff411",
                "name" : "refs/remotes/origin/pespin/encryption"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
        "branch" : [
          {
            "SHA1" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://git.osmocom.org/osmo-gsm-tester"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 1,
      "skipCount" : 0,
      "totalCount" : 1,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "log",
      "fileName" : "log",
      "relativePath" : "trial-689/last_run/log"
    },
    {
      "displayPath" : "trial-689-run.tgz",
      "fileName" : "trial-689-run.tgz",
      "relativePath" : "trial-689-run.tgz"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#689",
  "duration" : 71012,
  "estimatedDuration" : 632506,
  "executor" : None,
  "fullDisplayName" : "osmo-gsm-tester_manual-run-all #689",
  "id" : "689",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 689,
  "queueId" : 86063,
  "result" : "FAILURE",
  "timestamp" : 1543076217353,
  "url" : "https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_manual-run-all/689/",
  "builtOn" : "osmo-gsm-tester-prod",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "0f6e41089bcde0a40bc2a83923e7fa661d06d886",
        "timestamp" : 1532211701000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Quit early when all tests concluded..\u000aAnd fix the the detection if everything has completed.\u000aChange-Id: I3575ee7618c35e3b66d25fa31844d267489d9179\u000a",
        "date" : "2018-07-21 23:21:41 +0100",
        "id" : "0f6e41089bcde0a40bc2a83923e7fa661d06d886",
        "msg" : "ms: Quit early when all tests concluded..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py",
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "6926c5763f2af7181976f04787928f4bddbbebfa",
        "timestamp" : 1532211706000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Simplify starting of the test and combine loop and wait\u000aThis will make it easier to strt different kind of tests. The cost of\u000acalling step_once is hopefully neglectable as it simplifies the test.\u000aChange-Id: I3708ac382c0a34e17cf147d18f03603946437a53\u000a",
        "date" : "2018-07-21 23:21:46 +0100",
        "id" : "6926c5763f2af7181976f04787928f4bddbbebfa",
        "msg" : "ms: Simplify starting of the test and combine loop and wait",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "af522fd6011425e8de70d1d1cc9086f2299168fa",
        "timestamp" : 1532211706000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Only use completed tests for min/max handling\u000aRemove non completed results before calculating the min/max. We will \u000aneed to check success/failure based on completion ratio.\u000aChange-Id: Icaf9e90dd729b2339e409b3ec1593f456969fd19\u000a",
        "date" : "2018-07-21 23:21:46 +0100",
        "id" : "af522fd6011425e8de70d1d1cc9086f2299168fa",
        "msg" : "ms: Only use completed tests for min/max handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/event_server.py",
          "src/osmo_ms_driver/simple_loop.py",
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "874b4b4269cb500656a63c3755e32d67b18d43bf",
        "timestamp" : 1532211706000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Remove unused imports\u000aChange-Id: Idd428d1bbd937a26a320eb69b1031856e49d3e4b\u000a",
        "date" : "2018-07-21 23:21:46 +0100",
        "id" : "874b4b4269cb500656a63c3755e32d67b18d43bf",
        "msg" : "ms: Remove unused imports",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/event_server.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/simple_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py",
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "1dc9a04bc1050262da6bcbdda7439d854b80228c",
        "timestamp" : 1532211706000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Make the total test duration configurable\u000aChange-Id: I5598d5dfd51e224e13835307ad20d108a5aa3935\u000a",
        "date" : "2018-07-21 23:21:46 +0100",
        "id" : "1dc9a04bc1050262da6bcbdda7439d854b80228c",
        "msg" : "ms: Make the total test duration configurable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ttcn3/paths.conf",
          ".gitignore",
          "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl",
          "ttcn3/suites/ttcn3_bts_tests/suite.conf",
          "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "ttcn3/resources.conf.prod",
          "ttcn3/defaults.conf",
          "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh",
          "ttcn3/resources.conf.rnd",
          "src/osmo_gsm_tester/resource.py",
          "example/resources.conf.rnd",
          "example/resources.conf.prod",
          "src/osmo_gsm_tester/osmocon.py",
          "ttcn3/jenkins-run.sh",
          "ttcn3/default-suites.conf",
          "src/osmo_gsm_tester/suite.py",
          "ttcn3/README.txt",
          "ttcn3/scenarios/trx.conf"
        ],
        "commitId" : "bc1ed883043620bbbc956c4035583778b3941e95",
        "timestamp" : 1532529510000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add ttcn3-bts-test env\u000aChange-Id: I3251a49503dc823f0ef1fe8ef5d68236a584dad4\u000a",
        "date" : "2018-07-25 16:38:30 +0200",
        "id" : "bc1ed883043620bbbc956c4035583778b3941e95",
        "msg" : "Add ttcn3-bts-test env",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/osmocon.py"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/paths.conf"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/suites/ttcn3_bts_tests/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/scenarios/trx.conf"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/resources.conf.rnd"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/jenkins-run.sh"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/README.txt"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "698ad4ce5050c1ee50c086a699ad98c730a8e115",
        "timestamp" : 1532701271000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts: Recreate resources.conf trx_list with len based on num_trx\u000aWe are already doing this for defaults.cfg, but not for resources.conf. \u000aAs a result, if we have a trx_list with 2 trx but we have set num_trx=1\u000a(default), parsing will fail later in bsc.cfg.tmpl because \u000aconf_for_bsc_prepare() will pass a trx_list with 2 trx.\u000aChange-Id: I28ed34abeedaa0ee2e7862ced45a46042192d831\u000a",
        "date" : "2018-07-27 16:21:11 +0200",
        "id" : "698ad4ce5050c1ee50c086a699ad98c730a8e115",
        "msg" : "bts: Recreate resources.conf trx_list with len based on num_trx",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "example/resources.conf.rnd",
          "example/defaults.conf",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "example/resources.conf.prod"
        ],
        "commitId" : "f6a07122823f8a0b01b40705d103199277925169",
        "timestamp" : 1532701471000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "nanobts: Support multiTRX\u000anum_trx is left for now by default to 1, but it has been tested to work \u000aproperly (current tests pass and both trx are configured) with \u000anum_trx=2.\u000aChange-Id: Ib3962f824a804e2aa582601475a8514c6cb0d8e7\u000a",
        "date" : "2018-07-27 16:24:31 +0200",
        "id" : "f6a07122823f8a0b01b40705d103199277925169",
        "msg" : "nanobts: Support multiTRX",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-msc.sh"
        ],
        "commitId" : "9d8fec54e6910bc7b05360bbfae622fb24d83aa6",
        "timestamp" : 1533708107000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "jenkins-build-osmo-msc.sh: Build osmo-hlr before osmo-msc\u000aosmo-msc now needs libosmo-gsup-client, which is built during omso-hlr \u000acompilation.\u000aChange-Id: I67c5d168011a385fd4f68df351e0a93e9bef37a7\u000a",
        "date" : "2018-08-08 08:01:47 +0200",
        "id" : "9d8fec54e6910bc7b05360bbfae622fb24d83aa6",
        "msg" : "jenkins-build-osmo-msc.sh: Build osmo-hlr before osmo-msc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-msc.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "926a4b81beb14a08124a770e4252ecdfad14a2dd",
        "timestamp" : 1533812477000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_nanobts: Fix pwsup_list increasing its size every new test\u000avariables under class section are shared among all instances, and are \u000aused unless the specific class instance attribute is set. As a result, \u000athe same pwsup_list object was being re-used.\u000aTake the chance to do the same with the _pcu var, since we want same \u000abehavior for it.\u000aSee for reference: https://stackoverflow.com/a/1716730\u000aFixes: OS#3456 Change-Id: I3f6a9d64b35aec33430e90872f41c3d046653ce6\u000a",
        "date" : "2018-08-09 13:01:17 +0200",
        "id" : "926a4b81beb14a08124a770e4252ecdfad14a2dd",
        "msg" : "bts_nanobts: Fix pwsup_list increasing its size every new test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod"
        ],
        "commitId" : "6caa5c11674d8b0041939b3488c8d9a517edc805",
        "timestamp" : 1533930399000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf.prod: Update modem paths after HW setup changes\u000aChange-Id: I8673af3e9447b8093bc61503f9354a8f0431620e\u000a",
        "date" : "2018-08-10 21:46:39 +0200",
        "id" : "6caa5c11674d8b0041939b3488c8d9a517edc805",
        "msg" : "resources.conf.prod: Update modem paths after HW setup changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/trial.py",
          "src/osmo_gsm_tester/process.py",
          "src/osmo_gsm_tester/osmo_bsc.py",
          "src/osmo_gsm_tester/event_loop.py",
          "src/osmo_gsm_tester/osmo_nitb.py",
          "src/osmo_gsm_tester/osmo_sgsn.py",
          "src/osmo_gsm_tester/smsc.py",
          "src/osmo_gsm_tester/osmo_ggsn.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/osmo_stp.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/osmo_mgcpgw.py",
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/sms.py",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/test.py",
          "src/osmo_gsm_tester/osmo_hlr.py",
          "src/osmo_gsm_tester/osmocon.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/osmo_msc.py",
          "src/osmo_gsm_tester/osmo_mgw.py",
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_gsm_tester/esme.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "58603671c21b0af30d0d52fec862c5843c6e50d0",
        "timestamp" : 1534146718000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Cleanup of class scoped variables\u000aAfter bug described in OS#3456 and fixed in last commit, let's \u000acategorize and place variables in its correct plac to avoid similar \u000aissus. We leave under the class keyword (class scoped variables) the \u000aattributes which are to be used as static class attributes. All other \u000aones are initialized during __init__(). This way w avoid scenarios in \u000awhich while using an object from an instance attribute we end up reading \u000aa class scoped variable which is shared among all instances.\u000aChange-Id: I5ad4cac34a9f49eaf42966c01c9c5a4d3f3e9dc8\u000a",
        "date" : "2018-08-13 07:51:58 +0000",
        "id" : "58603671c21b0af30d0d52fec862c5843c6e50d0",
        "msg" : "Cleanup of class scoped variables",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/smsc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmocon.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_msc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_sgsn.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_ggsn.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_stp.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/sms.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_hlr.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/trial.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_nitb.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_mgcpgw.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_mgw.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_bsc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-hlr.cfg.tmpl",
          "suites/aoip_ussd/assert_extension.py"
        ],
        "commitId" : "635f4c8d8fd00ddf9f0b1b99d4ba7c1b1f90b441",
        "timestamp" : 1534163774000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-hlr.cfg.tmpl: Add ussd routing prefix for *#100# and fix expected\u000aanswer format\u000aSince osmo-hlr.git I1d09fab810a6bb9ab02904de72dbc9e8a414f9f9, USSD \u000aprocessing has been moved to osmo-hlr and prefix routing needs to be \u000aconfigured, otherwise USSD requested are answered back to the MS with an \u000aerror \"ss-NotAvailable (18)\".\u000amesage received for extension resolution (*#100#) had its format change, \u000aso update to new format (carriage return at the end was dropped).\u000aChange-Id: I5f75eff0df2d20d7f9b39e69184cffb0e635713d\u000a",
        "date" : "2018-08-13 14:36:14 +0200",
        "id" : "635f4c8d8fd00ddf9f0b1b99d4ba7c1b1f90b441",
        "msg" : "osmo-hlr.cfg.tmpl: Add ussd routing prefix for *#100# and fix expected",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/aoip_ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-hlr.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/suite_test.ok",
          "selftest/resource_test.ok",
          "selftest/suite_test.ok.ign",
          "selftest/resource_test.py",
          "selftest/suite_test.py",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/suite.py",
          "example/scenarios/mod-bts0-numtrx2.conf"
        ],
        "commitId" : "aab56921f11d509283bcee756e2f55217315576b",
        "timestamp" : 1534862882000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce scenario modifiers\u000aBefore this patch, scenarios were only used to select resources with \u000aspecific attributes. This commit introduces \"modifiers\" in scenarios, \u000awhich allows setting or modifing config attributes of resources once \u000athey have been reserved. This way same test can be run selecting same \u000aresources but modifying its configuration, allowing for instance running \u000adifferent number of TRX, different timeslot configuration, etc.\u000aModifiers are described by placing a \"modifiers\" dictionary in any \u000ascenario file, similar to the current \"resources\" one used to select \u000arequird resources. The \"modifiers\" dictionary is overlaid on top of the\u000a\"resources\" one resulting from combining all the \"resources\" dictionary \u000aof all scenario files.\u000aChange-Id: If8c422c67d9a971d9ce2c72594f55cde2db7550d\u000a",
        "date" : "2018-08-21 16:48:02 +0200",
        "id" : "aab56921f11d509283bcee756e2f55217315576b",
        "msg" : "Introduce scenario modifiers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.py"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.ok.ign"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-numtrx2.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/dyn_ts_ipa/lib/testlib.py",
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py",
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo_no_gprs.py",
          "suites/voice/lib/testlib.py",
          "suites/dyn_ts_osmo/lib/testlib.py",
          "suites/voice/mo_mt_call.py",
          "example/scenarios/mod-bts0-dynts-osmo.conf",
          "suites/dyn_ts_osmo/suite.conf",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py",
          "example/scenarios/mod-bts0-dynts-ipa.conf",
          "example/default-suites.conf",
          "example/scenarios/mod-bts0-ts-tchh.conf",
          "suites/voice/mo_mt_call_tchf.py",
          "suites/voice/mo_mt_call_tchh.py",
          "example/scenarios/mod-bts0-ts-tchf.conf",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa_no_gprs.py",
          "suites/dyn_ts_ipa/suite.conf"
        ],
        "commitId" : "2482416dd9559371aea76efd148218fda6a622ac",
        "timestamp" : 1534862882000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Replace suites dyn_ts_ipa* and voice using scenario modifiers\u000aNow that we support modifiers in scenario files, we don't need to \u000aduplicate tests and testsuites to dynamically set trx configuration at \u000arun time. It can be done more easily with scenario modifiers.\u000aChange-Id: I80c441bb5b98d5d2e95d4c6ae1efab3e5f3c40d9\u000a",
        "date" : "2018-08-21 16:48:02 +0200",
        "id" : "2482416dd9559371aea76efd148218fda6a622ac",
        "msg" : "Replace suites dyn_ts_ipa* and voice using scenario modifiers",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_ipa/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-ts-tchf.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo_no_gprs.py"
          },
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_osmo/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa_no_gprs.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_ipa/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-dynts-osmo.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/mo_mt_call_tchh.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-dynts-ipa.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/dyn_ts_osmo/lib/testlib.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/mo_mt_call_tchf.py"
          },
          {
            "editType" : "add",
            "file" : "suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-ts-tchh.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
        ],
        "commitId" : "568228701cb46ff3b564dae4ca63e7ae9efc684f",
        "timestamp" : 1534869024000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bsc,msc: Set mgw local-ip in cfg.tmpl\u000aChange-Id: Id46aa337f12756f80d492bf3102db5b1449e2027\u000a",
        "date" : "2018-08-21 18:30:24 +0200",
        "id" : "568228701cb46ff3b564dae4ca63e7ae9efc684f",
        "msg" : "osmo-bsc,msc: Set mgw local-ip in cfg.tmpl",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "example/defaults.conf",
          "src/osmo_gsm_tester/schema.py"
        ],
        "commitId" : "722e94e83395530c892706c0a36bc36ae799c0b4",
        "timestamp" : 1534931949000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add channel_allocator cfg attr to bts resources\u000aChange-Id: I682809d4aeb91a36e3a35fc481e8d40d0b084fa0\u000a",
        "date" : "2018-08-22 11:59:09 +0200",
        "id" : "722e94e83395530c892706c0a36bc36ae799c0b4",
        "msg" : "Add channel_allocator cfg attr to bts resources",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/defaults.conf",
          "example/default-suites.conf",
          "example/scenarios/mod-bts0-chanallocdescend.conf"
        ],
        "commitId" : "a40bce59815fb072faa34c1a5d2d952f2454979b",
        "timestamp" : 1535036189000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add testsuite + scenarios to test nanoBTS multiTRX\u000aCurrently only 2 nanoBTS in the 900 band are attached together as a \u000amultiTRX setup. We thus set num_trx to 2 and set channel allocator \u000adescending to force the BTS to use the 2nd TRX when allocating channels.\u000aChange-Id: I12e1bcb047c4efac5693cf725739e0ce2e0532ee\u000a",
        "date" : "2018-08-23 16:56:29 +0200",
        "id" : "a40bce59815fb072faa34c1a5d2d952f2454979b",
        "msg" : "Add testsuite + scenarios to test nanoBTS multiTRX",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-chanallocdescend.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "check_dependencies.py"
        ],
        "commitId" : "3f7d8f89f28d7eb4c5a89936211e829be0378e6d",
        "timestamp" : 1535453332000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "Check for the sispm dependency\u000aFrom the commit that added it:\u000a    Using it requires the following extra dependencies:\u000a   $ apt-get install python3-usb\u000a   $ pip3 install pysispm\u000aChange-Id: Id347604f47ac5243b7eae12b9bdf675f2379f4c6\u000a",
        "date" : "2018-08-28 10:48:52 +0000",
        "id" : "3f7d8f89f28d7eb4c5a89936211e829be0378e6d",
        "msg" : "Check for the sispm dependency",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "check_dependencies.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "c264d3df9d1020e01f9d41921d59c90464b61b3c",
        "timestamp" : 1535537885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suite: Fix generation of config() dictionary\u000asuite.config() hasn't been activetly used anywere. New upcoming patches \u000awill start using it to set and overlay config parameters for objects \u000awhich are not necessarily allocated as resources.\u000aSince these options don't apply to specific resources, there's no sense \u000ain running replicate_times() on them.\u000aChange-Id: I5fcdc9151d1663e738f5c8abe588a42ab51c8f6e\u000a",
        "date" : "2018-08-29 10:18:05 +0000",
        "id" : "c264d3df9d1020e01f9d41921d59c90464b61b3c",
        "msg" : "suite: Fix generation of config() dictionary",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/defaults.conf",
          "example/scenarios/cfg-codec-hr3.conf",
          "example/scenarios/cfg-codec-fr1.conf",
          "example/scenarios/cfg-codec-hr1.conf",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/resource.py",
          "example/scenarios/cfg-codec-fr3.conf",
          "src/osmo_gsm_tester/schema.py",
          "example/scenarios/cfg-codec-fr2.conf",
          "example/scenarios/cfg-codec-hr2.conf"
        ],
        "commitId" : "5dc245938b5c87e5c3d1d90098506869b3e52c3d",
        "timestamp" : 1535537885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bsc: Parametrize codec-list VTY cfg\u000aChange-Id: I1678aba43e8d399ecad192cbc416698373e3c0a0\u000a",
        "date" : "2018-08-29 10:18:05 +0000",
        "id" : "5dc245938b5c87e5c3d1d90098506869b3e52c3d",
        "msg" : "osmo-bsc: Parametrize codec-list VTY cfg",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-fr3.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-hr3.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-fr2.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-hr2.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-fr1.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-hr1.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "7e58c614395d46d8561521c51aaac03ecd7629dd",
        "timestamp" : 1535537885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites: Add suites testing different codecs\u000aChange-Id: I591c71c66c5bbcd07466fe1d433aa87aed964fbe\u000a",
        "date" : "2018-08-29 10:18:05 +0000",
        "id" : "7e58c614395d46d8561521c51aaac03ecd7629dd",
        "msg" : "default-suites: Add suites testing different codecs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "a9fdda85af89c758f96fbeaaf69f2db347b22fcd",
        "timestamp" : 1535537885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites: Remove octobts tests\u000aSince latest release firmware, we have been unable to start up octobts \u000acorrectly. As it's annoying having all those tests failing all the time, \u000alet's disable them in nightly builds until we have a working OctoBTS \u000asetup working again.\u000aChange-Id: I828723193564b3a91aeac0c163c7c8c6b7e4058c\u000a",
        "date" : "2018-08-29 10:18:05 +0000",
        "id" : "a9fdda85af89c758f96fbeaaf69f2db347b22fcd",
        "msg" : "default-suites: Remove octobts tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl",
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "example/defaults.conf",
          "example/resources.conf.prod",
          "selftest/resource_test.ok",
          "selftest/suite_test.ok",
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl",
          "example/resources.conf.rnd",
          "src/osmo_gsm_tester/resource.py",
          "selftest/conf/resources.conf",
          "selftest/suite_test/resources.conf",
          "src/osmo_gsm_tester/schema.py"
        ],
        "commitId" : "0d45504267ace476c4da88fcaa702d026e3ae88a",
        "timestamp" : 1535538648000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bts-trx: Big refactor and cleanup of osmo-trx related code\u000a* This commit is a preparation for future commits to add support for \u000adifferent osmo-trx devices and backends like osmo-trx-lms.\u000a* Drop deprecated osmo-trx-* cmd line params and use VTY cfg to set\u000athem.\u000a* As number of osmo-trx related osmo-gsm-tester attributes grow, group \u000athem togther in an \"osmo_trx\" dictionary.\u000aChange-Id: I77d29413c9e3b600b796627ba366f80c3281b7e1\u000a",
        "date" : "2018-08-29 12:30:48 +0200",
        "id" : "0d45504267ace476c4da88fcaa702d026e3ae88a",
        "msg" : "osmo-bts-trx: Big refactor and cleanup of osmo-trx related code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "selftest/resource_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "selftest/conf/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "selftest/suite_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "check_dependencies.py"
        ],
        "commitId" : "9999d8cc9de05503754e92026d867ead6fa700e8",
        "timestamp" : 1535642529000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "Check for smpplib being installed as well\u000afrom the docs: pip3 install\u000agit+git://github.com/podshumok/python-smpplib.git\u000aChange-Id: I6be1c961e512e68d5bed8b317d1dda363a58fbe7\u000a",
        "date" : "2018-08-30 15:22:09 +0000",
        "id" : "9999d8cc9de05503754e92026d867ead6fa700e8",
        "msg" : "Check for smpplib being installed as well",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "check_dependencies.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/starter.py"
        ],
        "commitId" : "a7b61f39fbb1c4e8018c63a06f79ed2046582296",
        "timestamp" : 1535702600000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "Generate imsi/ki on OsmoMobile construction\u000aTake an IMSI/KI when creating the OsmoMobile and not when starting it.\u000aThis will allow other code to know which IMSIs will be used before the\u000asystem starts (e.g. to add it to the HLR/nitb db).\u000aChange-Id: I79e259e948aa797c13118143ecd64bb7e29d274b\u000a",
        "date" : "2018-08-31 08:03:20 +0000",
        "id" : "a7b61f39fbb1c4e8018c63a06f79ed2046582296",
        "msg" : "Generate imsi/ki on OsmoMobile construction",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/starter.py"
        ],
        "commitId" : "8ae38a6b856ffb6ab4b28e18912a4573fbc66034",
        "timestamp" : 1535725173000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "Allow to access imsi/ki from the OsmoMobile instances\u000aChange-Id: Ib1b5f51e93d67e1dbde6f1ab4701e539d3cabec0\u000a",
        "date" : "2018-08-31 15:19:33 +0100",
        "id" : "8ae38a6b856ffb6ab4b28e18912a4573fbc66034",
        "msg" : "Allow to access imsi/ki from the OsmoMobile instances",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf",
          "example/scenarios/cfg-codec-hr2.conf"
        ],
        "commitId" : "287bfcd7884ca859d405e2cefd273660ed380700",
        "timestamp" : 1536054877000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Remove tests for unspecified speech HR2\u000aHR2 was never specified, so there's no sense in attempting to test it.\u000aChange-Id: Ifd7cab43bae0729106a9402e3e610eeecde645e4\u000a",
        "date" : "2018-09-04 11:54:37 +0200",
        "id" : "287bfcd7884ca859d405e2cefd273660ed380700",
        "msg" : "Remove tests for unspecified speech HR2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "delete",
            "file" : "example/scenarios/cfg-codec-hr2.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "7a216e54b031876a7cfd2e0f3ca5a9d2eaa488aa",
        "timestamp" : 1536756390000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Disable installing unneeded systemd service files\u000aOtherwise since we install without root perissins to a local directory, \u000asystemd files will fail to be installed to regular systemd location\u000a/lib/systemd/system/).\u000aChange-Id: I20a285e4e92fec7990770568e8d5dc117d6bf477\u000a",
        "date" : "2018-09-12 14:46:30 +0200",
        "id" : "7a216e54b031876a7cfd2e0f3ca5a9d2eaa488aa",
        "msg" : "contrib: Disable installing unneeded systemd service files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-mgw.sh",
          "contrib/jenkins-build-osmo-nitb.sh",
          "src/osmo_gsm_tester/osmo_mgcpgw.py"
        ],
        "commitId" : "4aeb4300b1b4af5fa88f77a4f3f3c136be52ee9b",
        "timestamp" : 1536834043000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Build and use osmo-bsc_mgcp from openbsc.git instead of osmo-mgw.git\u000aIn osmo-mgw.git 31b4729f2731c747b8b33c4646dd5ade2ace29bc, osmo-bsc_mgcp \u000awas dropped and the one from openbsc.git must be used.\u000aChange-Id: Ib1c46baf4d36ab18f8064a2234a0ba28a1e7d2c2\u000a",
        "date" : "2018-09-13 12:20:43 +0200",
        "id" : "4aeb4300b1b4af5fa88f77a4f3f3c136be52ee9b",
        "msg" : "Build and use osmo-bsc_mgcp from openbsc.git instead of osmo-mgw.git",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-mgw.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-nitb.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_mgcpgw.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "99a6a419a263ae92466530fdf222071dd67f3705",
        "timestamp" : 1537003642000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "Keep track of all mobiles and copy them to unstarted later\u000aAt all times have a list of mobiles that were created. Make a shallow \u000acopy and use it as the unstarted list.\u000aThis will be used by the upcoming gsm tester integration to build a list \u000aof subscribers to be added into the HLR/AuC database.\u000aChange-Id: Id72b7ce8821cf53ac0d5e4a141b9a2b66242e2a3\u000a",
        "date" : "2018-09-15 09:27:22 +0000",
        "id" : "99a6a419a263ae92466530fdf222071dd67f3705",
        "msg" : "Keep track of all mobiles and copy them to unstarted later",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/aoip_smpp/esme_ms_sms_transaction.py",
          "suites/aoip_encryption/register_a5_1_authreq.py",
          "suites/smpp/esme_ms_sms_transaction.py",
          "suites/aoip_sms/mo_mt_sms.py",
          "suites/aoip_encryption/suite.conf",
          "suites/nitb_debug/fail_raise.py",
          "suites/encryption/register_a5_1_authreq.py",
          "suites/aoip_sms/suite.conf",
          "suites/nitb_debug/error.py",
          "suites/nitb_netreg/suite.conf",
          "suites/debug/suite.conf",
          "suites/ussd/assert_extension.py",
          "suites/encryption/suite.conf",
          "suites/smpp/suite.conf",
          "suites/sms/mo_mt_sms.py",
          "suites/debug/interactive.py",
          "suites/nitb_debug/interactive.py",
          "suites/nitb_sms/mo_mt_sms.py",
          "suites/smpp/esme_connect_policy_closed.py",
          "suites/nitb_smpp/esme_connect_policy_acceptall.py",
          "suites/nitb_debug/fail.py",
          "suites/aoip_debug/suite.conf",
          "example/default-suites.conf",
          "suites/ussd/suite.conf",
          "suites/aoip_ussd/suite.conf",
          "suites/debug/fail.py",
          "suites/nitb_smpp/esme_ms_sms_transaction.py",
          "suites/smpp/esme_connect_policy_acceptall.py",
          "suites/aoip_smpp/esme_connect_policy_closed.py",
          "suites/netreg/register.py",
          "suites/encryption/register_a5_0_authopt.py",
          "suites/netreg/register_default.py",
          "suites/debug/fail_raise.py",
          "suites/smpp/esme_ms_sms_storeforward.py",
          "suites/nitb_sms/suite.conf",
          "suites/sms/suite.conf",
          "suites/nitb_netreg/register_default.py",
          "suites/debug/error.py",
          "suites/nitb_ussd/assert_extension.py",
          "suites/aoip_encryption/register_a5_0_authreq.py",
          "suites/aoip_ussd/assert_extension.py",
          "suites/aoip_smpp/suite.conf",
          "suites/nitb_smpp/suite.conf",
          "suites/aoip_debug/interactive.py",
          "suites/aoip_encryption/register_a5_0_authopt.py",
          "suites/nitb_smpp/esme_connect_policy_closed.py",
          "suites/aoip_smpp/esme_connect_policy_acceptall.py",
          "suites/aoip_smpp/esme_ms_sms_storeforward.py",
          "suites/nitb_netreg/register.py",
          "suites/encryption/register_a5_0_authreq.py",
          "suites/netreg/suite.conf",
          "suites/nitb_ussd/suite.conf",
          "suites/nitb_debug/pass.py",
          "suites/nitb_debug/suite.conf",
          "suites/nitb_smpp/esme_ms_sms_storeforward.py",
          "suites/debug/pass.py"
        ],
        "commitId" : "43857809c1778792cc447fac89c4a0587098234d",
        "timestamp" : 1537181870000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Sanitize existing suite names\u000aWhen first suites were added, osmo-nitb was used. Then new tests using \u000aregular split components were added with \"aoip_\" prefix. At some point \u000ait was clear that osmo-nitb was being deprecated so new tests for split \u000acomponents were added without any prefix, as they are expected to be the \u000adefault one. Since most current and future development is going to be\u000adone for split components, as well as new tests added, it makes sense to\u000amove the few old testsuites using osmo-nitb to have all \"nitb_\" prefix,\u000awhile keeping the split component tests without prefix as it's the\u000aregular network topology.\u000aChange-Id: Idea2e053d337548e0e9b1b47441dbb262124f909\u000a",
        "date" : "2018-09-17 10:57:50 +0000",
        "id" : "43857809c1778792cc447fac89c4a0587098234d",
        "msg" : "Sanitize existing suite names",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "suites/aoip_encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/error.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_netreg/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_sms/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "suites/sms/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/debug/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/fail.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/smpp/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "suites/ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/pass.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_ussd/assert_extension.py"
          },
          {
            "editType" : "add",
            "file" : "suites/encryption/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_netreg/register.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "add",
            "file" : "suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_encryption/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/fail_raise.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_netreg/register_default.py"
          },
          {
            "editType" : "add",
            "file" : "suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/netreg/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "suites/debug/interactive.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/fail.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/error.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/fail_raise.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_sms/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_sms/mo_mt_sms.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_debug/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_ussd/assert_extension.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/debug/pass.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_debug/interactive.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_ussd/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/smpp/esme_connect_policy_closed.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_smpp/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_smpp/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "suites/smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/netreg/register.py"
          },
          {
            "editType" : "add",
            "file" : "suites/encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/netreg/register_default.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_debug/interactive.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/ussd/suite.conf"
          },
          {
            "editType" : "delete",
            "file" : "suites/aoip_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_smpp/esme_connect_policy_closed.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-nitb.sh",
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "cb132bd79f2176a535d049d7d3b32443b94df6e8",
        "timestamp" : 1537252157000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "build: Add overload to clone repo and build in subdirectory\u000aTo build osmo-nitb we need to clone \"openbsc\" and then enter the\u000a\"openbsc\" sub-directory. For building \"mobile\" and \"virt_phy\" of \u000aOsmocomBB we will need to do something similar. Instead of added more\u000ahardcoded paths, add a variant that allows to specify the source\u000adirectory.\u000aChange-Id: I67fbd54296f2c68316bf8e89cfeb37d147193d53\u000a",
        "date" : "2018-09-18 06:29:17 +0000",
        "id" : "cb132bd79f2176a535d049d7d3b32443b94df6e8",
        "msg" : "build: Add overload to clone repo and build in subdirectory",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-nitb.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "example/defaults.conf",
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
        ],
        "commitId" : "44b7ea18ca1f5d45669e79b9c57bb6354dd2f3e9",
        "timestamp" : 1537270152000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bts-trx: Add multiTRX support\u000aSupport is limited to 1 osmo-trx with 1 phy and multiple instances.\u000aChange-Id: If2bda5ec7ac9fa3fe6bc5d71f323c3ccc2a70158\u000a",
        "date" : "2018-09-18 11:29:12 +0000",
        "id" : "44b7ea18ca1f5d45669e79b9c57bb6354dd2f3e9",
        "msg" : "osmo-bts-trx: Add multiTRX support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl",
          "src/osmo_gsm_tester/resource.py",
          "example/defaults.conf"
        ],
        "commitId" : "94eab26bf3fc28dfc04ff3d41b0f4765ea2e3437",
        "timestamp" : 1537270152000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx: Add multi_arfcn support\u000a2nd TRX arfcn is changed in defaults.conf because multi_arfcn requires \u000athem to be alocated in steps of 4 starting from TRX0.\u000aIt is not enabled by default yet on B200 (it must use it to support \u000aseveral TRX) because current host running osmo-gsm-tester is not \u000aperformant enough and cannot keep up with timers due to multi-arfcn CPU \u000aoverhead.\u000aChange-Id: I096df82ad1f4cbb41dfbd6a78466a845f34be385\u000a",
        "date" : "2018-09-18 11:29:12 +0000",
        "id" : "94eab26bf3fc28dfc04ff3d41b0f4765ea2e3437",
        "msg" : "osmo-trx: Add multi_arfcn support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "5876f4dfb832682c5ccf1d3d534c4ee86c249eb0",
        "timestamp" : 1537302547000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "default-suites: Remove nanobts HR1 voice test\u000ananobts doesn't support this codec, so it will always fail.\u000aChange-Id: Iea4e6395809e5ef5485892f8f17e0dcfa36640dc\u000a",
        "date" : "2018-09-18 20:29:07 +0000",
        "id" : "5876f4dfb832682c5ccf1d3d534c4ee86c249eb0",
        "msg" : "default-suites: Remove nanobts HR1 voice test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/encryption/register_a5_1_authreq.py",
          "suites/encryption/register_a5_0_authopt.py",
          "suites/encryption/lib/testlib.py",
          "suites/encryption/register_a5_0_authreq.py"
        ],
        "commitId" : "7a333b0676851be7fbb9e0ed99d38dc6f4f03fbe",
        "timestamp" : 1537353597000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "encryption: Reuse code using test lib features\u000aChange-Id: I9b6944516c524a0c11a47aec6839f8ee9d571661\u000a",
        "date" : "2018-09-19 10:39:57 +0000",
        "id" : "7a333b0676851be7fbb9e0ed99d38dc6f4f03fbe",
        "msg" : "encryption: Reuse code using test lib features",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/encryption/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/encryption/register_a5_0_authopt.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-iuh.sh"
        ],
        "commitId" : "1e2a041773b70196a13209e1a668e29b51cd5315",
        "timestamp" : 1537354976000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Add jenkins-build-osmo-iuh.sh\u000aChange-Id: I75cb9551db6b1b4aa5bfb76177694c14fad82f04\u000a",
        "date" : "2018-09-19 13:02:56 +0200",
        "id" : "1e2a041773b70196a13209e1a668e29b51cd5315",
        "msg" : "contrib: Add jenkins-build-osmo-iuh.sh",
        "paths" : [
          {
            "editType" : "add",
            "file" : "contrib/jenkins-build-osmo-iuh.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-msc.sh"
        ],
        "commitId" : "26d7f8d462fe5469c1117eb5bfdd369d3d0e49bb",
        "timestamp" : 1537355659000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Build osmo-msc with IU support\u000aChange-Id: I68503ae2f27948aff60a9424e6b114db548d79e9\u000a",
        "date" : "2018-09-19 13:14:19 +0200",
        "id" : "26d7f8d462fe5469c1117eb5bfdd369d3d0e49bb",
        "msg" : "contrib: Build osmo-msc with IU support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-msc.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-sgsn.sh"
        ],
        "commitId" : "8cc84d84046063818f01f8aaad808b7b551385cf",
        "timestamp" : 1537358741000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Build osmo-sgsn with IU support\u000aChange-Id: I810ae848c350550430c1918b3abb4376d21d7317\u000a",
        "date" : "2018-09-19 14:05:41 +0200",
        "id" : "8cc84d84046063818f01f8aaad808b7b551385cf",
        "msg" : "contrib: Build osmo-sgsn with IU support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-sgsn.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/encryption/register_a5_3_authreq.py"
        ],
        "commitId" : "d301bf9f84046169a714e86d8efb77451bd3c50b",
        "timestamp" : 1537870859000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites: encryption: Add test register_a5_3_authreq\u000aChange-Id: I279e78e741b3ca841cb8508db40874f3c17b0785\u000a",
        "date" : "2018-09-25 10:20:59 +0000",
        "id" : "d301bf9f84046169a714e86d8efb77451bd3c50b",
        "msg" : "suites: encryption: Add test register_a5_3_authreq",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/encryption/register_a5_3_authreq.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "cbbe5d8c1ad35f9d5193e6163528fc74aacad6e4",
        "timestamp" : 1537870859000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Use correct var to write repo name in git_hashes.txt\u000aWe want to write repo name in there, not $dep which actually doesn't \u000aexist in local context of have_repo function. In most cases it's \u000aactually the same because in almost all cases $dep is passed as $1 to \u000ahave_repo and thus is the same as local $repo. But in a few recipes \u000awhich don't use build_repo directly but instead use have_repo and build \u000amanually, $dep may not point to $repo. That's the case for osmocom-bb \u000afor instance. As a result, \"libosmocore\" is printed twice, were second \u000aword should be \"osmocom-bb\".\u000aChange-Id: I7a7db7cf4cc020295d216c60d6dc688f110916dc\u000a",
        "date" : "2018-09-25 10:20:59 +0000",
        "id" : "cbbe5d8c1ad35f9d5193e6163528fc74aacad6e4",
        "msg" : "contrib: Use correct var to write repo name in git_hashes.txt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/dynts/switch_tch_pdch.py",
          "suites/dynts/suite.conf",
          "example/scenarios/mod-bts0-dynts67-ipa.conf",
          "example/default-suites.conf",
          "example/scenarios/mod-bts0-dynts67-osmo.conf"
        ],
        "commitId" : "7fa19ac077574f39a6a92538e87e2d169b676042",
        "timestamp" : 1537870885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add dynts suite to test switch between PDCH and TCH\u000aIt seems for not yet clear reasons the MS require some time after the \u000aPDCH channels have been activated again to use them reliably. If no \u000asleep is used between call hangup and gprs activate pdp ctx, the MS \u000afails to activate the pdp ctx due to QMI error respone to the \"Start \u000anetwork\" requested.\u000aRelated: OS#2582 Change-Id: I73b51c31309ac4c28c64ed7eb7c8c649e535aa22\u000a",
        "date" : "2018-09-25 10:21:25 +0000",
        "id" : "7fa19ac077574f39a6a92538e87e2d169b676042",
        "msg" : "Add dynts suite to test switch between PDCH and TCH",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/dynts/switch_tch_pdch.py"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-dynts67-ipa.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-dynts67-osmo.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/dynts/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "32512ae54baee9ebf67755e6089194de85e26026",
        "timestamp" : 1537870885000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Add empty lines to easily spot different sections\u000aChange-Id: If33fa9be091113d57b25dc3d73e277bbb3b0ce5a\u000a",
        "date" : "2018-09-25 10:21:25 +0000",
        "id" : "32512ae54baee9ebf67755e6089194de85e26026",
        "msg" : "default-suites.conf: Add empty lines to easily spot different sections",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "9eafb1372e2d324a3865fa54a7c1ee7ee08d0aae",
        "timestamp" : 1537946859000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "Optimize and re-use an existing repository\u000aInstead of cloning osmocom-bb three times this will allow us to re-use\u000athe repository. Simply change the directory, set the new origin and\u000afetch.\u000aChange-Id: I63f103b2f70559e969e8c66477ab9ee7f2886832\u000a",
        "date" : "2018-09-26 07:27:39 +0000",
        "id" : "9eafb1372e2d324a3865fa54a7c1ee7ee08d0aae",
        "msg" : "Optimize and re-use an existing repository",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmocom-bb.sh"
        ],
        "commitId" : "fd760f6702340fa79a971485d9c683ad7ca8db03",
        "timestamp" : 1537946859000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "Package mobile and virtphy as part of osmocom-bb as well\u000aChange-Id: Ie44dca72327e928073b00cde434d1cf2de574d9c\u000a",
        "date" : "2018-09-26 07:27:39 +0000",
        "id" : "fd760f6702340fa79a971485d9c683ad7ca8db03",
        "msg" : "Package mobile and virtphy as part of osmocom-bb as well",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmocom-bb.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-hlr.sh",
          "contrib/jenkins-build-osmo-bsc.sh",
          "contrib/jenkins-build-osmocom-bb.sh",
          "contrib/jenkins-build-osmo-mgw.sh",
          "contrib/jenkins-build-osmo-msc.sh",
          "contrib/jenkins-build-osmo-sgsn.sh",
          "contrib/jenkins-build-common.sh",
          "contrib/jenkins-build-osmo-pcu.sh",
          "contrib/jenkins-build-osmo-bts.sh",
          "contrib/jenkins-build-osmo-ggsn.sh",
          "contrib/jenkins-build-osmo-stp.sh",
          "contrib/jenkins-build-osmo-iuh.sh"
        ],
        "commitId" : "90b050764a6d4fb26f48f4389473a5cb601588ec",
        "timestamp" : 1537946859000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "Be able to switch-off ASAN builds of our binaries.\u000aInroduce a way to not take a 2x performance hit when testing. It is of\u000aimportance if we run with hundreds of BTSes and 10k+ subscribers. In the\u000aabsence of using getops or shflags use an environment for it.\u000aChange-Id: I540ba1c35e8fb72abcee0d86e0bdc1136b47345c\u000a",
        "date" : "2018-09-26 07:27:39 +0000",
        "id" : "90b050764a6d4fb26f48f4389473a5cb601588ec",
        "msg" : "Be able to switch-off ASAN builds of our binaries.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-mgw.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-sgsn.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-stp.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bsc.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-iuh.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-hlr.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-msc.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-ggsn.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmocom-bb.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-pcu.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_gsm_tester/process.py"
        ],
        "commitId" : "e4358a9a36b2ce16c322ec4e061d2e86ccdbd59c",
        "timestamp" : 1538478636000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Make code copying inst through ssh generic\u000aIt can later on be used by other classes that need to run binaries in \u000ainst remotely.\u000aChange-Id: I838b999528695207e1147cfe76e6f7aaf3b1dd53\u000a",
        "date" : "2018-10-02 13:10:36 +0200",
        "id" : "e4358a9a36b2ce16c322ec4e061d2e86ccdbd59c",
        "msg" : "Make code copying inst through ssh generic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/resource.py",
          "example/resources.conf.rnd"
        ],
        "commitId" : "a9006dffd951f17e945f9aff42e66db7cae8087a",
        "timestamp" : 1538478636000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmotrx: Allow running osmo-trx from remote host\u000aChange-Id: Ia31ac8eb41e02eda28d9f6f56774679300244ee8\u000a",
        "date" : "2018-10-02 13:10:36 +0200",
        "id" : "a9006dffd951f17e945f9aff42e66db7cae8087a",
        "msg" : "osmotrx: Allow running osmo-trx from remote host",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_gsm_tester/process.py"
        ],
        "commitId" : "302c7563efa301829d9b695e77dad0859e629885",
        "timestamp" : 1538484773000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmotrx: Make sure remote process stops after ssh session is closed\u000aFirst of all, it was found that vty allocation must be forced (-t -t) \u000aduring ssh session creation to make sure SIGHUP is forwarded when \u000asession is closed.\u000aSecond, since osmo-trx ignores SIGHUP (osmo_init_ignore_signals()), we \u000amust add a wrapper script which converts received SIGHUP into a SIGINT \u000ato stop osmo-trx.\u000aChange-Id: Ic334a54b1a1827d74fe0b453ac32bb77b8616147\u000a",
        "date" : "2018-10-02 14:52:53 +0200",
        "id" : "302c7563efa301829d9b695e77dad0859e629885",
        "msg" : "osmotrx: Make sure remote process stops after ssh session is closed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmo.py"
        ],
        "commitId" : "f2e5972ffc67920c9e17ddd6238197944ae93918",
        "timestamp" : 1538484950000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_osmo: Only check for socket path in ready_for_pcu()\u000aPrevious implementation was done due to osmo-pcu dying if failed to \u000aconnect to not-yet prepared BTS. This is no longer the case, so we can \u000astart osmo-pcu as soon as the socket exists.\u000aChange-Id: I3aa6bef0c4893bdcac668002ca018af019f666a3\u000a",
        "date" : "2018-10-02 14:55:50 +0200",
        "id" : "f2e5972ffc67920c9e17ddd6238197944ae93918",
        "msg" : "bts_osmo: Only check for socket path in ready_for_pcu()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod"
        ],
        "commitId" : "b54d7c9261e03cfbf395b42135012620ad4ea12e",
        "timestamp" : 1538486944000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf.prod: Use specific remote machine to run osmo-trx\u000aRun osmo-trx in a separate more powerful machine (i5) rather than \u000arunning in low end APU where osmo-gsm-tester runs.\u000aChange-Id: I0479643789783d5e8a142042a65c4d53020d1e79\u000a",
        "date" : "2018-10-02 15:29:04 +0200",
        "id" : "b54d7c9261e03cfbf395b42135012620ad4ea12e",
        "msg" : "resources.conf.prod: Use specific remote machine to run osmo-trx",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "example/resources.conf.prod",
          "example/resources.conf.rnd"
        ],
        "commitId" : "1ff03766be8d48b7e84656544d64111466327271",
        "timestamp" : 1538488712000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx: Enable multi_arfcn for B200 and only in multiTRX setup\u000aChange-Id: I6a29e1813f0603b00b49b7b7c805be23a72cf0e3\u000a",
        "date" : "2018-10-02 15:58:32 +0200",
        "id" : "1ff03766be8d48b7e84656544d64111466327271",
        "msg" : "osmo-trx: Enable multi_arfcn for B200 and only in multiTRX setup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "01a40a14ceeae90f5b0a1f7df4abd4187922c761",
        "timestamp" : 1538563053000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Add test to check multiTRX with Ettus B200\u000aChange-Id: Ied768938851488c3f502b2d41334afa17f7f5401\u000a",
        "date" : "2018-10-03 12:37:33 +0200",
        "id" : "01a40a14ceeae90f5b0a1f7df4abd4187922c761",
        "msg" : "default-suites.conf: Add test to check multiTRX with Ettus B200",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-mgcpgw.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl",
          "selftest/template_test/osmo-nitb.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl",
          "src/osmo_gsm_tester/templates/sysmobts-mgr.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-hlr.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-ggsn.cfg.tmpl",
          "selftest/template_test.ok",
          "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
        ],
        "commitId" : "1b11c5916cd22146d8e86bef20fc0f58d5cb1fcf",
        "timestamp" : 1538571392000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: Update .cfg files to use logging level set-all\u000aVTY cmd \"logging level all\" is deprecated in favour of \"logging level \u000aset-all\", but the required behaviour in this case is \"logging level \u000aset-all\".\u000aChange-Id: Ice54fca6be86f05a02ce4ae783e6e42e6958b95d\u000a",
        "date" : "2018-10-03 14:56:32 +0200",
        "id" : "1b11c5916cd22146d8e86bef20fc0f58d5cb1fcf",
        "msg" : "templates: Update .cfg files to use logging level set-all",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-ggsn.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"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-mgcpgw.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-hlr.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/sysmobts-mgr.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test/osmo-nitb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/sysmobts-mgr.cfg.tmpl"
        ],
        "commitId" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
        "timestamp" : 1538571392000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Drop unused sysmobts-mgr.cfg.tmpl\u000aChange-Id: I09632a6b4d3a431f1699d00843b9d7ee257a8b4c\u000a",
        "date" : "2018-10-03 14:56:32 +0200",
        "id" : "cef9c0dee8465605ba9aefcd42885006f91c3f39",
        "msg" : "Drop unused sysmobts-mgr.cfg.tmpl",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/osmo_gsm_tester/templates/sysmobts-mgr.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/defaults.conf"
        ],
        "commitId" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
        "timestamp" : 1538650381000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "defaults.conf: Add SDCCH8 ts in TRX1 cfg\u000aThis way we can test too if SDCH8 channels are allocated and used \u000acorrectly in TRX1 in multiTRX setups.\u000aChange-Id: I9d08f3d019a28cf775d70d941c5a60a7e7ca20a9\u000a",
        "date" : "2018-10-04 12:53:01 +0200",
        "id" : "3fa41541e29ed9743b7aebc7d2dd6d035fba57fb",
        "msg" : "defaults.conf: Add SDCCH8 ts in TRX1 cfg",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod"
        ],
        "commitId" : "1a39ec14c336c94799038df40558eb5321df681f",
        "timestamp" : 1539080493000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf.prod: Update TRX host ip addr\u000aThe host was updated to have several IP address to be able to run \u000aseveral instances of osmo-trx in parallel.\u000aChange-Id: I3595b82a5d202caec7bc48a63e28ce0331e5abb7\u000a",
        "date" : "2018-10-09 12:21:33 +0200",
        "id" : "1a39ec14c336c94799038df40558eb5321df681f",
        "msg" : "resources.conf.prod: Update TRX host ip addr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/osmo_bsc.py"
        ],
        "commitId" : "16abefb35c1042884e7c8e4c8e2b84bc0d8afa88",
        "timestamp" : 1539104130000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bsc: Record RSL traffic in case rsl_ip and oml_ip differs\u000aThis change allows recording all interesting traffic for TTCN3 tests, \u000ahaving GSMTAP and RSL together, because osmo-bsc is configured to pass \u000athe RSL IP of the TTCN3 testsuite emulating a BSC.\u000aChange-Id: I6bd1d1bec8e7b698d12aa886acc21d92532d9e6c\u000a",
        "date" : "2018-10-09 18:55:30 +0200",
        "id" : "16abefb35c1042884e7c8e4c8e2b84bc0d8afa88",
        "msg" : "bsc: Record RSL traffic in case rsl_ip and oml_ip differs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_bsc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "example/resources.conf.prod",
          "example/scenarios/trx-lms.conf",
          "contrib/jenkins-build-osmo-trx.sh"
        ],
        "commitId" : "e789f0c0889ebe1f42da8ca665e2f7541f5527dc",
        "timestamp" : 1539164398000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bts-trx: Add support for osmo-trx-lms\u000aChange-Id: I44db0fe4592109ecb665e1880806d90379da64f7\u000a",
        "date" : "2018-10-10 09:39:58 +0000",
        "id" : "e789f0c0889ebe1f42da8ca665e2f7541f5527dc",
        "msg" : "osmo-bts-trx: Add support for osmo-trx-lms",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/trx-lms.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-trx.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh",
          "ttcn3/scenarios/sysmo.conf",
          "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl",
          "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "f6166144b5261440230f68ccdb255d0f8f3c97d3",
        "timestamp" : 1539618912000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ttcn3: Support running tests without PCU socket avail\u000aChange-Id: I902af460b798ffdba09d77d457bac672db606368\u000a",
        "date" : "2018-10-15 17:55:12 +0200",
        "id" : "f6166144b5261440230f68ccdb255d0f8f3c97d3",
        "msg" : "ttcn3: Support running tests without PCU socket avail",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/BTS_Tests.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "add",
            "file" : "ttcn3/scenarios/sysmo.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh",
          "ttcn3/default-suites.conf",
          "ttcn3/suites/ttcn3_bts_tests/suite.conf",
          "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
        ],
        "commitId" : "a52855614a2cf0c1a07b37fb5f719dcacf319036",
        "timestamp" : 1539619171000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ttcn3: Allow remote hosts (sysmobts) to access RSL srv inside TTCN3\u000adocker\u000aAnd extra IP address is required/requested on the docker host because \u000athe BSC handling the OML instance is binding to it's address, so we \u000acannot ask docker to use that one because it fails binding to it.\u000aChange-Id: I734fba91db535d7b183ddc7f51d324a6cd2eaf6f\u000a",
        "date" : "2018-10-15 17:59:31 +0200",
        "id" : "a52855614a2cf0c1a07b37fb5f719dcacf319036",
        "msg" : "ttcn3: Allow remote hosts (sysmobts) to access RSL srv inside TTCN3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py"
          },
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh"
          },
          {
            "editType" : "edit",
            "file" : "ttcn3/default-suites.conf"
          },
          {
            "editType" : "edit",
            "file" : "ttcn3/suites/ttcn3_bts_tests/suite.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/report.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/esme.py",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/smsc.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "d03acdf38ab75d90d588c4990076a3f763882583",
        "timestamp" : 1540484809000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "First round of clean-ups of imports and unused variables\u000aRun pyflakes src/osmo_gsm_tester and then address the first round of\u000aproblems.\u000aChange-Id: I02f1d89078dfdf37d53e2e20811bf36fb14ec3b0\u000a",
        "date" : "2018-10-25 16:26:49 +0000",
        "id" : "d03acdf38ab75d90d588c4990076a3f763882583",
        "msg" : "First round of clean-ups of imports and unused variables",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/smsc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/report.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/process.py"
        ],
        "commitId" : "8aca1f37d6a8a7c772b1ae95ed8825f185253eaa",
        "timestamp" : 1540549499000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Make sure sync process is terminated if ogt is stopped\u000aChange-Id: Iecdac96ea576a312be2a6c6b6799e249074687ef\u000a",
        "date" : "2018-10-26 10:24:59 +0000",
        "id" : "8aca1f37d6a8a7c772b1ae95ed8825f185253eaa",
        "msg" : "process: Make sure sync process is terminated if ogt is stopped",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/defaults.conf"
        ],
        "commitId" : "d11da2e6bcd3f12e852df6eb9b18e17d8498203e",
        "timestamp" : 1540831621000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "defaults.conf: Set valid default codec_list matching avail TS types\u000aBy default, all channels are TCH/F, and as a result we cannot run half \u000arate codecs on it.\u000aSince recent versions of osmo-bsc, it checks this kind of \u000amisconfigurations and answers with an Assignment Failure:\u000a.... 20181029162133430 DMSC <0007> codec_pref.c:445 codec-support/trx\u000aconfig of BTS 0 does not intersect with codec-list of MSC 0 \u000a20181029162133430 DMSC <0007> osmo_bsc_main.c:887 Configuration contains\u000amutually exclusive codec settings -- check configuration!\u000a.... 20181029162255253 DMSC <0007> osmo_bsc_bssap.c:859 Rx MSC DT1\u000aBSSMAP ASSIGNMENT REQ 20181029162255254 DMSC <0007> osmo_bsc_bssap.c:718\u000aNo supported audio type found for channel_type = { ch_indctr=0x1,\u000ach_rate_type=0xa, perm_spch=[ 42 21 11 01 25 05 ]\u000aChange-Id: Ie6b37839fe363b5d1ba64c267d751221434cdedb\u000a",
        "date" : "2018-10-29 17:47:01 +0100",
        "id" : "d11da2e6bcd3f12e852df6eb9b18e17d8498203e",
        "msg" : "defaults.conf: Set valid default codec_list matching avail TS types",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "c046dba575316004101253df15bd967f8ee6e21e",
        "timestamp" : 1540912634000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites: Remove .conf suffic from scenarios\u000aChange-Id: I090a3ba8c5eb8fc256f09c798bfb5a17cdca274e\u000a",
        "date" : "2018-10-30 16:17:14 +0100",
        "id" : "c046dba575316004101253df15bd967f8ee6e21e",
        "msg" : "default-suites: Remove .conf suffic from scenarios",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/scenarios/cfg-codec-fr-any.conf",
          "example/default-suites.conf"
        ],
        "commitId" : "317cdf64e2327edf89e78936e596c27957a4e729",
        "timestamp" : 1540913065000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Make sure we use fr codec with IPA dyn TS\u000aIPA style dynamic timeslots (TCH/F_PDCH) support only TCH/F and thus \u000aonly full rate codecs are to be used.\u000aOn the other hand, OSMO style dynamic timeslots (TCH/F_TCH/H_PDCH) can \u000ause both full rate and half rate, so no need to be restrictive there.\u000aChange-Id: I0039ef60b323ed72cfe00d8fd9e9287e9c82d49f\u000a",
        "date" : "2018-10-30 16:24:25 +0100",
        "id" : "317cdf64e2327edf89e78936e596c27957a4e729",
        "msg" : "default-suites.conf: Make sure we use fr codec with IPA dyn TS",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/scenarios/cfg-codec-fr-any.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "b697b3bb8685e87357b572abef97676df58ddaf8",
        "timestamp" : 1540934780000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "Always initialize the _started in the test\u000aWe don't know at which state the termiation routine will be called and\u000ait is best to have a fully initialized object. In prepare we start with\u000aa fresh list just to be sure.\u000aChange-Id: I675772c89e32620da5695aa4793b735cc266684c\u000a",
        "date" : "2018-10-30 21:26:20 +0000",
        "id" : "b697b3bb8685e87357b572abef97676df58ddaf8",
        "msg" : "Always initialize the _started in the test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/ms_driver.py"
        ],
        "commitId" : "b484aab683bc69f1b1314679653d2f3d1139c955",
        "timestamp" : 1540934923000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "Create a \"ms_driver\" stub for the testsuite\u000aAll config parameters are hardcoded for now and it should push \u000asubscribers into the test (which should be a base class but not a\u000aspecific test).\u000aChange-Id: I586b6d532c6e6395b4e6f2cf2128372237d05a7d\u000a",
        "date" : "2018-10-30 21:28:43 +0000",
        "id" : "b484aab683bc69f1b1314679653d2f3d1139c955",
        "msg" : "Create a \"ms_driver\" stub for the testsuite",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-sgsn.sh"
        ],
        "commitId" : "24dc93754b0057fcd7256c4709d5f0c87fc854b3",
        "timestamp" : 1540973691000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osmo-sgsn: Depend on osmo-hlr build\u000aSince osmo-sgsn f4b2c4ca42cc530c38c9ac6f275e4d7da9315fa2, it depends on \u000alibosmo-gsup-client available in osmo-hlr.\u000aChange-Id: I6aa997ff2092f9ddf2ac475fd094803be9063980\u000a",
        "date" : "2018-10-31 08:14:51 +0000",
        "id" : "24dc93754b0057fcd7256c4709d5f0c87fc854b3",
        "msg" : "contrib: build-osmo-sgsn: Depend on osmo-hlr build",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-sgsn.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/show_usb_device.py"
        ],
        "commitId" : "2decdba7e569bfd2693787bbb17690a7531f3f64",
        "timestamp" : 1540976247000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "utils: Introduce show_usb_device.py\u000aThis is a small script written by Alexander Couzens that is useful to \u000alist modems and its properties in a quick and easy way in \u000aosmo-gsm-tester setup.\u000aChange-Id: Iec049e2d56d61ecd50b65b64d95d69641fa0f8be\u000a",
        "date" : "2018-10-31 08:57:27 +0000",
        "id" : "2decdba7e569bfd2693787bbb17690a7531f3f64",
        "msg" : "utils: Introduce show_usb_device.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "utils/show_usb_device.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/modem-netns-setup.py"
        ],
        "commitId" : "e972828a019a5decc3c39050123e11f71737551e",
        "timestamp" : 1540976247000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "utils: Introduce modem-netns-setup.py\u000aUsed to quickly set modem net interfaces into their own net namespace\u000a(named after modem USB ID path).\u000aThe idea is that since osmo-gsm-tester ofono modem.py knowns the USB \u000apath from a modem (path yml attr), it can infer the netns from it and \u000arun a ping process inside it.\u000aRelated: OS#2308 Change-Id: Iadb2df2974e132044fba1f1bc2db8b559912e4e1\u000a",
        "date" : "2018-10-31 08:57:27 +0000",
        "id" : "e972828a019a5decc3c39050123e11f71737551e",
        "msg" : "utils: Introduce modem-netns-setup.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "utils/modem-netns-setup.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/osmo-gsm-tester_setcap_net_admin.sh",
          "utils/osmo-gsm-tester_setcap_net_raw.sh"
        ],
        "commitId" : "0aaf8e1c1ba92ce9d8167fc8be78122c908d8138",
        "timestamp" : 1540976247000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "utils: Add osmo-gsm-tester_setcap_net_*.sh scripts\u000aThis scripts were already being used by osmo-gsm-tester for a while, but \u000awere not avaialable in this repository. Let's put them here to easy find \u000athem and have all this kind of helper scripts together with code using \u000ait.\u000aChange-Id: Ib88a1b7818155fc608cc6ff763300fbd0e03a07a\u000a",
        "date" : "2018-10-31 08:57:27 +0000",
        "id" : "0aaf8e1c1ba92ce9d8167fc8be78122c908d8138",
        "msg" : "utils: Add osmo-gsm-tester_setcap_net_*.sh scripts",
        "paths" : [
          {
            "editType" : "add",
            "file" : "utils/osmo-gsm-tester_setcap_net_admin.sh"
          },
          {
            "editType" : "add",
            "file" : "utils/osmo-gsm-tester_setcap_net_raw.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "utils/osmo-gsm-tester_netns_exec.sh",
          "example/resources.conf.prod",
          "suites/gprs/ping.py",
          "src/osmo_gsm_tester/process.py",
          "example/resources.conf.rnd",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/suite.py"
        ],
        "commitId" : "fd4c14404908c683a00e9132a50fdb9a91ccd698",
        "timestamp" : 1540976342000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add support to test gprs IPv4 data plane\u000aSince the modem iface and the GGSN iface are on the same host/netns, \u000ait's really difficult to conveniently test data plane without getting \u000arouting loops. As a result, either GGSN or modem iface must be moved to \u000aa different namespace. The decision after a few discussions was finally \u000ato move modem interfaces to a different netns.\u000aExpected setup:\u000a* ofono is patched to avoid removing modem if it detects through udev\u000athat its net iface was removed (due to for instance, net iface being\u000amoved to another netns and thus not being reachable anymore by\u000asystemd-udev process running in root netns).\u000a* After ofono is started (and successfully configured all the modems and \u000adetected its net ifaces through syfs/udev), script \"modem-netns-setup.py \u000astart\" which creates a netns for each modem, naming it after its usb \u000apath ID. net ifaces for that modem are moved into its netns.\u000a* Modem is configured to use 802-3 data format, and as a result the net \u000aiface is configured through DHCP (DHCP req only replied AFTER pdp ctx is \u000aactivated!).\u000a* Since osmo-gsm-tester knowns the modem USB path ID (available in \u000aresources.conf), it can run required steps (ifup, DHCP) to configure the \u000ainterface. The interface name is provided by ofono to osmo-gsm-tester.\u000a* As a result, any process willing to transmit data through the modem \u000amust be in the modem netns.\u000aRelated: OS#2308 Change-Id: Icb06bdfcdd37c797be95ab5addb28da2d9f6681c\u000a",
        "date" : "2018-10-31 09:59:02 +0100",
        "id" : "fd4c14404908c683a00e9132a50fdb9a91ccd698",
        "msg" : "Add support to test gprs IPv4 data plane",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/gprs/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "add",
            "file" : "utils/osmo-gsm-tester_netns_exec.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/pcap_recorder.py"
        ],
        "commitId" : "772b2b14bbae02d36f9f815706d59186a08b2556",
        "timestamp" : 1540976342000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "pcap_recorder: Add support to run in netns\u000aChange-Id: Ie1c848254f221f26c59e7f4bd8c079fe3e7bdfc2\u000a",
        "date" : "2018-10-31 09:59:02 +0100",
        "id" : "772b2b14bbae02d36f9f815706d59186a08b2556",
        "msg" : "pcap_recorder: Add support to run in netns",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcap_recorder.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod",
          "example/resources.conf.rnd"
        ],
        "commitId" : "34735f1c495efba6788953fca601908cfb13278c",
        "timestamp" : 1540976342000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf: Add extra IPaddr to pool\u000aChange-Id: If0f1a6a3f4e99091ed117bc7a77a5e60eccb2425\u000a",
        "date" : "2018-10-31 09:59:02 +0100",
        "id" : "34735f1c495efba6788953fca601908cfb13278c",
        "msg" : "resources.conf: Add extra IPaddr to pool",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/gprs/suite.conf",
          "src/osmo_gsm_tester/suite.py",
          "suites/gprs/iperf3.py",
          "src/osmo_gsm_tester/iperf3.py"
        ],
        "commitId" : "8a72586835c8852fb3cded82ee3432e07754dce7",
        "timestamp" : 1540976385000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce iperf3 testing infrastructure\u000aChange-Id: I6ff6bef14feb535d98ca41b9788700d699e1ef1e\u000a",
        "date" : "2018-10-31 09:59:45 +0100",
        "id" : "8a72586835c8852fb3cded82ee3432e07754dce7",
        "msg" : "Introduce iperf3 testing infrastructure",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/gprs/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/gprs/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl",
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "example/defaults.conf",
          "example/scenarios/mod-bts0-egprs.conf",
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/schema.py"
        ],
        "commitId" : "4f23ab58ad64f11eb7ca3360fbea061d1aa801e6",
        "timestamp" : 1540976385000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add support to enable EGPRS\u000aChange-Id: I682f0c1b4cb97b704d646f18f54e748baaefd677\u000a",
        "date" : "2018-10-31 09:59:45 +0100",
        "id" : "4f23ab58ad64f11eb7ca3360fbea061d1aa801e6",
        "msg" : "Add support to enable EGPRS",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/scenarios/mod-bts0-egprs.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "8cecdb2ae32c494cbe5d5a4fa159098da0986cb9",
        "timestamp" : 1540976385000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Enable testing egprs\u000aChange-Id: I1885e2a749e62547f60b9c35e15f1277b2627bb4\u000a",
        "date" : "2018-10-31 09:59:45 +0100",
        "id" : "8cecdb2ae32c494cbe5d5a4fa159098da0986cb9",
        "msg" : "default-suites.conf: Enable testing egprs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod",
          "example/resources.conf.rnd"
        ],
        "commitId" : "fcdf34ade89d133a273c3b1cf4a2db50c0ac2b05",
        "timestamp" : 1540976385000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf: ec20: Enable voice support\u000aIt was tested that it could do MO and MT voicecall just fine as SierraW \u000amodems.\u000aChange-Id: Ie14c00f9f80e00fdbb52ab82a53b4b5a187d41e7\u000a",
        "date" : "2018-10-31 09:59:45 +0100",
        "id" : "fcdf34ade89d133a273c3b1cf4a2db50c0ac2b05",
        "msg" : "resources.conf: ec20: Enable voice support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/ms_driver.py"
        ],
        "commitId" : "d6d3206b0ad1a83aebbccec7e739d440194a5f2a",
        "timestamp" : 1541510159000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: Initialize event_server_sk_tmp_dir in ctor\u000aChange-Id: I9f39a25f292262cf335df371f434995e58c9ae93\u000a",
        "date" : "2018-11-06 13:15:59 +0000",
        "id" : "d6d3206b0ad1a83aebbccec7e739d440194a5f2a",
        "msg" : "ms_driver: Initialize event_server_sk_tmp_dir in ctor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/starter.py"
        ],
        "commitId" : "b5e86b7e11d7f30531b0735bf7ef606029d60ecc",
        "timestamp" : 1541510269000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: Use terminate not kill and initialize in ctor\u000aChange-Id: Ib0102569cfb64a2f85ff33b93dd4ffc8ec59171b\u000a",
        "date" : "2018-11-06 13:17:49 +0000",
        "id" : "b5e86b7e11d7f30531b0735bf7ef606029d60ecc",
        "msg" : "ms_driver: Use terminate not kill and initialize in ctor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod"
        ],
        "commitId" : "a89d2e31d69422777aec363fa75f2c0b1bd5d780",
        "timestamp" : 1541519239000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf.prod: Update modem info after HW upgrade\u000aA new quadmodem with 4xEC20 has been added to the Prod setup.\u000aChange-Id: I51f0b7dd7a1857d34fc2c5076016caeffa15240d\u000a",
        "date" : "2018-11-06 15:47:19 +0000",
        "id" : "a89d2e31d69422777aec363fa75f2c0b1bd5d780",
        "msg" : "resources.conf.prod: Update modem info after HW upgrade",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "799fe6286b5df3d4f381e9d43858be6e4d1a61a4",
        "timestamp" : 1541562633000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms_driver: Fix subject in the header\u000aChange-Id: I47e688b9fe3aef6679e3c82c641393ab041cbec3\u000a",
        "date" : "2018-11-07 03:50:33 +0000",
        "id" : "799fe6286b5df3d4f381e9d43858be6e4d1a61a4",
        "msg" : "ms_driver: Fix subject in the header",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl",
          "src/osmo_gsm_tester/resource.py"
        ],
        "commitId" : "8cfa10f01d0e20279d9af1205b23de27c478e229",
        "timestamp" : 1541770458000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx: Add support for dev-args cfg parameter\u000aChange-Id: I3cff225e378e187779bf2b0c7d65bd6b97217104\u000a",
        "date" : "2018-11-09 13:34:18 +0000",
        "id" : "8cfa10f01d0e20279d9af1205b23de27c478e229",
        "msg" : "osmo-trx: Add support for dev-args cfg parameter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod",
          "example/scenarios/trx-umtrx.conf"
        ],
        "commitId" : "e7f9f41e12f83d95e2fe704f2e1c0000c59a2af8",
        "timestamp" : 1541770458000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resurces.conf.prod: Add UmTRX device\u000aChange-Id: I11f3275bddcc1c0c5bcd75e6a32f040a8f7c1174\u000a",
        "date" : "2018-11-09 13:34:18 +0000",
        "id" : "e7f9f41e12f83d95e2fe704f2e1c0000c59a2af8",
        "msg" : "resurces.conf.prod: Add UmTRX device",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/trx-umtrx.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "b79d39eb2c3f87835d147faee9d0341a49039e9c",
        "timestamp" : 1541770458000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites: Add tests for UmTRX\u000aChange-Id: I0d0fe17676550a96d9bcf795faf43f7e6b82fb1a\u000a",
        "date" : "2018-11-09 13:34:18 +0000",
        "id" : "b79d39eb2c3f87835d147faee9d0341a49039e9c",
        "msg" : "default-suites: Add tests for UmTRX",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/iperf3.py"
        ],
        "commitId" : "64f0b1b1142ccddaabdc0bb168695b59ed60e504",
        "timestamp" : 1542014059000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Fix parsing of incorrect json from iperf3\u000aChange-Id: I759d99857c17de061e6d7c1ae1c38f6b15172131\u000a",
        "date" : "2018-11-12 09:14:19 +0000",
        "id" : "64f0b1b1142ccddaabdc0bb168695b59ed60e504",
        "msg" : "iperf3: Fix parsing of incorrect json from iperf3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/iperf3.py",
          "src/osmo_gsm_tester/process.py",
          "src/osmo_gsm_tester/modem.py"
        ],
        "commitId" : "79df739c07088b1cfc4f42b8c3fe273d84550a0b",
        "timestamp" : 1542042930000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Move standalone run_local_sync as method of Process\u000aChange-Id: Ib2b3fd39db5400a93a8caabae367dac3e3250247\u000a",
        "date" : "2018-11-12 18:15:30 +0100",
        "id" : "79df739c07088b1cfc4f42b8c3fe273d84550a0b",
        "msg" : "process: Move standalone run_local_sync as method of Process",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/process.py"
        ],
        "commitId" : "78087beaa9dea02f53b4e650051b32d56f1639f3",
        "timestamp" : 1542043281000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: launch_sync: allow non success return\u000aChange-Id: I0617335b594ba565cf2e5ffd0edfb8bffa398c48\u000a",
        "date" : "2018-11-12 18:21:21 +0100",
        "id" : "78087beaa9dea02f53b4e650051b32d56f1639f3",
        "msg" : "process: launch_sync: allow non success return",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "1444f55643a9c4f821eeba1b57aee76b0fcfa699",
        "timestamp" : 1542043414000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "nanobts: ipacces-config: Use process.launch_sync helper\u000aChange-Id: I986ba81d766240d4f11c079d90b126bf96d776b9\u000a",
        "date" : "2018-11-12 18:23:34 +0100",
        "id" : "1444f55643a9c4f821eeba1b57aee76b0fcfa699",
        "msg" : "nanobts: ipacces-config: Use process.launch_sync helper",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
        ],
        "commitId" : "c977547ea177febd9e27f3c044dfd3e2052bb93a",
        "timestamp" : 1542115979000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: osmo-pcu: Set log level from dbg to info\u000aOtherwise there's too much output. With debug enabled, iperf3 test from \u000agprs testsuite generates a 96MB osmo-pcu.log. With log level set to \u000ainfo, size drops to 1.4M, which is a lot less after compressing in an \u000aarchive.\u000aChange-Id: I008234024b9369db42c90ef5d59a013fd2d22718\u000a",
        "date" : "2018-11-13 13:32:59 +0000",
        "id" : "c977547ea177febd9e27f3c044dfd3e2052bb93a",
        "msg" : "templates: osmo-pcu: Set log level from dbg to info",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl"
        ],
        "commitId" : "b656432701dbd205d620205c8c86607224250478",
        "timestamp" : 1542195821000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: osmo-pcu-sysmo: Set log level from dbg to info\u000aOtherwise there's too much output. With debug enabled, iperf3 test from \u000agprs testsuite generates a 111MB osmo-pcu.log.\u000aChange-Id: I687361f3d6ede9a77531cd71204b1b07e0d1af42\u000a",
        "date" : "2018-11-14 12:43:41 +0100",
        "id" : "b656432701dbd205d620205c8c86607224250478",
        "msg" : "templates: osmo-pcu-sysmo: Set log level from dbg to info",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "9cf1c8afde842febc02ce5fe6f931fe797236a84",
        "timestamp" : 1542229252000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "misc: Use RPATH to avoid having tests to set LD_LIBRARY_PATH\u000aInstead of each binary launcher having to check if there is a lib/ \u000adirectory and then setting a LD_LIBRARY_PATH we can use an RPATH and \u000aknow these binaries pick-up the right libraries.\u000aThis requires I6e4ad2e3855af7bcefc22d4190cc4e6f58581857.\u000aChange-Id: If771767dd82662e13b6b10ee7a8b8d0c84dcbdb1\u000a",
        "date" : "2018-11-14 21:00:52 +0000",
        "id" : "9cf1c8afde842febc02ce5fe6f931fe797236a84",
        "msg" : "misc: Use RPATH to avoid having tests to set LD_LIBRARY_PATH",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/__main__.py",
          "src/osmo_ms_driver/starter.py",
          "src/osmo_gsm_tester/ms_driver.py",
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "f658b83b07317d29b22c86adc7f7b9229f93af72",
        "timestamp" : 1542229403000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: Allow to specify env and binary name/path\u000aFor the proper trial/suite integration we can't assume that the \u000avirtphy/mobile are in the PATH and that they can be executed directly\u000a(e.g. need a LD_LIBRARY_PATH to be applied).\u000aIntroduce BinaryOptions to pass the name/path of the two executables and\u000athe env to use. Default this to virtphy/mobile and an empty environment.\u000aChange-Id: I79a57e53bc20613ac061453c24fd29a6d05e1721\u000a",
        "date" : "2018-11-14 21:03:23 +0000",
        "id" : "f658b83b07317d29b22c86adc7f7b9229f93af72",
        "msg" : "ms_driver: Allow to specify env and binary name/path",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/__main__.py",
          "src/osmo_ms_driver/starter.py",
          "src/osmo_gsm_tester/ms_driver.py",
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "f743afb669cd2e5dad013952dab4dc470bc8746e",
        "timestamp" : 1542229434000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: Switch to process.Process from subprocess\u000aUse a single tmp/rundir for all these instances. In the next step we can\u000acreate separate directories.\u000aChange-Id: Icf4d4e161ac4283a63ed4e0745b375e7e6a25004\u000a",
        "date" : "2018-11-14 21:03:54 +0000",
        "id" : "f743afb669cd2e5dad013952dab4dc470bc8746e",
        "msg" : "ms_driver: Switch to process.Process from subprocess",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "4a6324742a6565f0e1c6e00c34e34fca41b8764e",
        "timestamp" : 1542573002000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@gnumonks.org",
        "comment" : "default-suites: Enable tests for LimeSDR-USB\u000aChange-Id: I896ea76f1d2847ec014a62c87220d184b95d1dd2\u000a",
        "date" : "2018-11-18 20:30:02 +0000",
        "id" : "4a6324742a6565f0e1c6e00c34e34fca41b8764e",
        "msg" : "default-suites: Enable tests for LimeSDR-USB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.rnd"
        ],
        "commitId" : "289383c914865a4234280da5087198ee681c20a8",
        "timestamp" : 1542620424000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf.rnd: gobi2k changed by ec20\u000aGiven current bad support of most features used, gobi2k modem was \u000aremoved and an EC20 was added instead.\u000aChange-Id: I2df38547978c7d2b1a1309f6e73b5a59413e08ff\u000a",
        "date" : "2018-11-19 09:40:24 +0000",
        "id" : "289383c914865a4234280da5087198ee681c20a8",
        "msg" : "resources.conf.rnd: gobi2k changed by ec20",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/iperf3.py"
        ],
        "commitId" : "cf6a360efe09bac2eec2f522ec1e66e8150302fb",
        "timestamp" : 1542620424000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: Allow changing port of iperf3 server\u000aThis way several servers can run sharing same IP address.\u000adefault port variable is moved inside class to be available to tests.\u000aChange-Id: Id4eae7cefbb1a18ecf2676f9cb22c60cc91cec7c\u000a",
        "date" : "2018-11-19 09:40:24 +0000",
        "id" : "cf6a360efe09bac2eec2f522ec1e66e8150302fb",
        "msg" : "iperf3: Allow changing port of iperf3 server",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/iperf3.py"
        ],
        "commitId" : "0df6317d1f30c3bfef22bb6c9e6a79fab16eb1bc",
        "timestamp" : 1542620424000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "iperf3: implement str() method in iperf3 server\u000aThis way it can be logged easily during test runs.\u000aChange-Id: I699f0a9a8d263ac9f02ea9594a28ca9fd8d48db6\u000a",
        "date" : "2018-11-19 09:40:24 +0000",
        "id" : "0df6317d1f30c3bfef22bb6c9e6a79fab16eb1bc",
        "msg" : "iperf3: implement str() method in iperf3 server",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/gprs/suite.conf",
          "suites/gprs/iperf3m4.py",
          "suites/gprs/lib/testlib.py",
          "suites/gprs/iperf3.py",
          "src/osmo_gsm_tester/iperf3.py"
        ],
        "commitId" : "0fc74370b0c73d39fc04b4678d8cded7d331a6cc",
        "timestamp" : 1542620424000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: iperf3: Support testing parallel iperf3 clients in test\u000aSince tests running a single MS and several of them are really similar, \u000ageneric code handling the test for N concurrent iperf3 sessions is \u000awriten an moved to testlib, and existing and new test use that code.\u000aChange-Id: I57799fde49e6845379cca332eec0a1f70aaecd2b\u000a",
        "date" : "2018-11-19 09:40:24 +0000",
        "id" : "0fc74370b0c73d39fc04b4678d8cded7d331a6cc",
        "msg" : "tests: iperf3: Support testing parallel iperf3 clients in test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/gprs/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/gprs/iperf3.py"
          },
          {
            "editType" : "add",
            "file" : "suites/gprs/iperf3m4.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/gprs/suite.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/iperf3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl",
          "selftest/template_test.ok"
        ],
        "commitId" : "9ea9c65b39a89d73a388a24ba6514d072537d1fa",
        "timestamp" : 1542828189000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: bsc/nitb: Remove explicit no force-combined-si\u000aIt's always been the default anyway, so no need to explicitly state it. \u000aFurthermore, recently (osmobsc 167cb828665b91ed7d28007abd4a1862ebbb78c9) \u000aforce-combined-si was enabled by default for nanoBTS due to issues with \u000asome MS not registering when it's not enabled, so let's osmo-bsc decide \u000awere should it be enabled.\u000aRelated: OS#3063 Change-Id: I97b10406a4a0048c66a47aa7d32a113f0c0366d1\u000a",
        "date" : "2018-11-21 20:23:09 +0100",
        "id" : "9ea9c65b39a89d73a388a24ba6514d072537d1fa",
        "msg" : "templates: bsc/nitb: Remove explicit no force-combined-si",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-nitb.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "selftest/template_test.ok"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod",
          "example/resources.conf.rnd"
        ],
        "commitId" : "5686602a98134f61ff2b6b9b83a31509619ae27b",
        "timestamp" : 1542980556000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf: Set UHD identifiers on B200 devices\u000aosmo-trx-uhd uses these args during device search/selection process. As \u000athose were not set until now for B200, it means when a B200 was used by \u000aosmo-gsm-tester any UHD device could be picked up and used by UHD. That\u000awas actually happening since inclusion of UmTRX devices in Prod setup,\u000awhen running tests against desired B200, actually the UmTRX device was\u000abeing used.\u000aChange-Id: I696bbc800b05fdd9a68a77f363d76dcc53ef24ee\u000a",
        "date" : "2018-11-23 13:42:36 +0000",
        "id" : "5686602a98134f61ff2b6b9b83a31509619ae27b",
        "msg" : "resources.conf: Set UHD identifiers on B200 devices",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/gprs/ping_idle_ping.py"
        ],
        "commitId" : "d7fa036102e38acd7ac7cc5097a77ec561e2e8c0",
        "timestamp" : 1542985699000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites: gprs: Add test to verify MS can use gprs after long idle time\u000aChange-Id: I1a726049d1e4a95f1145dcf1f654c63503ceb78a\u000a",
        "date" : "2018-11-23 15:08:19 +0000",
        "id" : "d7fa036102e38acd7ac7cc5097a77ec561e2e8c0",
        "msg" : "suites: gprs: Add test to verify MS can use gprs after long idle time",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/gprs/ping_idle_ping.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/gprs/suite.conf",
          "suites/gprs/cs_paging_gprs_active.py"
        ],
        "commitId" : "dcc67fca3e87bbcc7e276e298c02870128ce3a9c",
        "timestamp" : 1542985699000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites: gprs: Add test to verify CS paging works while MS is GPRS\u000aattached\u000aRelated: OS#2204 Change-Id: If2844d78b52eda59c1f6d9e18363b858f2b5f007\u000a",
        "date" : "2018-11-23 15:08:19 +0000",
        "id" : "dcc67fca3e87bbcc7e276e298c02870128ce3a9c",
        "msg" : "suites: gprs: Add test to verify CS paging works while MS is GPRS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/gprs/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/gprs/cs_paging_gprs_active.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/starter.py",
          "src/osmo_gsm_tester/ms_driver.py",
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "792614f12baa0acbcb05e50a81473809d6304008",
        "timestamp" : 1543061272000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: use the util.Dir and create one dir per instance\u000aChange-Id: Ie0f2fe99f6a6640606eb4e69fb1a2d22eae9b2c8\u000a",
        "date" : "2018-11-24 12:07:52 +0000",
        "id" : "792614f12baa0acbcb05e50a81473809d6304008",
        "msg" : "ms_driver: use the util.Dir and create one dir per instance",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/starter.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/__main__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/ms_driver.py"
        ],
        "commitId" : "bdc18d97e14a12dea1f0a6e1d63ff32573714c4a",
        "timestamp" : 1543061352000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms_driver: Consult the suite to get the binaries\u000aChange-Id: I7fbb04cf67fe21378aacefcf1a15533d20d10d49\u000a",
        "date" : "2018-11-24 12:09:12 +0000",
        "id" : "bdc18d97e14a12dea1f0a6e1d63ff32573714c4a",
        "msg" : "ms_driver: Consult the suite to get the binaries",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/ms_driver.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/nitb_netreg_mass/register_default_mass.py",
          "suites/nitb_netreg_mass/suite.conf"
        ],
        "commitId" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
        "timestamp" : 1543063602000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "suites: Add an initial test for the ms_driver\u000aThings to make configurable:\u000a* IMSI and matching MSISDN ranges (start + count)\u000a* Timeouts and number of MS (which should be related)\u000aChange-Id: I5be2a6b4d3d21bf48625624b9e2cccb33765fe39\u000a",
        "date" : "2018-11-24 12:46:42 +0000",
        "id" : "5b84115d22014bd23e9360cc0dc80a677638a5e5",
        "msg" : "suites: Add an initial test for the ms_driver",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/nitb_netreg_mass/register_default_mass.py"
          },
          {
            "editType" : "add",
            "file" : "suites/nitb_netreg_mass/suite.conf"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
      "fullName" : "holger"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
      "fullName" : "lynxis"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
      "fullName" : "Holger Freyther"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
      "fullName" : "Pau Espin Pedrol"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    }
  ]
}