{
  "_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 aoip_ussd:nanobts+band-900 -s aoip_ussd:nanobts+band-1900"
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Pau Espin Pedrol",
          "userId" : "pespin",
          "userName" : "Pau Espin Pedrol"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/pespin/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" : 686,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
            "branch" : [
              {
                "SHA1" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
            "branch" : [
              {
                "SHA1" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
                "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" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
        "branch" : [
          {
            "SHA1" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://git.osmocom.org/osmo-gsm-tester"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#686",
  "duration" : 17741,
  "estimatedDuration" : 632506,
  "executor" : None,
  "fullDisplayName" : "osmo-gsm-tester_manual-run-all #686",
  "id" : "686",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 686,
  "queueId" : 37890,
  "result" : "FAILURE",
  "timestamp" : 1530102049723,
  "url" : "https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_manual-run-all/686/",
  "builtOn" : "osmo-gsm-tester-prod",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/aoip_smpp/esme_connect_policy_acceptall.py",
          "suites/aoip_smpp/esme_ms_sms_transaction.py",
          "suites/aoip_smpp/esme_ms_sms_storeforward.py",
          "suites/aoip_smpp/esme_connect_policy_closed.py",
          "suites/gprs/ping.py",
          "suites/aoip_encryption/register_a5_1_authreq.py",
          "suites/aoip_sms/mo_mt_sms.py",
          "suites/voice/mo_mt_call.py",
          "suites/aoip_encryption/register_a5_0_authreq.py",
          "src/osmo_gsm_tester/osmo_msc.py",
          "suites/aoip_ussd/assert_extension.py",
          "suites/aoip_debug/interactive.py",
          "suites/aoip_encryption/register_a5_0_authopt.py",
          "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
        ],
        "commitId" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
        "timestamp" : 1519643688000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-msc: Use osmo-mgw instead of osmo-bsc_mgcp\u000aosmo-msc now requires osmo-mgw and it's not expected to work properly \u000aanymore with old mgcp code.\u000aChange-Id: I93033f7b6133a4914f12f37511ad870b3dea3201\u000a",
        "date" : "2018-02-26 12:14:48 +0100",
        "id" : "86ea02f30575e0637ffde6781d596a5f9e713fd2",
        "msg" : "osmo-msc: Use osmo-mgw instead of osmo-bsc_mgcp",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/aoip_encryption/register_a5_0_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_smpp/esme_ms_sms_storeforward.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_msc.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_encryption/register_a5_0_authopt.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_smpp/esme_connect_policy_acceptall.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_sms/mo_mt_sms.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_encryption/register_a5_1_authreq.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_debug/interactive.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_ussd/assert_extension.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_smpp/esme_ms_sms_transaction.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/gprs/ping.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/aoip_smpp/esme_connect_policy_closed.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
        ],
        "commitId" : "edcc8d2624ab4ae27ac1e56c6a152d5a4d2e8fc3",
        "timestamp" : 1520191046000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx: Add cfg template\u000aSince commit 3da1f8352e337fb032bf7a58c2909d3ba918e237, osmo-trx requires \u000aa cfg file to start successfully.\u000aChange-Id: I8f0e0d0a9fa849f41c3cccc4059431f62f956eac\u000a",
        "date" : "2018-03-04 20:17:26 +0100",
        "id" : "edcc8d2624ab4ae27ac1e56c6a152d5a4d2e8fc3",
        "msg" : "osmo-trx: Add cfg template",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/templates/osmo-trx.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-pcu-sysmo.sh",
          "contrib/jenkins-build-osmo-bts-sysmo.sh"
        ],
        "commitId" : "9695a1cbc13fef0afe4ecdb9c098193aab423cdf",
        "timestamp" : 1520345366000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
          "fullName" : "lynxis"
        },
        "authorEmail" : "lynxis@fe80.eu",
        "comment" : "jenkins: use env POKY_VERSION POKY_PATH to find poky\u000aInstead of hardcoded values, use defaults and allow jenkins to override \u000athe defaults.\u000aChange-Id: I1403b32cdf30420f3b02c41c2627b71fcbeae9ab\u000a",
        "date" : "2018-03-06 15:09:26 +0100",
        "id" : "9695a1cbc13fef0afe4ecdb9c098193aab423cdf",
        "msg" : "jenkins: use env POKY_VERSION POKY_PATH to find poky",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-pcu-sysmo.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts-sysmo.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-pcu-sysmo.sh",
          "contrib/jenkins-build-osmo-bts-sysmo.sh"
        ],
        "commitId" : "89da3704bcb74b9e3670bc60e01cface50923d9c",
        "timestamp" : 1520345424000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
          "fullName" : "lynxis"
        },
        "authorEmail" : "lynxis@fe80.eu",
        "comment" : "jenkins: update poky version 2.3.2\u000aThe sysmobts 2017 releases are using poky 2.3.2\u000aChange-Id: If6e8a5702e4c9b24e758e3aa5f390e786c51c384\u000a",
        "date" : "2018-03-06 15:10:24 +0100",
        "id" : "89da3704bcb74b9e3670bc60e01cface50923d9c",
        "msg" : "jenkins: update poky version 2.3.2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts-sysmo.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-pcu-sysmo.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-bts.sh"
        ],
        "commitId" : "274c8bd6372da0ef126b24e14ca2a287912428c5",
        "timestamp" : 1520618068000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osmo-bts: Remove dropped dependency openbsc\u000aSince osmo-bts ec33b0397f5d71248c5834513d4be7b9b0e46366, it doesn't \u000arequire openbsc anymore to build.\u000aChange-Id: I8a1918971388afad41308629c1851614d1381f25\u000a",
        "date" : "2018-03-09 18:54:28 +0100",
        "id" : "274c8bd6372da0ef126b24e14ca2a287912428c5",
        "msg" : "contrib: build-osmo-bts: Remove dropped dependency openbsc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-bsc.sh"
        ],
        "commitId" : "e5a7a40faa62d01bbf7f749399b3d2205336e5d4",
        "timestamp" : 1520618068000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osmo-bsc: Add aibsip-find and ipaccess-config binaries to\u000aarchive\u000aThey will be required by Nanobts class.\u000aChange-Id: Ib0e003f74603c3146aa76d581ab493f960f73ab5\u000a",
        "date" : "2018-03-09 18:54:28 +0100",
        "id" : "e5a7a40faa62d01bbf7f749399b3d2205336e5d4",
        "msg" : "contrib: build-osmo-bsc: Add aibsip-find and ipaccess-config binaries to",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bsc.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/schema.py",
          "example/resources.conf",
          "src/osmo_gsm_tester/modem.py"
        ],
        "commitId" : "bfd0b2310cf09e32cb7d5dbe74ec57606a7d2aab",
        "timestamp" : 1520962379000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "modem: get IMSI from ofono\u000aThere's no need to specify the IMSI manually in resource config and it's\u000aalso prone to errors. Let's take it from ofono. Add a 'sim' feature to\u000aallow modem to auto-discover it, otherwise if not supported leave that\u000afeature out of the config for that modem and an imsi can still be\u000amanually providen.\u000aChange-Id: I20f9e8d97775293925205e4ea576d814214bf1a8\u000a",
        "date" : "2018-03-13 18:32:59 +0100",
        "id" : "bfd0b2310cf09e32cb7d5dbe74ec57606a7d2aab",
        "msg" : "modem: get IMSI from ofono",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.rnd",
          "example/resources.conf",
          ".gitignore",
          "example/resources.conf.prod"
        ],
        "commitId" : "7ad177f3968d33479ed228089ead2b098b2bdedc",
        "timestamp" : 1520968362000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "example: Maintain different resources.conf for RnD and prod\u000aWe still want to maintain this file in the same osmo-gsm-tester repo \u000abecause we frequently neef to update the config when adding new \u000afeatures.\u000aUntil now only 1 file was maintained (which was used for RnD setup), and \u000athen when runnin in prod the jenkins script used sed to change the file \u000ato accomodate slightly changes. This way is too hacky, so let's just \u000amaintain too separate files, keeping the original resources.conf key \u000aname used by osmo-gsm-tester free, so that jenkins job can symlink one \u000aof the 2 files to it.\u000aTake the chance to remove OctoBTS and Sysmocell5k from the RnD resources \u000afile, as we don't have those them.\u000aChange-Id: Ifec851c7ac6fca6b294e57dfe86b92f214ae8f42\u000a",
        "date" : "2018-03-13 20:12:42 +0100",
        "id" : "7ad177f3968d33479ed228089ead2b098b2bdedc",
        "msg" : "example: Maintain different resources.conf for RnD and prod",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "delete",
            "file" : "example/resources.conf"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : "example/resources.conf.prod"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/modem.py"
        ],
        "commitId" : "f8d12196f05b20aa28b3103db26ea37ba6849362",
        "timestamp" : 1521051607000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "modem: workaround ofono crash\u000aSince commit bfd0b2310cf09e32cb7d5dbe74ec57606a7d2aab, the IMSI is \u000aretreived from ofono. To get the IMSI, the modme must be powered ON \u000apreviously. The imsi() method is called before calling connect() in \u000aorder to set up the IMSI in the HLR. As a result, the following \u000abehaviour occurs:\u000a- Powered=true (in imsi())\u000a- SimManager.GetProperties() (several of them)\u000a- Powered=false (power_cycle() in connect()\u000aIt seems powering off the modem immediately after using the SIM service \u000amakes ofono crash. Proof of it is that crashes were seen mainly on tests \u000ausing only 1 MS, in which we don't spend that much time between \u000aSimManager.GetProperties() and Powered=false for the same modem.\u000aLet's workaround the crash for now increasing the time between using the \u000aSIM services and powering the modem off.\u000aRelated: OS#3064\u000aChange-Id: Ief052cac5a862d6ef9391d40c294ba017387506c\u000a",
        "date" : "2018-03-14 19:20:07 +0100",
        "id" : "f8d12196f05b20aa28b3103db26ea37ba6849362",
        "msg" : "modem: workaround ofono crash",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/pcu_osmo.py"
        ],
        "commitId" : "150abb48d0a96e5c5a4adf2cc46d686b043daf67",
        "timestamp" : 1521109774000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Create Pcu abstract class and make OsmoPcu inherit from it\u000aThis base class will be used to describe the required accessors for all \u000aPCU objects.\u000aIt is introduced in this commit and will be further used in the future \u000awhen adding a Dummy PCU object which will be used by NanoBts object.\u000aChange-Id: Ia3fd4551d1f2932362f99f7d44d65f8ae4fd1979\u000a",
        "date" : "2018-03-15 11:29:34 +0100",
        "id" : "150abb48d0a96e5c5a4adf2cc46d686b043daf67",
        "msg" : "Create Pcu abstract class and make OsmoPcu inherit from it",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmo.py"
        ],
        "commitId" : "4fbdc35e952717068e667e501d7f6c5c9701610c",
        "timestamp" : 1521109774000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_osmo.py: ready_for_pcu is of public access from tests, move it\u000aaccordingly\u000aChange-Id: Ie8978854404897ae5de7e3100d55d86c7a5c1df1\u000a",
        "date" : "2018-03-15 11:29:34 +0100",
        "id" : "4fbdc35e952717068e667e501d7f6c5c9701610c",
        "msg" : "bts_osmo.py: ready_for_pcu is of public access from tests, move it",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "52ad3a66d2f79ea366379b69cb16db9ae50b9664",
        "timestamp" : 1521109775000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Create Bts abstract class and make OsmoBts inherit from it\u000aThis base class will be used to describe the required accessors for all \u000aBTS objects, be it an osmocom BTS or not.\u000aIt is introduced in this commit and will be further used in the future \u000awhen adding a NanoBts object.\u000aChange-Id: Ic13133e61abda73a8b507c1a1bd7b98c677460f9\u000a",
        "date" : "2018-03-15 11:29:35 +0100",
        "id" : "52ad3a66d2f79ea366379b69cb16db9ae50b9664",
        "msg" : "Create Bts abstract class and make OsmoBts inherit from it",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/bts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/pcu.py"
        ],
        "commitId" : "651cdc9b0f0cdf36e636ffb8a1fd90877dc569df",
        "timestamp" : 1521109775000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "pcu.py: Introduce PcuDummy class\u000aIt will be used in later commits by BTS without proper PCU control such \u000aas NanoBts.\u000aChange-Id: I37ba38f7d81134e5f0ca28fa684fdb09c753bb04\u000a",
        "date" : "2018-03-15 11:29:35 +0100",
        "id" : "651cdc9b0f0cdf36e636ffb8a1fd90877dc569df",
        "msg" : "pcu.py: Introduce PcuDummy class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/powersupply.py",
          "src/osmo_gsm_tester/powersupply_sispm.py"
        ],
        "commitId" : "19c508c3047c0a4e40507583bbf75ba1aea53037",
        "timestamp" : 1521140076000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce PowerSupply interface and PowerSupplySispm\u000aFile powersupply.py defines the interface to be used by child classes \u000aimplementing it. It also provides helpers to allocate a child class \u000abased on configuration provided ('type' field).\u000aFile powersupply_sispm.py is an implementation using pysispm [1], as\u000ait's the one used to control the programmable power socket we have right\u000anow.\u000aThis kind of class will be used in later commits by Nanobts class, as we \u000awant to poweroff the Nanobts completelly when not in use.\u000aUsing it requires the following extra dependencies:\u000a$ apt-get install python3-usb\u000a$ pip3 install pysispm\u000aRelated: OS#3040\u000a[1] https://github.com/xypron/pysispm\u000aChange-Id: I981c260eca1a61657147e6d83b4226618088223c\u000a",
        "date" : "2018-03-15 19:54:36 +0100",
        "id" : "19c508c3047c0a4e40507583bbf75ba1aea53037",
        "msg" : "Introduce PowerSupply interface and PowerSupplySispm",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/powersupply.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/powersupply_sispm.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/defaults.conf",
          "example/scenarios/nanobts.conf",
          "example/resources.conf.prod",
          "src/osmo_gsm_tester/resource.py",
          "example/resources.conf.rnd",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "1b28a584eda2d2292ec0b73094bfaecb96b0c49f",
        "timestamp" : 1521140082000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Introduce ip.access nanobts support\u000aChange-Id: Ibaea025b3a503dfe897d36701234445de6d49f82\u000a",
        "date" : "2018-03-15 19:54:42 +0100",
        "id" : "1b28a584eda2d2292ec0b73094bfaecb96b0c49f",
        "msg" : "Introduce ip.access nanobts support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/scenarios/nanobts.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "807d865ebe39963a8e6b1a67c149c0407706ca49",
        "timestamp" : 1521140083000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Add nanobts related tests\u000aChange-Id: I054db78e6a71514133e4e3c3158342b74af44201\u000a",
        "date" : "2018-03-15 19:54:43 +0100",
        "id" : "807d865ebe39963a8e6b1a67c149c0407706ca49",
        "msg" : "default-suites.conf: Add nanobts related tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "example/resources.conf.rnd",
          "src/osmo_gsm_tester/util.py",
          "example/resources.conf.prod",
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "a238ed99316d0ac8bc4ddbfac1cb1a1a46ffafbc",
        "timestamp" : 1522155111000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "nanobts: Bind to specific addr instead of specific iface\u000aThis way root access is not required.\u000aChange-Id: I02f6fc9e1cb1ea1e1d950eafe22c231a18100f98\u000a",
        "date" : "2018-03-27 14:51:51 +0200",
        "id" : "a238ed99316d0ac8bc4ddbfac1cb1a1a46ffafbc",
        "msg" : "nanobts: Bind to specific addr instead of specific iface",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/util.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/schema.py"
        ],
        "commitId" : "05a838e2590f6125c8b8629feea8012fc3668795",
        "timestamp" : 1522170941000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "schema: Accept band GSM-900\u000aChange-Id: I274c3010f33776b2967ee01de027c44b794cc5d4\u000a",
        "date" : "2018-03-27 19:15:41 +0200",
        "id" : "05a838e2590f6125c8b8629feea8012fc3668795",
        "msg" : "schema: Accept band GSM-900",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/scenarios/band-1800.conf",
          "example/scenarios/band-900.conf",
          "example/scenarios/band-1900.conf"
        ],
        "commitId" : "3f480a0e05f10fe31c6bbf8643fcdc407a2aab64",
        "timestamp" : 1522170974000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "example: Add scenarios to select BTS for a specific band\u000aChange-Id: Id830536c9337151818901cb25c3a568a77cdbf5e\u000a",
        "date" : "2018-03-27 19:16:14 +0200",
        "id" : "3f480a0e05f10fe31c6bbf8643fcdc407a2aab64",
        "msg" : "example: Add scenarios to select BTS for a specific band",
        "paths" : [
          {
            "editType" : "add",
            "file" : "example/scenarios/band-900.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/band-1800.conf"
          },
          {
            "editType" : "add",
            "file" : "example/scenarios/band-1900.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.rnd",
          "example/defaults.conf",
          "example/resources.conf.prod",
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "fef9c1c5cff443f9e928035697e2fb4be857d9ff",
        "timestamp" : 1522171247000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "nanobts: Add support to run nanobts on the 900 band\u000aChange-Id: I13b494630ea835f4bed38ccc77f6a4d5e18326af\u000a",
        "date" : "2018-03-27 19:20:47 +0200",
        "id" : "fef9c1c5cff443f9e928035697e2fb4be857d9ff",
        "msg" : "nanobts: Add support to run nanobts on the 900 band",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "47d2d3a83824e2474ad821bdec755c506dee2732",
        "timestamp" : 1522171597000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "example: Run tests on both nanobts with different bands\u000aChange-Id: Iee2220e1770caa891713dbd18e8f4a4741c1fbe4\u000a",
        "date" : "2018-03-27 19:26:37 +0200",
        "id" : "47d2d3a83824e2474ad821bdec755c506dee2732",
        "msg" : "example: Run tests on both nanobts with different bands",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
        ],
        "commitId" : "2c0ae6288d525a9e81271b5b005a0d64ba18edac",
        "timestamp" : 1522708698000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: osmo-bsc: Remove no longer available cfgs\u000aosmo-bsc c74a5616bf1c77ac40ddd92f4927dca7a1b45bc8 removed these cfg \u000aoptions as they are dead code.\u000aChange-Id: I2fb63d31d5d7424b48ed2cfc694d09db072db485\u000a",
        "date" : "2018-04-03 00:38:18 +0200",
        "id" : "2c0ae6288d525a9e81271b5b005a0d64ba18edac",
        "msg" : "templates: osmo-bsc: Remove no longer available cfgs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/event_loop.py",
          "src/osmo_gsm_tester/modem.py"
        ],
        "commitId" : "bf176e420ee20e526fc408a8a16d4dc7811ce703",
        "timestamp" : 1522838288000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "event_loop: Use glib as mainloop impl and move modem to use event_loop\u000aSeveral benefits:\u000a- We can add APIs to poll on fds in the future (for smpp socket for\u000a instance) instead of using busy polling.\u000a- During wait(), we now block in the glib mainloop instead of sleeping\u000a 0.1 secs and not handling events during that time.\u000a- We remove glib mainloop specific bits from modem.py\u000aChange-Id: I8c3bc44bbe443703077110cdc67207e9cbb43767\u000a",
        "date" : "2018-04-04 12:38:08 +0200",
        "id" : "bf176e420ee20e526fc408a8a16d4dc7811ce703",
        "msg" : "event_loop: Use glib as mainloop impl and move modem to use event_loop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/process.py",
          "src/osmo_gsm_tester/event_loop.py",
          "src/osmo_gsm_tester/modem.py",
          "src/osmo_gsm_tester/test.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/powersupply_sispm.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/powersupply.py",
          "src/osmo_gsm_tester/esme.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "9a4631c789b1a141a95ae39c92372e9b00b77239",
        "timestamp" : 1522838289000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Drop event_loop global functions and import MainLoop\u000aTake the chance to identify and drop modules importing event_loop but \u000anot using it.\u000aChange-Id: Ifa1940cd00138ebc72fbcfd45a0e28246f7a5ed9\u000a",
        "date" : "2018-04-04 12:38:09 +0200",
        "id" : "9a4631c789b1a141a95ae39c92372e9b00b77239",
        "msg" : "Drop event_loop global functions and import MainLoop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply_sispm.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/esme.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_nanobts.py"
        ],
        "commitId" : "48fce86b3eb53a5bc3d14808f1dab4f3e0385db1",
        "timestamp" : 1522838906000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "nanobts: Attempt at fixing race condition using ipaccess-config after\u000apower up\u000aIt seems there's a period of time in between the nanoBTS starts \u000aannouncing itself and it can actually be managed by the BSC\u000a(ipaccess-config in this case). If ipaccess-config is called quickly \u000aafter nanoBTS it first announced, its TCP conn will be rejected with a \u000aTCO RST, and ipaccess-config will fail. Let's see if waiting a few \u000aseconds is enough to have this working more reliably.\u000aChange-Id: Iec8adb2cd13d808a6ca1843dc95b81bd1a97d1c0\u000a",
        "date" : "2018-04-04 12:48:26 +0200",
        "id" : "48fce86b3eb53a5bc3d14808f1dab4f3e0385db1",
        "msg" : "nanobts: Attempt at fixing race condition using ipaccess-config after",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "selftest/cdf_test.py",
          "selftest/cdf_test.ok",
          "src/osmo_ms_driver/__init__.py",
          "src/osmo_ms_driver/cdf.py"
        ],
        "commitId" : "38adaa96bf03d69c2fda573fa395371e523a4a9d",
        "timestamp" : 1522852449000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Create a cumulative distribution function class\u000aWe are using the CDF to decide which percentage of the jobs should be\u000arunning at a given point. The x-axis is time and the y-axis the \u000apercentage of how many jobs should be running.\u000aThere are three functions to do this. The first one is a constant which\u000awould result in everything being started right now, one to start them\u000alinearly and the last (formula from Qt/3rdparty) to first accelerate and\u000adecelerate slowly.\u000aChange-Id: I9e3064f4c3c4c7af5d3491f850090516e541f4d3\u000a",
        "date" : "2018-04-04 15:34:09 +0100",
        "id" : "38adaa96bf03d69c2fda573fa395371e523a4a9d",
        "msg" : "ms: Create a cumulative distribution function class",
        "paths" : [
          {
            "editType" : "add",
            "file" : "selftest/cdf_test.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/__init__.py"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/cdf.py"
          },
          {
            "editType" : "add",
            "file" : "selftest/cdf_test.ok"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/simple_loop.py"
        ],
        "commitId" : "b7749a72b44c0999ba5fe869b705dd440f3f6d49",
        "timestamp" : 1522852511000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Create a simple epoll (or kqueue) based event loop\u000aCreate a C-like single process event loop. It could be powered by \u000aselect/epoll or kqueue. It should scale to many open fds but we will not\u000ahave that many.\u000aChange-Id: Iea06f33870cab9f21e9a1a1feb9758467343dd29\u000a",
        "date" : "2018-04-04 15:35:11 +0100",
        "id" : "b7749a72b44c0999ba5fe869b705dd440f3f6d49",
        "msg" : "ms: Create a simple epoll (or kqueue) based event loop",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/simple_loop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/event_server.py"
        ],
        "commitId" : "e7ae51fcaac7d100fc1f22f6c6df951776530b5b",
        "timestamp" : 1522852511000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Create an event server to handle Unix datagram messages\u000aCreate an EventServer that will create a unix domain socket and dispatch\u000aincoming datagram messages. The lua remotes are not passing credentials\u000aso this is a one way communication channel for now. Tests can register\u000ato handle the message.\u000aChange-Id: Ida97c570e8e741410f2dba4a231a8058ca96da25\u000a",
        "date" : "2018-04-04 15:35:11 +0100",
        "id" : "e7ae51fcaac7d100fc1f22f6c6df951776530b5b",
        "msg" : "ms: Create an event server to handle Unix datagram messages",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/event_server.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/lua/json.lua",
          "src/osmo_ms_driver/lua/ms_support.lua"
        ],
        "commitId" : "4a62bb0086ed0769159aa3450181dd980f1274db",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Add lua script support utilities\u000aAdd a JSON encoder and a small module to sent registration and other\u000aevents per unix datagram socket.\u000ajson.lua fetched using:\u000a$ wget -O src/osmo_ms_driver/lua/json.lua \\ \u000ahttps://raw.githubusercontent.com/rxi/json.lua/master/json.lua\u000aChange-Id: I43ae84a944c7f33e41d5de0880d4aaab3378809b\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "4a62bb0086ed0769159aa3450181dd980f1274db",
        "msg" : "ms: Add lua script support utilities",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/lua/json.lua"
          },
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/lua/ms_support.lua"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-mobile-lu.lua.tmpl"
        ],
        "commitId" : "28bcaf0f2ccdecf06d11554123a287b1b3d0d27d",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Lua part of location update testing\u000aThe lua part to start the MS and then signal the first successful\u000aLocation Update.\u000aChange-Id: Ica5aa0c2f86d0e5d8a2bc4dc0652de18762dd156\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "28bcaf0f2ccdecf06d11554123a287b1b3d0d27d",
        "msg" : "ms: Lua part of location update testing",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/templates/osmo-mobile-lu.lua.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-mobile.cfg.tmpl"
        ],
        "commitId" : "6af1c18b17ada2cf5207426321633d938ccc1a1b",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Create template for the osmocom-bb mobile application\u000aChange-Id: I9296f42edfab57762f8dd317d63231298cda5430\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "6af1c18b17ada2cf5207426321633d938ccc1a1b",
        "msg" : "ms: Create template for the osmocom-bb mobile application",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_gsm_tester/templates/osmo-mobile.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/starter.py"
        ],
        "commitId" : "ff19a5e7c2025207d03e99ca781dd30adc2f57fe",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Create a starter for virtphy and mobile application\u000aIn the long run we might not want to start the virtphy but for now\u000avirtphy+mobile belong together. Start virtphy first as mobile will not\u000ahandle a missing socket gracefully.\u000aChange-Id: I5c6d742842d7f3e0a1858436ef3f8634d8c0582d\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "ff19a5e7c2025207d03e99ca781dd30adc2f57fe",
        "msg" : "ms: Create a starter for virtphy and mobile application",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/starter.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/location_update_test.py"
        ],
        "commitId" : "30cc021af5cad9590b26f4cccc83c244ccf782b1",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Add a first test to use all parts of the system\u000aThis is an interim solution but is bringing all parts together. We will\u000aneed to:\u000a * Abstract this into a base class\u000a* Be able to mix different tests without interfering with each\u000a  other (e.g. 10k LU tests, 2k SMS sending)\u000a* The event loop will need to handle multiple timers/timeouts\u000a* Stats printing should print more information and test pass/fail\u000a* The test should quit early if everything has already passed\u000aChange-Id: Id3277ed0f0f9ee734569bedd4752564eb68c9cfd\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "30cc021af5cad9590b26f4cccc83c244ccf782b1",
        "msg" : "ms: Add a first test to use all parts of the system",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/__main__.py"
        ],
        "commitId" : "c490cdeebdd43a1777c16f3f1f272df815b9c6cf",
        "timestamp" : 1522852512000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "ms: Add a main function to start all of it\u000aAdd a main file to start everything. All parameters need to be made\u000aconfigurable. Composition of testcase and IMSI ranges need to be\u000aconfigurable as well. This is left for future commits. Right now it can\u000aexecute a single UL test.\u000aStart with: export PATH=../osmocom-bb/src/host/layer23/src/mobile:$PATH \u000aexport PATH=../osmocom-bb/src/host/virt_phy/src/:$PATH export\u000aPYTHONPATH=$PWD/src\u000apython3 -mosmo_ms_driver\u000aChange-Id: I58c938500a067eebb213750e56d8bf4d8af43df2\u000a",
        "date" : "2018-04-04 15:35:12 +0100",
        "id" : "c490cdeebdd43a1777c16f3f1f272df815b9c6cf",
        "msg" : "ms: Add a main function to start all of it",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/osmo_ms_driver/__main__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/event_loop.py"
        ],
        "commitId" : "b6ab1da0af08dae1a9f7382532e42975f5633d84",
        "timestamp" : 1523114874000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "event_loop: Avoid leaking active timeouts on poll exception\u000aIt was spotted that when an error ocurred during poll generating an \u000aexception to finish the test (osmo-msc ended prematurely), then the \u000aactive wait() condition was kept being checked for later tests, making \u000aall followup tests fail.\u000aThat's because in case of exception we were not making sure the timeout \u000ais removed and it kept firing forever.\u000aChange-Id: I5c93cd67b2b83c0ecee96fbc6c4200b419bdf73f\u000a",
        "date" : "2018-04-07 17:27:54 +0200",
        "id" : "b6ab1da0af08dae1a9f7382532e42975f5633d84",
        "msg" : "event_loop: Avoid leaking active timeouts on poll exception",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-hlr.sh",
          "contrib/jenkins-build-osmo-bsc.sh",
          "contrib/jenkins-build-osmo-mgw.sh",
          "contrib/jenkins-build-osmo-msc.sh",
          "contrib/jenkins-build-osmo-pcu.sh",
          "contrib/jenkins-build-osmo-sgsn.sh",
          "contrib/jenkins-build-osmo-trx.sh",
          "contrib/jenkins-build-osmo-bts.sh",
          "contrib/jenkins-build-osmo-ggsn.sh",
          "contrib/jenkins-build-osmo-stp.sh"
        ],
        "commitId" : "008f6165ed1009644e7ac624590caf1ee2631cf7",
        "timestamp" : 1523888610000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Enable address-sanitize in builds\u000aDon't enable it for binaries built with sysmocom's cross-toolchain since \u000ait doesn't contain required libasan.\u000aAlso, don't enable it on openbsc since we don't have an enable-sanitize \u000aflag there.\u000aChange-Id: Ibef6c2fc497bce0d799116a854a48872f9ca16d7\u000a",
        "date" : "2018-04-16 16:23:30 +0200",
        "id" : "008f6165ed1009644e7ac624590caf1ee2631cf7",
        "msg" : "contrib: Enable address-sanitize in builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-hlr.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-mgw.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-pcu.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-sgsn.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-ggsn.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bsc.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-stp.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-trx.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-msc.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-bts-sysmo.sh"
        ],
        "commitId" : "4a338c7dbac31133406154d1e27faea1dc25f291",
        "timestamp" : 1523888670000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osm-bts-sysmo: openbsc dep no longer needed\u000aChange-Id: Iafd5ee1df001719ff6165ada996359b92116671e\u000a",
        "date" : "2018-04-16 16:24:30 +0200",
        "id" : "4a338c7dbac31133406154d1e27faea1dc25f291",
        "msg" : "contrib: build-osm-bts-sysmo: openbsc dep no longer needed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts-sysmo.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-trx.sh"
        ],
        "commitId" : "ec3852f1bd12d61998aabbcf44b8056946542191",
        "timestamp" : 1523888670000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osmo-trx: Enable addr sanitize for osmo-trx\u000aChange-Id: Iad90c7c8c2098680276de000c36bec0224f9746d\u000a",
        "date" : "2018-04-16 16:24:30 +0200",
        "id" : "ec3852f1bd12d61998aabbcf44b8056946542191",
        "msg" : "contrib: build-osmo-trx: Enable addr sanitize for osmo-trx",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-trx.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-trx.sh"
        ],
        "commitId" : "1cd017d0c7e02e8e9ceed69387ecc86fb7d76c02",
        "timestamp" : 1524132610000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "build-osmo-trx: Disable asan in osmo-trx builds\u000aChange-Id: Ic4ebbc3f66fd9de2343d486ed20a0f08fc11e326\u000a",
        "date" : "2018-04-19 12:10:10 +0200",
        "id" : "1cd017d0c7e02e8e9ceed69387ecc86fb7d76c02",
        "msg" : "build-osmo-trx: Disable asan in osmo-trx builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-trx.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/modem.py"
        ],
        "commitId" : "ccb1bc686d9985da03eb30f77509601c1b2a459d",
        "timestamp" : 1524400533000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "modem: Catch exception: call removed while waiting to become active\u000aThis can happen while in a test we use: wait(ms_mo.call_is_active,\u000amo_cid)\u000aAnd then answer fails for whatever reason, after a timeout ofono will \u000aremove the call object:\u000a/sierra_2: DBG: 'org.ofono.VoiceCallManager'.CallRemoved() ->\u000a/sierra_2/voicecall01\u000aAs a result, during next call o call_is_active() will try to get the \u000acall object, but it doesn't exist anymore and an exception will be \u000acreated in method call_state during call to systembus_get().\u000aChange-Id: I02b7e76425754372756493761819f18f1e3106c1\u000a",
        "date" : "2018-04-22 14:35:33 +0200",
        "id" : "ccb1bc686d9985da03eb30f77509601c1b2a459d",
        "msg" : "modem: Catch exception: call removed while waiting to become active",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/modem.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "contrib/jenkins-build-osmo-trx.sh"
        ],
        "commitId" : "553eda638ce2cd49a430a8b1d6ec06953befe322",
        "timestamp" : 1525646860000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-trx binary is now called osmo-trx-uhd\u000aChange-Id: Ibf111ba89b24964127b9c1db7102953e1dba3181\u000a",
        "date" : "2018-05-07 00:47:40 +0200",
        "id" : "553eda638ce2cd49a430a8b1d6ec06953befe322",
        "msg" : "osmo-trx binary is now called osmo-trx-uhd",
        "paths" : [
          {
            "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" : [
          "src/osmo_gsm_tester/bts_osmotrx.py"
        ],
        "commitId" : "7d4bdf2daff4f897c3aa6fa54552cb163e09169d",
        "timestamp" : 1525683630000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts_osmotrx: Don't use binary name as inst name\u000aChange-Id: Iee20738f2aa750aa9035a9e54ad667d8753ea12e\u000a",
        "date" : "2018-05-07 11:00:30 +0200",
        "id" : "7d4bdf2daff4f897c3aa6fa54552cb163e09169d",
        "msg" : "bts_osmotrx: Don't use binary name as inst name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "src/osmo_gsm_tester/schema.py"
        ],
        "commitId" : "c9b63767963d70574783de147d455f19bb4f9214",
        "timestamp" : 1525684822000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Check physical channel configs\u000aChange-Id: I5894678e0d6f306173cc550dd6806a7d6f8a4c11\u000a",
        "date" : "2018-05-07 11:20:22 +0200",
        "id" : "c9b63767963d70574783de147d455f19bb4f9214",
        "msg" : "Check physical channel configs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/schema.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/bts_osmo.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/bts_octphy.py"
        ],
        "commitId" : "530681fd86c4a4dab18e4575c9cdf339623ffa49",
        "timestamp" : 1525684823000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts: Refactor conf_for_bsc_osmo\u000aMove duplicated code into a method in the superclass.\u000aChange-Id: Ie27932f94142f667c3fb8c054b77e04afa0d5cbb\u000a",
        "date" : "2018-05-07 11:20:23 +0200",
        "id" : "530681fd86c4a4dab18e4575c9cdf339623ffa49",
        "msg" : "bts: Refactor conf_for_bsc_osmo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.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/bts_osmo.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "e519462d60cbaaa9920e8a737f55d166ee55c709",
        "timestamp" : 1525693022000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts: Pass defaults config name at construct time\u000aIt will be needed later at construction time when resolving the num of \u000atrx.\u000aChange-Id: I2c6a46ead14010f714897ea178917327215823e7\u000a",
        "date" : "2018-05-07 13:37:02 +0200",
        "id" : "e519462d60cbaaa9920e8a737f55d166ee55c709",
        "msg" : "bts: Pass defaults config name at construct time",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.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/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts.py",
          "src/osmo_gsm_tester/bts_osmo.py"
        ],
        "commitId" : "e699912a235456c008ded853ea0c43cfee9c5b63",
        "timestamp" : 1525783832000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts: Move conf_for_bsc_prepare from bts_osmo to bts\u000ananobts inherits directly from bts.Bts, so we need to move \u000aconf_for_bsc_prepare there to make nanobts work again.\u000aFixes: 530681fd86c4a4dab18e4575c9cdf339623ffa49 Change-Id:\u000aI4305eefb4056ed7614118532e271efe780f4a87f\u000a",
        "date" : "2018-05-08 14:50:32 +0200",
        "id" : "e699912a235456c008ded853ea0c43cfee9c5b63",
        "msg" : "bts: Move conf_for_bsc_prepare from bts_osmo to bts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/resource.py",
          "example/defaults.conf",
          "src/osmo_gsm_tester/bts_octphy.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "39df7f466843579fb22c46fc159d14792cb10b87",
        "timestamp" : 1525784112000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bts: Allow setting amount of TRX and timeslot in cfg and from test at\u000aruntime\u000aThe num_trx attribute for a given BTS states the number of TRX to be \u000aused by that BTS. If more than num_trx are configured in trx_list in the \u000acfg file, then only up to num_trx are taken into account. If a num_trx \u000avalue higher than max_trx is specified throuygh config file or at \u000aruntime by the test, an exception is raised explaining the issue.\u000aThe num/max_trx attributes are overlayed along the config levels\u000a(generic -> bsc_bts -> specific bts-type -> specific resource object). \u000aThis way we can specify a long list of trx+timeslot config in the \u000ageneric config (bsc_bts), and tune for each model and specific BTS which \u000ais the desired default number of TRX, as well as the maximum supported \u000aper type.\u000aChange-Id: I7f46eaf7a16f03268653299c93600c0443f691ac\u000a",
        "date" : "2018-05-08 14:55:12 +0200",
        "id" : "39df7f466843579fb22c46fc159d14792cb10b87",
        "msg" : "bts: Allow setting amount of TRX and timeslot in cfg and from test at",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_octphy.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "example/defaults.conf"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/resource.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/util.py"
        ],
        "commitId" : "7e02d20b46ef521ced0e1f2fcb33b329453e9a6d",
        "timestamp" : 1525786128000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suite: Set suite subdir lib part of syspath so tests can import their\u000aown modules\u000aChange-Id: I3307c3ab314bb7a88d3c22c7c270c9f05fe6e03e\u000a",
        "date" : "2018-05-08 15:28:48 +0200",
        "id" : "7e02d20b46ef521ced0e1f2fcb33b329453e9a6d",
        "msg" : "suite: Set suite subdir lib part of syspath so tests can import their",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/util.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/voice/lib/testlib.py",
          "suites/voice/mo_mt_call.py"
        ],
        "commitId" : "510ed801ed3507291513f2a110af44e10a0a06ba",
        "timestamp" : 1525791737000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: voice: Move logic to lib/testlib.py\u000aThis way we can have several tests sharing similar logic.\u000aChange-Id: I5cfcc56970380a7c5400186fac5f504263d63c5f\u000a",
        "date" : "2018-05-08 17:02:17 +0200",
        "id" : "510ed801ed3507291513f2a110af44e10a0a06ba",
        "msg" : "tests: voice: Move logic to lib/testlib.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/voice/lib/testlib.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/voice/mo_mt_call_tchh.py"
        ],
        "commitId" : "b2ce2f22218da052dc6a6617e172bc9c97a8e116",
        "timestamp" : 1525791737000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: voice: test voice calls on TCH/H timeslots\u000aChange-Id: I897757a21fee516ce96808a180121b09f06a0fea\u000a",
        "date" : "2018-05-08 17:02:17 +0200",
        "id" : "b2ce2f22218da052dc6a6617e172bc9c97a8e116",
        "msg" : "tests: voice: test voice calls on TCH/H timeslots",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/voice/mo_mt_call_tchh.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/voice/mo_mt_call.py",
          "suites/voice/mo_mt_call_tchf.py"
        ],
        "commitId" : "3bf1e13b13d499457f6f17f7c41622870ca5fcc6",
        "timestamp" : 1525791737000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: voice: Move mo_mt_call.py to mo_mt_call_tchf.py\u000aChange-Id: I7306e62ad4c4294370690cf9006871f798a7b9ec\u000a",
        "date" : "2018-05-08 17:02:17 +0200",
        "id" : "3bf1e13b13d499457f6f17f7c41622870ca5fcc6",
        "msg" : "tests: voice: Move mo_mt_call.py to mo_mt_call_tchf.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/voice/mo_mt_call_tchf.py"
          },
          {
            "editType" : "delete",
            "file" : "suites/voice/mo_mt_call.py"
          }
        ]
      },
      {
        "_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/lib/testlib.py",
          "suites/dyn_ts_osmo/suite.conf",
          "suites/dyn_ts_ipa/suite.conf",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
        ],
        "commitId" : "e07e1b69e9725fd090d62537b22d39db2bc30594",
        "timestamp" : 1525791737000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: dyn_ts_*: Add tests to verify dynamic timeslots during phone\u000acalls\u000aTwo different test suites are created since we want to run them with \u000adifferent HW, because some HW support one type of PDCH channels, and \u000aother HW supports the other one.\u000aChange-Id: Id5e61eaff39ac7a6585dc7de2aeb2469dd2ce726\u000a",
        "date" : "2018-05-08 17:02:17 +0200",
        "id" : "e07e1b69e9725fd090d62537b22d39db2bc30594",
        "msg" : "tests: dyn_ts_*: Add tests to verify dynamic timeslots during phone",
        "paths" : [
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_ipa/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_osmo/suite.conf"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_ipa/lib/testlib.py"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_osmo/lib/testlib.py"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "1ffe768ca8aabc5fa2c06fa8e91cae5e7d5fbe2c",
        "timestamp" : 1525792417000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Add dyn ts suites\u000aChange-Id: Iec7c8d8c3617f11a5ee12c02bd75ed6822d76aa9\u000a",
        "date" : "2018-05-08 17:13:37 +0200",
        "id" : "1ffe768ca8aabc5fa2c06fa8e91cae5e7d5fbe2c",
        "msg" : "default-suites.conf: Add dyn ts suites",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/default-suites.conf"
        ],
        "commitId" : "a80e89c3d715de4169d5f6f2ef1620dfd95a37a8",
        "timestamp" : 1525805629000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "default-suites.conf: Fix typo in previous commit\u000aChange-Id: Ib1903324df8eb9f506b62dc0b9d2aa4a4a5179d7\u000a",
        "date" : "2018-05-08 20:53:49 +0200",
        "id" : "a80e89c3d715de4169d5f6f2ef1620dfd95a37a8",
        "msg" : "default-suites.conf: Fix typo in previous commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/default-suites.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py",
          "suites/voice/mo_mt_call_tchf.py",
          "suites/voice/mo_mt_call_tchh.py",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
        ],
        "commitId" : "415f34d3e9916a9af0ef6a69186ef7cce980c32c",
        "timestamp" : 1525816783000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "suites: Remove rebase artifacts from latest commits\u000aChange-Id: I8afc446d4291810c63bfaeabb7167113667dd8d1\u000a",
        "date" : "2018-05-08 23:59:43 +0200",
        "id" : "415f34d3e9916a9af0ef6a69186ef7cce980c32c",
        "msg" : "suites: Remove rebase artifacts from latest commits",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call_tchf.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call_tchh.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py",
          "suites/voice/mo_mt_call_tchf.py",
          "suites/voice/mo_mt_call_tchh.py",
          "src/osmo_gsm_tester/suite.py",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
        ],
        "commitId" : "155a355e01d63669912ad0cfe2a1969b486373fb",
        "timestamp" : 1525857865000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Unload suite local modules after suite exit to avoid collisions\u000aSince sys.path is modified idynamically to load modules from \"lib\"\u000asubdir of each suite, from python env point of view all those modules\u000ashare a namespace. As a result, there can be name collisions.\u000aIf a name collision appears (eg test1 loads \"testlib.py\" and test2 \u000aafterwards also loads its own \"testlib.py\"), then python interpreter \u000athinks the testlib.py module is already loaded, so test2 ends up using\u000a\"testlib.py\" from test1.\u000aThe way to solve this is to make suite local modules to live only\u000athrough the scope of the suite, and unload the modules once the suite is\u000afinished.\u000aChange-Id: I4efe815f85bc4ec2ca91aa9c2d3a369048f21571\u000a",
        "date" : "2018-05-09 11:24:25 +0200",
        "id" : "155a355e01d63669912ad0cfe2a1969b486373fb",
        "msg" : "Unload suite local modules after suite exit to avoid collisions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call_tchh.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/voice/mo_mt_call_tchf.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/util.py"
        ],
        "commitId" : "f32c41519eae34129467bf904d63ca1ab1567259",
        "timestamp" : 1526304880000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "util: Fix unloading of suite lib import path\u000aChange-Id: Iac81151f5baec092a3d15bbe6541b5bc007e6a03\u000a",
        "date" : "2018-05-14 15:34:40 +0200",
        "id" : "f32c41519eae34129467bf904d63ca1ab1567259",
        "msg" : "util: Fix unloading of suite lib import path",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/util.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py",
          "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo_no_gprs.py",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa_no_gprs.py",
          "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
        ],
        "commitId" : "78f7c753a348f9aa6cd1a88f3da46d840ecebedb",
        "timestamp" : 1526385136000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "tests: dyn_ts_*: Add tests to verify dyn ts with gprs disabled\u000aChange-Id: If943ae0fb4e56787df02b09dea7387cb13eb9db3\u000a",
        "date" : "2018-05-15 13:52:16 +0200",
        "id" : "78f7c753a348f9aa6cd1a88f3da46d840ecebedb",
        "msg" : "tests: dyn_ts_*: Add tests to verify dyn ts with gprs disabled",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo.py"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa_no_gprs.py"
          },
          {
            "editType" : "add",
            "file" : "suites/dyn_ts_osmo/mo_mt_call_dyn_osmo_no_gprs.py"
          },
          {
            "editType" : "edit",
            "file" : "suites/dyn_ts_ipa/mo_mt_call_dyn_ipa.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "70439968478bcc591c8534dadf1edd02bc09100f",
        "timestamp" : 1526573930000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: common: Record repo curr rev in have_repo instead of build_repo\u000aThis way scripts making use only of have_repo (to have build specific \u000ainsturctions) can still benefit from that code.\u000aChange-Id: I03149942ac1d279a15c71df3eb880c331c8fc155\u000a",
        "date" : "2018-05-17 18:18:50 +0200",
        "id" : "70439968478bcc591c8534dadf1edd02bc09100f",
        "msg" : "contrib: common: Record repo curr rev in have_repo instead of build_repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmo-bts.sh",
          "contrib/jenkins-build-osmo-bsc.sh",
          "contrib/jenkins-build-osmo-mgw.sh",
          "contrib/jenkins-build-common.sh"
        ],
        "commitId" : "1828d352c15b2cf5ac1d11c6d40b2695902a63ce",
        "timestamp" : 1526638449000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: common: create_bin_tgz supports sbin dir now\u000aThis is a preparation for inclusion of osmocom-bb build job, which \u000ainstalls binaries such as osmocon in sbin.\u000aChange-Id: I562721af82e481e926ee65dbcd9dcc5b55057ae8\u000a",
        "date" : "2018-05-18 12:14:09 +0200",
        "id" : "1828d352c15b2cf5ac1d11c6d40b2695902a63ce",
        "msg" : "contrib: common: create_bin_tgz supports sbin dir now",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-mgw.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bsc.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-common.sh"
          },
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmo-bts.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmocom-bb.sh"
        ],
        "commitId" : "f4406b2b22388927b03fb54988faf2d5fe883a49",
        "timestamp" : 1526638498000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: Add jenkins-build-osmocom-bb.sh to build osmocon\u000aChange-Id: Ic5b29951d3fd143dce5826138c84301a9797b1ef\u000a",
        "date" : "2018-05-18 12:14:58 +0200",
        "id" : "f4406b2b22388927b03fb54988faf2d5fe883a49",
        "msg" : "contrib: Add jenkins-build-osmocom-bb.sh to build osmocon",
        "paths" : [
          {
            "editType" : "add",
            "file" : "contrib/jenkins-build-osmocom-bb.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/testenv.py",
          "src/osmo_gsm_tester/test.py"
        ],
        "commitId" : "878b2c6619c59c255b42ba76c5d502487aa8c0a2",
        "timestamp" : 1526651946000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "testenv: Provide tests with access to process module\u000aSome tests may want to start/stop/manages processes themselves. By using \u000athe process module from osmo-gsm-tester, we make that possible easily, \u000aproviding with useful features such as requesting a suite to stop it on \u000acleanup.\u000aChange-Id: I8e018107cbec81299ec2228bfff933fb3b0bb6cd\u000a",
        "date" : "2018-05-18 15:59:06 +0200",
        "id" : "878b2c6619c59c255b42ba76c5d502487aa8c0a2",
        "msg" : "testenv: Provide tests with access to process module",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/testenv.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/test.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins-build-osmocom-bb.sh"
        ],
        "commitId" : "618bb3a6bf066efa5430f185a4a6659274cbae67",
        "timestamp" : 1526997176000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "contrib: build-osmocom-bb: Download and install osmocom-bb fw from OBS\u000aAs it's quite complex to build osmocom firmware nowadays (a specific old \u000arelease of gcc and binutils are required to build it), instead download \u000athe already built binaries from OBS.\u000aChange-Id: I2571268d91e2430a270e51438608e7dbd121e76d\u000a",
        "date" : "2018-05-22 15:52:56 +0200",
        "id" : "618bb3a6bf066efa5430f185a4a6659274cbae67",
        "msg" : "contrib: build-osmocom-bb: Download and install osmocom-bb fw from OBS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins-build-osmocom-bb.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl",
          "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
        ],
        "commitId" : "58cd83c3ec6fb7152184a25c39c8209584884ef8",
        "timestamp" : 1527244280000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "templates: osmo-bts: Use BTS assigned IP addr to bind CTRL and VTY iface\u000aChange-Id: Ib1c3022a6c531ef8c6a5ba31927762806abc37ac\u000a",
        "date" : "2018-05-25 12:31:20 +0200",
        "id" : "58cd83c3ec6fb7152184a25c39c8209584884ef8",
        "msg" : "templates: osmo-bts: Use BTS assigned IP addr to bind CTRL and VTY iface",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-sysmo.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/osmo_bsc.py",
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
        ],
        "commitId" : "63f2d47b3e6f0d60ef57485aba7410ec1d58decd",
        "timestamp" : 1527244280000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "bsc: Add API to mock BSC RSL IP addr\u000aChange-Id: I9ca67964e656943b50967a27a88054fd3e484672\u000a",
        "date" : "2018-05-25 12:31:20 +0200",
        "id" : "63f2d47b3e6f0d60ef57485aba7410ec1d58decd",
        "msg" : "bsc: Add API to mock BSC RSL IP addr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/osmo_bsc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/process.py"
        ],
        "commitId" : "06ada458cfbd0cec5aec8ec12122af4dfd77a177",
        "timestamp" : 1527244280000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "process: Move cleanup log inside cleanup method\u000aChange-Id: I72ad453e9dc8340946d7e7d041643fe8ef97439f\u000a",
        "date" : "2018-05-25 12:31:20 +0200",
        "id" : "06ada458cfbd0cec5aec8ec12122af4dfd77a177",
        "msg" : "process: Move cleanup log inside cleanup method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/bts_osmotrx.py",
          "src/osmo_gsm_tester/bts_osmo.py",
          "src/osmo_gsm_tester/pcu.py",
          "src/osmo_gsm_tester/pcu_sysmo.py",
          "src/osmo_gsm_tester/process.py",
          "src/osmo_gsm_tester/pcu_osmo.py",
          "src/osmo_gsm_tester/bts_sysmo.py",
          "src/osmo_gsm_tester/suite.py",
          "src/osmo_gsm_tester/bts_nanobts.py",
          "src/osmo_gsm_tester/bts.py"
        ],
        "commitId" : "b1526b9979ae1b04819cc6130a7fb36e97c82811",
        "timestamp" : 1527244280000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "Add option to expect bts/pcu failures and respawn its processes\u000aSome tests may want to reproduce some scenarios in which it is expected \u000athat a BTS process is stopped, for instance if the BSC link is dropped. \u000aProvide a keepalive parameter to start() for bts and pcu objects to \u000ainform suite that failures are expected and that it should keep them \u000aalive in case that ocurrs by respawning the BTS process.\u000aChange-Id: Ia2a7539f9fad457125ac9b60a52a52999e885ba8\u000a",
        "date" : "2018-05-25 12:31:20 +0200",
        "id" : "b1526b9979ae1b04819cc6130a7fb36e97c82811",
        "msg" : "Add option to expect bts/pcu failures and respawn its processes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/suite.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmotrx.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/process.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_osmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/pcu_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_sysmo.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/bts_nanobts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
        ],
        "commitId" : "e9749444961c0a0296a8e08f0f86003d213112a8",
        "timestamp" : 1527505482000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "osmo-bsc.cfg.tmpl: Remove unused nd recently removed option dest\u000aThis VTY cmd has been removed in osmo-bsc.git \u000a68e4be9c845e25f53aea511b1c57340a9da5825c.\u000aChange-Id: I48c0b8a7b2a0088887f1309efc40bcf1da0f1626\u000a",
        "date" : "2018-05-28 13:04:42 +0200",
        "id" : "e9749444961c0a0296a8e08f0f86003d213112a8",
        "msg" : "osmo-bsc.cfg.tmpl: Remove unused nd recently removed option dest",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/powersupply_sispm.py"
        ],
        "commitId" : "7f4807a4bca610694ce44dd58bb6597a068ac869",
        "timestamp" : 1527505482000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "powersupply_sispm: Add port number to log name\u000aThis way it can easily be spotted which port is being triggered in case \u000asomeone wants to manually test it.\u000aChange-Id: Ibd2c70170d97a786e37b6838b1ed6d4eb637ad8b\u000a",
        "date" : "2018-05-28 13:04:42 +0200",
        "id" : "7f4807a4bca610694ce44dd58bb6597a068ac869",
        "msg" : "powersupply_sispm: Add port number to log name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/powersupply_sispm.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/event_loop.py"
        ],
        "commitId" : "e523665e9c718f3e8c355c69db67bb12c7e85a98",
        "timestamp" : 1527508872000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "event_loop: Log parameters during wait timeout exception\u000aChange-Id: I1cf104392bfd11ad263264738eb4d8fa60550a5d\u000a",
        "date" : "2018-05-28 14:01:12 +0200",
        "id" : "e523665e9c718f3e8c355c69db67bb12c7e85a98",
        "msg" : "event_loop: Log parameters during wait timeout exception",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/event_loop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-mobile.cfg.tmpl"
        ],
        "commitId" : "5eb4f0e6a21d2a070fed3648236775f4a1953f21",
        "timestamp" : 1528309194000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
          "fullName" : "holger"
        },
        "authorEmail" : "holger@moiji-mobile.com",
        "comment" : "osmo_ms_driver: Use the two new config options for the mobile\u000aAvoid being stuck in c7 state and use the c7-any-timeout with a low \u000avalue. Do not attempt to store SMS in the home directory (if they are\u000areceived).\u000aChange-Id: I4bb59130a04852bc43af9ef3602b129f40e9e170\u000a",
        "date" : "2018-06-06 19:19:54 +0100",
        "id" : "5eb4f0e6a21d2a070fed3648236775f4a1953f21",
        "msg" : "osmo_ms_driver: Use the two new config options for the mobile",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-mobile.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_gsm_tester/templates/osmo-ggsn.cfg.tmpl"
        ],
        "commitId" : "99efe820e442fb413a7f9da98bd3666fec5a4b86",
        "timestamp" : 1529662432000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "ggsn: Bind VTY and CTRL ifaces to assigned ip addr\u000aChange-Id: I26735a21cd53183dfe0a75e5bd24954d583c354f\u000a",
        "date" : "2018-06-22 12:13:52 +0200",
        "id" : "99efe820e442fb413a7f9da98bd3666fec5a4b86",
        "msg" : "ggsn: Bind VTY and CTRL ifaces to assigned ip addr",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_gsm_tester/templates/osmo-ggsn.cfg.tmpl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo_ms_driver/lua/ms_support.lua",
          "src/osmo_ms_driver/location_update_test.py",
          "src/osmo_ms_driver/event_server.py"
        ],
        "commitId" : "05895a912d9aa39ea1d3672873d469a1b1faa5e9",
        "timestamp" : 1529958461000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
          "fullName" : "Holger Freyther"
        },
        "authorEmail" : "holger@freyther.de",
        "comment" : "ms: Use the new API to pass credentials to the event server\u000aWe are using the \"autobind\" feature of Linux to get a special socket\u000aaddress. This allows us to have roughly 2^20 clients on the system.\u000aChange-Id: Ie9b9ac6267f40345baf7dbb3becaecf264a5df5f\u000a",
        "date" : "2018-06-25 20:27:41 +0000",
        "id" : "05895a912d9aa39ea1d3672873d469a1b1faa5e9",
        "msg" : "ms: Use the new API to pass credentials to the event server",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/location_update_test.py"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/lua/ms_support.lua"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_ms_driver/event_server.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "example/resources.conf.prod",
          "example/resources.conf.rnd"
        ],
        "commitId" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
        "timestamp" : 1530011269000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "resources.conf: Move nanobts address to differentiate them from local\u000aIPs\u000ananobts IP addresses are assigned through DHCP, and are not local to the \u000amain unit. Let's use another subset for this DHCP pool as we usually use\u000a.50ish for static local IP addresses.\u000aChange-Id: Ibdb0dd97a490aaa555a7bf53cf43cc5a5533a012\u000a",
        "date" : "2018-06-26 13:07:49 +0200",
        "id" : "80ce34bb88b2e2d572db5c9d8d16a8302569e5c7",
        "msg" : "resources.conf: Move nanobts address to differentiate them from local",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "example/resources.conf.prod"
          },
          {
            "editType" : "edit",
            "file" : "example/resources.conf.rnd"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/zecke",
      "fullName" : "Holger Freyther"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
      "fullName" : "lynxis"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/holger",
      "fullName" : "holger"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
      "fullName" : "Pau Espin Pedrol"
    }
  ]
}