Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[contributing]: https://github.com/OpenVoxProject/.github/blob/main/CONTRIBUTING.md
[users]: https://voxpupuli.org/connect/

OpenVoxDB is the fast, scalable, and reliable data warehouse for Puppet. It caches data generated by OpenVox, and gives you advanced features at awesome speed with a powerful API.
OpenVoxDB is the fast, scalable, and reliable data warehouse for OpenVox. It caches data generated by OpenVox, and gives you advanced features at awesome speed with a powerful API.

For documentation on this product, consult the [latest documentation][docs].

Expand Down
7 changes: 3 additions & 4 deletions acceptance/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Acceptance Testing
------------------

This README outlines how to run tests using the system testing framework `beaker`, specifically for PuppetDB.
This README outlines how to run tests using the system testing framework `beaker`, specifically for OpenVoxDB.

## Quick Start

Expand Down Expand Up @@ -65,7 +65,7 @@ You can find the required version of ezbake in project.clj.

## How to set options

## PuppetDB Specific Options
## OpenVoxDB Specific Options

You can set these options in one of two ways; either by specifying them as a key-value
pair in the hash that you return from your "--options" file, or by setting
Expand Down Expand Up @@ -116,8 +116,7 @@ in your hash; the environment variable names are the same but uppercased

* `:puppetdb_package_build_host` (`PUPPETDB_PACKAGE_BUILD_HOST`) : This specifies
the hostname where the final packages built by the packaging job are available.
This should typically not need to be overridden, as it defaults to the
well-known host name provided by our release engineering team.
This should typically not need to be overridden.

* `:puppetdb_package_repo_host` (`PUPPETDB_PACAKGE_REPO_HOST`): This specifies
the hostname where the final apt/yum repos will be deployed and accessible to
Expand Down
16 changes: 8 additions & 8 deletions acceptance/helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ def self.initialize_test_config(options, os_families)

pp_config = PP.pp(@config, "")

Beaker::Log.notify "PuppetDB Acceptance Configuration:\n\n#{pp_config}\n\n"
Beaker::Log.notify "OpenVoxDB Acceptance Configuration:\n\n#{pp_config}\n\n"
end

class << self
Expand Down Expand Up @@ -237,12 +237,12 @@ def puppetdb_pids(host)
jar_file = "puppetdb.jar"
result = on host, %Q(ps -ef | grep "#{java_bin}" | grep "#{jar_file}" | grep " services -c " | awk '{print $2}')
pids = result.stdout.chomp.split("\n")
Beaker::Log.notify "PuppetDB PIDs appear to be: '#{pids}'"
Beaker::Log.notify "OpenVoxDB PIDs appear to be: '#{pids}'"
pids
end

def start_puppetdb(host)
step "Starting PuppetDB" do
step "Starting OpenVoxDB" do
on(host, puppet_resource('service', 'puppetdb', 'ensure=running'))
sleep_until_started(host)
end
Expand All @@ -265,13 +265,13 @@ def display_last_logs(host)
on host, "tail -n 100 #{puppetdb_log_dir(host)}/puppetdb.log", :acceptable_exit_codes => [0,1]
end

