1. 30 Jul, 2018 1 commit
  2. 03 Jul, 2018 5 commits
    • Matt Hart's avatar
      Use /dev/kmsg for LAVA test signals, if requested · d3d733b4
      Matt Hart authored and Guillaume Tucker's avatar Guillaume Tucker committed
      Adds a parameter "lava-signal" to the test definition parameters
      which when set to "kmsg" will tell the lava test scripts to echo
      their output to /dev/kmsg.
      This *might* help with test cases that produce kernel output and
      can interrupt LAVA signals sent to stdout.
      This review does NOT cover the issue that lava-test-runner signals
      will still only be sent to stdout.
      Change-Id: I8ac92c725ac49e40847d1a54c13bef81030903fa
    • Guillaume Tucker's avatar
      Fix map_scanned_results() when test status string is invalid · 7e1379d0
      Guillaume Tucker authored
      When a test result produces an invalid status string, the correct
      value to return is None.  By returning False, lava-logs does not treat
      it as invalid and adds a False object in its list of test cases which
      then results in an uncaught exception when calling bulk_create():
        File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 404, in _populate_pk_values
            if obj.pk is None:
            AttributeError: 'bool' object has no attribute 'pk'
      Fix this by returning None rather than False when the status string is
      Change-Id: I080d1748998926725e3ea5f73487da1c32449ca6
      Signed-off-by: Guillaume Tucker's avatarGuillaume Tucker <guillaume.tucker@collabora.com>
    • Denis Pynkin's avatar
      Add guestfs target mount point · 0fc59258
      Denis Pynkin authored and Guillaume Tucker's avatar Guillaume Tucker committed
      Allow to specify any path in `lava_test_results_dir` for deployments.
      Originally guest image for Qemu is mounted to target mount point but in the same
      time path inside the image skip only 1 directory in hierarchy doubling
      the rest of the path in Qemu VM, for instance:
      `/var/lib/lava-5/lib/lava-5/bin/...` instead of `/var/lib/lava-5/bin/...`.
      This behavior causes the issues in `lava-test-shell` test:
       lava-test: # lava-test: # sh: 9: /var/lib/lava-4/bin/lava-test-runner: not found
      Signed-off-by: Denis Pynkin's avatarDenis Pynkin <denis.pynkin@collabora.com>
    • Guillaume Tucker's avatar
      Use /var/lib/lava-* for tests files on Ubuntu · 6e0a5f50
      Guillaume Tucker authored
      Some Ubuntu-derived distros such as Apertis have a read-only root file
      system, and it can't be re-mounted as rw.  So to be able to store LAVA
      test files, move the directories to /var/lib/ instead as this has
      write permissions.
      Signed-off-by: Guillaume Tucker's avatarGuillaume Tucker <guillaume.tucker@collabora.com>
    • Guillaume Tucker's avatar
      Enable acpi=force with hip07-d05 · e6a1d88e
      Guillaume Tucker authored
      This was suggested by Huawei to avoid some boot failures.
      Change-Id: I93e146a4c24d69ea91c1bf1e02331234546306fc
      Signed-off-by: Guillaume Tucker's avatarGuillaume Tucker <guillaume.tucker@collabora.com>
  3. 15 Jun, 2018 3 commits
    • Rémi Duraffort's avatar
      Use yaml.safe_load when parsing user data · 95f28429
      Rémi Duraffort authored
      Calling yaml.load() on untrusted data is unsafe and can lead to remote code
      This commit fixes remote code execution in:
      * the submit page
      * the xmlrpc api
      * the scheduler
      * lava-master and lava-slave
      This bug was found by running bandit (https://github.com/PyCQA/bandit).
      Change-Id: I80882f9baeb0e7e1c2127f602cc4b206213cb59f
    • Rémi Duraffort's avatar
      Use requests instead of urlopen · 0a8db2d0
      Rémi Duraffort authored
      urllib.request.urlopen accepts every url schemes, including "file://" while
      requests does not.
      This commit fixes a security issue where a user can force lava-server-gunicorn
      to download any file from the filesystem if it's:
      * readable by lavaserver
      * valid yaml
      Change-Id: I9f43f16aef814f276f0a563bf6f31cfe9cf481df
    • Rémi Duraffort's avatar
      Remove the ability to past URLs in the submit page · 6f400044
      Rémi Duraffort authored
      This functionality had introduced a security vulnerability in lava-server.
      A user can forge a http request that will force lava-server-gunicorn to return
      any file on the server that is:
      * readable by lavaserver
      * valid yaml
      This bug was found by running bandit (https://github.com/PyCQA/bandit).
      Change-Id: Ie6876bbb4d8dad210d63d2655356bb863a592b41
  4. 23 May, 2018 6 commits
  5. 22 May, 2018 1 commit
    • Matt Hart's avatar
      Update device-types to match my lab config · ff8d9f88
      Matt Hart authored
      - Add grub-base which a lot of new device types inherit from
      - Pass static IP config to kernel if static IP is used for bootloader config
      Change-Id: Ib1609c8e7c148864336b7874b883975d07dd09d2
  6. 18 May, 2018 1 commit
    • Neil Williams's avatar
      Use InfrastructureError for uefi menu timeout · 809ae34e
      Neil Williams authored
      uefi-menu-interrupt is the first action to wait for a
      response after power on for uefi-menu devices like the
      mustang. If this action timesout, it is likely that the
      device is simply not booting correctly or not receiving
      power or the serial connection information is wrong.
      Change-Id: I2618c89e3b83cb0aff1a7e1ac45e2cf1b6e2e6a0
  7. 17 May, 2018 2 commits
    • Rémi Duraffort's avatar
      Create admin log entries when looping · e0cddeb5
      Rémi Duraffort authored
      When a device health is LOOPING, failing an health-check should
      create an admin log entry and continue looping.
      Remove duplicate import of AuthToken
      Change-Id: Ia7f47b7fd0d5c2b842407718967a09c71d68dec2
    • Stevan Radakovic's avatar
      Fix query results export to CSV. · a40fe866
      Stevan Radakovic authored
      Do not open file in binary mode.
      Remove some of the fields that don't need to be exported.
      Change-Id: Id8b37b53faa280219cd0451a40f52eedd8f7deee
  8. 16 May, 2018 2 commits
  9. 15 May, 2018 2 commits
  10. 14 May, 2018 4 commits
    • Neil Williams's avatar
      Generate device configuration from templates · ece1a46d
      Neil Williams authored
      LAVA-1319 - Remove static YAML files and replace with device
      configuration generated from current Jinja2 templates.
      Change-Id: I2a078a6aa00d8385780515167630aa3d526f7fa8
    • Neil Williams's avatar
      LAVA-1324 QEMU usage of KVM accelerator · e2d0f4b3
      Neil Williams authored
      Report a result in the 'lava' test suite containing
      metadata on the version and architecture of the QEMU
      package providing the binary being executed.
      Improve the current logging to include the host architecture.
      Add comments to the device-type to clarify the logic.
      Change-Id: I258cbcd728283deb213d773094465e55471059f1
    • Neil Williams's avatar
      Implementation of recovery mode deploy and boot · a3cc054f
      Neil Williams authored
      Using the hikey 6220 as an example, provide support for
      entering and exiting recovery mode and running a LAVA test
      shell whilst recovery mode is active.
      Change-Id: I4795b158337e8151be21d52173b09e13108aa6b6
    • Neil Williams's avatar
      Extend timeouts in example test jobs · 59e0ab09
      Neil Williams authored
      Busy instances will need more time to run these stages.
      Change-Id: Ic545eeb36343428e0d7ba3578d2df0f43c4464d0
  11. 09 May, 2018 9 commits
  12. 08 May, 2018 3 commits
  13. 04 May, 2018 1 commit