Skip to content

Commit

Permalink
(SIMP-9673) Write LDAP plugin and 389-DS integration test (#65)
Browse files Browse the repository at this point in the history
- Added
  - LDAP plugin
  - LDAP plugin acceptance test that demonstrates its use and integration
    with a 389-DS instance configured with the SIMP data schema
  - Initial LDAP plugin documentation, including a copy of the design
    documentation from Confluence.
  - Additional user documentation
  - Additional plugin developer documentation

- Fixed
  - Few documentation typos in the plugin template and the file plugin

- Maintenance updates
  - Added multiple plugin test that simultaneously uses the LDAP plugin
    and the file plugin
  - Reworked file plugin validator so it could be used in the test for
    multiple plugins
  - Fixed the OEL nodesets in the default suite (needed to be swapped)

SIMP-9673 #close
SIMP-9674 #close
  • Loading branch information
lnemsick-simp authored Oct 5, 2021
1 parent 4708811 commit 07fdab7
Show file tree
Hide file tree
Showing 77 changed files with 5,334 additions and 894 deletions.
10 changes: 9 additions & 1 deletion .fixtures.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
---
fixtures:
repositories:
stdlib: https://github.com/simp/puppetlabs-stdlib.git
ds389: https://github.com/simp/pupmod-simp-ds389.git
pki: https://github.com/simp/pupmod-simp-pki.git
selinux: https://github.com/simp/pupmod-simp-selinux.git
simplib: https://github.com/simp/pupmod-simp-simplib.git
stdlib: https://github.com/simp/puppetlabs-stdlib.git
systemd: https://github.com/simp/puppet-systemd.git
vox_selinux:
repo: https://github.com/simp/pupmod-voxpupuli-selinux.git
branch: simp-master

# This needs to be in place for the rspec-puppet Hiera 5 hook to work
# No idea why, it may be because Puppet sees a custom backend and loads all
# of the global parts.
Expand Down
105 changes: 77 additions & 28 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -332,21 +332,34 @@ pup7.x-unit:
# Repo-specific content
# ==============================================================================

# default suite: Exercises the file plugin with file plugin-specific
# validation and special cases
# ldap_suite: Exercises the ldap_plugin with ldap plugin-specific
# validation and special cases
# multiple_plugins: Exercises both the file and ldap plugins simultaneously with
# their respective plugin-specific validation:
# - Test configures the simpkv backend configuration to have
# both plugins
# - Test ensures both plugins are used in individual catalog
# runs
# - Test does NOT include plugin special cases found in the
# individual plugin suites
#
#---- default suite ----
# Nodesets: default -> CentOS8
# oel -> OEL8
# centos7 -> CentOS7
# oel7 -> OEL7
pup6.x:
<<: *pup_6_x
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[default,default]'

pup6.x-fips:
<<: *pup_6_x
<<: *acceptance_base
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[default,default]'

pup6.pe:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'bundle exec rake beaker:suites[default,default]'

Expand All @@ -357,62 +370,98 @@ pup6.pe-fips:
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[default,default]'

pup6.x.centos7:
<<: *pup_6_x
pup6.pe-centos7:
<<: *pup_6_pe
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[default,centos7]'

pup6.x.centos7-fips:
<<: *pup_6_x
pup6.pe-oel:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[default,centos7]'
- 'bundle exec rake beaker:suites[default,oel]'

pup6.pe.centos7:
pup6.pe-oel7:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'bundle exec rake beaker:suites[default,oel7]'

pup7.x:
<<: *pup_7_x
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[default,default]'

pup7.x-centos7:
<<: *pup_7_x
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'bundle exec rake beaker:suites[default,centos7]'

pup6.pe-oel:
<<: *pup_6_pe
#---- ldap_plugin suite ----
# Nodesets: default -> CentOS8 + CentOS7
# oel -> OEL8 + OEL7
pup6.x-ldap_plugin:
<<: *pup_6_x
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[default,oel]'
- 'bundle exec rake beaker:suites[ldap_plugin,default]'

pup6.pe-oel-fips:
pup6.pe-ldap_plugin:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[default,oel]'
- 'bundle exec rake beaker:suites[ldap_plugin,default]'

pup6.pe.centos7-oel:
pup6.pe-ldap_plugin-fips:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'bundle exec rake beaker:suites[default,oel7]'
- 'BEAKER_fips=yes bundle exec rake beaker:suites[ldap_plugin,default]'

pup6.pe.centos7-oel-fips:
pup6.pe-ldap_plugin-oel:
<<: *pup_6_pe
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[default,oel7]'
- 'bundle exec rake beaker:suites[ldap_plugin,oel]'

pup7.x:
pup7.x-ldap_plugin:
<<: *pup_7_x
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[default,default]'
- 'bundle exec rake beaker:suites[ldap_plugin,default]'

pup7.x.centos7:
<<: *pup_7_x
#---- multiple_plugins suite ----
# Nodesets: default -> CentOS8
# oel -> OEL8
pup6.x-multiple_plugin:
<<: *pup_6_x
<<: *acceptance_base
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
script:
- 'bundle exec rake beaker:suites[default,centos7]'
- 'bundle exec rake beaker:suites[multiple_plugin,default]'

pup6.pe-multiple_plugins:
<<: *pup_6_pe
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[multiple_plugins,default]'

pup6.pe.multiple_plugins-fips:
<<: *pup_6_pe
<<: *acceptance_base
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites[multiple_plugins,default]'

pup7.x.multiple_plugins:
<<: *pup_7_x
<<: *acceptance_base
script:
- 'bundle exec rake beaker:suites[multiple_plugins,default]'

8 changes: 7 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
* Mon Jun 21 2021 Liz Nemsick <[email protected]> - 0.8.0
* Tue Sep 28 2021 Liz Nemsick <[email protected]> - 0.8.0
- BREAKING CHANGES:
- Added 'globals' and 'environments' root directories for global and
Puppet-environment keys, respectively, in the normalized key paths
Expand Down Expand Up @@ -27,11 +27,17 @@
- Plugin type is now determined from its filename.
- Previous mechanism did not work when when multiple plugins were used.
- Added
- LDAP plugin
- Acceptance test that demonstrates its use and integration with
a 389-DS instance configured with the SIMP data schema
- More detailed plugin exception reporting in order to pinpoint plugin
logic problems.
- Now prints out the useful portion of the backtrace when an exception
is raised.
- Especially useful during plugin development.
- More background information for users
- More background information for plugin developers, which has now
been split out into its own document.

* Wed Jun 16 2021 Chris Tessmer <[email protected]> - 0.8.0
- Removed support for Puppet 5
Expand Down
Loading

0 comments on commit 07fdab7

Please sign in to comment.