Skip to content

Latest commit

 

History

History
2762 lines (1729 loc) · 108 KB

CHANGELOG.md

File metadata and controls

2762 lines (1729 loc) · 108 KB

Changelog

3.0.1 (2024-04-08)

Full Changelog

Implemented enhancements:

  • (PE-37704) Allow for SLES-11 (Intel) builds to be installed in PE 2021.7.x for testing #259 (shubhamshinde360)

Merged pull requests:

3.0.0 (2024-02-07)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

2.16.0 (2023-12-05)

Full Changelog

Merged pull requests:

2.15.0 (2023-08-29)

Full Changelog

Implemented enhancements:

  • (PE-36725) Update Aix's pe_repo class name #233 (cthorn42)

2.14.1 (2023-08-24)

Full Changelog

Merged pull requests:

2.14.0 (2023-08-09)

Full Changelog

Merged pull requests:

2.13.0 (2023-08-08)

Full Changelog

Implemented enhancements:

  • (PE-36506) Use AIX 7.2 packages for 2023 STS stream #226 (donoghuc)

Fixed bugs:

  • (RE-15688) Add working nodeset for beaker-rspec tests #227 (yachub)

2.12.0 (2023-05-12)

Full Changelog

Implemented enhancements:

  • (RE-15478) Update actions and release workflow #217 (yachub)
  • (RE-15111) Add Mend Scanning #211 (yachub)
  • (RE-14819) Retry failed curls before trying to gunzip them #203 (e-gris)

Merged pull requests:

2.11.24 (2022-11-01)

Full Changelog

Fixed bugs:

  • (maint) Fix duplicate solaris ca cert #207 (yachub)

2.11.23 (2022-10-26)

Full Changelog

Merged pull requests:

  • (maint) Add GCP 10.253/16 scratchpad hosts to proxy firewall #206 (jpartlow)

2.11.22 (2022-09-28)

Full Changelog

Merged pull requests:

  • (PE-34549) Check agent version for individual host for waitlock flag #205 (nmburgan)

2.11.21 (2022-09-26)

Full Changelog

Merged pull requests:

  • (PE-34549) Only use waitforlock flag on >= 2019.8.0 #204 (nmburgan)

2.11.20 (2022-09-20)

Full Changelog

Merged pull requests:

  • (PE-34549) Add --waitforlock 1 to agent run post-install #202 (nmburgan)
  • (RE-14811) Add RE as codeowners #200 (yachub)

2.11.19 (2022-07-29)

Full Changelog

Merged pull requests:

  • (PE-34110) Add ability to inject flags to be passed to configure action #199 (nmburgan)

2.11.18 (2022-07-27)

Full Changelog

Merged pull requests:

  • (PE-34061) Specify powershell execution policy during install #198 (joshcooper)

2.11.17 (2022-03-16)

Full Changelog

Merged pull requests:

2.11.16 (2021-08-21)

Full Changelog

Merged pull requests:

2.11.15 (2021-08-20)

Full Changelog

Merged pull requests:

  • (PE-32680) Fix pe_postgres installs when GPG key needs updating #188 (cthorn42)

2.11.14 (2021-08-20)

Full Changelog

Merged pull requests:

  • (PE-32680) Add new GPG when installing Ubuntu/SLES/Debian #187 (cthorn42)

2.11.13 (2021-04-16)

Full Changelog

Merged pull requests:

  • (PE-31424) Add gpg key for sles-11 and el-5 installs of PE 2019.8.5 #182 (cthorn42)

2.11.12 (2021-03-26)

Full Changelog

Merged pull requests:

  • (PE-31503) AIX frictionless install without old TLS #181 (cthorn42)

2.11.11 (2021-01-25)

Full Changelog

Merged pull requests:

  • (maint) Update proxy iptables to allow our k8s to reach the vm #180 (cthorn42)

2.11.10 (2021-01-15)

Full Changelog

Merged pull requests:

  • (maint) Add some puts statement to the proxy setup #179 (cthorn42)

2.11.9 (2020-11-23)

Full Changelog

Merged pull requests:

  • (PE-30552) Add work around for osx agent installing #171 (cthorn42)

2.11.8 (2020-11-06)

Full Changelog

Merged pull requests:

  • (maint) Pin simplecov to 0.18.5 #169 (nmburgan)
  • (maint) Properly determine agent version for puppet-agent 7 #168 (nicklewis)

2.11.7 (2020-08-12)

Full Changelog

Merged pull requests:

2.11.6 (2020-07-22)

Full Changelog

Merged pull requests:

2.11.5 (2020-07-15)

Full Changelog

Merged pull requests:

2.11.4 (2020-04-14)

Full Changelog

Merged pull requests:

  • (maint) Remove the logic change around postgres pe conf updating #157 (cthorn42)

2.11.3 (2020-04-13)

Full Changelog

Merged pull requests:

2.11.2 (2020-03-11)

Full Changelog

Merged pull requests:

  • (maint) Update Rake #155 (cthorn42)
  • (RE-12858) Change delivery_host blocked for proxy tests to artifactory #154 (nmburgan)

2.11.1 (2019-12-06)

Full Changelog

Merged pull requests:

  • (PE-27048) Undo hacky Yum proxy repo configuration #153 (cthorn42)

2.11.0 (2019-11-25)

Full Changelog

Merged pull requests:

  • (PE-27048) Finish off the proxy on PE compile master work #152 (cthorn42)

2.10.11 (2019-10-23)

Full Changelog

Merged pull requests:

  • (QENG-7529) Add vmstat to vm resource check #150 (highb)

2.1.11 (2019-10-21)

Full Changelog

Merged pull requests:

  • (maint) Use packaging_platform when checking frictionless #149 (jpartlow)

2.1.10 (2019-09-27)

Full Changelog

2.1.9 (2019-08-15)

Full Changelog

Merged pull requests:

  • (PE-27037) Grab fips tarball when using redhatfips-7-x86_64 #147 (nmburgan)

2.1.8 (2019-08-05)

Full Changelog

Merged pull requests:

  • (maint) Add CODEOWNERS and delete MAINAINERS #146 (actowery)
  • (feature) Allow install methods to accept an interactive option #145 (actowery)

2.1.7 (2019-06-13)

Full Changelog

Merged pull requests:

  • (PE-26509) Add support for pe_compiler role #144 (nmburgan)

2.1.6 (2019-06-04)

Full Changelog

Merged pull requests:

2.1.5 (2019-05-15)

Full Changelog

Merged pull requests:

  • EExternal postgres to work with compile master #141 (shaigy)

2.1.4 (2019-05-14)

Full Changelog

Merged pull requests:

  • (PE-23663) Disable agent service on external postgres install #140 (nmburgan)
  • (maint) Fix insecure repo config on Ubuntu 18.04 ...again #139 (donoghuc)

2.1.3 (2019-04-08)

Full Changelog

Merged pull requests:

  • PE-26276 Update regex for TLS check #138 (shaigy)

2.1.2 (2019-04-02)

Full Changelog

Merged pull requests:

  • PE-25942 Enable TLSV1.2 protocol for powershell in kearney #137 (shaigy)

2.1.1 (2019-03-28)

Full Changelog

Merged pull requests:

  • PE-25942 Update aix platform regex #136 (shaigy)

2.1.0 (2019-03-25)

Full Changelog

Merged pull requests:

  • PE-25942 Do not default to using TLSV1 as default #135 (shaigy)

2.0.6 (2018-12-06)

Full Changelog

Merged pull requests:

  • PE-25470 Update higgs installer option #134 (shaigy)
  • (PE-25010) Fix insecure repo config on Ubuntu 18.04 #127 (highb)

2.0.5 (2018-11-05)

Full Changelog

Merged pull requests:

  • PE-25440 Add a final agent run during external postgres install #133 (shaigy)

2.0.4 (2018-10-30)

Full Changelog

Merged pull requests:

  • (CT-58) Properly install signed pe-client-tools package #132 (nicklewis)

2.0.3 (2018-10-16)

Full Changelog

Merged pull requests:

  • (PE-25128) Generate cert bundle with intermediate CA #131 (nmburgan)
  • (BKR-1519) update scooter dependency for beaker 4 #130 (kevpl)

2.0.2 (2018-09-12)

Full Changelog

Merged pull requests:

  • (MODULES-7765) change moduledistdir #129 (tphoney)
  • (PE-25091) Run configure_type_defaults_onon all infrastructure nodes #128 (cthorn42)

2.0.1 (2018-09-11)

Full Changelog

Merged pull requests:

  • (PE-25091) Add configure_type_defaults_on on master during postgres i… #126 (cthorn42)

2.0.0 (2018-08-13)

Full Changelog

Merged pull requests:

  • (BKR-1509) beaker 4.0 upgrade process #124 (Dakta)

1.41.1 (2018-07-30)

Full Changelog

Merged pull requests:

  • (PE-23342) Add top output to pe installs #121 (highb)

1.41.0 (2018-07-20)

Full Changelog