# Sleep until PuppetDB is completely started
# Sleep until OpenVoxDB is completely started
#
# @param host Hostname to test for PuppetDB availability
# @param host Hostname to test for OpenVoxDB availability
# @return [void]
# @api public
def sleep_until_started(host)
# Hit an actual endpoint to ensure PuppetDB is up and not just the webserver.
# Hit an actual endpoint to ensure OpenVoxDB is up and not just the webserver.
# Retry until an HTTP response code of 200 is received.
test_route = aio_pathing_exists?(host) ? "pdb/meta/v1/version" : "v4/version"
curl_with_retries("start puppetdb", host,
Expand Down Expand Up @@ -456,7 +456,7 @@ def install_puppetdb_module(hosts, puppet_platform)
end

def setup_openvoxdb_certs(database)
step 'Ensure PuppetDB certificates are setup' do
step 'Ensure OpenVoxDB certificates are setup' do
# Normally the openvoxdb package automagically post-install runs
# 'puppetdb ssl-setup', but this relies on the openvox-agent
# already having certs generated at the time that the openvoxdb
Expand Down Expand Up @@ -724,7 +724,7 @@ class { 'openvoxdb::master::report_processor':
end

def stop_puppetdb(host)
step 'Stopping PuppetDB' do
step 'Stopping OpenVoxDB' do
pids = puppetdb_pids(host)
on(host, puppet_resource('service', 'puppetdb', 'ensure=stopped'))
sleep_until_stopped(host, pids)
Expand Down
4 changes: 2 additions & 2 deletions acceptance/setup/pre_suite/20_install_puppet.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
test_name "Install Puppet" do
test_name "Install OpenVox" do
unless (test_config[:skip_presuite_provisioning])
if is_el8 && ([:upgrade_latest].include? test_config[:install_mode])
on(hosts, 'update-crypto-policies --set LEGACY')
Expand All @@ -10,7 +10,7 @@
if (test_config[:skip_openvox_package_installation])
install_puppet_conf
else
step "Install Puppet" do
step "Install OpenVox" do
install_puppet(puppet_repo_version(test_config[:platform_version],
test_config[:install_mode],
test_config[:nightly]))
Expand Down
2 changes: 1 addition & 1 deletion acceptance/setup/pre_suite/70_install_released_puppetdb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
&& !(test_config[:skip_presuite_provisioning])

install_target = test_config[:install_mode] == :upgrade_latest ? latest_released : oldest_supported
step "Install most recent released PuppetDB on the PuppetDB server for upgrade test" do
step "Install most recent released PuppetDB on the OpenVoxDB server for upgrade test" do
databases.each do |database|
enable_https_apt_sources(database)
install_puppetdb(database, install_target)
Expand Down
2 changes: 1 addition & 1 deletion acceptance/setup/pre_suite/90_install_devel_puppetdb.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
step "Install development build of PuppetDB on the PuppetDB server" do
step "Install development build of OpenVoxDB on the OpenVoxDB server" do
databases.each do |database|
os = test_config[:os_families][database.name]

Expand Down
2 changes: 1 addition & 1 deletion acceptance/tests/commands/delete_reports.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
end
end

step "Verify the data was stored in PuppetDB" do
step "Verify the data was stored in OpenVoxDB" do
check_record_count("nodes", agents.length)
check_record_count("factsets", agents.length)
check_record_count("catalogs", agents.length)
Expand Down
73 changes: 18 additions & 55 deletions ci/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# PuppetDB Testing and CI
# OpenVoxDB Testing and CI

## Jargon

### spec
A testing specification string. The element is the test flavor and the trailing elements describe dependency information (JDK, PostgreSQL, Puppet, Puppet Server). Examples:
A testing specification string. The element is the test flavor and the trailing elements describe dependency information (JDK, PostgreSQL, OpenVox, OpenVox Server). Examples:
- `core/openjdk8/pg-9.6`
- `int/openjdk11/pup-6.x/srv-6.x/pg-11`
- `core+ext/openjdk11/pg-11/rich`
Expand All @@ -12,9 +12,9 @@ A testing specification string. The element is the test flavor and the trailing
### flavor
The first element of the spec string describing which test suite to run. One of:
- `core` (`lein test`)
- `ext` (external tests on PuppetDB jar)
- `ext` (external tests on OpenVoxDB jar)
- `core+ext` (both core and external tests)
- `int` (integration tests with Puppet and Puppet Server)
- `int` (integration tests with OpenVox and OpenVox Server)
- `lint` (check Clojure code with Eastwood and clj-kondo)
- `rspec`

Expand All @@ -33,10 +33,10 @@ Creates symbolic link to a relative path. Relative path is forced even if absolu
Outputs sha256 checksum of STDIN

### `ext/bin/config-openvox-test-ref`
Modify local testing environment to use specific version of Puppet.
Modify local testing environment to use specific version of OpenVox.

### `ext/bin/config-openvox-server-test-ref`
Modify local testing environment to use specific version of Puppet Server.
Modify local testing environment to use specific version of OpenVox Server.

### `ext/bin/test-config`
Get, set, or reset persistent test configuration values by storing them in local files in the directory `ext/test-conf`
Expand Down Expand Up @@ -70,28 +70,28 @@ Installs Leiningen onto machine
Installs pgbox onto machine

### `ext/bin/prep-debianish`
Prepares Debian-like Linux machines for running PuppetDB tests
Prepares Debian-like Linux machines for running OpenVoxDB tests

### `ext/bin/prep-macos`
Prepares MacOS machines for running PuppetDB tests
Prepares MacOS machines for running OpenVoxDB tests

### `ext/bin/pdbbox-init`
Creates a local PuppetDB sandbox directory which contains a PostgreSQL sandbox
Creates a local OpenVoxDB sandbox directory which contains a PostgreSQL sandbox

### `ext/bin/pdbbox-env`
Sets up environment variables and runs a command using `pgbox env`

### `ext/bin/with-pdbbox`
Runs a command using new, empheral PuppetDB sandbox (with an ephemeral PostgreSQL sandbox inside of it). Starts PostgreSQL and runs a command using the sandboxes. Destroys sandboxes and stops PostgreSQL afterwards.
Runs a command using new, empheral OpenVoxDB sandbox (with an ephemeral PostgreSQL sandbox inside of it). Starts PostgreSQL and runs a command using the sandboxes. Destroys sandboxes and stops PostgreSQL afterwards.

### `ext/bin/boxed-core-tests`
Runs a command using ephemeral Leiningen and pgbox executables, as well as ephemeral PuppetDB and PostgreSQL sandboxes. User still needs PostgreSQL and JDK installed. Passes command to `ext/bin/with-pdbbox` which creates the ephemeral sandboxes.
Runs a command using ephemeral Leiningen and pgbox executables, as well as ephemeral OpenVoxDB and PostgreSQL sandboxes. User still needs PostgreSQL and JDK installed. Passes command to `ext/bin/with-pdbbox` which creates the ephemeral sandboxes.

### `ext/bin/boxed-integration-tests`
Exactly the same as `ext/bin/boxed-core-tests` except uses this for the temporary directory name (starts with `int-test`).

### `ext/bin/run-external-tests`
Creates a PuppetDB uberjar and runs some tests on its behavior and output.
Creates an OpenVoxDB uberjar and runs some tests on its behavior and output.

### `ext/bin/run-rspec-tests`
Run Ruby rspec tests on Ruby code in `puppet` directory.
Expand All @@ -100,28 +100,25 @@ Run Ruby rspec tests on Ruby code in `puppet` directory.
Runs core, integration, and external tests with `boxed-core-tests`, `boxed-integration-tests`, and `run-external-tests` respectively. Also prints log lines saying which script is running.

### `ext/test/oom-causes-shutdown`
Tests an existing PuppetDB jar to to see if it gracefully shuts down on an OutOfMemoryError when forced to allocate a giant amount of memory.
Tests an existing OpenVoxDB jar to to see if it gracefully shuts down on an OutOfMemoryError when forced to allocate a giant amount of memory.

### `ext/test/top-level-cli`
Tests an existing PuppetDB jar's command line interface by running subcommands and grepping the output.
Tests an existing OpenVoxDB jar's command line interface by running subcommands and grepping the output.

### `ext/test/schema-mismatch-causes-pdb-shutdown`
Verifies that a PuppetDB jar will periodically check and shut down when the database is at an unrecognized schema (migration) number.
Verifies that an OpenVoxDB jar will periodically check and shut down when the database is at an unrecognized schema (migration) number.

### `ext/test/database-migration-config`
Ensures PuppetDB jar fails to start and logs error message when the PuppetDB PostgreSQL database is not migrated to the most recent migration that PuppetDB knows about.
Ensures OpenVoxDB jar fails to start and logs error message when the OpenVoxDB PostgreSQL database is not migrated to the most recent migration that OpenVoxDB knows about.

### `ext/bin/contributors-in-git-log`
Given two git tags, prints out a list of contributors who authored commits in that commit range.

### `ext/bin/render-pdb-schema`
Creates an SVG graph of the PuppetDB PostgreSQL schema for educational purposes. Requires postgresql-autodoc and graphiz.

### `ext/bin/tag-release`
Automates the release tagging process for PuppetDB. This script tags and pushes both release branches for FOSS and extensions (four total branches) at once.
Creates an SVG graph of the OpenVoxDB PostgreSQL schema for educational purposes. Requires postgresql-autodoc and graphiz.

### `pdb`
In top-level of source tree. Starts an existing PuppetDB uberjar and passes all arguments. Allows overriding of Bouncy Castle jars.
In top-level of source tree. Starts an existing OpenVoxDB uberjar and passes all arguments. Allows overriding of Bouncy Castle jars.

## CI Scripts

Expand All @@ -135,37 +132,3 @@ Runs tests on a prepared CI machine.

### `.github/workflows/main.yml`
On pull request and push runs core, external, integration, and rspec tests on MacOS machines. Also runs lint test on an Ubuntu machine.

### `.github/workflows/docs_test.yml`
On pull request runs `dita` doc-building command and tests for failure.

### `.github/workflows/docs_publish.yml`
On push to `doc-latest` or `doc-6.y` builds and uploads docs to Puppet's s3 bucket which gets used by puppet.com/docs.

### `.github/workflows/snyk.yml`
On push to `6.x` and `main`, run Snyk security scanning tests.

### `doc/pipelines/enterprise.md`
Overview of whole Jenkins setup. Documents global parameters which can be used by any project.

### `doc/pipelines/puppetdb.md`
Overview of PuppetDB Jenkins setup. Documents PuppetDB-specific parameters.

### `jenkii/enterprise/projects/puppetdb.yaml`
Defines the PuppetDB projects.

### `resources/job-groups/puppetdb.yaml`
Defines the PuppetDB job groups.

## Docker

PuppetDB is published as [Docker image](https://hub.docker.com/r/puppet/puppetdb), although supporting it is not currently a priority.

### `docker/Makefile`
- prep: Git fetches all latest commits and tags
- lint: Lints `docker/puppetdb/Dockerfile` with `hadolint`
- build: Builds image with `docker buildx`
- test: Runs Ruby rspec tests
- push-image: Push docker image to dockerhub
- push-readme: Update dockerhub README
- publish: Runs push-image and push-readme
8 changes: 4 additions & 4 deletions ci/bin/run
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ case "$flavor" in
case "$flavor" in
core|core+ext)
fips-keystore-sanity-check
# Run core lein tests with ephemeral PuppetDB and PostgreSQL sandboxes
# Run core lein tests with ephemeral OpenVoxDB and PostgreSQL sandboxes
# Leiningen dev profile adds org.bouncycastle/bcpkix-jdk18on dependency
ext/bin/boxed-core-tests --pglog pg.log \
-- lein with-profiles "${LEIN_PROFILES:-dev}" test 2>&1 \
Expand All @@ -50,13 +50,13 @@ case "$flavor" in
esac
case "$flavor" in
core+ext) # core will have already run host-info
# Run external tests on a PuppetDB uberjar
# Run external tests on an OpenVoxDB uberjar
ext/bin/run-external-tests
;;
ext)
# Print out host machine info for logging
ext/bin/host-info
# Run external tests on a PuppetDB uberjar
# Run external tests on an OpenVoxDB uberjar
ext/bin/run-external-tests
;;
esac
Expand All @@ -70,7 +70,7 @@ case "$flavor" in
lein kondo --lint src test
;;
rspec)
# Get Puppet version from test spec
# Get OpenVox version from test spec
puppet_ref="$(ext/bin/prefixed-ref-from-spec "$spec" pup-)"
# Validate test spec
ext/bin/check-spec-env "$spec"
Expand Down
4 changes: 2 additions & 2 deletions contrib/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# PuppetDB User-Contributed Content
# OpenVoxDB User-Contributed Content

