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
      d3d733b4
    • 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
      invalid.
      
      Change-Id: I080d1748998926725e3ea5f73487da1c32449ca6
      Signed-off-by: Guillaume Tucker's avatarGuillaume Tucker <guillaume.tucker@collabora.com>
      7e1379d0
    • 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>
      0fc59258
    • 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>
      6e0a5f50
    • 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>
      e6a1d88e
  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
      execution.
      
      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
      95f28429
    • 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
      0a8db2d0
    • 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
      6f400044
  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
      ff8d9f88
  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
      809ae34e
  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
      e0cddeb5
    • 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
      a40fe866
  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
      ece1a46d
    • 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
      e2d0f4b3
    • 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
      a3cc054f
    • 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
      59e0ab09
  11. 09 May, 2018 9 commits
  12. 08 May, 2018 3 commits
  13. 04 May, 2018 1 commit