Merged pull requests:

  • (BKR-1492) Move pe_defaults from beaker #122 (Dakta)

1.40.7 (2018-06-21)

Full Changelog

Merged pull requests:

  • (PE-24617) Add determine_higgs_answer method #120 (cthorn42)

1.40.6 (2018-06-04)

Full Changelog

Merged pull requests:

  • BKR-1478 Remove client_datadir on Windows #118 (shaigy)

1.40.5 (2018-05-04)

Full Changelog

Merged pull requests:

1.40.4 (2018-04-09)

Full Changelog

Merged pull requests:

1.40.3 (2018-04-06)

Full Changelog

Merged pull requests:

  • PE-24016 Update escaped errors to include the install error on ubuntu #114 (shaigy)

1.40.2 (2018-04-05)

Full Changelog

Merged pull requests:

  • PE-24016 Update escaped errors with external postgres install #113 (shaigy)

1.40.1 (2018-04-04)

Full Changelog

Merged pull requests:

  • (maint) Enable MCO if hub/spoke roles are in use #112 (cthorn42)

1.40.0 (2018-04-02)

Full Changelog

Merged pull requests:

1.39.0 (2018-03-23)

Full Changelog

Merged pull requests:

  • (PE-23895) Add new execption to pe-managed postgres process #108 (cthorn42)

1.38.0 (2018-03-15)

Full Changelog

Merged pull requests:

1.37.0 (2018-02-20)

Full Changelog

Merged pull requests:

  • (PE-20250) Add version checking for the puppet service debug flag #105 (cthorn42)

1.36.0 (2018-02-16)

Full Changelog

Merged pull requests:

  • (maint) Fix up spec test failures around verify_network_resources #104 (cthorn42)
  • (PE-20250) Add in support for the puppet service debug flag #103 (cthorn42)

1.35.0 (2018-02-07)

Full Changelog

Merged pull requests:

  • (maint) Update the Jenkins release job #102 (jpartlow)
  • (maint) Pass all_hosts in simple_monolithic_install #101 (jpartlow)
  • (PE-23319) add a network check to beaker-pe #100 (mwbutcher)

1.34.0 (2018-02-01)

Full Changelog

Merged pull requests:

  • PE-23463 Stop agent on master in mono install #99 (shaigy)

1.33.0 (2018-01-18)

Full Changelog

Merged pull requests:

1.32.0 (2018-01-09)

Full Changelog

Merged pull requests:

1.31.0 (2018-01-04)

Full Changelog

Merged pull requests:

  • (PE-22724) Fix up the pe_postgres error handling #94 (cthorn42)

1.30.0 (2018-01-02)

Full Changelog

Merged pull requests:

  • (PE-22724) Add logic to determine installer type for postgres upgrades #92 (cthorn42)

1.29.0 (2017-12-21)

Full Changelog

Merged pull requests:

  • (PE-22724) Add agent install step in external postgres installation #91 (cthorn42)

1.28.0 (2017-12-20)

Full Changelog

Merged pull requests:

  • (PE-22724) Add PE managed external postgres support #90 (cthorn42)

1.27.0 (2017-12-12)

Full Changelog

Merged pull requests:

  • PE-22051 Changes for adding loadbalancer to LEI job #89 (shaigy)

1.26.0 (2017-11-23)

Full Changelog

Merged pull requests:

1.25.0 (2017-11-22)

Full Changelog

1.24.0 (2017-11-22)

Full Changelog

Merged pull requests:

  • Fix agent installation failure caused by previous commit #87 (shaigy)
  • PE-22051 Changes for adding loadbalancer to LEI job #86 (shaigy)
  • (MAINT) Fix linux masterless installation #70 (Renelast)

1.23.0 (2017-09-15)

Full Changelog

Merged pull requests:

1.22.0 (2017-08-01)

Full Changelog

Merged pull requests:

  • (maint) Allow unauthenticated packages on debian based systems #82 (justinstoller)
  • Added log message to long running section #81 (RandellP)

1.21.0 (2017-07-13)

Full Changelog

Merged pull requests:

  • (PE-21461) Declare FRICTIONLESS_TRACE before export #80 (jpartlow)

1.20.0 (2017-07-12)

Full Changelog

Merged pull requests:

  • (PE-21277) Support frictionless install with ca cert #79 (jpartlow)
  • (PE-20966) Add retry to deploy_frictionless_agent_repo #78 (ericwilliamson)

1.19.0 (2017-06-30)

Full Changelog

Merged pull requests:

1.18.0 (2017-06-27)

Full Changelog

Merged pull requests:

1.17.0 (2017-06-07)

Full Changelog

1.16.0 (2017-05-26)

Full Changelog

Merged pull requests:

  • PE-20610 Fix install failure on windows for old pe versions #72 (shaigy)
  • (PE-20589) After a simple monolithic install run puppet on non-infras… #71 (cthorn42)

1.15.0 (2017-05-11)

Full Changelog

Merged pull requests:

  • (PE-20405) On frictionless installs ensure all hosts run prepare_hosts #68 (cthorn42)

1.14.0 (2017-05-10)

Full Changelog

Merged pull requests:

  • (maint) Properly install pe-client-tools when using a tag version #69 (nicklewis)
  • (PE-20086) PE 2016.5.(0|1) should install via msi method if windows2008r2 #66 (cthorn42)

1.13.0 (2017-04-06)

Full Changelog

Merged pull requests:

1.12.1 (2017-03-29)

Full Changelog

Merged pull requests:

  • (BKR-1085) Sign certs *before* stopping agent service #65 (nicklewis)

1.12.0 (2017-03-23)

Full Changelog

Merged pull requests:

  • (BKR-1058) Implement a simpler monolithic install method #57 (nicklewis)

1.11.0 (2017-03-23)

Full Changelog

Merged pull requests:

  • PE-19888 Add workaround for 2016.1.1 console status check error #63 (shaigy)

1.10.0 (2017-03-21)

Full Changelog

Merged pull requests:

  • (MAINT) add pull request template #60 (kevpl)
  • (PE-19049) Add a meep classification feature flag #59 (jpartlow)

0.12.2 (2017-03-15)

Full Changelog

1.9.1 (2017-02-22)

Full Changelog

Merged pull requests:

  • (MAINT) remove wait_for_host_in_dashboard call #58 (kevpl)

1.9.0 (2017-02-07)

Full Changelog

Merged pull requests:

  • (PE-19169) Add pe modules next flag #55 (jpartlow)
  • (BKR-937) Add support for installing AIX 7 agent on 7.2 #54 (branan)
  • (maint) login_with_puppet_access_on should respect --lifetime flag (with spec tests) #52 (lucywyman)

1.8.2 (2017-01-06)

Full Changelog

Merged pull requests:

  • PE-19086 Change extend gpg key to ignore gpg key warnings #47 (cthorn42)

1.8.1 (2016-12-30)

Full Changelog

Merged pull requests:

  • (BKR-831) Remove aio_agent_build as version source #46 (johnduarte)

1.8.0 (2016-12-30)

Full Changelog

Merged pull requests:

  • PE-18728 Skip frictionless install if agent has powershell2 bug #45 (cthorn42)
  • (MAINT) add install PE doc #41 (kevpl)

1.7.0 (2016-12-20)

Full Changelog

Merged pull requests:

  • (MAINT) fix broken version number #44 (kevpl)
  • (MAINT) fix spec testing #42 (kevpl)
  • (BKR-831) added dynamic puppet-agent version read from master #19 (kevpl)

1.6.1 (2016-11-22)

Full Changelog

Merged pull requests:

1.6.0 (2016-11-16)

Full Changelog

Merged pull requests:

  • (PE-18516,PE-18170) Temporarily set pe.conf when upgrading to Flanders #40 (jpartlow)
  • (MAINT) fill README doc & MAINTAINERS #38 (kevpl)

1.5.0 (2016-11-07)

Full Changelog

Merged pull requests:

1.4.0 (2016-10-11)

Full Changelog

Merged pull requests:

  • (PE-17825) Update do_higgs_install method with new installation log #34 (phongdly)

0.12.1 (2016-10-07)

Full Changelog

1.3.0 (2016-10-06)

Full Changelog

Merged pull requests:

1.2.0 (2016-10-04)

Full Changelog

Merged pull requests:

  • PE-17359 Adding Windows frictionless agent support #28 (cthorn42)

1.1.0 (2016-09-29)

Full Changelog

Merged pull requests:

1.0.0 (2016-09-26)

Full Changelog

Merged pull requests:

  • (BKR-941) beaker-pe 1.0 changes #27 (kevpl)

0.12.0 (2016-09-17)

Full Changelog

Merged pull requests:

  • (QA-2620) update install_pe_client_tools_on to use package repo #26 (zreichert)

0.11.0 (2016-08-25)

Full Changelog

Merged pull requests:

  • (QA-2620) update package install for pe-client-tools to use package … #23 (zreichert)

0.10.1 (2016-08-24)

Full Changelog

