1. 28 Oct, 2024 1 commit
    • Kirill Smelkov's avatar
      pygolang/pyprog: Fix handling of multi-line eggs list · e37400b1
      Kirill Smelkov authored
      pyprog macro, added in 0ee52376 (Generalize how nxdtest python script is
      generated into pyprog recipe macro) works by generating buildout code at
      runtime in text form. This way it should be careful when substituting strings,
      because if those strings contain \n, then intended control flow might become broken.
      
      For example when using pyprog with eggs = ${eggs:eggs} from stack/erp5/ ,
      buildout breaks because erp5 defines eggs as multiline list:
      
          INFO     self.buildout.parse("""
          INFO   File "/srv/slapgrid/slappart47/srv/runner/software/7f1663e8148f227ce3c6a38fc52796e2/eggs/zc.buildout-2.7.1+slapos020-py3.9.egg/zc/buildout/buildout.py", line 1352, in parse
          INFO     sections = zc.buildout.configparser.parse(
          INFO   File "/srv/slapgrid/slappart47/srv/runner/software/7f1663e8148f227ce3c6a38fc52796e2/eggs/zc.buildout-2.7.1+slapos020-py3.9.egg/zc/buildout/configparser.py", line 241, in parse
          INFO     raise e
          INFO zc.buildout.configparser.ParsingError: File contains parsing errors:
          INFO         [line 18]: 'python-barcode\n'
          INFO         [line 19]: 'SOAPpy-py3\n'
          INFO         [line 20]: 'suds-py3\n'
          INFO         [line 21]: 'neoppod[admin, ctl, master]\n'
          INFO         [line 22]: 'cython-zstd\n'
          INFO         [line 23]: 'msgpack\n'
          INFO         [line 24]: 'mysqlclient\n'
          INFO         [line 25]: 'PyMySQL\n'
          INFO         [line 26]: 'ZODB\n'
          INFO         [line 27]: 'zodbtools\n'
          INFO         [line 28]: 'psutil\n'
               ...
      
      -> Fix it via indenting eggs list like we already do with pyinit code.
      
      /cc @kazuhiko, @jerome
      e37400b1
  2. 24 Oct, 2024 2 commits
  3. 22 Oct, 2024 2 commits
  4. 21 Oct, 2024 1 commit
    • Jérome Perrin's avatar
      random: fix password recipe when using storage-path and passwd · 280370c7
      Jérome Perrin authored
      As discussed on nexedi/slapos@bb841a7b (comment 219278)
      when using storage-path and passwd option, the storage file could not
      be updated to the new format because of AttributeError _needs_migration.
      
      This changes to no longer try to detect if the storage needs migration,
      but just compare the expected content of the storage file during install
      and overwrite the file if it is different.
      
      This new approach also fix a behavior that re-running buildout with
      storage-path option and a different passwd option did not update the
      storage file. Now it is also updated.
      
      ( this also fixes a potential encoding problem on py2 )
      280370c7
  5. 18 Oct, 2024 2 commits
  6. 17 Oct, 2024 5 commits
    • Jérome Perrin's avatar
    • Jérome Perrin's avatar
      software/mosquitto/test: fix flaky test · 4a8f846f
      Jérome Perrin authored
      This test is using two connection one with a client to subscribe to a
      topic and wait for message and another one with publish.single to
      publish to the topic.
      The test was failing from time to time because the publish might have
      happened after the client was subscribed.
      
      Refactor the test to use `loop` on the client to have more control
      and be able to wait for the client to be subscribed using the
      `on_subscribe` callback.
      
      The test is also factorized, instead of having the same test twice for
      IPv4 and IPv6, we pass the host as parameter.
      4a8f846f
    • Jérome Perrin's avatar
      ERP5-py3: fix repozo backup generation · 8bff11cc
      Jérome Perrin authored
      See merge request nexedi/slapos!1665
      8bff11cc
    • Jérome Perrin's avatar
      stack/erp5: use repozo --kill-old-on-full when producing backups · ce34e0c1
      Jérome Perrin authored
      from repozo doc:
      
      > If a full backup is created, remove any prior full or incremental
      > backup files (and associated metadata files) from the repository
      > directory.
      
      This solves a problem that after a pack some old repozo files were left
      around, with this option they are automatically removed.
      ce34e0c1
    • Jérome Perrin's avatar
      stack/erp5: fix ZEO repozo backups not produced on python3 · c74efadc
      Jérome Perrin authored
      Products.TIDStorage was not ported to python3 and is not installed on
      software-py3.cfg but the backup crontab expects tidstorage to be
      present - as a result, it was silently failing to produce backups.
      
      This brings minimal support to repozo backups on python3, without
      Products.TIDStorage interraction and also extends software release test
      to have a simple test checking that backups are produced and can be
      restored.
      c74efadc
  7. 16 Oct, 2024 10 commits
  8. 15 Oct, 2024 7 commits
  9. 11 Oct, 2024 4 commits
  10. 10 Oct, 2024 4 commits
  11. 09 Oct, 2024 2 commits