Skip to content
Snippets Groups Projects
  1. Jan 05, 2022
    • Karel Koci's avatar
      nsfarm/board: remove obsolete abstractproperty · 4890485d
      Karel Koci authored
      The abstractproperty is deprecaterd since Python 3.3.
      Verified
      4890485d
    • Karel Koci's avatar
      tests/test_bootup: move syslog_ng check · be82335c
      Karel Koci authored
      This tests commonly fails because syslog-ng takes its time to create the
      /var/log/messages file even when it is already running. Moving it does
      not ensure that it is run later on but at least that is what happens
      right now.
      Verified
      be82335c
    • Karel Koci's avatar
      nsfarm/cli: use only one thread for FDLogging · 058de6f9
      Karel Koci authored
      The FDLogging uses poll to propagate data from one feed to the other.
      This is not limited to only two file descriptors but technically any
      number of them. Thus it is way more efficient to simply add new feeds to
      existing thread over spawning the new one.
      Verified
      058de6f9
    • Karel Koci's avatar
      nsfarm/cli: improve and fix various issues · b0243328
      Karel Koci authored
      This improves cli handling in a wide variety of ways. Let's point one at
      a time.
      
      Change how we match sent command to not have issue with line break
      caused limited number of columns. Now it simply expects new line and
      return characters while it looks for characters from command. This makes
      it possible to remove hack to increase number of columns in Shell.
      
      The initial prompts in Shell were sanitized a little bit and commented.
      The "weird" prompt it turns out is caused by TERM variable and remote
      shell trying to control local terminal. One solution would be to set
      different TERM but that complicates mterm usage while debugging. The
      alternative and used option is to simply simplify regular expression to
      not have problem with it. With exception of Busybox's default prompt
      they are specific enough without having to match also new line.
      
      For the same reason as in previous paragraph the nsfarm prompt was also
      simplified. It now matches new lines only optionally. The reason is also
      that not every program terminates with new line at the end and so it is
      completely possible and valid that prompt is displayed at the end of
      line not at the beginning. The "nsfprompt" is also specific enough word
      that should not be anywhere else that we can rely only on it when we
      look for our prompt.
      
      This also fixes txt_write and bin_write as sendeof does work only on
      pexpect instance but not on fdexpect. The more correct and used option
      here is our own ctrl_d function that only signals EOF without actually
      closing stdin.
      
      The txt_read and bin_read methods gets option to not fail if file does
      not exist. The txt_write method also got option to append instead of
      overwrite.
      
      The logging was improved by implementing our own code that splits lines.
      The splitlines method is little bit too aggressive with splitting as it
      expects pretty reasonable new lines consistency usage with standards.
      The issue here is that for example '\r' that moves cursor to the left
      can be spawned multiple times and has no effect and in some cases that
      is what happens. The combination '\r\r\n' should be only one line not
      two as detected by splitlines. The code we now use detects combination
      of any number of '\r' and single '\n' as a one line split. It also
      handles only '\r' as that is commonly used to overwrite existing line so
      we consider it as new line as well. There is still a room for
      improvements such as support for backspace and other control characters.
      Verified
      b0243328
    • Karel Koci's avatar
      imgs/boot: fix prepare_turris_image script for Mox and improve · 245a2486
      Karel Koci authored
      This makes this script support Mox as well as it reduces unnecessary
      spam it creates in logs.
      Verified
      245a2486
  2. Jan 04, 2022
  3. Dec 14, 2021
  4. Dec 08, 2021
  5. Nov 23, 2021
  6. Nov 18, 2021
  7. Nov 16, 2021
    • Karel Koci's avatar
      selftests/cli: test and fix txt and bin write and read functions · eee7b93c
      Karel Koci authored
      This tests txt_write, txt_read, bin_write and bin_read Shell methods.
      
      There were also few issues with it that were discovered during the
      testing. For example calling prompt twice causes match of new prompt.
      The output of txt_read was incosistent with text prepresentation in
      Python.
      
      The new feature here is ability of txt_write to append instead of
      overwrite.
      Verified
      eee7b93c
    • Karel Koci's avatar
      tests/conftest: change scope of top level fixtures to session · 03280967
      Karel Koci authored
      This was causing issue when tests from multiple packages were run in one
      session as serial console is not correctly closed on cleanup of board
      fixture.
      
      These should be session anyway as they do not cause any conflict with
      anything else (compare to boot_serial that boots and reboots the
      router). There is no reason why we would want the new instances of these
      objects, rather the opposite.
      Verified
      03280967
  8. Nov 04, 2021
  9. Oct 13, 2021
    • Jan Betik's avatar
      tests: Added wan-pppoe tests · 32d2f461
      Jan Betik authored and Karel Koci's avatar Karel Koci committed
      Added pppoe tests and pppoe container
      Be aware that isp-pppoe container requires mounted dev/ppp
      Verified
      32d2f461
    • Jan Miksik's avatar
      tests: Added DHCPv4 tests · 987b1333
      Jan Miksik authored and Karel Koci's avatar Karel Koci committed
      Added tests:
      tests/network/test_dhcp.py:
          - ip limit
          - ip range
          - ip duplicity
          - leasetime
      Verified
      987b1333
    • Karel Koci's avatar
      nsfarm/lxd: improve cleanup to remove stale containers · 2341380f
      Karel Koci authored
      This improves cleanup to not only remove old images but also a stale
      containers.
      
      There are two types of containers nsfarm spawns. Those are bootstrap
      and regular containers. The bootstrap containers are spawned with
      intention to create image while regular containers are just spawned to
      be later removed. The difference is that while regular containers are
      always tied to one specific process (the instance of nsfarm) the
      bootstrap is intentionally global to serialize multiple instances on
      single image creation.
      The cleanup algorithm can remove any regular container that's parent is
      no longer running. The bootstrap containers do not contain info about
      parent process and thus we use time to remove just old containers.
      
      Warning: This changes the template for regular container name. The
      change is needed for reliable PID parsing from template name. The
      unclear state is when image would end with dash and number.
      Verified
      2341380f
    • Karel Koci's avatar
      selftests/target: use ids for target · 79af6d5f
      Karel Koci authored
      This converts argument identification from 'target0' to real name of
      target.
      Verified
      79af6d5f
  10. Sep 24, 2021
  11. Aug 18, 2021
  12. Aug 03, 2021
    • Karel Koci's avatar
      nsfarm/lxd: fix image hash calculation · c56829c8
      Karel Koci authored
      The issue here is that we should not use full path to file never to
      calculate hash as different location of NSFarm project result in
      different hashes and thus we do not share them at all.
      This makes one instance where we included full path just relative to
      images directory. This way the path should be contant no matter where
      the project is located.
      
      This also does small tweak in form of removal of unnecessary
      comprehension error. We can convert directly to list without creating
      generator.
      Verified
      c56829c8
    • Karel Koci's avatar
      tests: use container.shell for wait scripts invocation · 8197146c
      Karel Koci authored
      The previous commit added shell property exactly for this. This now
      tweaks code to use it.
      Verified
      8197146c