Merged pull requests:

  • (BKR-922) fixed options reference for beaker-rspec #24 (kevpl)

0.10.0 (2016-08-23)

Full Changelog

Merged pull requests:

  • (BKR-908) added attempts config to console status check #22 (kevpl)

0.9.0 (2016-08-15)

Full Changelog

Merged pull requests:

  • (QA-2603) update MSI path for "install_pe_client_tools_on" #21 (zreichert)
  • (MAINT) fix incorrect orchestrator config file name #20 (zreichert)

0.8.0 (2016-08-02)

Full Changelog

Merged pull requests:

  • (PE-16886) Add wait for console to be functional before continuing with puppet agent runs #18 (demophoon)
  • (MAINT) Fix install/pe_utils spec test #17 (johnduarte)
  • Pe client tools helper #15 (zreichert)

0.7.0 (2016-07-19)

Full Changelog

Merged pull requests:

  • (PE-15351) Use -y option for 2016.2.1+ installs #12 (highb)

0.6.0 (2016-07-12)

Full Changelog

Merged pull requests:

0.5.0 (2016-06-15)

Full Changelog

Merged pull requests:

  • (PE-14555) Always use MEEP for >= 2016.2.0 #11 (highb)

0.4.0 (2016-06-01)

Full Changelog

Merged pull requests:

0.3.0 (2016-05-26)

Full Changelog

Implemented enhancements:

  • (PE-14271) Wire beaker-pe for meep #5 (jpartlow)

0.2.0 (2016-05-18)

Full Changelog

Merged pull requests:

0.1.2 (2016-04-05)

Full Changelog

Merged pull requests:

  • (PE-14934) Add more robust puppetdb check #3 (demophoon)

worker - History

Tags

Details

  • (GEM) update beaker-pe version to 1.18.0 (25db20df)

  • Merge pull request #75 from ericwilliamson/task/master/QENG-5095-frictionless-agent-use-current (d0924c94)

Merge pull request #75 from ericwilliamson/task/master/QENG-5095-frictionless-agent-use-current

(QENG-5095) Use `current` endpoint for frictionless agent
  • (QENG-5095) Use current endpoint for frictionless agent (416efbf5)
(QENG-5095) Use `current` endpoint for frictionless agent

Previous to this commit, the url constructed for frictionless agent
installs attempted to use the hosts `pe_ver` variable for getting the
exact URL of the simplified install script. This was causing issues with
PEZ builds due to the different pe_ver in the filename (for downloading
the tarball) and the actual pe version.
This commit updates the url to just use the `current` endpoint instead
of the version, which mimics our install documentation. This won't
really remove the ability of installing an older version via this method
considering the logic for adding pe_repo classes didn't support passing
a specific pe_ver / agent version to pe_repo.
  • (HISTORY) update beaker-pe history for gem release 1.17.0 (38b5acd9)

  • (GEM) update beaker-pe version to 1.17.0 (544c8585)

  • Merge pull request #74 from ericwilliamson/bug/master/qeng-5040-run-puppet-after-mono-install (6958c093)

Merge pull request #74 from ericwilliamson/bug/master/qeng-5040-run-puppet-after-mono-install

(QENG-5040) Run puppet after simplified mono install
  • Merge pull request #73 from samwoods1/maint (cf2ad914)
Merge pull request #73 from samwoods1/maint

(maint) Fix parallel agent install
  • (QENG-5040) Run puppet after simplified mono install (01b9617d)
(QENG-5040) Run puppet after simplified mono install

Previous to this commit, the new simplified mono install method was not
running puppet on the master node in a mono only scenario. If the
install included agents not of the masters OS, then puppet would of been
ran due to needing to add pe_repo classes. In the scenario of mono
master only, if puppet is not ran, then setup is not considered complete
due to exported resources, mcollective and facts not being setup yet.
This would cause numerous issues, such as no facts in puppetdb (so
anyaltic tests for example would fail) until a test somewhere in the
pipeline ran puppet agent on the master node.
This commit adds a call outside of the parallel agent run on non infra
agents due to the fact that with exported resources, the classifier
service will restart, so need to run the master first, then after that
all the agents can run.
  • (maint) Fix parallel agent install (19c1e64a)
(maint) Fix parallel agent install
Parallel agent installs have been broken since f9cb3ca802ddc94a9a42dcbcfef96f7a76a19dff because the install command contained a working_dir that was unique per host.
This fixes that issue and also allows all agents to be installed in parallel regardless of OS or unique installer_cmd
  • (HISTORY) update beaker-pe history for gem release 1.16.0 (f8218db6)

  • (GEM) update beaker-pe version to 1.16.0 (053b1ab7)

  • PE-20610 Fix install failure on windows for old pe versions (6c5c6143)

PE-20610 Fix install failure on windows for old pe versions

Added logic to use the old generic_install method on windows when
installing old pe versions that requires an msi install because of
powershell2 issue PE-18351. The newly added simple_monolithic_install
does not have a check for those conditions and proceeds with
frictionless installation on those hosts which fails.
  • (PE-20589) After a simple monolithic install run puppet on non-infrastructure agents (d69499ee)
(PE-20589) After a simple monolithic install run puppet on non-infrastructure agents

Previously after agents were installed via simple mono install, we ran the agents
all at once. This include the master. Occasionaly there would be a change done to
the console services that would require a restart.
This would cause other agent runs to fail. So to not have that happen, we will run
only the non-infrastructure agents. That should be fine since part of the process
of installing PE should have the puppet runs included there.
  • (HISTORY) update beaker-pe history for gem release 1.15.0 (0fddaad5)

  • (GEM) update beaker-pe version to 1.15.0 (6cdb9055)

  • (PE-20405) On frictionless installs ensure all hosts run prepare_hosts (f9cb3ca8)

(PE-20405) On frictionless installs ensure all hosts run prepare_hosts

Previously when there was a frictionless install prepare_hosts was
only set on the master. This meant that agents were skipped and as
a result agents did not have a working_dir set.
This caused unix machines to install on just the root directory and
caused failures on windows.
  • (HISTORY) update beaker-pe history for gem release 1.14.0 (874a7998)

  • (GEM) update beaker-pe version to 1.14.0 (588c5ca5)

  • Merge pull request #69 from nicklewis/properly-install-pe-client-tools-from-tag (e162d8ed)

Merge pull request #69 from nicklewis/properly-install-pe-client-tools-from-tag

(maint) Properly install pe-client-tools when using a tag version
  • (maint) Properly install pe-client-tools when using a tag version (8b8e5366)
(maint) Properly install pe-client-tools when using a tag version

Previously, installing pe-client-tools with a tag version would fail on
Windows/OS X and install the wrong package on Linux.

When installing pe-client-tools, we provide two options:
- pe_client_tools_sha: the commit SHA of the version to install
- pe_client_tools_version: the `git describe` of the version to install

pe_client_tools_version is always the name of the package to install.
But the *location* of the package differs based on whether the package
version corresponds to a tag or not. When the package isn't a tag
version, it's located in a directory named based on the SHA. But when it
is a tag version, it's located in a directory named after the tag.

When pe_client_tools_version was specified as a tag, we would look in
the directory named after the SHA (which was actually from a *previous*
build of the package, from before it was tagged) for a file named after
the tag. That file would never be there, since we had a mismatch of
directory and filename. For Windows and OS X, this caused a failure to
install, because they need to know the exact filename.

This case incidentally *worked* (or appeared to work) on Linux
platforms, because they never actually refer to the package by
filename. Instead, they install the package by setting up a repo config,
which *is* always named after pe_client_tools_sha, and never
pe_client_tools_version. In that case, the Linux platforms would
actually install the previous version of the package by SHA, from before
it had been tagged.

We now properly handle the case where pe_client_tools_version is a tag,
by using that version as the location of the file in addition to the
filename.
  • Merge pull request #66 from cthorn42/main/master/PE-20086_msi_install_method_for_2016.5.(0|1)_if_windows2008r2 (a77cf5bf)
Merge pull request #66 from cthorn42/main/master/PE-20086_msi_install_method_for_2016.5.(0|1)_if_windows2008r2

(PE-20086) PE 2016.5.(0|1) should install via msi method if windows2008r2
  • (PE-20086) PE 2016.5.(0|1) should install via msi method for windows2008r2 (738e6f52)
(PE-20086) PE 2016.5.(0|1) should install via msi method for windows2008r2

Due to the timing of our LTS releases and our new major branches, PE 2016.5.0 and
PE 2016.5.1 did not get the windows2008r2 powershell fix that was done in PE-18351.
This means we need to not attempt to install fricitonlessly if it is pe 2016.5.(0|1)
if the agent platform is windows2008r2.
This PR adjust the install_via_msi? method and refactors the logic in there to clean
it up a bit (it is getting tough to easily read).
It breaks the method down to three lines:
1. If the agent is older then PE 2016.4.0.
2. If the agent is windows2008r2 and is less then 2016.4.3
3. If the agent is windows2008r2 and the agent version is between 2016.4.99 and 2016.5.99.
If any of those are true then the MSI method should be used to install the agent.
  • (HISTORY) update beaker-pe history for gem release 1.13.0 (a3c5d641)

  • (GEM) update beaker-pe version to 1.13.0 (197a55dd)

  • (BKR-806) Add tests for frictionless repo setup (5e723bb2)

  • (BKR-806) Only add pe_repo classes once (a718fbb9)

