https://www.puppet.com/community logo
Join Slack
Powered by
# voxpupuli
  • v

    VoxBot

    07/04/2023, 6:23 PM
    from ~40min down to 15min for one job
  • v

    VoxBot

    07/04/2023, 6:23 PM
    Ah, yeah, that's great
  • v

    VoxBot

    07/04/2023, 6:23 PM
    still too long IMHO, but better so it's great!
  • v

    VoxBot

    07/04/2023, 6:24 PM
    And puppet/collectd will be even better I think. old: https://github.com/voxpupuli/puppet-collectd/pull/1026/checks . on cern: https://github.com/voxpupuli/puppet-collectd/pull/1025/checks
  • d

    Dr Bunsen Honeydew

    07/04/2023, 6:24 PM
    See the
    puppet-collectd
    module at https://forge.puppet.com/puppet/collectd?src=slack&channel=voxpupuli
  • v

    VoxBot

    07/04/2023, 6:24 PM
    and I'm hoping github will sponsor us bigger runners as well, that would be nice for all the beaker docker jobs
  • v

    VoxBot

    07/04/2023, 6:26 PM
    Yeah, the collectd test suite is huge
  • v

    VoxBot

    07/04/2023, 6:27 PM
    I forgot about it now that I do not use collecd anymore
  • v

    VoxBot

    07/04/2023, 6:29 PM
    how both were faster than I expected
  • v

    VoxBot

    07/04/2023, 6:42 PM
    bastelfreak: there's actually two factors: the number of supported OSes times the number of spec files (or tests really)
  • v

    VoxBot

    07/04/2023, 6:43 PM
    importsnt for us is the amount of spec files because they can all run in parallel
  • v

    VoxBot

    07/04/2023, 6:44 PM
    I think the normal github runners have only two cores and those are also shared on the hypervisor :(
  • v

    VoxBot

    07/04/2023, 6:44 PM
    sure, but if the specs files are tiny (contain 1 test) it can be faster to reuse a worker
  • v

    VoxBot

    07/04/2023, 6:45 PM
    that's because each process has to build the fact set, which is slow
  • v

    VoxBot

    07/04/2023, 6:46 PM
    does rspec-puppet-facts support that
  • v

    VoxBot

    07/04/2023, 6:47 PM
    does it start one rspec process per spec file or only per cpu core?
  • v

    VoxBot

    07/04/2023, 6:48 PM
    parallel_tests starts n processes, where n is max(cpu_cores, spec_files)
  • v

    VoxBot

    07/04/2023, 6:49 PM
    each process builds up the result of on_supported_os() and nowadays it caches that for multiple spec files
  • v

    VoxBot

    07/04/2023, 6:49 PM
    I'm not sure how expensive that call is nowadays, but it can easily be 10 seconds in my experience
  • v

    VoxBot

    07/04/2023, 6:49 PM
    IIRC it still calls to FacterDB 3 times and FacterDB (powered by jgrep) is slow
  • v

    VoxBot

    07/04/2023, 6:50 PM
    we really should build some index because there are just a few facts that we query often
  • v

    VoxBot

    07/04/2023, 6:51 PM
    but it is slow because it parses all the facter files in its DB
  • v

    VoxBot

    07/04/2023, 6:53 PM
    mhm might explain why CI for nginx still runs 15 minutes
  • v

    VoxBot

    07/04/2023, 6:59 PM
    the problem with the nginx test suite is that it runs a lot of duplicate tests that don't need to run
  • v

    VoxBot

    07/04/2023, 6:59 PM
    for example, it's testing the template renders something, but facts usually have 0 impact on the rendering and we still run it for every OS
  • v

    VoxBot

    07/04/2023, 6:59 PM
    and it does that a LOT
  • v

    VoxBot

    07/04/2023, 7:00 PM
    yeah :(
  • v

    VoxBot

    07/04/2023, 7:01 PM
    I'd think that if we convert it to EPP with data type validation then it's probably a lot safer to drop many of those tests
  • v

    VoxBot

    07/04/2023, 7:10 PM
    we could try to mock the nginx class in some tests, which may speed up compilation a lot
  • v

    VoxBot

    07/04/2023, 7:11 PM
    yes, I would really love to migrate more erb to epp
1...538539540...647Latest