This directory contains code and other content that has been contributed by
PuppetDB users. It's a place where we can include items that we know will be
OpenVoxDB users. It's a place where we can include items that we know will be
useful to other users, but that we can't yet officially maintain or support.
We hope that you will find it valuable!

Expand Down
2 changes: 1 addition & 1 deletion contrib/gem/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# PuppetDB Terminus Gemspec
# OpenVoxDB Terminus Gemspec

The files in this directory are intended to provide a starting point for
building a gem package of the puppetdb terminus code. This will be useful
Expand Down
2 changes: 1 addition & 1 deletion contrib/gem/openvoxdb-terminus.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Gem::Specification.new do |gem|
gem.version = "3.0.0"
gem.authors = ["Puppet Labs", "OpenVoxProject"]
gem.email = ["openvox@voxpupuli.org"]
gem.description = "Puppet terminus files to connect to OpenVoxDB"
gem.description = "OpenVox terminus files to connect to OpenVoxDB"
gem.summary = "Connect OpenVox to OpenVoxDB by setting up a terminus for OpenVoxDB"
gem.homepage = "https://github.com/OpenVoxProject/openvoxdb"
gem.license = "Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions dev-docs/partitioning.markdown
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Partitioning in PuppetDB
# Partitioning in OpenVoxDB