(BKR-806) Only add pe_repo classes once

Previously, if installing multiple agents with the same platform, the
work to add the appropriate pe_repo class to the master would be
performed once for each agent. Because that requires running `puppet
agent -t` on the master, it can add a significant amount of unnecessary
overhead to the install process when installing several agents.

We now check whether the class has already been included in the Beaker
Frictionless Agent group and skip running puppet on the master if it
has.
  • (HISTORY) update beaker-pe history for gem release 1.12.1 (fe8bbc82)

  • (GEM) update beaker-pe version to 1.12.1 (95b0e94f)

  • Merge pull request #65 from nicklewis/BKR-1085-sign-certs-before-stopping-agent (e1b6d137)

Merge pull request #65 from nicklewis/BKR-1085-sign-certs-before-stopping-agent

(BKR-1085) Sign certs *before* stopping agent service
  • (BKR-1085) Sign certs before stopping agent service (3b5208eb)
(BKR-1085) Sign certs *before* stopping agent service

Previously, the simple_monolithic install method was installing agents,
stopping the agent service and then attempting to sign certificates.
This was failing sporadically because the agent service needs to run
enough to submit a certificate request before being stopped. This was
being handled properly in the generic install method, but the order of
operations was swapped in the monolithic install method.
  • (HISTORY) update beaker-pe history for gem release 1.12.0 (0784adc6)

  • (GEM) update beaker-pe version to 1.12.0 (dd68cfa4)

  • Merge pull request #57 from nicklewis/improved-monolithic-install (07aa286e)

Merge pull request #57 from nicklewis/improved-monolithic-install

(BKR-1058) Implement a simpler monolithic install method
  • (BKR-1058) Implement a simpler monolithic install method (691a101e)
(BKR-1058) Implement a simpler monolithic install method

Currently, the `do_install` method is a mega-method responsible for
installing and upgrading every version, layout, and platform of PE. It
knows how to handle masterless installs, legacy agent installs, and
extremely old versions of PE. Because of that legacy, it has some
inefficiencies and is inflexible.

Since the most common case by far is a simple monolithic or split PE
install with a set of frictionless agents, we can dramatically simplify
and therefore speed up the basic case. This commit implements a
determine_install_type method that will detect whether the task being
asked of it is one of those simple cases. The `do_install` method now
branches based on the type of install, calling
`simple_monolithic_install` for a basic monolithic + agents install, or
`generic_install` for everything else. Simple split installs are
currently detected, but not handled specially (they still fall back to
the generic install).

Doing away with some of the legacy concerns allows this method to be
much simpler and more efficient. In particular, because the method has a
defined task (mono master + agents, rather than a generic list of
hosts), it can be optimized around that task. This is accomplished now
by first installing the master, and then installing all the agents in
parallel. This method also removes an extra agent run that hasn't been
necessary since PE 3.3.

For a monolithic master with four frictionless agents, this new method
takes ~6 min 30 sec, compared to ~11 minutes before.
  • (HISTORY) update beaker-pe history for gem release 1.11.0 (6c3b0067)

  • (GEM) update beaker-pe version to 1.11.0 (bce6add6)

  • Merge pull request #63 from shaigy/PE-19888-add-workaround-for-console-status-check-error-in-2016.1.1 (635224a5)

Merge pull request #63 from shaigy/PE-19888-add-workaround-for-console-status-check-error-in-2016.1.1

PE-19888 Add workaround for 2016.1.1 console status check error
  • PE-19888 Add workaround for 2016.1.1 console service status check error (6cd41e45)
PE-19888 Add workaround for 2016.1.1 console service status check error

During installation, a classifier-service check is done in beaker-pe
to make sure console service is up and running. The classifier status
service at the default detail level is broken in 2016.1.1 (PE-14857)
and returns an error and state "unknown". The workaround is to query
the classifier-service at 'critical' level and check for the console
service status.
  • (HISTORY) update beaker-pe history for gem release 1.10.0 (22e22ca8)

  • (GEM) update beaker-pe version to 1.10.0 (a796b850)

  • Merge pull request #59 from jpartlow/pe-modules-next (b130ad2f)

Merge pull request #59 from jpartlow/pe-modules-next

(PE-19049)  Add a meep classification feature flag
  • Merge branch 'issue/flanders/pe-19049-add-meep-classification-feature-flag' into pe-modules-next (f9b3ecd5)
Merge branch 'issue/flanders/pe-19049-add-meep-classification-feature-flag' into pe-modules-next

* issue/flanders/pe-19049-add-meep-classification-feature-flag:
  (PE-19831) Remove pe_repo classes from meep classification
  (PE-19438) Mock `scp_from` for `do_install`
  (PE-19438) Move pe.conf setup into descriptive function
  (PE-19438) Stop passing -c to upgrades from MEEP
  (PE-19049) Remove get_console_dispatcher_for_beaker_pe specs
  (PE-19049) use_meep_for_classification for configure_puppet_agent_service
  (PE-19049) Add helper method to read a hocon key from pe.conf
  (PE-19049) Add method to create or update a meep node.conf file
  (PE-19049) Can remove parameters from pe.conf
  (PE-19049,PE-11353) Ensure puppet service is stopped in 2017.1+ builds
  (maint) Use a Beaker::Host instance when mocking hosts
  (PE-19049) Modify how we obtain console dispatcher for frictionless
  (maint) Require beaker directly in spec_helper
  (PE-19049,PE-18718,PE-18799) Provide a test method for meep classification
  (maint) Remove unused variables
  • (PE-19831) Remove pe_repo classes from meep classification (b2b3d9df)
(PE-19831) Remove pe_repo classes from meep classification

This commit stops beaker from setting up additional pe_repo platform
classes on the master node group when using meep for classification as
this is handled in pe.conf with the agent_platform array with an array
of platform tags instead.
  • (PE-19049) Remove get_console_dispatcher_for_beaker_pe specs (e3515a02)
(PE-19049) Remove get_console_dispatcher_for_beaker_pe specs

Because scooter can in fact be in the bundle based on the GEM_SOURCE
setting, these specs can break, and it is not worth the effort reworking
the tests to be conditional based on presence or absence of the scooter
gem. RE-8616 should make the scooter gem public and then we don't need
to dance around it like this.
  • (PE-19438) Mock scp_from for do_install (1353f7bf)
(PE-19438) Mock `scp_from` for `do_install`

The new functionality in `do_install` to copy the `conf.d` folder
  • (PE-19438) Move pe.conf setup into descriptive function (80b78e04)
(PE-19438) Move pe.conf setup into descriptive function

The `do_install` method was getting a bit cluttered with too many
levels of logic, so I've moved the pe.conf setup steps out
into their own method, `setup_pe_conf`
  • Merge pull request #60 from kevpl/docs_pr_template2 (f22ac7fb)
Merge pull request #60 from kevpl/docs_pr_template2

(MAINT) add pull request template
  • (MAINT) add pull request template (f730e767)
(MAINT) add pull request template

adds a template that will make understanding
who to ping to get your PR reviewed clearer.
[skip ci]
  • (PE-19438) Stop passing -c to upgrades from MEEP (2af29a43)
(PE-19438) Stop passing -c to upgrades from MEEP

Prior to this commit we were essentially always passing in a config
to the installer during upgrades because we typically provide some
sort of custom answers for many tests. This meant that we were not
really testing upgrades without a config file being passed in.
This commit updates the beaker to not pass in a config/`-c` option
on upgrades from a MEEP install. In order to pass in the custom answers,
I have instead made use of the `update_pe_conf` method to inject the
answers.
  • (PE-19049) use_meep_for_classification for configure_puppet_agent_service (570694db)
(PE-19049) use_meep_for_classification for configure_puppet_agent_service

This commit updates the condition on performing the
`configure_puppet_agent_service` to be gated with
`use_meep_for_classification` so that it will automatically be set to
whatever arbitrary version we activate MEEP on.
  • (PE-19049) Add helper method to read a hocon key from pe.conf (02c0b356)

  • (PE-19049) Add method to create or update a meep node.conf file (bb4094ae)

(PE-19049) Add method to create or update a meep node.conf file

This is necessary if we need to adjust parameters for a specific node
rather than for all infrastructure via pe.conf.
  • (PE-19049) Can remove parameters from pe.conf (d4bab316)
(PE-19049) Can remove parameters from pe.conf

