1. 24 Sep, 2021 2 commits
  2. 03 Aug, 2021 4 commits
    • Karel Koci's avatar
      nsfarm/web: add Selenium container class · 335126c4
      Karel Koci authored
      This implements dedicated Selenium container class as an extension to
      LXD Container. This class provides easy access to Selenium drivers for
      selected browser.
      The special hack in Selenium extended Container class is that it is able
      to run vncviewer on its start. This is controlled by class variable that
      can be set for nsfasrm run. This way developer can select to see what is
      happening on virtual desktop browsers are spawned to.
      
      With all this there is also need to store some screenshots as part of
      failed or even standard execution of tests. The screenshot fixture was
      created for this purpose. It hides some ugliness of screenshot saving.
      
      Minor but notable tweak here is addition of shell property to
      container. The idea is to prevent spawning of multiple one-time use
      shells we do for wait commands. The regular usage for testing is
      discouraged.
      335126c4
    • Karel Koci's avatar
      0657f024
    • Karel Koci's avatar
      imgs/selenium: add new image · 32e311dd
      Karel Koci authored
      This is image that can be used to test web interface.
      
      It is based on client container but we do not want to put this as part
      of it. It generates pretty big image and in most tests it is not
      necessary to start web drivers.
      
      The container itself provides driver for Chrome (Chromium) and Firefox
      browsers.
      There is also driver for WebKit but it does not work, it crashes right
      now so it is there just for the future once something is fixed in
      upstream or we found out what we are doing wrong.
      32e311dd
    • Karel Koci's avatar
      imgs/base-alpine: fix mount of /dev/shm · a77aaddd
      Karel Koci authored
      The Alpine Linux creates /dev/shm using init script devfs but that is
      not run in container. It won't even run correctly in container. That
      makes /dev/shm unavailable but we need it in some cases and thus this is
      hacky script that adds just very small init script that creates it.
      a77aaddd
  3. 22 Jun, 2021 1 commit
    • Jan Miksik's avatar
      tests: Added basic throughput tests · c385d63a
      Jan Miksik authored and Karel Koci's avatar Karel Koci committed
      Added basic throughput tests for basic testing.
      Test is run for 60 seconds and checks if the speed is at least
      400 Mbps.
      It also checks min/max of 10s chunks.
      And checks if some of chunks is under the limit - raises warning.
      Prints the speeds to output log.
      c385d63a
  4. 15 Apr, 2021 1 commit
  5. 13 Apr, 2021 3 commits
    • Karel Koci's avatar
      imgs/base-alpine: improve bootstrap script · e189836d
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      This changes the order of setup. The original pretty much relied on
      configuration change happening before service actually started and
      system booted. This of course can't be ensured and is pretty fragile.
      
      In general we can change file access or any file content without waiting
      for system boot but once we want to communicate with services or to
      access the Internet we need to wait for system to actually boot.
      
      The clean effect here is the need to reload networking service once we
      modify interfaces after boot. This should have always been there.
      e189836d
    • Karel Koci's avatar
      tests/sentinel: add dynfw-client and minipot tests · 1cee8784
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      These tests aim to check if firewall is well configured in such a way
      attackers can be caught by Sentinel.
      1cee8784
    • Karel Koci's avatar
      nsfarm/lxd: remove exclusive devices and define all devices in image · 4f971f15
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      This removes concept of exclusive device. The only use of it was to pass
      exclusive access to network interface but that is not essentially
      required as it is even more versatile to use macvlan as thus we can
      easily spawn multiple containers to simulate network.
      The only known use for physical device pass trough and thus exclusive is
      Wi-Fi. It won't be possible to use macvlan for it. At the same time this
      is not an issue as it is not expected that we are going to be reusing
      this interface in single tests run multiple times over and over. In the
      end there is no need to automatically suspend containers to steal
      devices as it has been implemented (and in reality not finished).
      
      The introduced device management now required all devices to be defined
      in image as attributes. This gives image definition control over name of
      this device in container. It is up to container user to assign
      appropriate real device for it. This is done using device map that is
      simply pair of attribute and real device specifier. This concept can be
      in future expanded to even encode additional configuration if have need
      for it.
      4f971f15
  6. 30 Mar, 2021 2 commits
    • Karel Koci's avatar
      imgs/isp-common: improve bind configuration · ac47a771
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      This explicitly enables DNSSEC validation and adds additional option to
      conform to RFC1035.
      It also uses named.ca file shipped as part of package as root hints.
      We can safely left out `listen-on` as `listen-on-v6` uses dual-stack and
      thus listens on IPv4 as well as on IPv6.
      
      And the last but the most important change is disable of IPv6. This
      solves issues on IPv4 only network but IPv6 once we begin to support
      IPv6 we should allow disable/removal of this line.
      ac47a771
    • Karel Koci's avatar
      imgs/isp-common: fix access to DNS · a93ff988
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      This fixes commit: 57f0b251
      It added Bind as ISP's DNS resolver but open in firewall was missing.
      a93ff988
  7. 29 Mar, 2021 1 commit
  8. 25 Feb, 2021 2 commits
  9. 07 Jan, 2021 2 commits
  10. 15 Jul, 2020 1 commit
    • Karel Koci's avatar
      Add ability to specify target branch to test · eb02dfb0
      Karel Koci authored
      This is now only initial implementation. There should be also
      specification of board and more but that is going to be added later on
      once we are able to run tests on more than one board.
      eb02dfb0
  11. 14 Jul, 2020 1 commit
  12. 09 Oct, 2019 2 commits
  13. 07 Oct, 2019 2 commits
  14. 04 Oct, 2019 1 commit
  15. 22 Sep, 2019 1 commit
  16. 19 Sep, 2019 1 commit
  17. 18 Sep, 2019 2 commits
  18. 17 Sep, 2019 2 commits
  19. 14 Aug, 2019 1 commit
    • Karel Koci's avatar
      Add some initial documentation · 0caf6122
      Karel Koci authored
      This is initial documentation describing parts of NSFarm that are
      already known and are expected to be exactly that way.
      0caf6122