PuppetDB will use partitioning for its timeseries data, specifically `reports`
OpenVoxDB will use partitioning for its timeseries data, specifically `reports`
and `resource_events`. The primary goal of partitioning is to reduce the burden
of managing deleted data with `VACUUM`. Any query performance improvements are a
secondary concern.
Expand Down
2 changes: 1 addition & 1 deletion dev-docs/release/reconciliation.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ bundle exec rake release:reconcile[6.4.0,6.3.1]
Environment variables all have a default value in the rake task,
but are also configurable on the command line.

* `PDB_PATH` - path to the PuppetDB repo (Default: `./`)
* `PDB_PATH` - path to the OpenVoxDB repo (Default: `./`)
* `PDB_PE_PATH` - path to the pe-puppetdb-extensions repo (Default `../pe-puppetdb-extensions`)

## Output
Expand Down
4 changes: 2 additions & 2 deletions dev-resources/Makefile.i18n
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ locales/$(POT_NAME): $(shell $(FIND_SOURCES)) | locales
@tmp=$$(mktemp $@.tmp.XXXX); \
$(FIND_SOURCES) \
| xgettext --from-code=UTF-8 --language=lisp \
--copyright-holder='Puppet <docs@puppet.com>' \
--copyright-holder='Vox Pupuli; portions Copyright (C) Puppet, Inc.' \
--package-name="$(BUNDLE)" \
--package-version="$(BUNDLE_VERSION)" \
--msgid-bugs-address="docs@puppet.com" \
--msgid-bugs-address="https://github.com/OpenVoxProject/openvoxdb/issues" \
-k \
-kmark:1 -ki18n/mark:1 \
-ktrs:1 -ki18n/trs:1 \
Expand Down
11 changes: 4 additions & 7 deletions documentation/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# PuppetDB documentation
# OpenVoxDB documentation

If you were redirected while trying to reach the PuppetDB docs at puppet.com/docs/puppetdb, the version you were trying to reach is no longer maintained.
This directory contains the source for the OpenVoxDB documentation.

For the most recent PuppetDB docs, see [puppet.com/docs/puppetdb/latest](https://puppet.com/docs/puppetdb/latest).
For a list of the current maintained versions of open source Puppet and its components, see the most recent [Puppet version](https://puppet.com/docs/puppet/latest/about_agent.html) information.
For a list of supported Puppet Enterprise versions, see the [Puppet Enterprise lifecycle](https://puppet.com/misc/puppet-enterprise-lifecycle).

If you need docs for an older version of PuppetDB, you may be able to find it by switching to the relevant branch of this repository.
For the most recent rendered OpenVoxDB docs, see [docs.openvoxproject.org/openvoxdb/latest](https://docs.openvoxproject.org/openvoxdb/latest/).

If you need docs for an older version of OpenVoxDB, you may be able to find it by switching to the relevant branch of this repository.
Loading
Loading