...using the update_pe_conf function.  Since a null isn't meaningful
for a hocon lookup parameter in pe.conf (or at least, I can't think of
why it would be, at the moment), a nil can be used to remove a parameter
that we want to clean up from the file. It's possible I am overlooking
something tricky about nil, undef in hiera/lookup...it might be
applicable to a nodes.conf file where we wanted to clear a parameter on
a specific node that had been set in pe.conf, but this function only
applies to pe.conf, so I think this is acceptable for now.
  • (maint) Use a Beaker::Host instance when mocking hosts (7154c008)
(maint) Use a Beaker::Host instance when mocking hosts

The mock hosts being generated for tests where failing when :exec was
called, despite the allow() in the helpers.rb make_host() function.
Using a Beaker::Host resolved this.
  • (PE-19049,PE-11353) Ensure puppet service is stopped in 2017.1+ builds (ed5d1499)
(PE-19049,PE-11353) Ensure puppet service is stopped in 2017.1+ builds

We began managing the puppet service in 2017.1.0 and need to ensure it
is stopped and disabled after installation, otherwise each subsequent
puppet agent run will restart the agent service, causing potential havoc
in smoke tests or other setup steps.
  • (PE-19049) Modify how we obtain console dispatcher for frictionless (858e63a9)
(PE-19049) Modify how we obtain console dispatcher for frictionless

platform configuration of the master node. Expect to use the
beaker-pe-large-environments::classification#get_dispatcher()
method, which will only be present during a pe_acceptance_tests run,
when beaker-pe-large-environments is part of the gem bundle.
  • (maint) Require beaker directly in spec_helper (1dbf8198)
(maint) Require beaker directly in spec_helper

The individual specs were already requiring beaker. This change just
centralizes that into the spec_helper, and removes the
beaker_test_helper now that we are using Beaker 3.
  • (PE-19049,PE-18718,PE-18799) Provide a test method for meep classification (6b9c6184)
(PE-19049,PE-18718,PE-18799) Provide a test method for meep classification

so we can adjust tests and setup steps that need to work either with old
pe node groups, or with meep.

Ultimately the test is just based on version boundary. But while we are
validating meep classification, we need to be able to toggle around a
temporary feature flag: the pe_infrastructure::use_meep_for_classification
parameter.

The function checks to see if this has been passed into
beaker via the hosts file answers hash. These are answers which
beaker-answers would include in the pe.conf it generates.

It can also be set from an ENV['PE_USE_MEEP_FOR_CLASSIFICATION']
variable. This will make it easier to setup temporary ci jobs.

The answer file setting will take precedence over the environment
variable.
  • (maint) Remove unused variables (7dce71cd)
(maint) Remove unused variables

The version variable is not used in the fetch_pe_on_windows method (and
hopefully wasn't producing a useful side effect...)

The removed snapshot and box keys in HOST_DEFAULTS were being
overwritten by later keys in the same hash definition and were producing
warnings...
  • (HISTORY) update beaker-pe history for gem release 1.9.1 (3b0bd457)

  • (GEM) update beaker-pe version to 1.9.1 (e2c53400)

  • Merge pull request #58 from kevpl/maint_stop_waiting_for_host (2a3fd63e)

Merge pull request #58 from kevpl/maint_stop_waiting_for_host

(MAINT) remove wait_for_host_in_dashboard call
  • (MAINT) remove wait_for_host_in_dashboard call (f6d3ee4a)
  • (HISTORY) update beaker-pe history for gem release 1.9.0 (efae323b)

  • (GEM) update beaker-pe version to 1.9.0 (d5c96d6b)

  • (PE-19169) Add pe modules next flag (#55) (3ff8a996)

(PE-19169) Add pe modules next flag (#55)

* (PE-19169,PE-18516) Remove version specific upgrade hack

This had been added to allow upgrade testing in flanders with meep for
classification prior to our having completed an upgrade workflow in the
installer.

Now that meep is being worked on in the pe-modules-next package behind a
feature-flag, this gate is counter-productive, particularly for Flanders
upgrade testing because it masks the common case of upgrading without
specifying a pe.conf.

* (PE-19169) Register flag for pe-modules-next if present in ENV

Major PE modules development work is being done in a separate
pe-modules-next package. The installer shim decides which pe-modules
package to install based on a pe.conf flag. This patch allows Jenkins CI
to trigger this by picking up ENV['PE_MODULES_NEXT'] and ensure that the
flag is set in the opts[:answers] which will then be transferred to
pe.conf by beaker-answers, and then picked up by the installer shim
during installation.

* (PE-19169) Ensure beaker-answers generates meep 2.0 schema

...if we are installing with the pe_modules_next flag.

The pe-modules-next is meep classification at the moment and needs a 2.0
pe.conf generated.

* (PE-19169) Extract a FeatureFlags class

to make it easier to test. Flags can be set in the :answers Hash or
picked up from environment variables. In the later case, we need to be
able to preserver them in the :answers hash, if not already present, so
that BeakerAnswers ensures that they are set in the generated pe.conf
file.
  • Merge pull request #54 from branan/bkr-937-aix-7.2 (4e381151)
Merge pull request #54 from branan/bkr-937-aix-7.2

(BKR-937) Add support for installing AIX 7 agent on 7.2
  • (maint) login_with_puppet_access_on should respect --lifetime flag (with spec tests) (#52) (c17a8daf)
(maint) login_with_puppet_access_on should respect --lifetime flag (with spec tests) (#52)

* (maint) fix puppet access helper to respect lifetime argument

* (maint) Add spec tests for login_with_puppet_access_on
  • (BKR-937) Add support for installing AIX 7 agent on 7.2 (9aada073)
(BKR-937) Add support for installing AIX 7 agent on 7.2

To avoid unnecessarily expanding our build times, our initial support
for AIX 7.2 is through the existing 7.1 package. This will be replaced
with a single unified AIX build in the Agent 2.0 timeframe, but for now
we need to add a little bit of special-case logic to handle 7.2 with
existing packages.
  • (HISTORY) update beaker-pe history for gem release 1.8.2 (625c17e3)

  • (GEM) update beaker-pe version to 1.8.2 (93ef8841)

  • PE-19086 Change extend gpg key to ignore gpg key warnings (#47) (45d907e6)

PE-19086 Change extend gpg key to ignore gpg key warnings (#47)

The extended GPG-key for PE 2015.2 -> 2016.1.2 has expired.
Rather then continue to update it every few months, lets just
enable the older versions of PE that are installed on debian
systems to ignore gpg-key warnings.
We will still have testing coverage of the gpg-key on debian
systems via fresh installs of PE and testing upgrades from
PE 2016.2.0 and newer.
  • (HISTORY) update beaker-pe history for gem release 1.8.1 (3cefad28)

  • (GEM) update beaker-pe version to 1.8.1 (7a9c2c4a)

  • (BKR-831) Remove aio_agent_build as version source (#46) (2267d3a2)

(BKR-831) Remove aio_agent_build as version source (#46)

This commit removes the `aio_agent_build` fact as a data source for
the `get_puppet_agent_version`. If the version is not specified, then
then only the `aio_agent_version` value is used as a fail over.
  • (HISTORY) update beaker-pe history for gem release 1.8.0 (5a37fef7)

  • (GEM) update beaker-pe version to 1.8.0 (75d22036)

  • (PE-18728) Skip frictionless install if agent is affected by powershell 2 bug (#45) (48b3b788)

(PE-18728) Skip frictionless install if agent is affected by powershell 2 bug (#45)

We introduced frictionless installs for Windows agents in PE 2016.4.0.
For upgrade scenarios where we are testing frictionless upgrades, to
install we need to use the old MSI method if we are installing less then
PE 2016.4.0.
However, we have discovered that frictionless installs of windows2008r2
will fail on PE 2016.4.0 and PE 2016.4.2.
This PR adds in logic to install with the non-frictionless method if the
agent is windows2008r2 and version is less then PE 2016.4.3.
  • (MAINT) add install PE doc (#41) (2e748b9c)
(MAINT) add install PE doc (#41)

[skip ci]
  • (HISTORY) update beaker-pe history for gem release 1.7.0 (99e6bbde)

  • (GEM) update beaker-pe version to 1.7.0 (80c18a2b)

  • Merge pull request #44 from kevpl/maint_version_fix (a1a01605)

Merge pull request #44 from kevpl/maint_version_fix

(MAINT) fix broken version number
  • (MAINT) fix broken version number (46340fb7)
(MAINT) fix broken version number

[skip ci]
  • Merge pull request #19 from kevpl/bkr831_install_windows (415d3f3c)
Merge pull request #19 from kevpl/bkr831_install_windows

(BKR-831) added dynamic puppet-agent version read from master
  • Merge pull request #42 from kevpl/maint_fix_specs (e185d0da)
Merge pull request #42 from kevpl/maint_fix_specs

(MAINT) fix spec testing
  • (MAINT) fix spec testing (9dc8b8d7)

  • (BKR-831) add fallback to aio_agent_version (d42ef8ef)

  • (BKR-831) cleaned up host preparation for installs (f544d6aa)

  • (BKR-831) added dynamic puppet-agent version read from master (76d2f9a7)

  • (HISTORY) update beaker-pe history for gem release 1.6.1 (52e30609)

  • (GEM) update beaker-pe version to 1.6.1 (4b812f78)

  • Merge pull request #39 from james-stocks/BKR-967 (2d17d83f)

Merge pull request #39 from james-stocks/BKR-967

Revert "(BKR-967) Add :disable_analytics option"
  • Revert "(BKR-967) Add :disable_analytics option" (a9fdaacb)
Revert "(BKR-967) Add :disable_analytics option"

This reverts commit c9e25658e8cd282e1676d723131946268e308579.

This commit is not useful because it is blocking analytics from the console host;
but analytics are sent from the user browser and not the console host.
  • (HISTORY) update beaker-pe history for gem release 1.6.0 (0da1b64c)

  • (GEM) update beaker-pe version to 1.6.0 (9d6d30e0)

  • Merge pull request #40 from jpartlow/issue/master/pe-18516-always-set-pe-conf-for-upgrades (ace43aca)

Merge pull request #40 from jpartlow/issue/master/pe-18516-always-set-pe-conf-for-upgrades

(PE-18516,PE-18170) Temporarily set pe.conf when upgrading to Flanders
  • (PE-18516,PE-18170) Temporarily set pe.conf when upgrading to Flanders (9df782ee)
(PE-18516,PE-18170) Temporarily set pe.conf when upgrading to Flanders

At the moment, MEEP does not create a 2.0 pe.conf when recovering
configuration for an upgrade.  This is preventing all upgrade tests from
PE >= 2016.2 (when meep was introduced) to PE >= 2017.1 from completing
because meep ends up using a 1.0 pe.conf that has no node_roles. Without
the node_roles information, the node is not considered infrastructure,
and meep's enc returns no classes for it, so nothing happens in the
upgrade apply.

This is not currently a problem upgrading from < 2016.2 because
beaker-pe is providing the beaker-answers pe.conf in those cases.

To work around this, I've added a check, just if we are upgrading to a
Flanders version, which supplies the beaker-answers generated pe.conf.

This patch is just intended to get upgrades from earlier meep versions
working in CI. When we get to PE-18170 (also scheduled for Flanders)
we'll work on improving recover configuration to generate a 2.0 pe.conf,
with the goal being that beaker-answers should not need to provide
anything for pe.conf for Flanders upgrades unless some additional
parameters were added in the beaker configuration.
  • Merge pull request #38 from kevpl/docs_README_fill (d8546812)
Merge pull request #38 from kevpl/docs_README_fill

(MAINT) fill README doc & MAINTAINERS
  • (MAINT) fill README doc & MAINTAINERS (23a40aba)
(MAINT) fill README doc & MAINTAINERS

[skip ci]
  • (HISTORY) update beaker-pe history for gem release 1.5.0 (24d78992)

  • (GEM) update beaker-pe version to 1.5.0 (614c736b)

  • Merge pull request #36 from james-stocks/BKR-967 (e4a48b7c)

Merge pull request #36 from james-stocks/BKR-967

(BKR-967) Add :disable_analytics option
  • (BKR-967) Add :disable_analytics option (c9e25658)
(BKR-967) Add :disable_analytics option

Allow :disable_analytics to be set in beaker options, allowing us to block
traffic to Google Analytics.
  • (HISTORY) update beaker-pe history for gem release 1.4.0 (6becdbb2)

  • (GEM) update beaker-pe version to 1.4.0 (2c31bfcb)

  • Merge pull request #34 from phongdly/PE-17825/Higgs_Automation (52921be8)

Merge pull request #34 from phongdly/PE-17825/Higgs_Automation

(PE-17825) Update do_higgs_install method with new installation log
  • (PE-17825) added older version compability (d4d16462)
(PE-17825) added older version compability

[skip ci]
  • (PE-17825) Update do_higgs_install method with new installation log (f17b5091)
(PE-17825) Update do_higgs_install method with new installation log

Prior to this PR, the PE the do_higgs_install method waits for the below PE installation log:
"Please go to https://higgs_installer_web_server:3000 in your browser to continue installation"

However, newer PE, for example in Davis builds, that line of log has changed to be:
"#Go to  https://higgs_installer_web_server:3000 in your browser to continue installation"

This PR is a simple fix for this by only searching for the substring:
"o to  https://higgs_installer_web_server:3000 in your browser to continue installation"
  • (HISTORY) update beaker-pe history for gem release 1.3.0 (97f781bb)

  • (GEM) update beaker-pe version to 1.3.0 (24d8b969)

  • Merge pull request #32 from cthorn42/main/master/PE-17359_fix_windows_frictionless_upgrade (8feaaf0f)

Merge pull request #32 from cthorn42/main/master/PE-17359_fix_windows_frictionless_upgrade

PE-17359 Fix windows frictionless upgrades
  • Merge pull request #33 from tvpartytonight/BKR-953 (e53e018a)
Merge pull request #33 from tvpartytonight/BKR-953

(BKR-953) Stop including the dsl at the top level
  • (BKR-953) Stop including the dsl at the top level (12823a51)
(BKR-953) Stop including the dsl at the top level

To reload the beaker dsl after adding modules to it, beaker-pe had just
included the module into the top level namespace. This resulted in
errors loading in other libraries not expecting the dsl to be loaded at
the top level. This commit changes that inclusion mechanism to be safe
from namespace collisions.
  • PE-17359 Fix windows frictionless upgrades (883e4df5)
PE-17359 Fix windows frictionless upgrades

There was an error with my previous PR. PE 2016.2.1 to PE 2016.4.0
were failing because the PE 2016.2.1 install of the windows agent
would attempt to install via frictionless, and not with the old msi
method.
This PR fixes this.
  • (HISTORY) update beaker-pe history for gem release 1.2.0 (7362ab78)

  • (GEM) update beaker-pe version to 1.2.0 (bab690e0)

  • (PE-17359) Adding Windows frictionless agent support (#28) (f4b72e18)

(PE-17359) Adding Windows frictionless agent support (#28)

This commit adds support for windows frictionless agent.
There was a change to the pe_repo logic, to make sure the master
downloads the new windows script.
Also there is the addition of a powershell script, which is the
direct equivlant of curl | bash.
  • (HISTORY) update beaker-pe history for gem release 1.1.0 (5b9f2600)

  • (GEM) update beaker-pe version to 1.1.0 (e4576973)

  • Merge pull request #31 from tvpartytonight/pe_17658_update_gpg_key (60a293f3)

Merge pull request #31 from tvpartytonight/pe_17658_update_gpg_key

(PE-17658) Update gpg key location
  • (PE-17658) Update gpg key location (5824f76d)
(PE-17658) Update gpg key location

Prior to this change, beaker-pe was downloading
an expired key: pubkey.gpg, which caused packages
to fail authentication on debian platforms (ubuntu).

This commit updates the key we're getting to
DEB-GPG-KEY-puppetlabs which is still valid.
  • Merge pull request #29 from tvpartytonight/BKR-945_add_beakerpe_acceptance (ac814a9a)
Merge pull request #29 from tvpartytonight/BKR-945_add_beakerpe_acceptance

(BKR-945) Add acceptance tests to beaker-pe
  • (BKR-945) Add acceptance tests to beaker-pe (cf0bf446)
(BKR-945) Add acceptance tests to beaker-pe

Previous to this commit, we relied on tests that existed within the
beaker repo to test functionality that actually resided within
beaker-pe. This change adds those tests to beaker-pe, so they can be
removed beaker itself.
  • (HISTORY) update beaker-pe history for gem release 1.0.0 (84a5b56b)

  • (GEM) update beaker-pe version to 1.0.0 (0f384656)

  • Merge pull request #27 from kevpl/bkr941_beaker-pe_1.0 (55d48b15)

Merge pull request #27 from kevpl/bkr941_beaker-pe_1.0

(BKR-941) beaker-pe 1.0 changes
  • (BKR-941) update scooter dependency (c124fef9)

  • (BKR-941) update beaker dependency (faea2843)

(BKR-941) update beaker dependency

Since beaker-pe 1.0 will be using the new inclusion mechanism
of including itself in beaker's DSL, it shouldn't allow itself
to be used with beaker < 3.0.
  • (BKR-941) beaker-pe 1.0 changes (2a05be9f)
(BKR-941) beaker-pe 1.0 changes

These are the changes required to update beaker-pe to
its first major version. These changes are done to use
the beaker 3.0 DSL library inclusion mechanism, pulling
the current beaker-pe requirement out of beaker itself
  • (HISTORY) update beaker-pe history for gem release 0.12.0 (81e5a0b0)

  • (GEM) update beaker-pe version to 0.12.0 (d16e0bc1)

  • Merge pull request #26 from zreichert/maint/master/QA-2620_fix_installation_noop_for_nix (e75cdb09)

Merge pull request #26 from zreichert/maint/master/QA-2620_fix_installation_noop_for_nix

(QA-2620) update install_pe_client_tools_on to use package repo
  • (QA-2620) update install_pe_client_tools_on to use package repo (665da12b)
  • (HISTORY) update beaker-pe history for gem release 0.11.0 (7167f39e)

  • (GEM) update beaker-pe version to 0.11.0 (ca260aa0)

  • Merge pull request #23 from zreichert/maint/master/QA-2620_fix_package_installation (176c59ee)

Merge pull request #23 from zreichert/maint/master/QA-2620_fix_package_installation

(QA-2620) update package install for pe-client-tools  to use package …
  • (QA-2620) update package install for pe-client-tools to use package name not file name (120aae3b)
  • (HISTORY) update beaker-pe history for gem release 0.10.1 (97adf276)

  • (GEM) update beaker-pe version to 0.10.1 (a826414c)

  • Merge pull request #24 from kevpl/bkr922_bkr908_fix (baff3281)

Merge pull request #24 from kevpl/bkr922_bkr908_fix

(BKR-922) fixed options reference for beaker-rspec
  • (BKR-922) fixed options reference for beaker-rspec (bd232256)
(BKR-922) fixed options reference for beaker-rspec

In BKR-908, code was added to make console timeout checking
configurable. This code relied on `@options` to get the
value from the global option. This works in beaker but not
in beaker-rspec, because `@options` is a TestCase instance
variable. The accessor `options` works in both, because it
is a TestCase accessor in beaker, and a similar method has
been added in beaker-rspec's [shim](https://github.com/puppetlabs/beaker-rspec/blob/master/lib/beaker-rspec/beaker_shim.rb#L26-L28).
  • (HISTORY) update beaker-pe history for gem release 0.10.0 (b8eff18f)

  • (GEM) update beaker-pe version to 0.10.0 (1c8df4c3)

  • (BKR-908) added attempts config to console status check (#22) (d5e711de)

(BKR-908) added attempts config to console status check (#22)

* (BKR-908) added attempts config to console status check

* (BKR-908) handle JSON::ParserError case
  • (HISTORY) update beaker-pe history for gem release 0.9.0 (e29ed491)

  • (GEM) update beaker-pe version to 0.9.0 (01d03513)

  • (MAINT) fix incorrect orchestrator config file name (#20) (af220d39)

  • (QA-2603) update MSI path for "install_pe_client_tools_on" (#21) (919dcf36)

  • (HISTORY) update beaker-pe history for gem release 0.8.0 (b40f583b)

  • (GEM) update beaker-pe version to 0.8.0 (f4d290f2)

  • (QA-2514) PE-client-tools helpers (#15) (32d70efe)

(QA-2514) PE-client-tools helpers (#15)

* (QA-2514) PE-client-tools helpers

* (maint) Add install helpers for pe-client-tools

This commit adds three helper methods to install pe-client-tools on Windows.

The first is a general  method that is designed to abstract
away the installation of pe-client-tools on supported operating systems.
Currently, it only accommodates development builds of the tools based on the
provided SHA and SUITE_VERSION environment variables available.

The second is a generic method to install an msi package on a target host.
Beaker's built in method of this name assumes that msi installed involves the
installation of puppet, so this method overrides that one without such an
assumption.

The this is a generic method to install a dmg package on a target host.
Beaker's built in `install_package` method for osx does not accommodate for an
installer `pkg` file that is named differently from the containing `dmg`. This
method forces the user to supply both names explicitly.

* (maint) Remove install helpers for pe-client-tools

This commit removes the dmg and msi helper methods instroduced earlier.

These two methods have bee moved into beaker.

* basic spec tests for ExecutableHelper & ConfigFileHelper
  • Merge pull request #18 from demophoon/fix/master/pe-16886-pe-console-service-wait (949852c8)
Merge pull request #18 from demophoon/fix/master/pe-16886-pe-console-service-wait

(PE-16886) Add wait for console to be functional before continuing with puppet agent runs
  • Merge pull request #17 from johnduarte/fix-install-pe_utils_spec (187a413a)
Merge pull request #17 from johnduarte/fix-install-pe_utils_spec

(MAINT) Fix install/pe_utils spec test
  • (PE-16886) Add wait for console to be functional (eef0f254)
(PE-16886) Add wait for console to be functional

Before this commit the console may or may not be functional by the time
the next puppet agent run occurs on the following node. This can cause
puppetserver to return with an error from the classifier when it is
attempting to evaluate the classes which should be applied to the node.

This commit adds in a sleep and service check to the final agent run
step on the console node which will hopefully work around this issue
until it is fixed in SERVER-1237.
  • (MAINT) Fix install/pe_utils spec test (5ca075ca)
(MAINT) Fix install/pe_utils spec test

Changes introduced at commit 33cdfef caused the install/pe_utils
spec test to fail. This commit updates the spec test to introduce
the `opts[:HOSTS]` data that the implementation code expects to have
available.
  • (HISTORY) update beaker-pe history for gem release 0.7.0 (8256c0ac)

  • (GEM) update beaker-pe version to 0.7.0 (f31dbe09)

  • Merge pull request #12 from highb/feature/pe-15351_non_interactive_flag_on_installer (5062ede4)

Merge pull request #12 from highb/feature/pe-15351_non_interactive_flag_on_installer

(PE-15351) Use -y option for 2016.2.1+ installs
  • (PE-15351) Change -f option to -y (d86f4cde)
(PE-15351) Change -f option to -y

Prior to this commit I was using the `-f` option in the installer,
now it is `-y`. For more information, see
https://github.com/puppetlabs/pe-installer-shim/pull/31/commits/0dfd6eb488456a7177673bb720edf9758521f096
  • (PE-15351) Fix use of -c/-f flags on upgrades (33cdfef0)
(PE-15351) Fix use of -c/-f flags on upgrades

Prior to this commit the condition used to decide whether to use
the `-c`/`-f` flags was dependent on `host['pe_upgrade_ver']` and
`host['pe_ver']` which was an unreliable condition.
This commit updates the condition to determine whether to use the
`-f` flag to simply look at `host['pe_ver']` because that value
is updated depending on what version of pe is currently being
installed or upgraded to.
The condition to decide to omit the `-c` flag has to depend on
`opts[:HOSTS][host.name][:pe_ver]` because that value is not
modified during upgrade and can be used for a valid comparison
to determine if the install will have a `pe.conf` file to use
for an upgrade.
  • (PE-15351) Use -f option for 2016.2.1+ installs (9372dc29)
(PE-15351) Use -f option for 2016.2.1+ installs

Prior to this commit there was not an option for signalling a
non-interactive install to the installer.
This commit adds the new `-f` option added in
https://github.com/puppetlabs/pe-installer-shim/pull/31 to the
command line options for installation/upgrade.

Additionally, this commit will remove the `-c` parameter being
passed on upgrades from a 2016.2.0+ install, because the installer
should be able to pick up on the existing pe.conf file.
  • (HISTORY) update beaker-pe history for gem release 0.6.0 (e974e7f8)

  • (GEM) update beaker-pe version to 0.6.0 (48b663eb)

  • Merge pull request #14 from ericwilliamson/task/master/PE-16566-download-gpg-key (99c5008f)

Merge pull request #14 from ericwilliamson/task/master/PE-16566-download-gpg-key

(PE-16566) Add method to download life support gpg key
  • (PE-16566) Add method to download life support gpg key (df1f14bf)
(PE-16566) Add method to download life support gpg key

As of July 8th, 2016 the GPG key that was shipped with and used to sign
repos inside of PE tarballs expired. A new life support key was created
that extended the expiration date to Jan 2017. That key shipped with PE
3.8.5 and 2016.1.2.

apt based platforms appear to be the only package manager failing due to
an expired key, while rpm is fine.

This commit adds a new helper method to additionally download and
install the extended key for PE versions that have already been released
and are needing to be tested.
  • (HISTORY) update beaker-pe history for gem release 0.5.0 (8f2874fe)

  • (GEM) update beaker-pe version to 0.5.0 (985fe231)

  • Merge pull request #11 from highb/cutover/pe-14555 (1b21288a)

Merge pull request #11 from highb/cutover/pe-14555

(PE-14555) Always use MEEP for >= 2016.2.0
  • (PE-14555) Always use MEEP for >= 2016.2.0 (de3a5050)
(PE-14555) Always use MEEP for >= 2016.2.0

Prior to this commit pe-beaker would use `INSTALLER_TYPE` to
specify whether to run a MEEP (new) or legacy install.
This commit changes pe-beaker to always use MEEP if the PE
version being installed is >= 2016.2.0, and legacy otherwise.

No ENV parameters will be passed to specify which to use, as we
are now relying on the installer itself to default to using MEEP
by default in all 2016.2.0 builds going forward.
  • (HISTORY) update beaker-pe history for gem release 0.4.0 (f5ad1884)

  • (GEM) update beaker-pe version to 0.4.0 (e04b1f64)

  • Merge pull request #9 from jpartlow/issue/master/pe-14554-switch-default-to-meep (c9eff0ea)

Merge pull request #9 from jpartlow/issue/master/pe-14554-switch-default-to-meep

(PE-14554) Switch default to meep
  • (PE-14554) Switch default to meep (f234e5fc)
(PE-14554) Switch default to meep

If INSTALLER_TYPE is not set, beaker-pe will now default to a meep
install.  You must set INSTALLER_TYPE to 'legacy' to get a legacy
install out of Beaker with this patch.
  • (HISTORY) update beaker-pe history for gem release 0.3.0 (0d6b6d4c)

  • (GEM) update beaker-pe version to 0.3.0 (d58ed99e)

  • Merge pull request #5 from jpartlow/issue/master/pe-14271-wire-for-meep (55aa098f)

Merge pull request #5 from jpartlow/issue/master/pe-14271-wire-for-meep

(PE-14271) Wire beaker-pe for meep
  • (maint) Add some logging context for sign and agent shutdown (398882f4)
(maint) Add some logging context for sign and agent shutdown

...steps.
  • (PE-14271) Do not try to sign certificate for meep core hosts (e485c423)
(PE-14271) Do not try to sign certificate for meep core hosts

Certificate is generated by meep.  Step is redundant and produces failed
puppet agent run and puppet cert sign in log.
  • (PE-15259) Inform BeakerAnswers if we need legacy database defaults (7ef0347d)
(PE-15259) Inform BeakerAnswers if we need legacy database defaults

Based on this setting, BeakerAnswers can provide legacy bash default
values for database user parameters in the meep hiera config.  This is
necessary if we are upgrading from an older pe that beaker just
installed using the legacy script/answer defaults.

Also logs the actual answers/pe.conf file that was generated so we can
see what is going on.
  • (maint) Remove unused variables from spec (61134529)
(maint) Remove unused variables from spec

Marked by static analysis; specs continue to pass after removal.
  • (PE-14271) Have mock hosts return a hostname (53e90212)
(PE-14271) Have mock hosts return a hostname

Because BeakerAnswers sets hiera host parameters from Host#hostname, so
the method needs to exist in our mocks.
  • (maint) Make the previous_pe_ver available on upgrade (0f72aaab)
(maint) Make the previous_pe_ver available on upgrade

Sometimes during PE upgrades we need to be able to determine what
version we upgraded from, to know what behavior we expect from the
upgrade.  Prior to this change, that could only be determined by probing
into the original host.cfg yaml. This patch just sets it explicitly in
each host prior to overwriting the pe_ver with pe_upgrade_ver.
  • (PE-14271) Adjust higgs commands to provide correct answer (f7cc8d9a)
(PE-14271) Adjust higgs commands to provide correct answer

...for both legacy and meep installers.  The former prompts to continue
expecting 'Y' and the later prompts with options where '1' is intended
to kick off Higgs.

Also added spec coverage for these methods.
  • (PE-14271) Adjust BeakerAnswers call for meep (6bc392ff)
(PE-14271) Adjust BeakerAnswers call for meep

Based on changes pending in puppetlabs/beaker-answers#16, change the
generate_installer_conf_file_for() method to submit the expected :format
option temporarily.  This will go away when we cutover to meep and no
longer have to have both installer scripts operational in the same
build.

Fleshes out the specs that verify the method returns expected answer or
pe.conf data from BeakerAnswers, as written out via scp.
  • (PE-14271) Prepare host installer options based on version/env (616612a6)
(PE-14271) Prepare host installer options based on version/env

The addition of a use_meep? query allows setting host options for either
legacy or meep installer.  This enables installer_cmd to invoke the
correct installer.
  • (maint) Remove remaining version_is_less mocks (7ea8fbcf)
(maint) Remove remaining version_is_less mocks

For consistency, removed the rest of the version_is_less mocks.

In the three cases where this had an impact on the specs, replaced
them with a concrete version setting on the test host object.
  • (maint) Stop mocking version_is_less in do_install tests (d3e09cc1)
(maint) Stop mocking version_is_less in do_install tests

Each change to do_install and supporting methods involving a
version_is_less call was requiring additional mocking simulating
version_is_less's behavior.  This is unnecessary given that hosts are
being set with a version, and actually masks behavior of the class.
Removing these specifically because it was causing churn when
introducing meep functionality.
  • (PE-14271) Extract installer configuration methods (3071c5e9)
(PE-14271) Extract installer configuration methods

...from the existing code to generate answers and expand it to
generalize the installer settings and configuration file.  Passes
existing specs.  Will be further specialized to handle legacy/meep
cases.
  • (PE-14934) Fix specs to cover changes from PE-14934 (b22c3790)
(PE-14934) Fix specs to cover changes from PE-14934

Introduced chagnes to the do_install method, but specs were failing
because of the tight coupling between expectations and counts of command
execution.

The need to initialize metadata comes from the fact that the previous
PR #3 added step() calls, which reference the TestCase metadata attr.
Since we aren't using an actual TestCase instance, this had to be
initalized separately.
  • (HISTORY) update beaker-pe history for gem release 0.2.0 (a65f2083)

  • (GEM) update beaker-pe version to 0.2.0 (d9a052a4)

  • Merge pull request #1 from Renelast/fix/windows_masterless (ef4be9a2)

Merge pull request #1 from Renelast/fix/windows_masterless

Fixes windows masterless installation
Merge pull request #7 from tvpartytonight/BKR-656

(maint) Remove leftover comments
  • (maint) Remove leftover comments (c7ce982b)
(maint) Remove leftover comments

This removes some straggling comments and adds a comment to the new
metadata object in the `ClassMixedWithDSLInstallUtils` class.
  • Merge pull request #6 from tvpartytonight/BKR-656 (c1ea366b)
Merge pull request #6 from tvpartytonight/BKR-656

BKR-656
  • (BKR-656) refactor pe_ver setting into independent method (0d918c46)
(BKR-656) refactor pe_ver setting into independent method

Previous to this commit, transforming a host object prior to upgrading
was handled in the upgrade_pe_on method. This change removes that logic
from that method and allows for independent transformation to happen in
a new prep_host_for_upgrade method.
  • (BKR-656) Update spec tests for do_install (b602661f)
(BKR-656) Update spec tests for do_install

Commit 7112971ac7b14b8c3e9703523bbb8526af6fdfbe introduced changes to
the do_install method but did not have any updates for the spec tests.
This commit adds those tests in.
  • Adds type defaults and runs puppet agent on masterless windows (e7d06a3f)

  • Fixes windows masterless installation (9ff54261)

Fixes windows masterless installation

Setting up a masterless windows client would fail with the following error:

Exited: 1
/usr/local/rvm/gems/ruby-2.2.1/gems/beaker-2.37.0/lib/beaker/host.rb:330:in `exec': Host 'sxrwjhkia9gzo03' exited with 1 running: (Beaker::Host::CommandFailure)
 cmd.exe /c puppet config set server
Last 10 lines of output were:
        Error: puppet config set takes 2 arguments, but you gave 1
        Error: Try 'puppet help config set' for usage

As far as I could see this error is caused by the 'setup_defaults_and_config_helper_on' function which tries to set the master configuration setting in puppet.conf. But since there is no master varaible available this failes.

This patch should fix that by only calling setup_defaults_and_config_helper_on whern we're not doing a masterless installation.
  • (HISTORY) update beaker-pe history for gem release 0.1.2 (a6fd7bef)

  • (GEM) update beaker-pe version to 0.1.2 (b3175863)

  • Merge pull request #3 from demophoon/fix/master/pe-14934-robust-puppetdb-check (c3bebe59)

Merge pull request #3 from demophoon/fix/master/pe-14934-robust-puppetdb-check

(PE-14934) Add more robust puppetdb check
  • (PE-14934) Add more robust puppetdb check (7112971a)
(PE-14934) Add more robust puppetdb check

Before this commit we were still failing before the last puppet agent
run in do_install because we also run puppet agent in some cases before
the last run. This commit adds in the wait during that agent run as well
as a check on the status endpoint in puppetdb to be sure that it is
running in the case that the port is open but puppetdb is not ready for
requests.
  • (HISTORY) update beaker-pe history for gem release 0.1.1 (8203d928)

  • (GEM) update beaker-pe version to 0.1.1 (6ccb5a59)

  • Merge pull request #2 from demophoon/fix/master/pe-14934 (4e0b668e)

Merge pull request #2 from demophoon/fix/master/pe-14934

(PE-14934) Test if puppetdb is up when running puppet agent on pdb node
  • (PE-14934) Test if puppetdb is up when running puppet agent on pdb node (882ca94f)
(PE-14934) Test if puppetdb is up when running puppet agent on pdb node

Before this commit we were running into an issue where puppetdb would
sometimes not be up and running after puppet agent restarted the
service. This commit waits for the puppetdb service to be up after
running puppet agent on the database node so that the next agent run
doesn't fail.
  • Initial release.

* This Changelog was automatically generated by github_changelog_generator