# default - History
## Tags
* [LATEST - 10 Feb, 2016 (fe10edc1)](#LATEST)
* [0.3.3 - 3 Feb, 2016 (41051da9)](#0.3.3)
* [0.3.2 - 28 Jan, 2016 (299df8ec)](#0.3.2)
* [0.3.1 - 30 Dec, 2015 (7a3f10ca)](#0.3.1)
* [0.3.0 - 30 Dec, 2015 (4b03eaf4)](#0.3.0)
* [0.2.0 - 22 Dec, 2015 (dfa33e5f)](#0.2.0)
* [0.1.0 - 21 Dec, 2015 (474f4ccb)](#0.1.0)
* [0.0.1 - 7 Oct, 2015 (d99251e6)](#0.0.1)
## Details
### LATEST - 10 Feb, 2016 (fe10edc1)
* (GEM) update beaker-hostgenerator version to 0.4.0 (fe10edc1)
* (MAINT) Remove hard-coded gemspec date. (4770b013)
* Merge pull request #23 from puppetlabs/maint (f8b77852)
```
Merge pull request #23 from puppetlabs/maint
(QENG-3466) Fix --list bug and write tests to prevent recurrences.
```
* (MAINT) s/Errors/Exceptions/ in bin directory (b8b68c60)
* (MAINT) Better semantics for exception naming. (d0129893)
* (MAINT) Actually add new test. (f80192f3)
* (MAINT) Be more explicit in CHANGELOG (0a39fb6b)
* (MAINT) Write test for safe early exit behavior. (34866de1)
```
(MAINT) Write test for safe early exit behavior.
Specifically, ensure that when passed the "--list" options,
BeakerHostGenerator::CLI.initialize will raise the
BeakerHostGenerator::Errors::SafeEarlyExit exception which is intended to be
ignored by the script calling BeakerHostGenerator::CLI.initialize
```
* (MAINT) Update CHANGELOG (bb52432b)
* (MAINT) Write tests to protect --list CLI behavior. (e523773f)
* (MAINT) Don't call 'exit' in BeakerHostGenerator::CLI class. (e3bac654)
* (MAINT) Fix bug introduced by eecc04c (865b04c2)
* Merge pull request #21 from puppetlabs/qeng-3370 (45bf2295)
```
Merge pull request #21 from puppetlabs/qeng-3370
(QENG-3370) Add pe_* value CLI override options.
```
* (QENG-3370) Use mixins instead of module method references. (eecc04c8)
* (QENG-3370) Address PR feedback. (19cc3a9b)
* (QENG-3370) Fix grammar no no. (4d7d5db3)
* Revert "(QENG-3370) Add .projectile (emacs plugin) path exclusion." (1db7dfcc)
```
Revert "(QENG-3370) Add .projectile (emacs plugin) path exclusion."
This reverts commit 3dd4eb3a5488b55f6aae1d65db43e84c7c0ff625.
```
* (QENG-3370) Fix fixtures after merging cisco changes from master branch. (e1c65ffc)
* Merge remote-tracking branch 'origin/master' into qeng-3370 (8559505b)
* (QENG-3370) Fix module constant initialization bug. (aa3e08cd)
```
(QENG-3370) Fix module constant initialization bug.
Similar to the BeakerHostGenerator::Data::Vmpooler data initialization bug, this
is something that would not typically show up during normal command line usage
of beaker-hostgenerator because at that time there is typically only one
reference made to the BeakerHostGenerator::Utils module constant. However during
test fixture generation and rspec tests the modules were only loaded once so
there was only one attempt to read in environment variables which led to
inconsisten results depending on the order in which the fixtures were
generated/tested.
```
* (QENG-3370) Fix major bug in BeakerHostGenerator::Data::Vmpooler (f3359c8f)
```
(QENG-3370) Fix major bug in BeakerHostGenerator::Data::Vmpooler
Since the OSINFO and OSINFO_BHGv1 module constants are only initialized once
(during library load), do not refer directly to them using reference variables.
Instead, initialize the osinfo variable directly on each call of get_osinfo and
merge in the module constants as appropriate based on the given
beaker-hostenerator version integer.
This bug never came up during normal command-line usage of beaker-hostgenerator
because get_osinfo would never be expected to be called with both bhg_version=0
and bhg_version=1. However, it came up both during generation of test fixtures
and validation of those test fixtures in rspec since the module is only loaded
once which led to the mutated value of the OSINFO module constant to persist
across all initializations of the BeakerHostGenerator::CLI class.
```
* (QENG-3370) Generate test cases for pe_{family,version} variable combinations. (99965b3f)
* (QENG-3370) Minor cleanup of new rspec test. (e9a77bb5)
* (QENG-3370) Use fixtures in rspec tests instead of minitest. (b401574d)
```
(QENG-3370) Use fixtures in rspec tests instead of minitest.
This makes it possible to treat each individual fixture its own test case which
improves the reporting and ensures that all fixtures are tested even if some
fail.
Using a loop containing an assertion in minitest did not work for this purpose
because a failed assertion caused the loop to break prematurely; it probably
would have been possible to catch whatever the exception was and continue the
loop but whatever. I already did this.
```
* (QENG-3370) Rename options_string to arguments_string. (c6507fd4)
* (QENG-3370) Add documentation for test fixtures. (b6712a9b)
* (QENG-3370) Make it a little easier to generate fixtures. (a829a425)
```
(QENG-3370) Make it a little easier to generate fixtures.
* Move FixtureGenerator class into test/utils/generator_helpers.rb
* Create generate:test Rake task
```
* (QENG-3370) Add assert_equal mismatch message. (11cbba23)
* (QENG-3370) Add .projectile (emacs plugin) path exclusion. (3dd4eb3a)
* (QENG-3370) Use YAML.load_file method. (0b353986)
* (QENG-3370) Don't use minitest to generate fixtures. (6c3a890f)
* (QENG-3370) Generate various option fixtures. (71e4efca)
* (QENG-3370) Add some fixtures and a test case to iterate over them. (722abcd5)
* (QENG-3370) Use enumerators to produce more diverse combinations of host roles. (2f913aec)
* (QENG-3370) Move helper methods into helper module. (f4fd1cf5)
```
(QENG-3370) Move helper methods into helper module.
Unclutters the fixture generator class and maintains distinction between test
and helper methods.
```
* (QENG-3370) Create common method for generating options-based fixtures. (6be93ddc)
```
(QENG-3370) Create common method for generating options-based fixtures.
This will make it easier to generate many many fixtures.
```
* (QENG-3370) Add janky fixture generator. (88ac0341)
```
(QENG-3370) Add janky fixture generator.
This script allows one to generate test fixtures using beaker-hostgenerator
itself. Yay. The generated directory structure could use some more thought.
```
* (QENG-3370) Move GeneratorTestHelpers into its own file. (f7d3f996)
* (QENG-3370) Use BeakerHostGenerator::CLI directly. (45a2f7e4)
```
(QENG-3370) Use BeakerHostGenerator::CLI directly.
This may be necessary to ensure coverage checks can work correctly. Also, it
makes sense to test at this since I know of at least one project that is doing
something similar.
Not so sure about the way this is handling stderr though--just trying to avoid
polluting the minitest console output.
```
* (QENG-3770) Add GeneratorTestHelpers and default options test for test class. (388867d1)
* (QENG-3770) Stub out minitest for Generator class. (3af5796d)
* (QENG-3770) Get test:spec rake task to run minitest also. (436bb778)
* (QENG-3370) Add pe_* value CLI override options. (e321afc3)
### 0.3.3 - 3 Feb, 2016 (41051da9)
* (HISTORY) update beaker-hostgenerator history for gem release 0.3.3 (41051da9)
* (GEM) update beaker-hostgenerator version to 0.3.3 (34f5cee5)
* Merge pull request #20 from LuvCurves/master (9615ac0c)
```
Merge pull request #20 from LuvCurves/master
(maint) Add better support for Cisco platforms
```
* (MAINT) Update changelog. (bd675277)
* (maint) Add better support for Cisco platforms (f4ca866a)
### 0.3.2 - 28 Jan, 2016 (299df8ec)
* (HISTORY) update beaker-hostgenerator history for gem release 0.3.2 (299df8ec)
* (GEM) update beaker-hostgenerator version to 0.3.2 (1b73712d)
* Merge pull request #22 from Iristyle/update-win-10-platforms (b181cd18)
```
Merge pull request #22 from Iristyle/update-win-10-platforms
(maint) Update Windows 10 platform names
```
* (maint) Update Windows 10 platform names (27a26440)
```
(maint) Update Windows 10 platform names
- Previous convention for Windows platforms is to always end in a -32
or -64. There are some tests that rely on this naming scheme to
properly identify a 32-bit or 64-bit OS.
For instance, a Puppet acceptance test relies on that convention when
detecting the location of binaries per:
https://github.com/puppetlabs/puppet/blob/master/acceptance/tests/ensure_puppet-agent_paths.rb#L140-L143
Original commit that introduced these was
3d1be3833b0dd95d508d89ecbe76464524f578c3
```
### 0.3.1 - 30 Dec, 2015 (7a3f10ca)
* (HISTORY) update beaker-hostgenerator history for gem release 0.3.1 (7a3f10ca)
* (GEM) update beaker-hostgenerator version to 0.3.1 (8f469a6f)
* Merge pull request #19 from puppetlabs/issue/qeng-3335-centos-only (a478482a)
```
Merge pull request #19 from puppetlabs/issue/qeng-3335-centos-only
(QENG-3335) Restrict osinfo v1 to centos only changes
```
* (QENG-3335) Restrict osinfo v1 to centos only changes (851f1b40)
```
(QENG-3335) Restrict osinfo v1 to centos only changes
See https://tickets.puppetlabs.com/browse/BKR-662 for backstory.
```
### 0.3.0 - 30 Dec, 2015 (4b03eaf4)
* (HISTORY) update beaker-hostgenerator history for gem release 0.3.0 (4b03eaf4)
* (GEM) update beaker-hostgenerator version to 0.3.0 (5bc2d40b)
* Merge pull request #18 from puppetlabs/qeng-3335 (323ed794)
```
Merge pull request #18 from puppetlabs/qeng-3335
(QENG-3335) Don't identify centos as el in 'platform'
```
* (QENG-3335) Fix typo in osinfo version deprecation message. (b4903f78)
* (QENG-3335) Fix the OSINFO deprecation warning. (e364bd97)
```
(QENG-3335) Fix the OSINFO deprecation warning.
Assignment to the "warning" variable was incorrect, also it appears that one
cannot print to STDERR within the OptionParser.new block...
```
* (QENG-3335) Add OSINFO v0 deprecation warning. (4336126a)
* (QENG-3335) s/bgh/bhg/ s/BGH/BHG/ (bfb95f05)
* (QENG-3335) Cast osinfo-version to integer. (4e9d8088)
* (QENG-3335) Don't forget to use the bgh_version. (c9dec1b7)
* (QENG-3335) Actually, don't change the original datastructure name. (e1f4cd4a)
* (QENG-3335) Actually, use '--osinfo-version' flag instead. (391fdd68)
* (QENG-3335) Add 'enable-unambiguous-platform-names' flag. (888f8d40)
* (QENG-3335) Don't identify centos as el in 'platform' (520028e2)
* Merge pull request #17 from puppetlabs/maint (3fc629e4)
```
Merge pull request #17 from puppetlabs/maint
(MAINT) Update Changelog for recent releases.
```
* (MAINT) Update Changelog for recent releases. (2ae32038)
### 0.2.0 - 22 Dec, 2015 (dfa33e5f)
* (HISTORY) update beaker-hostgenerator history for gem release 0.2.0 (dfa33e5f)
* (GEM) update beaker-hostgenerator version to 0.2.0 (1194df93)
* Merge pull request #15 from puppetlabs/(QENG-3301)-Add-support-for-Cumulus-Linux (9a8e655c)
```
Merge pull request #15 from puppetlabs/(QENG-3301)-Add-support-for-Cumulus-Linux
(QENG-3301) Add support for Cumulus Linux
```
* Merge pull request #16 from puppetlabs/maint (982e7deb)
```
Merge pull request #16 from puppetlabs/maint
(MAINT) Fix arista4 spec string.
```
* Merge pull request #14 from puppetlabs/(QENG-3308)(QENG-3309)-Add-support-for-Cisco-platforms (bb18139d)
```
Merge pull request #14 from puppetlabs/(QENG-3308)(QENG-3309)-Add-support-for-Cisco-platforms
(QENG-3308)(QENG-3309) Add support for Cisco platforms
```
* (MAINT) Fix arista4 spec string. (6a7715a0)
* (QENG-3308) (QENG-3309) Add hardware platform signifier. (29bf775c)
* Updated platform strings based on comments. (6727a9dd)
* (QENG-3301) Add support for Cumulus Linux (a1a96d5a)
* (QENG-3308)(QENG-3309) Add support for Cisco platforms (c7cfbaa0)
* Merge pull request #12 from puppetlabs/maint (084ae0cf)
```
Merge pull request #12 from puppetlabs/maint
Revert "(QENG-3309) Add support for Cisco wrlinux-7"
```
* Revert "(QENG-3309) Add support for Cisco wrlinux-7" (3693133f)
```
Revert "(QENG-3309) Add support for Cisco wrlinux-7"
This reverts commit 3e36da18e7bfeec2fa92295fa5f9959d45611eb4.
```
* Merge pull request #11 from puppetlabs/(QENG-3309)-Add-support-for-Cisco-wrlinux-7 (0fdf80ec)
```
Merge pull request #11 from puppetlabs/(QENG-3309)-Add-support-for-Cisco-wrlinux-7
(QENG-3309) Add support for Cisco wrlinux-7
```
* (QENG-3309) Add support for Cisco wrlinux-7 (3e36da18)
### 0.1.0 - 21 Dec, 2015 (474f4ccb)
* (HISTORY) update beaker-hostgenerator history for gem release 0.1.0 (474f4ccb)
* (GEM) update beaker-hostgenerator version to 0.1.0 (13477a89)
* Merge pull request #10 from joshcooper/ticket/master/QENG-3275-32bit-puppet-64bit-windows (b059a8c6)
```
Merge pull request #10 from joshcooper/ticket/master/QENG-3275-32bit-puppet-64bit-windows
(QENG-3275) Add support for 32-bit puppet on 64-bit windows
```
* (QENG-3275) Ensure ruby_arch matches install_32 (00b625e0)
```
(QENG-3275) Ensure ruby_arch matches install_32
Previously, if then `pe_use_win32` environment variable was set, then
the resulting host config for 64-bit windows OS's, would contain
`ruby_arch: x64`, which contradicted `install_32: true`.
This commit ensures `ruby_arch: x86` in this particular case so that it
is consistent with `install_32: true`.
```
* Merge pull request #8 from puppetlabs/(QENG-3307)-Add-support-for-Arista (a9ffbade)
```
Merge pull request #8 from puppetlabs/(QENG-3307)-Add-support-for-Arista
Added Arista support
```
* Update vmpooler.rb (a72bb36f)
* Added Arista support (cf70e0ca)
* Merge pull request #7 from puppetlabs/qeng-3181 (ffd8b2d0)
```
Merge pull request #7 from puppetlabs/qeng-3181
(QENG-3181) Add a 'genconfig2' command line tool with deprecation war…
```
* Merge pull request #6 from puppetlabs/qeng-2438 (a98bc8c6)
```
Merge pull request #6 from puppetlabs/qeng-2438
(QENG-2438) Improve beaker-hostgenerator documentation.
```
* (QENG-2438) Fix typo in CONTRIBUTING.md (c58e8fee)
* (QENG-3275) Add hybrid Windows host configs for 32-bit puppet (f113ba1c)
```
(QENG-3275) Add hybrid Windows host configs for 32-bit puppet
Add host configs for specifying 32-bit puppet on 64-bit Windows, e.g.
bundle exec beaker-hostgenerator windows2012r2-6432a
---
HOSTS:
windows2012r2-6432-1:
...
platform: windows-2012r2-64
template: win-2012r2-x86_64
ruby_arch: x86
roles:
- agent
Updates `--list` update to describe 64, 32, and 6432 bits.
```
* (QENG-3275) Default ruby_arch based on Windows arch (6b6c3595)
```
(QENG-3275) Default ruby_arch based on Windows arch
Previously, Windows host configs did not contain `ruby_arch`, which
puppet, facter, and pxp-agent rely on during acceptance tests to
detect which version of ruby is running, as we support running either
32 or 64-bit puppet on 64-bit Windows.
This commit ensures `ruby_arch` is set to x64 for 64-bit Windows, and
x86 for 32-bit Windows.
```
* (QENG-3181) Add a 'genconfig2' command line tool with deprecation warning. (0adfab77)
* (QENG-2438) Add a CONTRIBUTING.md. (d1e8a747)
```
(QENG-2438) Add a CONTRIBUTING.md.
Heavily modified version of Beaker's CONTRIBUTING.md
```
* (QENG-2438) Improve beaker-hostgenerator documentation. (41b33040)
* Merge pull request #5 from joshcooper/ticket/master/QENG-3267-call-cli-programmatically (4dace64a)
```
Merge pull request #5 from joshcooper/ticket/master/QENG-3267-call-cli-programmatically
(QENG-3267) Allow CLI to be called programmatically
```
* Merge pull request #4 from joshcooper/ticket/maint/genconfig-typo (a69dc2b8)
```
Merge pull request #4 from joshcooper/ticket/maint/genconfig-typo
(maint) Refer to new Beaker::Host::Generator::Data constant
```
* Merge pull request #3 from puppetlabs/copy-edit-usage-docstring (b7c4f26e)
```
Merge pull request #3 from puppetlabs/copy-edit-usage-docstring
Copy edit usage docstring
```
* Merge pull request #2 from puppetlabs/readme-typo-fixed (c691c650)
```
Merge pull request #2 from puppetlabs/readme-typo-fixed
README typo fixed
```
* (QENG-3267) Add an execute method for programmatic execution (124e6504)
```
(QENG-3267) Add an execute method for programmatic execution
Previously, it was not possible to execute the CLI and get back the
output as a string.
This commit adds an `execute` method that does that, and modifies
`execute!` to print what `execute` returns, as it did before.
```
* (QENG-3267) Allow CLI to be called programmatically (b571680d)
```
(QENG-3267) Allow CLI to be called programmatically
Previously, the CLI class relied on the global ARGV which prevented
the CLI from being called programmatically.
This commit changes the initialize method to take an optional array of
arguments. If none are provided, we use the global ARGV as we did
before, although we make a duplicate of it, since we later mutate it,
e.g. pushing "--help".
```
* (QENG-3267) Reindent leading whitespace (0fcf55c5)
```
(QENG-3267) Reindent leading whitespace
The previous commit eliminated two levels of indentation. This commit
only reindents eliminating leading whitespace.
```
* (QENG-3267) Rename Beaker::Host::Generator to BeakerHostGenerator (19455f66)
```
(QENG-3267) Rename Beaker::Host::Generator to BeakerHostGenerator
Previously, we were using the Beaker::Host::Generator namespace, where
Beaker::Host is a module, but beaker defines Beaker::Host to be a
class, so you could not require both beaker and beaker-hostgenerator.
This commit renames the module namespace to BeakerHostGenerator so
that it cannot collide with Beaker.
This is a backwards incompatible change if anyone is programmatically
calling Beaker::Host::Generator, but I don't think anyone is.
```
* (maint) Refer to new Beaker::Host::Generator::Data constant (082fe71c)
```
(maint) Refer to new Beaker::Host::Generator::Data constant
Previously, trying to call `beaker-hostgenerator --list` would result
in:
uninitialized constant Beaker::Host::Generator::Utils::GenConfig (NameError)
This commit updates the code to use the new constant name.
```
* Copy edit usage docstring (98a5e0fe)
* README typo fixed (ba88e07e)
### 0.0.1 - 7 Oct, 2015 (d99251e6)
* Initial release.