Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge branch 'main' into doc-latest #3908

Merged
merged 44 commits into from
Nov 7, 2023
Merged

Conversation

steveax
Copy link
Contributor

@steveax steveax commented Nov 7, 2023

  • main: (31 commits)
    (PDB-5707) 8.2.0 release notes
    (PDB-5700) 7.15.0 release notes
    (maint) Remove unnecessary Puppet version checks
    (PUP-11899) update integration tests for new Puppet log message
    Version 8.2.1-SNAPSHOT
    Version 8.2.0
    (PDB-5708) add lein-exec to ci profile
    (PDB-5708) update version for 8.2.0 release
    (maint) Update version to 7.15.1-SNAPSHOT
    (maint) Update version to 7.15.0 for release
    (PE-35601) Add a cert number --offset to Benchmark
    Set clj-parent=7.2.6
    (PDB-5712) client: restore puppet client for command posts
    (PDB-5712) submit-facts/submit-catalog/submit-report: generalize opts
    (PDB-5712) submit-command-via-http!: select send function via :post
    (PDB-5712) submit-command-via-http!: switch to option map
    Set clj-parent=5.6.6
    (PE-36861) Update ezbake to 2.5.5
    Set clj-parent=7.2.5
    Set clj-parent=5.6.5

rbrw and others added 30 commits October 10, 2023 11:28
Some previous investigations have suggested that the puppet client has
performance issues (at least the sync client), and recent pdb
benchmarking has implied something similar -- it could only emulate
about 80k hosts with a 30s run interval, no matter how many senders or
simulation threads it had (on a 60-core, non-hyperthreaded server).

We suspect the puppet client may be adding extra complexity by
(if nothing else) emulating sync via its async client (rather than
just using the Apache sync client directly), and since benchmark only
needs to make synchronous POSTs from existing threads (the senders),
switch to the straightforward JDK client.

Preliminary testing was promising, and after fully implementing this,
benchmark was able to emulate over 140k hosts on the server mentioned
above, using the same randomization percentage of 100.  Guessing that
we might now be hitting a CPU constraint, we changed the randomization
to 10 percent, and were able to emulate at least 200k hosts.

Fixes: puppetlabs#3886
More accurately describe what it does in preparation for adding an
option to adjust the simulator pool size too.  Leave the old option as
a deprecated alias.
Change the --senders default to 2 or half the available cores,
whichever is larger.  Testing with the new JDK client (where each
sender is handling everything itself), found that with a 60
core (non-hyperthreaded) host, only 16 senders were needed to hit a
maximum rate with the local PuppetDB/PostgreSQL hosts.
…/ 2)

Add a --simulators option to allow customizing the simulation thread
count (previously just 4).  Set the default to 2 or half the available
cores, whichever is larger.  Of the values examined, testing the new
JDK client on a 60 core (non-hyperthreaded) host reached the highest
commands/sec rate with 16 senders and 16 simulators.
…to-jdk-client

(PDB-5712) Move benchmark to JDK client
Move the timeout and ssl otions to an option map in preparation for an
option to select the post method (http client).
Change the ssl-opts arg to opts in preparation for passing a custom
:post.
Use the new :post option to only post via the JDK client from
benchmark because we use the submit-* functions in both pdb and pdbext
tests, and those cause fips tests to fail with the current JDK client
configuration, e.g.:

  actual: java.lang.InternalError:
  java.security.NoSuchAlgorithmException: Unable to invoke creator for
  DEFAULT: Default key/trust managers unavailable

This should restore the puppet http client as of
6fc7da1 (just before the switch to
the JDK client in dc2033c) as the
default client for command submission.
(PDB-5712) Fix FIPS tests after benchmark switch to JDK client
Allows you to run two or more Benchmark instances in parallel,
offsetting the generated cert numbers so that the commands don't
collide in the database. Let's you test massively when number of
simulated nodes exceeds what a single Benchmark can push.
(PDB-5708) update version for 8.2.0 release
steveax and others added 14 commits October 27, 2023 11:44
starting in commit 71c7cd2d126f45bab2262e3ccee2ce0e4852dd24 Puppet will
log which server the catalog is requested from.
PuppetDB 8 only needs to maintain compatibility with Puppet 7 and 8, so
it will not test Puppet 6
…se-notes

(PDB-5700) 7.15.0 release notes
* 7.x:
  (PDB-5700) 7.15.0 release notes
* main: (31 commits)
  (PDB-5707) 8.2.0 release notes
  (PDB-5700) 7.15.0 release notes
  (maint) Remove unnecessary Puppet version checks
  (PUP-11899) update integration tests for new Puppet log message
  Version 8.2.1-SNAPSHOT
  Version 8.2.0
  (PDB-5708) add lein-exec to ci profile
  (PDB-5708) update version for 8.2.0 release
  (maint) Update version to 7.15.1-SNAPSHOT
  (maint) Update version to 7.15.0 for release
  (PE-35601) Add a cert number --offset to Benchmark
  Set clj-parent=7.2.6
  (PDB-5712) client: restore puppet client for command posts
  (PDB-5712) submit-facts/submit-catalog/submit-report: generalize opts
  (PDB-5712) submit-command-via-http!: select send function via :post
  (PDB-5712) submit-command-via-http!: switch to option map
  Set clj-parent=5.6.6
  (PE-36861) Update ezbake to 2.5.5
  Set clj-parent=7.2.5
  Set clj-parent=5.6.5
  ...
@steveax steveax requested review from a team as code owners November 7, 2023 20:19
@CLAassistant
Copy link

CLAassistant commented Nov 7, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
5 out of 6 committers have signed the CLA.

✅ nmburgan
✅ jpartlow
✅ steveax
✅ austb
✅ jonathannewman
❌ rbrw
You have signed the CLA already but the status is still pending? Let us recheck it.

@austb austb merged commit b69847d into puppetlabs:doc-latest Nov 7, 2023
9 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants