# default - History ## Tags * [LATEST - 17 Oct, 2014 (ab118389)](#LATEST) * [beaker1.19.1 - 19 Sep, 2014 (3aafc71d)](#beaker1.19.1) * [beaker1.19.0 - 19 Sep, 2014 (6a56cc90)](#beaker1.19.0) * [beaker1.18.0 - 18 Sep, 2014 (b9171d9c)](#beaker1.18.0) * [beaker1.17.7 - 2 Sep, 2014 (e47881f0)](#beaker1.17.7) * [beaker1.17.6 - 27 Aug, 2014 (bfb257bf)](#beaker1.17.6) * [beaker1.17.5 - 22 Aug, 2014 (7e553089)](#beaker1.17.5) * [beaker1.17.4 - 21 Aug, 2014 (8e6d070f)](#beaker1.17.4) * [beaker1.17.3 - 20 Aug, 2014 (f8a536c1)](#beaker1.17.3) * [beaker1.17.2 - 15 Aug, 2014 (c6f1f64a)](#beaker1.17.2) * [beaker1.17.1 - 12 Aug, 2014 (72e60299)](#beaker1.17.1) * [beaker1.17.0 - 12 Aug, 2014 (fb482b56)](#beaker1.17.0) * [beaker1.16.0 - 17 Jul, 2014 (c1267696)](#beaker1.16.0) * [beaker1.15.0 - 8 Jul, 2014 (82bb4ef9)](#beaker1.15.0) * [beaker1.14.1 - 3 Jul, 2014 (d2e750d5)](#beaker1.14.1) * [beaker1.14.0 - 3 Jul, 2014 (cf8ea838)](#beaker1.14.0) * [beaker1.13.1 - 23 Jun, 2014 (aa09552d)](#beaker1.13.1) * [beaker1.13.0 - 20 Jun, 2014 (5e80c638)](#beaker1.13.0) * [beaker1.12.2 - 12 Jun, 2014 (a31ba183)](#beaker1.12.2) * [beaker1.12.1 - 30 May, 2014 (36b14dc7)](#beaker1.12.1) * [beaker1.12.0 - 21 May, 2014 (591d3595)](#beaker1.12.0) * [beaker1.11.2 - 16 May, 2014 (f28c387b)](#beaker1.11.2) * [beaker1.11.1 - 15 May, 2014 (f684a724)](#beaker1.11.1) * [beaker1.11.0 - 8 May, 2014 (a389e3d1)](#beaker1.11.0) * [beaker1.10.0 - 22 Apr, 2014 (fbef5d2b)](#beaker1.10.0) * [beaker1.9.1 - 27 Mar, 2014 (747ee73e)](#beaker1.9.1) * [beaker1.9.0 - 26 Mar, 2014 (7feb8327)](#beaker1.9.0) * [beaker1.8.2 - 21 Mar, 2014 (0f848be8)](#beaker1.8.2) * [beaker1.8.1 - 19 Mar, 2014 (4de3450e)](#beaker1.8.1) * [beaker1.8.0 - 17 Mar, 2014 (0cea9162)](#beaker1.8.0) * [beaker1.7.0 - 19 Feb, 2014 (0ad045fe)](#beaker1.7.0) * [beaker1.6.2 - 31 Jan, 2014 (ed048e29)](#beaker1.6.2) * [beaker1.6.1 - 30 Jan, 2014 (468bbb6f)](#beaker1.6.1) * [beaker1.6.0 - 30 Jan, 2014 (3787bdb8)](#beaker1.6.0) * [beaker1.5.0 - 29 Jan, 2014 (78db5afb)](#beaker1.5.0) * [beaker1.4.1 - 27 Jan, 2014 (bc6a7d32)](#beaker1.4.1) * [beaker1.4.0 - 24 Jan, 2014 (c24f0194)](#beaker1.4.0) * [beaker1.3.2 - 23 Jan, 2014 (39bbbf0c)](#beaker1.3.2) * [beaker1.3.1 - 18 Dec, 2013 (08b59809)](#beaker1.3.1) * [beaker1.3.0 - 13 Dec, 2013 (5815f829)](#beaker1.3.0) * [beaker1.2.0 - 5 Dec, 2013 (59070752)](#beaker1.2.0) * [beaker1.0.1 - 25 Nov, 2013 (70f55b11)](#beaker1.0.1) * [beaker1.0.1pre - 20 Nov, 2013 (8cffaf28)](#beaker1.0.1pre) * [beaker1.0.0 - 8 Nov, 2013 (c85186b7)](#beaker1.0.0) * [beaker0.0.0 - 20 Aug, 2013 (c49dc525)](#beaker0.0.0) * [pe3.0 - 6 Jun, 2013 (0b52d9c5)](#pe3.0) * [pe2.8.1 - 15 Apr, 2013 (7f527ff2)](#pe2.8.1) * [pe2.8.0 - 26 Mar, 2013 (6b79859e)](#pe2.8.0) * [pe2.7.1 - 8 Feb, 2013 (9826e1ca)](#pe2.7.1) * [pe2.7.0 - 16 Nov, 2012 (08c2bd19)](#pe2.7.0) * [pe2.6.1 - 9 Oct, 2012 (58edb963)](#pe2.6.1) * [pe2.6.0 - 17 Sep, 2012 (592ad45d)](#pe2.6.0) * [pe2.5.3 - 23 Jul, 2012 (0eb96550)](#pe2.5.3) * [pe2.5.2 - 9 Jul, 2012 (eaa93833)](#pe2.5.2) * [pe2.5.0 - 27 Mar, 2012 (232e21a5)](#pe2.5.0) * [pe2.0.3 - 21 Feb, 2012 (492ff756)](#pe2.0.3) * [pe2.0.2 - 3 Feb, 2012 (e36f0d22)](#pe2.0.2) * [pe2.0.1 - 31 Jan, 2012 (3a118201)](#pe2.0.1) * [pe2.0.0 - 31 Jan, 2012 (8d064e33)](#pe2.0.0) * [pe2.0 - 11 Nov, 2011 (4d7b65b6)](#pe2.0) * [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2) ## Details ### LATEST - 17 Oct, 2014 (ab118389) * (GEM) update beaker version to 1.20.0 (ab118389) * Merge pull request #497 from briancain/QENG1391/master/use-tls-for-pe-curl (d03ec9b6) ``` Merge pull request #497 from briancain/QENG1391/master/use-tls-for-pe-curl [UNDER REVIEW](QENG-1391) Use TLSv1 over SSLv3 for curl against PE ``` * Merge pull request #498 from anodelman/ec2 (57f30946) ``` Merge pull request #498 from anodelman/ec2 (MAINT) open port 4435 for dashboard ``` * (MAINT) open port 4435 for dashboard (aa4af898) ``` (MAINT) open port 4435 for dashboard yup, do that ``` * Merge pull request #446 from branan/use_vmpooler_fqdn (00e77f59) ``` Merge pull request #446 from branan/use_vmpooler_fqdn (QENG-1192) Use hostname specified by hypervisor everywhere. ``` * (QENG-1391) Use TLSv1 over SSLv3 for curl against PE (6449a3b6) ``` (QENG-1391) Use TLSv1 over SSLv3 for curl against PE Prior to this commit, beaker was exclusively using SSLv3 against Puppet Enterprise. Due to the recent information with POODLE, this commit updates beaker to use TLS over SSL since we are disabling the use of SSLv3. ``` * Merge pull request #475 from er0ck/feature/master/QENG-1231-preserve_hosts_onpass (fa56d804) ``` Merge pull request #475 from er0ck/feature/master/QENG-1231-preserve_hosts_onpass (QENG-1231) add onpass option to --preserve-hosts ``` * Merge pull request #486 from kevpl/qeng270_ntp_addoption (821884e6) ``` Merge pull request #486 from kevpl/qeng270_ntp_addoption (QENG-270) Added ntp_server as an option for host config ``` * Merge pull request #490 from anodelman/ec2 (d12ba02d) ``` Merge pull request #490 from anodelman/ec2 (QENG-1205) EC2 zombie killer can fail when instance not found ``` * (QENG-1205) EC2 zombie killer can fail when instance not found (270d6417) ``` (QENG-1205) EC2 zombie killer can fail when instance not found - better error handling around zombie killing ``` * (QENG-270) Added ntp_server as an option for host config (b148b657) ``` (QENG-270) Added ntp_server as an option for host config Before this, you couldn't specify an ntp server, so if you used the timesync option, it would only use the hard-coded value 'pool.ntp.org'. This was a problem because occasionally that service couldn't be reached. In order to fix this, we've allowed people to specify a server, so that they can get more reliable ntp services, and not see failures based on being able to reach one. ``` * Merge pull request #377 from waynr/feature/qeng-967-disable-iptables-on-el-hosts (c9145e5d) ``` Merge pull request #377 from waynr/feature/qeng-967-disable-iptables-on-el-hosts (QENG-967) Disable iptables on el hosts bringup. ``` * Merge pull request #452 from anodelman/maint (c46271e0) ``` Merge pull request #452 from anodelman/maint (QENG-1209) scp in debug output shows far too much output ``` * (QENG-1192) Use hostname specified by hypervisor everywhere (db171537) ``` (QENG-1192) Use hostname specified by hypervisor everywhere reviously, we would call out to `hostname` on the SUT when deploying PE. This may give us a name that isn't resolvable our routable by every host in the configuration. We should instead just use whatever the hypervisor tells us is the correct way to connect to the host. This also sneaks in a small change to the vmpooler hypervisor, to make it return FQDNs. Using these FQDNs is really what this is all about. ``` * Merge pull request #271 from hunner/add_fusion (9a00806f) ``` Merge pull request #271 from hunner/add_fusion (QENG-1146) Add vagrant_fusion, vagrant_workstation and vagrant_virtualbox providers ``` * remove non-capture from regex groups (8e65b146) * Merge pull request #462 from er0ck/fix/master/QENG-1261-fix_ntpdate_on_solaris10 (6f5162e7) ``` Merge pull request #462 from er0ck/fix/master/QENG-1261-fix_ntpdate_on_solaris10 (QENG-1261) remove solaris-10 specific ntpdate options ``` * Merge pull request #464 from anodelman/answers (e145c964) ``` Merge pull request #464 from anodelman/answers (QENG-1054) Add functionality to install_pe to modify answers... ``` * Merge pull request #476 from leoarnold/master (189eb410) ``` Merge pull request #476 from leoarnold/master Added link to installation instructions to README.md ``` * Merge pull request #479 from anodelman/epel (6ee6fe4c) ``` Merge pull request #479 from anodelman/epel (QENG-1206) Acceptance failing when trying to install epel-release... ``` * (QENG-1206) Acceptance failing when trying to install epel-release... (17bd48be) ``` (QENG-1206) Acceptance failing when trying to install epel-release... and EPEL packages from public mirrors - add ability to set epel_url, epel_arch and epel_package as global options or on a per-host basis - added reasonable default values ``` * Added link to installation instructions to README.md (5b513899) * (QENG-1231) add onpass option to --preserve-hosts (e772e289) ``` (QENG-1231) add onpass option to --preserve-hosts * add spec tests similar to onfail spec tests * add cleanup to rescue when --preserve-hosts onpass * add help statement for onpass ``` * Merge pull request #418 from liamjbennett/vagrant_box_update (decdb05c) ``` Merge pull request #418 from liamjbennett/vagrant_box_update Adding support to vagrant for box_version and box_check_update. ``` * Merge pull request #422 from liamjbennett/vagrant_natdns (a64a3bac) ``` Merge pull request #422 from liamjbennett/vagrant_natdns Enable natresolver and natdnsproxy for vagrant. ``` * (QENG-1261) remove solaris-10 specific ntpdate options. -w causes an (a795d859) ``` (QENG-1261) remove solaris-10 specific ntpdate options. -w causes an error. remove related spec test. ``` * (gh-470) refactoring natdns to use the unless syntax (3d67a83a) * (QENG-1054) Add functionality to install_pe to modify answers... (6a35cda6) ``` (QENG-1054) Add functionality to install_pe to modify answers... ...file before install - add ability to add custom_answers to individual hosts to be appended to answer file - rework answer file code so that answers are an object that can be queried for an answer string - instead of querying env for individual answers just pull in anything that matches q_* - pull the default answer values into the presets so that it is more easily tracked ``` * (QENG-1209) scp in debug output shows far too much output (059248e7) ``` (QENG-1209) scp in debug output shows far too much output - move detailed output into a new log level called 'trace', could still be useful for tracking networking failures - but will be disabled by default - add ability to flip on/off quiet output to logging ``` * Enable natresolver and natdnsproxy for vagrant. (613ddba8) ``` Enable natresolver and natdnsproxy for vagrant. There are cases where tests run will fail when trying to download from the outside world due to dns issues. In order to resolve this I configured the natdnsproxy1 and natdnshostresolver1 vagrant settings ``` * (gh-471) Adding support to vagrant for box_version and box_check_update. (24bb0951) ``` (gh-471) Adding support to vagrant for box_version and box_check_update. If using versioned boxes from vagrant cloud and a new update is published, by default vagrant will attempt to update that box to the latest version. This may be undesired behaviour. Like any other versioned object you way wish to fix that initial download to a fixed version or a version range. ``` * (QENG-967) Disable iptables on el hosts bringup. (11cb16ef) ``` (QENG-967) Disable iptables on el hosts bringup. Also fixes bug in `disable_iptables` where per-array-element was invoking wrong method. Looks like `disable_iptables` was originally copied from `copy_ssh_to_root` Also adds rspec for Beaker::Hypervisor.configure Signed-off-by: Wayne ``` * (QENG-1146) Add vagrant_fusion, vmware_workstation, and vagrant_virtualbox providers (fdcbac3d) ``` (QENG-1146) Add vagrant_fusion, vmware_workstation, and vagrant_virtualbox providers Currently the vagrant hypervisor provider just does virtualbox. This allows the vagrant vmware_fusion and vmware_workstation plugins to be used instead. ``` ### beaker1.19.1 - 19 Sep, 2014 (3aafc71d) * Merge pull request #467 from anodelman/master (3aafc71d) ``` Merge pull request #467 from anodelman/master create beaker 1.19.1 gem ``` * (HISTORY) history update for beaker 1.19.1 gem (d5bea586) * (GEM) version bump for 1.19.1 gem (7538dc00) * Merge pull request #465 from anodelman/junit (38fca3f5) ``` Merge pull request #465 from anodelman/junit (MAINT) update junit.xsl to handle more weird test case paths ``` * Merge pull request #466 from branan/QENG-1264 (c77157d5) ``` Merge pull request #466 from branan/QENG-1264 (QENG-1264) Allow users to specify recursive option for scp_{from,to} ``` * (QENG-1264) Allow users to specify recursive option for scp_{from,to} (cc1b2189) ``` (QENG-1264) Allow users to specify recursive option for scp_{from,to} The fix for QENG-1128 caused scp_from and scp_to to ignore the recursive flag. This caused all scp_from operations to be recursive, which will cause a failure if trying to copy only a single file. The fix to this, without regressing on QENG-1128, is to actually copy the options hash locally so that we can modify it as needed for defaults without updating any global data. ``` * (MAINT) update junit.xsl to handle more weird test case paths (c940f116) ``` (MAINT) update junit.xsl to handle more weird test case paths - paths with (, ), \s, or / are breaking links, this fixes that ``` ### beaker1.19.0 - 19 Sep, 2014 (6a56cc90) * Merge pull request #463 from anodelman/make-gem (6a56cc90) ``` Merge pull request #463 from anodelman/make-gem create beaker 1.19.0 gem ``` * (HISTORY) update history for beaker 1.19.0 gem (b00c31c1) * (GEM) version bump for beaker 1.19.0 gem (b4e69b83) * Merge pull request #459 from justinstoller/bug/master/QENG-1212_better (c683a928) ``` Merge pull request #459 from justinstoller/bug/master/QENG-1212_better (QENG-1212) Improve module installation experience ``` * (QENG-1212) Improve module installation experience (61f05e90) ``` (QENG-1212) Improve module installation experience Prior to this puppet module installation was carried out with either `puppet_module_install` or `copy_module_to`. This replaces them with a method `install_dev_puppet_module` that will install either via scp or pmt from a staging forge depending on arguements and environment ``` ### beaker1.18.0 - 18 Sep, 2014 (b9171d9c) * Merge pull request #461 from anodelman/make-gem (b9171d9c) ``` Merge pull request #461 from anodelman/make-gem create beaker 1.18.0 gem ``` * (HISTORY) update history for beaker 1.18.0 gem release (8f22c5c9) * (GEM) version bump for beaker 1.18.0 (116ecd2e) * Merge pull request #450 from anodelman/scp-repair (ee03903b) ``` Merge pull request #450 from anodelman/scp-repair (QENG-1128) Beaker no long auto recursively scps directories to systems under test ``` * Merge pull request #361 from anodelman/openstack (2e15cdaa) ``` Merge pull request #361 from anodelman/openstack (QENG-15) support openstack in beaker ``` * Merge pull request #388 from ferventcoder/ticket/master/allow-git-depth (4d4120a3) ``` Merge pull request #388 from ferventcoder/ticket/master/allow-git-depth (QENG-1037) Install from git should accept depth ``` * Merge pull request #435 from leoc/add-prebuilt-packages-to-docker (c0a20691) ``` Merge pull request #435 from leoc/add-prebuilt-packages-to-docker (gh-426) Add prebuild packages to Dockerfile ``` * Merge pull request #439 from doug-rosser/perf_fixes (7c68e4da) ``` Merge pull request #439 from doug-rosser/perf_fixes (QENG-1033) Don't modify constants and properly support all Linux platforms in Perf ``` * Merge pull request #416 from anodelman/ec2 (de3b3f9d) ``` Merge pull request #416 from anodelman/ec2 (MAINT) add ability to list all instances associated with an ec2 keyname ``` * (QENG-1033) Remove dead rspec code (c713fdb1) * Merge pull request #451 from anodelman/maint (34db9711) ``` Merge pull request #451 from anodelman/maint (MAINT) broken spec fixes (docker + copy_module_to) ``` * (MAINT) broken spec fixes (docker + copy_module_to) (98454e51) ``` (MAINT) broken spec fixes (docker + copy_module_to) - docker spec was still allowing sleeps to execute making things run slow - update copy_module_to spec test to use correct ignore list ``` * (QENG-1128) Beaker no long auto recursively scps directories... (c89fae53) ``` (QENG-1128) Beaker no long auto recursively scps directories... to systems under test - issue was :recursive variable was being carried over successive calls to scp_to. To prevent this, just set it based upon the file type being called ``` * Merge pull request #440 from colinPL/qeng989_solaris_gem (34e6474f) ``` Merge pull request #440 from colinPL/qeng989_solaris_gem (QENG-989) install_puppet_from_gem fails on Solaris ``` * Merge pull request #412 from anodelman/maint (8e991e18) ``` Merge pull request #412 from anodelman/maint (QENG-1018) default dev_builds_url in Beaker needs to be updated ``` * Merge pull request #448 from cyberious/AddIgnores (eb5a99c5) ``` Merge pull request #448 from cyberious/AddIgnores QENG-1199 add .bundle to ignore list ``` * QENG-1199 add .bundle to ignore list (314d85ce) * (QENG-1033) Move all functionality into the Perf module and sync the rspec tests (64e69a17) * Merge pull request #445 from waynr/fix/qeng-1186-beaker-dsl-helpers-puppet-mixup (cbff4759) ``` Merge pull request #445 from waynr/fix/qeng-1186-beaker-dsl-helpers-puppet-mixup (QENG-1186) Fix Beaker::DSL:Helpers.puppet_{user,group} ``` * Merge pull request #425 from jtopper/avoid_docker_clean_race (c40c37de) ``` Merge pull request #425 from jtopper/avoid_docker_clean_race (GH-425) Sleep briefly after killing processes - Docker ``` * Merge pull request #436 from anodelman/win-fix (de316e3a) ``` Merge pull request #436 from anodelman/win-fix (QENG-797) Enhance Beaker to look for x64 installers for Windows ``` * (QENG-1033) Reset additional_pkgs in a way supported by all Ruby versions (9e6b5283) * (QENG-1033) additional_pkgs should be a module level variable (6623ec0e) * (QENG-1186) Fix Beaker::DSL:Helpers.puppet_{user,group} (5bb6ee4e) ``` (QENG-1186) Fix Beaker::DSL:Helpers.puppet_{user,group} Looks like the contents of these methods were mixed upwhen originally written. Luckily the puppet user is usually the same as the puppet group. Signed-off-by: Wayne ``` * (QENG-1033) combine two conditionals into a single statement (e2e91ccc) * (QENG-989) install_puppet_from_gem fails on Solaris (45ac614e) ``` (QENG-989) install_puppet_from_gem fails on Solaris Trying to install puppet from gems would fail on both Solaris 10 and 11. Solaris 10 now has pkgutil and gem symlinked (ln -s) to /usr/bin. Both Solaris versions have puppet-related gems symlinked to /usr/bin after installation. This is to avoid clobbering the PATH. ``` * (QENG-1129) support win64 open source builds (47bf159f) ``` (QENG-1129) support win64 open source builds - add ability to install 64 bit windows builds - supported when puppet version is 3.7+ or pe is 3.4+, and install_32 is not set for host or globally - correctly update path post pe/puppet installation ``` * (QENG-1026) Add support for x64 PE windows to Beaker (59a39bd7) ``` (QENG-1026) Add support for x64 PE windows to Beaker - default to installing 64 bit builds on 64 bit windows - support install_32 host option, true = install 32 bit no matter the arch, false/unset = install 64 bit on 64 bit, otherwise 32 bit ``` * (QENG-797) Enhance Beaker to look for x64 installers for Windows (066dae5d) ``` (QENG-797) Enhance Beaker to look for x64 installers for Windows - add ability to install 64 bit pe builds (available for pe 3.4) - add is_x86_64? method to host, convenience method for determining arch of host ``` * (gh-426) Add prebuild packages to Dockerfile (f4085aca) ``` (gh-426) Add prebuild packages to Dockerfile Without this patch every time the specs run, prebuilt packages are installed to the new docker image. Even when preserving the image. To increase the speed of the test suite we install those packages when creating the Docker image. The `HostPrebuiltSteps` checks whether those are installed and does not do anything directly starting to execute the specs inside the image. ``` * (GH-425) Sleep after killing processes (18699dc4) ``` (GH-425) Sleep after killing processes This avoids a race condition in which the killed processes haven't exited by the time we try and unmount the root fs and the call to container.delete errors. ``` * (MAINT) add ability to list all instances associated with an ec2 keyname (d5ad9e35) ``` (MAINT) add ability to list all instances associated with an ec2 keyname - convenience function for listing all instances associated with a provided keyname, useful for tracking what's happening in ec2 ``` * (QENG-1018) default dev_builds_url in Beaker needs to be updated (1b2a935f) ``` (QENG-1018) default dev_builds_url in Beaker needs to be updated - update to builds.delivery.puppetlabs.net ``` * (QENG-1037) Install from git should accept depth (ffcddcc0) ``` (QENG-1037) Install from git should accept depth When installing from larger repositories, being able to specify depth can cut the time of git checkout in half. This becomes especially helpful when you are checking out multiple repositories. Due to the older git on some of the templates, this provides the older --branch name --depth 1 commands, which means when using depth, one should ensure the rev passed is a branch and not a single commit. Alternatively one can add depth_branch => 'name' to repository and have that used instead of rev. ``` * (maint) formatting (239d8054) ``` (maint) formatting This removes trailing whitespaces in install_utils.rb ``` * Add Enterprise Linux (el) (3f2bb69b) * (QENG-15) beaker openstack support (EXPERIMENTAL) (745f1a4a) ``` (QENG-15) beaker openstack support (EXPERIMENTAL) - experimental code to support openstack, may be missing configuration steps or otherwise be incomplete - should be used as a basis for further beaker openstack infrastructure ``` ### beaker1.17.7 - 2 Sep, 2014 (e47881f0) * Merge pull request #444 from branan/ship_1_17_7 (e47881f0) ``` Merge pull request #444 from branan/ship_1_17_7 (maint) Bump version for 1.17.7 release ``` * (maint) Bump version for 1.17.7 release (0cb30f18) * Merge pull request #443 from briancain/maint/master/add-node-to-classifier (701f81c2) ``` Merge pull request #443 from briancain/maint/master/add-node-to-classifier (QENG-1182) Add node to classifier prior to adding pe_repo class ``` * (QENG-1182) Add node to classifier prior to adding pe_repo class (00b2f458) ``` (QENG-1182) Add node to classifier prior to adding pe_repo class Prior to this commit, beaker would make the assumption that a node had already checked into the classifier. This commit changes that by ensuring that the node is in the classifier before giving it the pe_repo class. ``` ### beaker1.17.6 - 27 Aug, 2014 (bfb257bf) * Merge pull request #441 from anodelman/make-gem (bfb257bf) ``` Merge pull request #441 from anodelman/make-gem create beaker 1.17.6 gem ``` * (HISTORY) update history for 1.17.6 gem (a7ee6c69) * (GEM) version bump for 1.17.6 gem (71be2050) * Merge pull request #438 from waynr/fix/qeng-1134-remove-jvm-puppet-references (fe77e9b0) ``` Merge pull request #438 from waynr/fix/qeng-1134-remove-jvm-puppet-references (QENG-1134) Remove 'jvm-puppet' references left in Beaker. ``` * (QENG-1134) Remove 'jvm-puppet' references left in Beaker. (5da4eebc) ``` (QENG-1134) Remove 'jvm-puppet' references left in Beaker. Recently the `jvm-puppet` name was changed to `puppet-server`, this patch addresses that in both `lib/` and `spec/` Signed-off-by: Wayne ``` ### beaker1.17.5 - 22 Aug, 2014 (7e553089) * Merge pull request #417 from anodelman/make-gem (7e553089) ``` Merge pull request #417 from anodelman/make-gem create beaker 1.17.5 gem ``` * (HISTORY) update history for beaker 1.17.5 gem (ebefea72) * (GEM) version bump for beaker 1.17.5 gem (4a96b147) * Merge pull request #415 from waynr/feature/qeng-1110-install-from-ezbake-bugfix (61e56aa7) ``` Merge pull request #415 from waynr/feature/qeng-1110-install-from-ezbake-bugfix (QENG-1110) Beaker::DSL::EZBakeUtils bugfix ``` * (QENG-1110) Beaker::DSL::EZBakeUtils bugfix (bd1d91f2) ``` (QENG-1110) Beaker::DSL::EZBakeUtils bugfix Allows arbitrary arguments to be passed to ezbake command line. Signed-off-by: Wayne ``` * Merge pull request #414 from waynr/feature/qeng-1108-create-tmpdir-for-user-fails (716ab3d4) ``` Merge pull request #414 from waynr/feature/qeng-1108-create-tmpdir-for-user-fails (QENG-1108) Fix chown command to use ':' rather than '.' ``` * (QENG-1108) Fix chown command to use ':' rather than '.' (c2da3911) ``` (QENG-1108) Fix chown command to use ':' rather than '.' Signed-off-by: Wayne ``` ### beaker1.17.4 - 21 Aug, 2014 (8e6d070f) * Merge pull request #413 from anodelman/make-gem (8e6d070f) ``` Merge pull request #413 from anodelman/make-gem create beaker 1.17.4 gem ``` * (HISTORY) update history for beaker 1.17.4 gem (bd1fe05f) * (GEM) version bump for 1.17.4 (1e6a4a8f) * Merge pull request #411 from anodelman/ec2 (2b4c9049) ``` Merge pull request #411 from anodelman/ec2 (MAINT) kill zombies after provided number of hours ``` * Merge pull request #409 from cyberious/ScpCopyIgnoreFix (e59632eb) ``` Merge pull request #409 from cyberious/ScpCopyIgnoreFix QENG-1080 do_scp_to now checks for source path of absolute and prunes accordingly ``` * (MAINT) kill zombies after provided number of hours (3f3c3b27) ``` (MAINT) kill zombies after provided number of hours - was always using the default 3 hours ``` * QENG-1080 Fixed issue where we appended the source path to the target path, we now check for absolute path prior (cdd9c7b8) ### beaker1.17.3 - 20 Aug, 2014 (f8a536c1) * Merge pull request #410 from anodelman/make-gem (f8a536c1) ``` Merge pull request #410 from anodelman/make-gem create beaker 1.17.3 gem ``` * (HISTORY) update history for 1.17.3 gem (0d6006c4) * (GEM) version bump for 1.17.3 gem (92584d1e) * Merge pull request #408 from anodelman/ec2 (5c8b14c0) ``` Merge pull request #408 from anodelman/ec2 (MAINT) nits in beaker ec2 support ``` * (MAINT) nits in beaker ec2 support (3d823291) ``` (MAINT) nits in beaker ec2 support - correctly identify zombies that are over X hours old - better notification of what instances are being examinged for possible termination - properly notify user of missing aws_access_key_id and aws_secret_access_key during initialization ``` ### beaker1.17.2 - 15 Aug, 2014 (c6f1f64a) * Merge pull request #407 from anodelman/make-gem (c6f1f64a) ``` Merge pull request #407 from anodelman/make-gem create beaker 1.17.2 gem ``` * (HISTORY) update history for 1.17.2 gem (d15db7e4) * (GEM) update version number for 1.17.2 (f6227484) * Merge pull request #406 from anodelman/ec2 (5799458b) ``` Merge pull request #406 from anodelman/ec2 (QENG-1090) beaker: exception when waiting for instance running in ec2 ``` * Merge pull request #403 from anodelman/win-fix (956aa18c) ``` Merge pull request #403 from anodelman/win-fix (QENG-1081) Beaker Fails During Pre-suite in the "install_pe"... ``` * Merge pull request #405 from anodelman/utf-8-encoding (410490e4) ``` Merge pull request #405 from anodelman/utf-8-encoding (QENG-1087) beaker - failure in XML output ``` * Merge pull request #404 from anodelman/fix-default (cc38a7f4) ``` Merge pull request #404 from anodelman/fix-default (QENG-1086) The master-start-curl-retries is preset to... ``` * (QENG-1090) beaker: exception when waiting for instance running in ec2 (ae64c8e9) ``` (QENG-1090) beaker: exception when waiting for instance running in ec2 - correctly capture AWS::EC2::Errors::InvalidInstanceID::NotFound when checking status of newly created instance, deal with it as another case that requires a retry ``` * (QENG-1087) beaker - failure in XML output (5a392c1a) ``` (QENG-1087) beaker - failure in XML output - caused by improperly stripping unsupported unicode characters from xml output - add inclusion of 'jcode' for ruby 1.8 (included with Ruby and adds lots of useful Unicode-oriented features to String and Regexp) - tested on 1.9 and 1.8 and correctly replaced invalid unicode with escaped hex value ``` * (QENG-1086) The master-start-curl-retries is preset to... (77610212) ``` (QENG-1086) The master-start-curl-retries is preset to... ...0, which causes default hosts not to retry verifying a bounced master. - host value being overwritten by default presets ``` * (QENG-1081) Beaker Fails During Pre-suite in the "install_pe"... (f08d67b1) ``` (QENG-1081) Beaker Fails During Pre-suite in the "install_pe"... ... Function on Windows - when using an array of hosts the command object was overwritten and thus the platform specific information was lost ``` ### beaker1.17.1 - 12 Aug, 2014 (72e60299) * Merge pull request #399 from anodelman/make-gem (72e60299) ``` Merge pull request #399 from anodelman/make-gem create beaker 1.17.1 gem ``` * (HISTORY) update HISTORY.md for 1.17.1 gem (21480832) * (GEM) create beaker 1.17.1 gem (07b67f32) * Merge pull request #397 from anodelman/maint (3e86c6f8) ``` Merge pull request #397 from anodelman/maint (MAINT) add ability to generate history for branch other than 'master' ``` * Merge pull request #398 from nicklewis/revert-jvm-master (d9c67d1e) ``` Merge pull request #398 from nicklewis/revert-jvm-master Revert "(QENG-997) Add PE installer answer for jvm puppet." ``` * Revert "(QENG-997) Add PE installer answer for jvm puppet." (215e115f) ``` Revert "(QENG-997) Add PE installer answer for jvm puppet." This reverts commit b06b6313de24da82a031b6b04dc95042812b4445. The installer doesn't actually function with this answer set, so we certainly shouldn't be making it the default. ``` * (MAINT) add ability to generate history for branch other than 'master' (76ad94d5) ``` (MAINT) add ability to generate history for branch other than 'master' - want to be able to generate a new HISTORY.md file based upon a provided branch name ``` ### beaker1.17.0 - 12 Aug, 2014 (fb482b56) * Merge pull request #396 from anodelman/make-gem (fb482b56) ``` Merge pull request #396 from anodelman/make-gem (GEM) create beaker 1.17.0 gem ``` * (HISTORY) add history for 1.17.0 gem (c04acf4d) * (GEM) create beaker 1.17.0 gem (b2528072) * Merge pull request #336 from anodelman/higgs-installer (2d65b8d0) ``` Merge pull request #336 from anodelman/higgs-installer (QENG-751) Request for Higgs support in installing beaker ``` * Merge pull request #391 from waynr/fix/qeng-903-jvm-puppet-debian-support (d0719d5d) ``` Merge pull request #391 from waynr/fix/qeng-903-jvm-puppet-debian-support (QENG-903) Debian platform support for jvm-puppet. ``` * Merge pull request #395 from waynr/feature/QENG-922-puppet-user-group-methods (3ebc92c1) ``` Merge pull request #395 from waynr/feature/QENG-922-puppet-user-group-methods (QENG-922) Add `puppet_user` and `puppet_group` DSL methods. ``` * Merge pull request #390 from jpartlow/issue/master/qeng-188-foss-service-restarts-pe-unchanged (884cb9ae) ``` Merge pull request #390 from jpartlow/issue/master/qeng-188-foss-service-restarts-pe-unchanged (QENG-188) Allow foss runs to use service scripts (pe unchanged) ``` * Merge pull request #385 from anodelman/scp-repair (6e0fcbaa) ``` Merge pull request #385 from anodelman/scp-repair (QENG-1012) (gh-143) beaker scp moving data one byte at a time ``` * Merge pull request #387 from colinPL/qeng_1032 (32160885) ``` Merge pull request #387 from colinPL/qeng_1032 (QENG-1032) Fix for tests without a master host ``` * Merge pull request #392 from anodelman/maint (75b61a36) ``` Merge pull request #392 from anodelman/maint (MAINT)(gh-210) series of commits to get beaker smoketest working in ec2 ``` * (gh-210) Setting PATH, ignored :environment option (ad22e590) ``` (gh-210) Setting PATH, ignored :environment option - we do not correctly handle adding additional environment variables to puppet commands, this patch allows you to add those env vars ``` * Merge pull request #389 from waynr/revert/qeng-188 (42f28681) ``` Merge pull request #389 from waynr/revert/qeng-188 Revert "(QENG-188) Allow foss runs to use service scripts, take 2" ``` * Revert "(QENG-188) Allow foss runs to use service scripts, take 2" (1d9300bc) ``` Revert "(QENG-188) Allow foss runs to use service scripts, take 2" This reverts commit 577fce4dcaf4c6879157fd51777d6691eae1496d. ``` * Merge pull request #384 from jpartlow/issue/master/qeng-188-better-foss-service-restarts (4c991d24) ``` Merge pull request #384 from jpartlow/issue/master/qeng-188-better-foss-service-restarts (QENG-188) Allow foss runs to use service scripts, take 2 ``` * (QENG-1032) Fix for tests without a master host (76329613) ``` (QENG-1032) Fix for tests without a master host If a master role is not defined in the current test's config, then setting a default node will fail. The code is expecting "hosts" to be a list, but it is actually a hash. This commit fixes this issue and adds a new spec test to validate a non-master single node is set as default. ``` * (QENG-903) Debian platform support for jvm-puppet. (e1c336db) ``` (QENG-903) Debian platform support for jvm-puppet. A couple simple fixes for previously unvisited code paths. Signed-off-by: Wayne ``` * Merge pull request #330 from anodelman/scp-ignore (5144958f) ``` Merge pull request #330 from anodelman/scp-ignore (QENG-762) add support to beaker scp_to/scp_from to ignore files of ... ``` * Merge pull request #371 from anodelman/xml (7d1771f4) ``` Merge pull request #371 from anodelman/xml (QENG-845) Beaker junit xml: XML Parsing error ``` * (MAINT) aws_sdk support repairs (8d318540) ``` (MAINT) aws_sdk support repairs - vmhostname was being set incorrectly and breaking PE installation - move instance metadata tag addition to after instance is running - /etc/hosts generation fixed so that it has entries for all other hosts on each individual host - add agent listen port (8139) - fix zombie killing by correctly handling volumes that may not exist when attempted deletion occurs ``` * (QENG-1012) (gh-143) beaker scp moving data one byte at a time (8a4a72a8) ``` (QENG-1012) (gh-143) beaker scp moving data one byte at a time - force chunk_size during transfer - print more debug metrics so that we can monitor how quickly files are moved ``` * Merge pull request #362 from anodelman/revert-343-revert-237-role-repair (82f759c5) ``` Merge pull request #362 from anodelman/revert-343-revert-237-role-repair (QENG-431) expanded and improved role support in beaker ``` * Merge pull request #381 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method (30971c2b) ``` Merge pull request #381 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method (QENG-969) Fix bug introduced with last patch. ``` * Merge pull request #370 from anodelman/junit (a3733322) ``` Merge pull request #370 from anodelman/junit (QENG-819) stderr collected for each testcase is incorrect... ``` * Merge pull request #375 from waynr/feature/qeng-997-add-pe-installer-answer-for-jvm-puppet (d6f8792a) ``` Merge pull request #375 from waynr/feature/qeng-997-add-pe-installer-answer-for-jvm-puppet (QENG-997) Add PE installer answer for jvm puppet. ``` * Merge pull request #374 from justinstoller/bug/master/QENG-989_gem_install_on_solaris (fd4e7279) ``` Merge pull request #374 from justinstoller/bug/master/QENG-989_gem_install_on_solaris (QENG-989,990) Clean up open source install rough edges ``` * (QENG-969) Fix bug introduced with last patch. (ab510c71) ``` (QENG-969) Fix bug introduced with last patch. Last patch addressed some PR comments regarding coding style and led to bug which is now fixed. Signed-off-by: Wayne ``` * Merge pull request #378 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method (4449be0f) ``` Merge pull request #378 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method Feature/qeng 969 add modify tk config dsl method ``` * (MAINT) add 61613 to open port list for ec2 instances (fa34996c) ``` (MAINT) add 61613 to open port list for ec2 instances - 61613 needs to be open for MCO to work correctly ``` * Merge pull request #355 from doug-rosser/atop_integration (3c09294c) ``` Merge pull request #355 from doug-rosser/atop_integration (QENG-807) add --collect-perf-data option, rspec tests, and yard docs ``` * (QENG-969) Addresss PR feedback. (ed31f189) ``` (QENG-969) Addresss PR feedback. Signed-off-by: Wayne ``` * (QENG-922) Add `puppet_user` and `puppet_group` DSL methods. (2cf5ef87) ``` (QENG-922) Add `puppet_user` and `puppet_group` DSL methods. Signed-off-by: Wayne ``` * Remove dead line of code (a423d969) * (QENG-969) Update `with_puppet_running_on` spec test. (db5b45f1) ``` (QENG-969) Update `with_puppet_running_on` spec test. Test that `with_puppet_running_on` actually uses `modify_tk_conf` when the circumstances are right. Signed-off-by: Wayne ``` * (QENG-969) Add modify_tk_config DSL method. (1aad9e7d) ``` (QENG-969) Add modify_tk_config DSL method. Comes with some "private" helper methods for reading tk config strings and merging or replacing the SUT config file using Beaker::Options::OptionsHash Signed-off-by: Wayne ``` * (QENG-997) Add PE installer answer for jvm puppet. (b06b6313) ``` (QENG-997) Add PE installer answer for jvm puppet. Signed-off-by: Wayne ``` * (QENG-989,990) Clean up open source install rough edges (408b730a) ``` (QENG-989,990) Clean up open source install rough edges This ensures that puppet and friends are available after gem installs on Solaris and Debian. It also makes sure that the config directory and hiera.yaml file are aways present. The former change fixes QENG-989 while the latter fixes QENG-990). [edit: to address pull request comments] ``` * Merge pull request #365 from anodelman/maint (01c7ac7a) ``` Merge pull request #365 from anodelman/maint (QENG-941) create contributor documentation for beaker ``` * Merge pull request #369 from anodelman/options-hash (9215548a) ``` Merge pull request #369 from anodelman/options-hash (gh-333) Typo in method name ('has' instead of 'hash') in ... ``` * Merge pull request #296 from anodelman/confine-agents (78a75ce6) ``` Merge pull request #296 from anodelman/confine-agents (QENG-758) add ability to select a group a beaker hosts based upon... ``` * Merge pull request #248 from justinstoller/feature/master/QENG-515-debug_env_vars (4329e6b8) ``` Merge pull request #248 from justinstoller/feature/master/QENG-515-debug_env_vars (QENG-515) Provide Important Env Vars Set in Debug Output ``` * (QENG-845) Beaker junit xml: XML Parsing error (d33c710e) ``` (QENG-845) Beaker junit xml: XML Parsing error - need to strip out invalid characters from strings before printing to xml, these characters are still invalid even if wrapped in a cdata tag ``` * (QENG-819) stderr collected for each testcase is incorrect... (8a5ffb15) ``` (QENG-819) stderr collected for each testcase is incorrect... ...(as seen in beaker xml output) - keep track of the last result generated through the ssh connection - add the last stderr to the junit xml output - clear the collected last result before each test case ``` * (gh-333) Typo in method name ('has' instead of 'hash') in ... (fa93b233) ``` (gh-333) Typo in method name ('has' instead of 'hash') in ... ... options_hash.rb (line 101) - yup, fix the typo ``` * Merge pull request #368 from anodelman/ec2-killer (73fe9788) ``` Merge pull request #368 from anodelman/ec2-killer (QENG-968) automate cleanup of zombie ec2 beaker instances generated by jenkins smoketests ``` * Merge pull request #367 from anodelman/move-to-ec2 (62ddb7dd) ``` Merge pull request #367 from anodelman/move-to-ec2 (QENG-844) move beaker smoketests over to ec2 ``` * (QENG-968) automate cleanup of zombie ec2 beaker instances... (505a80fb) ``` (QENG-968) automate cleanup of zombie ec2 beaker instances... ... generated by jenkins smoketests - add support to aws_sdk hypervisor to kill zombies that have alive longer than a given amount of hours - make it possible to run beaker without a hosts_file, thus making it a script executor ``` * Merge pull request #321 from zaphod42/issue/master/race-in-stopping-master (75105eba) ``` Merge pull request #321 from zaphod42/issue/master/race-in-stopping-master (QENG-840) Replace puppet.conf after stopping master ``` * (QENG-844) move beaker smoketests over to ec2 (1ee634e3) ``` (QENG-844) move beaker smoketests over to ec2 - add 'lsb-release' to required packages for debian boxes, it is not in our default ami's ``` * (maint) Create default for master-start-curl-retries (2f8bf654) ``` (maint) Create default for master-start-curl-retries The master-start-curl-retries option did not have a default before. Without the default it was possible to end up with a comparison against null when retrying a check with curl (for checking that services are running). This adds a default of 0 (no retries) to the presets. ``` * (QENG-941) create contributor documentation for beaker (5b1fc8a9) ``` (QENG-941) create contributor documentation for beaker - create CONTRIBUTING.md - covers steps necessary before PRs will be merged into Beaker ``` * (QENG-431) (cleanup + split out filtering) expanded and improved role support in beaker (83f8aed1) ``` (QENG-431) (cleanup + split out filtering) expanded and improved role support in beaker - split out filtering from applying the block to hosts - block_on now determines if we have a filter or not - run_block_on accepts both a set of hosts and an optional filter ``` * (QENG-431) (cleanup) expanded and improved role support in beaker (24ba4467) ``` (QENG-431) (cleanup) expanded and improved role support in beaker - cleanup in response to review comments ``` * Revert "Revert "(QENG-431) expanded and improved role support in beaker"" (2e0b33b8) * Clean up and document reproduction info methods in Beaker::CLI (fbb11f82) * (maint) Remove unneeded modifications to File (975ff81a) ``` (maint) Remove unneeded modifications to File These modifications to the FakeFS::File class do not appear to be needed. When they are removed all of the tests continue to work as before. ``` * (QENG-751) Request for Higgs support in installing beaker (ced78c55) ``` (QENG-751) Request for Higgs support in installing beaker - adds install_higgs command - executes against master node - downloads pe packages based upon pe_ver/pe_dir - goes up to the point in the install where human interaction is required (notices indication in install log that a link has been provided to a web server) ``` * (QENG-840) Replace puppet.conf after stopping master (ae264bed) ``` (QENG-840) Replace puppet.conf after stopping master A webrick master watches the puppet.conf file and will try to reload and reapply the settings catalog when it changes. The with_puppet_running_on method gets into a race with this behavior, plus bug PUP-2834, because it puts the backed up puppet.conf back into place *before* trying to shut down the master process. This caused the master to periodically read the new configuration, fail in applying it, crash, and then beaker would try to kill the process. The process was already dead and the kill command ends up failing. This then causes the test to fail. This changes it so that for webrick masters, the backed up file isn't moved back into place until *after* the master has been shut down. Since rack masters don't ever try to reread the config file, this doesn't affect them. Also, in the rack case, the file needs to be moved into place *before* the master is stopped since it is actually fully restarted. ``` * (QENG-762) add support to beaker scp_to/scp_from to ignore files of ... (53fce7cd) ``` (QENG-762) add support to beaker scp_to/scp_from to ignore files of ... ... certain name/type - added support to scp_to for an ignore list of files/dirs. Does not support globbing. ``` * (QENG-807) add --collect-perf-data option, rspec tests, and yard docs (8d1a891d) * (QENG-188) Allow foss runs to use service scripts, take 2 (577fce4d) ``` (QENG-188) Allow foss runs to use service scripts, take 2 Prior to this commit, any run of beaker with a non-pe master that attempted to stand up a master with a particular configuration in order to test against it using the with_puppet_running_on() helper would always stand up a webrick master by executing `puppet master ` and then later stop it with `kill`. The platform team needs to be able to run acceptance suites in which the puppetmaster is started/stopped using package provided init scripts, or by restarting apache if a passenger puppetmaster package is installed. This PR takes the approach of enhancing Beaker::Host with a few query methods controlled by host properties, either set in the hosts.cfg, or directly on a master Beaker::Host instance during the execution of a setup step. The added properties are: * 'use-service' : if true, service scripts will be used instead of manually starting a webrick master * 'passenger' : if true, indicates a passenger package has been installed, and by default graceful service restarts will be used * 'puppetservice' : the 'puppetservice' property has been added to the Beaker::Host::Unix.foss_defaults with the value of 'puppetmaster'. It should be set to the appropriate service script name for passenger if a passenger package has been installed. * 'graceful-restarts' : can be set false if you want to stop/start with service scripts rather than use graceful restarts when running with passenger The Beaker::Host#uses_passenger! call may be used to set a host appropriately for passenger. The graceful restarts facility of the dsl helper's bounce method assumes apache2 was used for passenger and that apach2ctl is available. Any existing test suite which does not 'opt-in' to any of these service host changes by specifying any of the above properties should not be effected by this commit. The exception to this is that PE runs will use graceful restarts automatically with this commit. There is also a spec related change to the FakeHost helper, which previously was a stub pretending to provide Beaker::Host like facilities and recording commands for review. This became unwieldy when the various query methods for use_service_scripts? is_using_passenger? and so forth were added, and the FakeHost has been updated to instead use Beaker::Host.create to provide a host instance that is then extended with the MockedExec module stubbing the exec facilities for testing. ``` * (QENG-188) Allow foss runs to use service scripts (44d18d5f) ``` (QENG-188) Allow foss runs to use service scripts Prior to this commit, any run of beaker with a non-pe master that attempted to stand up a master with a particular configuration in order to test against it using the with_puppet_running_on() helper would always stand up a webrick master by executing `puppet master ` and then later stop it with `kill`. The platform team needs to be able to run acceptance suites in which the puppetmaster is started/stopped using package provided init scripts, or by restarting apache if a passenger puppetmaster package is installed. This PR takes the approach of enhancing Beaker::Host with a few query methods controlled by host properties, either set in the hosts.cfg, or directly on a master Beaker::Host instance during the execution of a setup step. The added properties are: * 'use-service' : if true, service scripts will be used instead of manually starting a webrick master * 'passenger' : if true, indicates a passenger package has been installed, and by default graceful service restarts will be used * 'puppetservice' : the 'puppetservice' property has been added to the Beaker::Host::Unix.foss_defaults with the value of 'puppetmaster'. It should be set to the appropriate service script name for passenger if a passenger package has been installed. * 'graceful-restarts' : can be set false if you want to stop/start with service scripts rather than use graceful restarts when running with passenger The Beaker::Host#uses_passenger! call may be used to set a host appropriately for passenger. The graceful restarts facility of the dsl helper's bounce method assumes apache2 was used for passenger and that apach2ctl is available. Any existing test suite which does not 'opt-in' to any of these service host changes by specifying any of the above properties should not be effected by this commit. There is also a spec related change to the FakeHost helper, which previously was a stub pretending to provide Beaker::Host like facilities and recording commands for review. This became unwieldy when the various query methods for use_service_scripts? is_using_passenger? and so forth were added, and the FakeHost has been updated to instead use Beaker::Host.create to provide a host instance that is then extended with the MockedExec module stubbing the exec facilities for testing. ``` * Ensure IS_PE only respects different values (36abc3d8) ``` Ensure IS_PE only respects different values Previously if we set the IS_PE or BEAKER_IS_PE environment variable at all we would automatically make the run a PE run. This caused non-obvious behavior for users that set IS_PE=false. This changes the searching of the environment to only set the :type option if [BEAKER_]IS_PE=yes|true. Signed-off-by: Justin Stoller ``` * Improve documentation and readability of environment parsing improvements (b27ac271) * (QENG-758) add ability to select a group a beaker hosts based upon... (6acb6147) ``` (QENG-758) add ability to select a group a beaker hosts based upon... ...a set of properties - a shortcut means of selecting a sub group of hosts to run commands on ``` * (QENG-5156) Provide Important Env Vars Set in Debug Output (88c18537) ``` (QENG-5156) Provide Important Env Vars Set in Debug Output This provides the Environment Variables that are pertinent to running Beaker as an error message after a failed run or as a debug message on a successful run in the debug log level. ``` ### beaker1.16.0 - 17 Jul, 2014 (c1267696) * Merge pull request #366 from anodelman/make-gem (c1267696) ``` Merge pull request #366 from anodelman/make-gem (HISTORY) update history for release of beaker 1.16.0 gem ``` * (HISTORY) update history for release of beaker 1.16.0 gem (385f65c6) * Merge pull request #364 from anodelman/make-gem (b0558827) ``` Merge pull request #364 from anodelman/make-gem (GEM) version bump for beaker 1.16.0 ``` * (GEM) version bump for beaker 1.16.0 (6664c6ab) * Merge pull request #363 from puppetlabs/revert-359-issue/master/qeng-188-foss-service-restarts (56cfac77) ``` Merge pull request #363 from puppetlabs/revert-359-issue/master/qeng-188-foss-service-restarts Revert "(QENG-188) Allow foss runs to use service scripts" ``` * Revert "(QENG-188) Allow foss runs to use service scripts" (dbfa7b23) * Merge pull request #359 from jpartlow/issue/master/qeng-188-foss-service-restarts (d2464451) ``` Merge pull request #359 from jpartlow/issue/master/qeng-188-foss-service-restarts (QENG-188) Allow foss runs to use service scripts ``` * Merge pull request #360 from anodelman/fail-slow (0d0c9239) ``` Merge pull request #360 from anodelman/fail-slow (QENG-927) Beaker does not honor --fail-mode always fails fast ``` * (QENG-927) Beaker does not honor --fail-mode always fails fast (755f13eb) ``` (QENG-927) Beaker does not honor --fail-mode always fails fast - bug comes from regex comparison with a symbol not being coerced to a string in ruby 1.8, simple adding a 'to_s' resolves this ``` * Merge pull request #358 from waynr/bugfix/ezbake-utils (b83f5299) ``` Merge pull request #358 from waynr/bugfix/ezbake-utils (QENG-924) Fix Beaker::DSL::EZBakeUtils.conditionally_clone ``` * Merge pull request #357 from jpartlow/issue/master/qeng-923-ensure-platform-codename (06aa5b81) ``` Merge pull request #357 from jpartlow/issue/master/qeng-923-ensure-platform-codename (QENG-923) Ensure @codename is set if platform string has codename ``` * (QENG-924) Fix Beaker::DSL::EZBakeUtils.conditionally_clone (b6cd1ac6) ``` (QENG-924) Fix Beaker::DSL::EZBakeUtils.conditionally_clone Fetch from origin then checkout the origin HEAD. Signed-off-by: Wayne ``` * (QENG-923) Ensure @codename is set if platform string has codename (26724829) ``` (QENG-923) Ensure @codename is set if platform string has codename Beaker 1.14.0 and up has a change to Beaker::Platform which ensures that @version and @codename is set if the platform string contains the version number, and that @version is set if platform string contains the codename, but it fails to set the @codename in this later case. Puppet currently has debian/ubuntu configs checked (used in ci) which use platform strings of the form debian-wheezy-x86_64. We could change these, but it looks like the intention of the Beaker::Platform object is to provide @version and @codename (where codenames are used). This patch ensures that @codename is set along with @version in these cases. ``` * Merge pull request #356 from anodelman/utf-8-encoding (842a0d99) ``` Merge pull request #356 from anodelman/utf-8-encoding (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance ``` * Merge pull request #354 from anodelman/scp-repair (6e0261f2) ``` Merge pull request #354 from anodelman/scp-repair (QENG-6) Beaker DSL `scp_*` commands print the options hash as if... ``` * (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance (928fad7f) ``` (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance - was too conservative in removing non utf-8 compliant characters - ended up removing compliant characters along with undef/invalid character codes - tested locally and it preserved messages like: /etc/puppet/modules ├── jimmy-appleseed (v1.1.0) ├── jimmy-crakorn (v0.4.0) └── jimmy-thelock (v1.0.0) - correctly removed actual undef/invalid characters so that string methods can be run (ie, split, gsub) ``` * Merge pull request #338 from anodelman/add-history (9e6acd2e) ``` Merge pull request #338 from anodelman/add-history (QENG-849) beaker should maintain a history file that provides... ``` * (QENG-6) Beaker DSL `scp_*` commands print the options hash as if... (9aca3a1d) ``` (QENG-6) Beaker DSL `scp_*` commands print the options hash as if... ... it were executed on the command line - simply remove the option hash from the debug line, it isn't appropriate there. ``` * (QENG-849) beaker should maintain a history file that provides... (04bf6d4f) ``` (QENG-849) beaker should maintain a history file that provides... ...information per gem release - generate a markdown history file from beaker git log ``` * (QENG-188) Allow foss runs to use service scripts (881311ab) ``` (QENG-188) Allow foss runs to use service scripts Prior to this commit, any run of beaker with a non-pe master that attempted to stand up a master with a particular configuration in order to test against it using the with_puppet_running_on() helper would always stand up a webrick master by executing `puppet master ` and then later stop it with `kill`. The platform team needs to be able to run acceptance suites in which the puppetmaster is started/stopped using package provided init scripts, or by restarting apache if a passenger puppetmaster package is installed. This PR makes a few additions to OptionsHash, Host and the DSL::Helpers to allow us to distinguish foss hosts which were spun up from source from those which were installed from packages. And if we are working with packages, whether we will be attempting to restart a running service or stop/start using service scripts. ``` ### beaker1.15.0 - 8 Jul, 2014 (82bb4ef9) * Merge pull request #353 from anodelman/make-gem (82bb4ef9) ``` Merge pull request #353 from anodelman/make-gem (HISTORY) generate history file for beaker 1.15.0 ``` * (HISTORY) generate history file for beaker 1.15.0 (bd77ab99) * Merge pull request #351 from anodelman/make-gem (cc636ca0) ``` Merge pull request #351 from anodelman/make-gem (GEM) create beaker 1.15.0 gem ``` * Merge pull request #349 from justinstoller/maint/master/do-the-right-thing (e2c1be08) ``` Merge pull request #349 from justinstoller/maint/master/do-the-right-thing (maint) Use `#check_for_command` instead of `#check_for_package` ``` * (GEM) create beaker 1.15.0 gem (e8e2e315) * Merge pull request #348 from pcarlisle/qeng-894-systemd-with-puppet-running (2d1cfcb9) ``` Merge pull request #348 from pcarlisle/qeng-894-systemd-with-puppet-running (QENG-894) Fix with_puppet_running_on for systemd ``` * Merge pull request #350 from anodelman/utf-8-encoding (ce612a91) ``` Merge pull request #350 from anodelman/utf-8-encoding (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance ``` * (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance (1f83c04e) ``` (QENG-912) Beaker 1.14 breaks PE Puppet Acceptance - seems to be an issue with string encoding - ensure that we convert from current encoding to utf-8, doesn't mangle utf-8 strings and correctly converts binary strings ``` * Merge pull request #339 from pcarlisle/lucid-version-code (f2ad8dec) ``` Merge pull request #339 from pcarlisle/lucid-version-code Add lucid support to platform version codes ``` * (maint) Improve `InstallUtils#install_puppet()` (1154f9bb) ``` (maint) Improve `InstallUtils#install_puppet()` Use `#check_for_command` instead of `#check_for_package` where appropriate in `#install_puppet` Previously there was no `Host#check_for_command` method, but `Host#check_for_package` did a `which` (it effectively was checking for the command). Now that we've separated out that behavior we need to use the ones we mean in `InstallUtils#install_puppet()`. This is important because when we fall back to a gem install of Puppet we ensure there is a command `gem` available from (often) the package `rubygems`. ``` * (QENG-894) Use puppet to restart puppet (94534f4d) ``` (QENG-894) Use puppet to restart puppet This way we don't have to detect which init system is being used. Since this is currently only used for with_puppet_running_on it should always have puppet available. ``` * (MAINT) Whitespace for readability (4ee2980c) * (MAINT) Add lucid support to platform version codes (387e00fd) ### beaker1.14.1 - 3 Jul, 2014 (d2e750d5) * Merge pull request #342 from anodelman/make-gem (d2e750d5) ``` Merge pull request #342 from anodelman/make-gem (GEM) create beaker 1.14.1 gem ``` * Merge pull request #344 from waynr/maint/fix-multi-dev-repo-case (a1a05782) ``` Merge pull request #344 from waynr/maint/fix-multi-dev-repo-case (MAINT) Fixes `Beaker::DSL::InstallUtils` broken spec. ``` * (MAINT) Fixes `Beaker::DSL::InstallUtils` broken spec. (4ae74102) ``` (MAINT) Fixes `Beaker::DSL::InstallUtils` broken spec. Signed-off-by: Wayne ``` * Merge pull request #343 from puppetlabs/revert-237-role-repair (97dfa7f2) ``` Merge pull request #343 from puppetlabs/revert-237-role-repair Revert "(QENG-431) expanded and improved role support in beaker" ``` * Revert "(QENG-431) expanded and improved role support in beaker" (e72fb990) * Merge pull request #237 from anodelman/role-repair (ee2ce01f) ``` Merge pull request #237 from anodelman/role-repair (QENG-431) expanded and improved role support in beaker ``` * Merge pull request #341 from waynr/maint/fix-multi-dev-repo-case (7793e89f) ``` Merge pull request #341 from waynr/maint/fix-multi-dev-repo-case (MAINT) Fix multiple dev repo installation case. ``` * (MAINT) Fix multiple dev repo installation case. (c5f8dac8) ``` (MAINT) Fix multiple dev repo installation case. Signed-off-by: Wayne ``` * (GEM) create beaker 1.14.1 gem (180e712d) * (QENG-431) expanded and improved role support in beaker (part 2) (ea90a311) ``` (QENG-431) expanded and improved role support in beaker (part 2) - add support for running commands against hosts by name - add support for arbitrary role methods, like those for built in roles eg, on master, "echo hello" on myrole, "echo hello" ``` * (QENG-431) expanded and improved role support in beaker (4797313e) ``` (QENG-431) expanded and improved role support in beaker - make is possible to use arbitrary role names for most beaker DSL APIs ``` ### beaker1.14.0 - 3 Jul, 2014 (cf8ea838) * Merge pull request #340 from anodelman/make-gem (cf8ea838) ``` Merge pull request #340 from anodelman/make-gem (GEM) create beaker 1.14.0 gem ``` * (GEM) create beaker 1.14.0 gem (d6e4282a) * Merge pull request #322 from waynr/feature/install-dev-release-repos (67d0bca2) ``` Merge pull request #322 from waynr/feature/install-dev-release-repos (QENG-715) Add `install_dev_repo` to Beaker DSL ``` * (QENG-715) Remove old `install_dev_repo` (448bcfb6) ``` (QENG-715) Remove old `install_dev_repo` This method, rather than pushing repos to the SUT, has it pull from puppet labs internal repository. This is deprecated by the newer `Beaker::DSL::InstallUtils.install_dev_repo` which uses a push method. Signed-off-by: Wayne ``` * Merge pull request #295 from waynr/feature/ezbake-utils (6243d6ac) ``` Merge pull request #295 from waynr/feature/ezbake-utils (QE-725) Feature/ezbake utils ``` * (QENG-715) Add yard docs. (27922d8b) ``` (QENG-715) Add yard docs. (QENG-715) Add new rspec tests. (QENG-715) Give methods less generic names. As pointed out in PR review, the use cases for these methods are pretty specific and their names ought to reflect that specificity. Signed-off-by: Wayne ``` * Merge pull request #335 from cyberious/FossWindows (d41e527e) ``` Merge pull request #335 from cyberious/FossWindows Foss windows ``` * Merge pull request #316 from maestrodev/docker-ip (47a21a3b) ``` Merge pull request #316 from maestrodev/docker-ip Use the correct docker server ip address for ssh ``` * Merge pull request #297 from cyberious/CopyModuleTo (b6707c6f) ``` Merge pull request #297 from cyberious/CopyModuleTo refactor copy_root_module_to to copy_module_to and add support for ignore ``` * Merge pull request #327 from cyberious/master (7f5b05e6) ``` Merge pull request #327 from cyberious/master Fix issue with run_task and invalid or undefined methods ``` * (QENG-715) Copy methods over from puppet acceptance lib. (49b70484) ``` (QENG-715) Copy methods over from puppet acceptance lib. Copy `fetch`, `fetch_remote_dir`, and `install_repos_on` from puppet accentance testing library since this functionality is actually useful on pretty much all projects using Beaker. Still needs to be cleaned up and tuned to work in this context. (QENG-715) Minor code cleanup. Matches when/case indentation levels. (QENG-715) Use new `Beaker::Platform.to_array` method. This method simplifies the logic by highlighting through semantics the difference between `version` and `codename`. (QENG-715) Remove hard-coded URIs. Grab URIs from options presets instead of hard-coding. Do this for development builds repositories, apt repositories, and yum repositories. (QENG-715) Add `:dev_builds_url` to Beaker presets. Use this in `Beaker::DSL::InstallUtils.install_repos_on`. Also renames soem variables and standardize on how to populate a string pattern with variables since the last couple commits were injecting variables directly into the string. (QENG-715) Separate release repo installation step. Some pre_suites may only want to install the release repository. (QENG-715) Clean up `install_release_repo` Since we are installing a public repository we don't need to go through the intermediate fetch step. (QENG-715) Minor bug fix and code cleanup. Don't scp files to a directory then move them to another directory in a later step, instead copy them directly to their intended target directory. Also fix some typos, bugs, and other miscellany. (QENG-715) Break find-and-sed into smaller exprs. (QENG-715) Raise RuntimeError instead of log message. (QENG-715) Remove extraneous SUT commands. Signed-off-by: Wayne ``` * Merge pull request #323 from branan/qeng_842 (1f875bbd) ``` Merge pull request #323 from branan/qeng_842 (QENG-842) Always wait for puppetmaster to be ready when bouncing ``` * (maint) Remove default value of service-wait since it is now unused. (187bfa57) * (QENG-725) `install_from_ezbake` check for unsupported platforms (bd0b9c58) ``` (QENG-725) `install_from_ezbake` check for unsupported platforms Signed-off-by: Wayne ``` * (QENG-725) Add `ezbake_tools_available?` (f5468a97) ``` (QENG-725) Add `ezbake_tools_available?` Add `Beaker::DSL::EZBakeUtils.ezbake_tools_available?` to ensure that both the development system and the SUT have the required software necessary for this stuff to work correctly. Also add spec tests for this new method and update existing method rspec tests to verify that they actually use the new method where appropriate. Signed-off-by: Wayne ``` * Fix issue with relver not defined in msi installer (c0d3baac) * (QENG-725) Add attributes to `Beaker::Platform` (10633f79) ``` (QENG-725) Add attributes to `Beaker::Platform` * Add attributes to `Beaker::Platform` and use those in `Beaker::Platform.with_numeric_version` and `Beaker::Platform.with_codename_version`. * Add spec tests to confirm that `Beaker::Platform.codename` is nil when a given platform does not have version codenames and to verify behavior of `Beaker::Platform.to_array` * Update `Beaker::DSL::EZBakeUtils` to make use of new `Beaker::Platform.to_array` method. * Update `spec/beaker/dsl/ezbake_utils.rb` to use `Beaker::Platform` object. Signed-off-by: Wayne ``` * Merge pull request #331 from justinstoller/fix_install_puppet (b77db165) ``` Merge pull request #331 from justinstoller/fix_install_puppet Fix broken debian installs of FOSS puppet ``` * Merge pull request #329 from waynr/feature/curl-retries (ee4d52d7) ``` Merge pull request #329 from waynr/feature/curl-retries (MAINT) Feature/curl retries ``` * Merge pull request #324 from anodelman/pe-in-debug (75acc306) ``` Merge pull request #324 from anodelman/pe-in-debug (QENG-251) Beaker should be able to run the PE installer in debug mode ``` * Merge pull request #325 from anodelman/mac-support (2f36b29c) ``` Merge pull request #325 from anodelman/mac-support (QENG-841) don't run beaker package configuration on osx hosts ``` * Revert the stderr out instead of stdout for not success (61243ce5) * Merge pull request #332 from waynr/feature/QENG-846-add-timestamp-to-options-hash (016ca73a) ``` Merge pull request #332 from waynr/feature/QENG-846-add-timestamp-to-options-hash (QENG-846) Add timestamp to options hash. ``` * Merge pull request #319 from waynr/feature/pe-34-answers (93e157e7) ``` Merge pull request #319 from waynr/feature/pe-34-answers (MAINT) Add PE 3.4 installer answers module. ``` * (QENG-846) Add timestamp to options hash. (d3083c27) ``` (QENG-846) Add timestamp to options hash. This makes the timestamp available globally during Beaker runs so it can be used to add files to the specific run's log directory without being confused by other simultaneous runs of Beaker due to the use of log/latest symlink. Signed-off-by: Wayne ``` * Fix broken debian installs of FOSS puppet (3f8d2efc) ``` Fix broken debian installs of FOSS puppet Previously some versions of apt would not resolve the puppet-common package dependency for versions other than the latest release. This pins the puppet-common package to the same version as puppet to prevent these issues. ``` * Fix issue with run_task and invalid or undefined methods (ad7837ba) * (QENG-841) don't run beaker package configuration on osx hosts (bd564de3) ``` (QENG-841) don't run beaker package configuration on osx hosts - beaker does not know how to install packages on osx, so we shouldn't try to ``` * (QENG-251) Beaker should be able to run the PE installer in debug mode (c94dc9b5) ``` (QENG-251) Beaker should be able to run the PE installer in debug mode - add verbose mode for linux/mac and win installs. - add '-x' for bash frictionless installer - fix issue with non-UTF-8 encoded characters generated in windows logs ``` * (QENG-842) Always wait for puppetmaster to be ready when bouncing (46ef5703) ``` (QENG-842) Always wait for puppetmaster to be ready when bouncing Previously, we would only wait for the puppetmaster to be started if a host config file explicitly requested it. Our init scripts actually require this waiting pretty much across the board now, so trying to only do this when it's needed is silly. And even when it's not needed we only curl once - it's not a ton of overhead. ``` * (QENG-715) Add `install_dev_repo` to Beaker DSL (9b337a21) ``` (QENG-715) Add `install_dev_repo` to Beaker DSL This is a "push" style method of installing a dev repo from builds.puppetlabs.lan by first downloading to a directory on the local machine then pushing to the appropriate configuration directory on the remote machine. Signed-off-by: Wayne ``` * Merge pull request #314 from anodelman/maint (ee2ad375) ``` Merge pull request #314 from anodelman/maint (QENG-124) get rid of add_master_entry ``` * (MAINT) Add PE 3.4 installer answers module. (dde96af8) ``` (MAINT) Add PE 3.4 installer answers module. Also adds spec tests. Signed-off-by: Wayne ``` * (QENG-725) Improve install_from_ezbake (5deb8e4c) ``` (QENG-725) Improve install_from_ezbake Need to be able to pass in arbitrary key-value pairs to add to environment in which `make` is called on the given host in install_from_ezbake. If the hash is empty, then don't prepend the `env` call to make. Signed-off-by: Wayne ``` * Use the DOCKER_HOST environment when present for ssh to docker server (4793e5b7) ``` Use the DOCKER_HOST environment when present for ssh to docker server Honor DOCKER_HOST envvar, used with boot2docker ``` * (QENG-124) get rid of add_master_entry (eb3be3e9) ``` (QENG-124) get rid of add_master_entry - execution of add_master_entry has been off by default for a while, so we know that this code is no longer necessary, this is just clean up ``` * add alias to keep current functionality (f18c71da) * Fixed test cases and bug with copy_module_to (3ec6077a) * (QENG-725) Minor code cleanup and EZBakeUtils fix. (2f9ee267) ``` (QENG-725) Minor code cleanup and EZBakeUtils fix. * Fixes defaultsdir argument passed to make in `install_from_ezbake` for debian systems. * Adds `--force-yes` to apt-get calls when installing packages on debian. * Minor code cleanup when interpreting package and version information from `ezbake_config` Signed-off-by: Wayne ``` * (QENG-716) Add package_version option to install_package. (9acb4f20) ``` (QENG-716) Add package_version option to install_package. Makes more sense to make this optional behavior in `install_package` than to implement new method. Signed-off-by: Wayne ``` * refactor copy_root_module_to copy_module_to, also changed the behavior of puppet_module_install_on to use the PMT tool instead of copying the whole file to it (1718342c) * (QENG-725) Minor bugfix and documentation addition. (26d518d1) ``` (QENG-725) Minor bugfix and documentation addition. * Document `ezbake_stage` method. * Fix directory creation bug in `conditionally_clone` method. Signed-off-by: Wayne ``` * (QENG-725) Adds spec tests for EZBakeUtils. (d5665ffb) ``` (QENG-725) Adds spec tests for EZBakeUtils. Signed-off-by: Wayne ``` * (QENG-725) Implements install_from_ezbake. (b764cf51) ``` (QENG-725) Implements install_from_ezbake. Adds a new module, Beaker::DSL::EZbake to extend the Beaker DSL with functionality that should be useful across multiple JVM based projects, particularly those that use TrapperKeeper and are packaged using ezbake. Don't want to add user to system from install_from_ezbake, that should be done at a higher level or from within a preinst step if absolutely necessary. Also shouldn't be making any puppet calls using Beaker before the Puppet master is run for the first time using init scripts since this will lead to /var/lib/puppet directories being owned by root. Bad. Signed-off-by: Wayne ``` * (QENG-716) install_package_version (720854c2) ``` (QENG-716) install_package_version This commit adds 'install_package_version' method to the DSL helper utils and an associated method that given package name as well as optional version string that will be used to construct a package name that includes a specific version string for installation on the SUT. This currently only supports apt and yum based package managers, as I am no familiar enough with other platforms. For non apt or yum based platforms, an exception will be raised. Signed-off-by: Wayne ``` * (QENG-645) Add `master-start-curl-retries` to host options. (2d499afe) ``` (QENG-645) Add `master-start-curl-retries` to host options. Allows per-host modification of the number of curl retries to perform when restarting puppet master. ``` ### beaker1.13.1 - 23 Jun, 2014 (aa09552d) * Merge pull request #318 from anodelman/make-gem (aa09552d) ``` Merge pull request #318 from anodelman/make-gem (GEM) create 1.13.1 beaker gem ``` * (GEM) create 1.13.1 beaker gem (c268b1c9) * Merge pull request #317 from waynr/bugfix/retry-command-should-use-logger-method (a993fc91) ``` Merge pull request #317 from waynr/bugfix/retry-command-should-use-logger-method (MODULES-1168) Fixes use of Beaker logger in retry_command. ``` * (QENG-833) Fixes use of Beaker logger in retry_command. (ec906978) ``` (QENG-833) Fixes use of Beaker logger in retry_command. Looks like the Beaker DSL always assumes a method, `logger`, that returns a Logger object--assuming that the namespace loading the DSL modules has a logger object available as `@logger` breaks beaker-rspec. Signed-off-by: Wayne ``` ### beaker1.13.0 - 20 Jun, 2014 (5e80c638) * Merge pull request #315 from anodelman/make-gem (5e80c638) ``` Merge pull request #315 from anodelman/make-gem (Gem) create 1.13.0 beaker gem ``` * (Gem) create 1.13.0 beaker gem (e863091e) * Merge pull request #302 from waynr/feature/create-tmpdir-for-user-on (4381a238) ``` Merge pull request #302 from waynr/feature/create-tmpdir-for-user-on Feature/create tmpdir for user on ``` * Merge pull request #313 from petems/fix_noop_to_nil (e0b93239) ``` Merge pull request #313 from petems/fix_noop_to_nil Fix noop to nil ``` * Merge pull request #229 from anodelman/pkg-vs-cmd (7b0efa1b) ``` Merge pull request #229 from anodelman/pkg-vs-cmd (QENG-608) Check_for_package method should not use which command ``` * Merge pull request #293 from anodelman/junit (3d16318c) ``` Merge pull request #293 from anodelman/junit (QENG-714) use all junit tags available for beaker xml output ``` * GH-312 - Change test to check command line (229e24b0) * GH-312 Fix spec to reflect that value is nil (397df127) * GH-312 - Value needs to be nil if it has no value (eb984967) * Merge pull request #311 from treydock/docker_privileged_fix (12e74e51) ``` Merge pull request #311 from treydock/docker_privileged_fix (gh-305) Start docker containers using privileged mode ``` * Merge pull request #300 from waynr/feature/logging-improvements (145e26b7) ``` Merge pull request #300 from waynr/feature/logging-improvements Feature/logging improvements ``` * Merge pull request #309 from petems/add_noops_option (e2e97899) ``` Merge pull request #309 from petems/add_noops_option Add noops option ``` * Merge pull request #298 from branan/qeng_64 (75ea39cd) ``` Merge pull request #298 from branan/qeng_64 (QENG-64) Fix ordering issue when deploying the frictionless agent ``` * Fixing spec (2f4e011c) * Merge pull request #299 from justinstoller/update-to-install_puppet (82a34ef4) ``` Merge pull request #299 from justinstoller/update-to-install_puppet (QENG-{768,769,771}) Update to `install puppet` ``` * Merge pull request #262 from justinstoller/feature/master/QENG-438-feature_flags (b10a8c0f) ``` Merge pull request #262 from justinstoller/feature/master/QENG-438-feature_flags (QENG-438) Pass feature flags to all instances of `apply_manifest_on` ``` * Merge pull request #310 from anodelman/maint (6d7f36e3) ``` Merge pull request #310 from anodelman/maint (MAINT) aws-sdk 1.43 breaks beaker specs ``` * (gh-305) Start docker containers using privileged mode (981e4d4b) * Merge pull request #276 from cyberious/RakeTasks (8f5cbd56) ``` Merge pull request #276 from cyberious/RakeTasks Rake tasks ``` * (MAINT) aws-sdk 1.43 breaks beaker specs (368575d9) ``` (MAINT) aws-sdk 1.43 breaks beaker specs - pin to aws-sdk 1.42.0 ``` * Adding yarddoc for :noop option (ac1803b5) * Spec for the noops flag (ed2d52f3) * Merge pull request #303 from anodelman/vagrant-maint (1a7942ca) ``` Merge pull request #303 from anodelman/vagrant-maint (QENG-760) support for additional disk for vagrant ``` * Improve documentation for Open Source installation methods (77ea1f45) * OptionsHash is already indifferent (d8f3f787) * (QENG-760) support for additional disk for vagrant (d2449cab) ``` (QENG-760) support for additional disk for vagrant - if a given vagrant box has a disk_path then either create a new vmdk disk or use the provided disk - defaults to 50 x 1024 bytes if the disk needs to created ``` * Refactor `puppet_install` (09a519a3) ``` Refactor `puppet_install` This changes the `puppet_install` function to be more readable and reduce code duplication. It does not change any behavior. ``` * add tests for new install_puppet functionality (cc9da3ad) * fixup test (be4c3016) * Fixed issue with default behavior not picking up type and hosts from rake task (3bcbfe6d) * (MAINT) Make retry_command output easier on the eyes. (7776fc93) ``` (MAINT) Make retry_command output easier on the eyes. Silent all the "on" commands by passing silent => true to the underlying host.exec in the options map. Instead, handle console/logfile output for retry_command manually. Should significantly reduce logfile size for applications that make extensive use of retry_command, not to mention making stdout more readable. Signed-off-by: Wayne ``` * (MAINT) Bugfixes in host.exec and logger. (26b25332) ``` (MAINT) Bugfixes in host.exec and logger. * Honor the :silent option in host.exec * Many logging functions seem to try to pass positional parameters in to optionally_color but mistakenly flattened the list into a single argument. This made it impossible to choose whether or not to add a newline. * Remove call to logger.notify with bogus arity. Seems like "args" probably becomes an empty array which made this method call okay previously. However, if there are no arguments in "*args" then no args get passed down to optionally_color, thus the arity of the original "*args" is preserved. Signed-off-by: Wayne ``` * Fixup windows support for FOSS (2ebb73f8) ``` Fixup windows support for FOSS Previously the PATH for windows was only being set to include executables from git repos, not executables installed from native packages. This includes the default installation path for native windows packages in the FOSS command creation. ``` * This fixes small bugs within the install_puppet method (8c1d3338) * (QENG-64) Fix ordering issue when deploying the frictionless agent (6f1db0b6) ``` (QENG-64) Fix ordering issue when deploying the frictionless agent Previously, the puppet agent was not stopped on the master until all nodes were deployed. This could cause a situation where the background agent would be running when we attempt to deploy the frictionless repo. In this situation, the agent run we kick off to deploy the repo would fail. This causes the entire beaker process to bail. We now stop the background agent immediately, preventing this condition from occuring. ``` * update documentation (63297276) * Use specified versions if possible (0e0fd1e7) ``` Use specified versions if possible Previously we allowed passing :version, :facter_version, and/or :hiera_version to `install_puppet` but only respected `:version` with windows and osx, and the others only on osx. This will attempt to install the versions specified for any package specified. The version information is still optional on linux machines, and there is no way for us to respect the dependency versions on windows (since our windows package is an omnibus package). ``` * Provide default gem installation (a4ac5847) ``` Provide default gem installation This allows the `install_puppet` command to accept an additional parameter `:default_action` which, if set to 'gem_install' will attempt to install puppet from gem if it cannot otherwise install puppet. The default for :default_action is still to fail hard. ``` * Get OSX installation working for realz (5d604a4f) ``` Get OSX installation working for realz Previously we were using the passed in version for the versions of puppet and its dependencies. This adds :facter_version and a :hiera_version keys so that we can install those dependencies explicitly on platforms that we must. It also adds the `-pkg` opt to the installer command to work on newer OSXs. Signed-off-by: Justin Stoller ``` * fixup merge conflicts (70491772) * fix yard docs (1e947592) * Remove the host tasks until we can fully bake what the use case is (fea24261) * Remove assumption of delivery.puppetlabs.net (1aec8b3f) * Add noop argument (4bfb3848) * (QENG-713) Update to create_tmpdir_for_user, add spectests (afa13318) ``` (QENG-713) Update to create_tmpdir_for_user, add spectests Use `on` instead of `host.exec`. Also removes test for Unix::Host.puppet_tmpdir. Signed-off-by: Wayne ``` * (QENG-713) Adds create_tmpdir_on DSL method. (2e899fe2) ``` (QENG-713) Adds create_tmpdir_on DSL method. Signed-off-by: Wayne ``` * (QENG-713) use DSL to access --configprint value (3c9c17c7) * Refactor to have a single maintainable file for test tasks and require the rake task object (d4ca624d) * (QENG-713) add test case and docs for 'puppet_tmpdir' method (76e0a923) * (QENG-713) add 'puppet_tmpdir' method (92ad65cb) ``` (QENG-713) add 'puppet_tmpdir' method Add a 'puppet_tmpdir' method in Unix::File that creates temporary directories which are owned by the puppet user. ``` * Add the commands to install OSX. (b6d24c90) * (QENG-714/QENG-686) use all junit tags available for beaker xml output... (5aff9fc2) ``` (QENG-714/QENG-686) use all junit tags available for beaker xml output... ... provide local xslt for viewing beaker xml output - switch over to nokogiri (cleaner, easier) - add logs to system-out tag - add tag for time that each test suite takes to execute - add property tags for each beaker option - add junit.xsl stylesheet to interpret test results ``` * (QENG-608) Check_for_package method should not use which command (23d471a2) ``` (QENG-608) Check_for_package method should not use which command - properly differentiate between packages and commands - check_for_package updated to check for the given package name using the correct package manager per OS - added check_for_command, which uses 'which' to determine if a command is currently available - added spec test coverage for check_for_package ``` * Add extendable rake task to have define on projects utilizing beaker (a7756853) * (QENG-438) Pass feature flags to all instances of `apply_manifest_on` (8383b54a) ``` (QENG-438) Pass feature flags to all instances of `apply_manifest_on` Prior to this there was a number of configurable options that would tweak Puppet's behavior when using apply_manifest_on. However there was no good way of setting all instances of apply_manifest_on to use a certain set of flags. e.g. set "future" parser to be true for a specific run of suite without changing all of the tests to explicitly set the future parser option on apply_manifest_on. This allows users to set default flags to be passed to puppet when apply_manifest_on is called in the host file, or in a pre-test step. Example Host file: HOSTS: master: roles: [ 'master', 'agent' ] default_apply_opts: parser: future Example BeakerRSpec spec_helper.rb hosts.each do |host| host[:default_apply_opts] ||= {} host[:default_apply_opts].merge!( :parser => 'future' ) if ENV['FUTURE_PARSER'] == 'true' end ``` ### beaker1.12.2 - 12 Jun, 2014 (a31ba183) * Merge pull request #308 from anodelman/make-gem (a31ba183) ``` Merge pull request #308 from anodelman/make-gem create 1.12.2 gem ``` * create 1.12.2 gem (9d534154) * Merge pull request #306 from branan/qeng_775 (4f601ce7) ``` Merge pull request #306 from branan/qeng_775 (QENG-775) Do not use puppet to stop puppet on older PE on SLES ``` * Merge pull request #307 from anodelman/maint (c0e1e821) ``` Merge pull request #307 from anodelman/maint (MAINT) update nokogiri dependency ``` * (MAINT) update nokogiri dependency (7f4428ff) ``` (MAINT) update nokogiri dependency - Fixes: Unable to resolve dependencies: aws-sdk requires nokogiri (>= 1.4.4); rbvmomi requires nokogiri (>= 1.4.1); beaker requires nokogiri (= 1.5.10); fog requires nokogiri (>= 1.5.11, ~> 1.5) ``` * (QENG-775) Do not use puppet to stop puppet on older PE on SLES (d6edc27b) ``` (QENG-775) Do not use puppet to stop puppet on older PE on SLES A bug in the init script on older versions of SLES causes the init script to kill our `puppet resource` invocation as well as the daemon agent. ``` * Merge pull request #224 from anodelman/fix-default (7fb3468a) ``` Merge pull request #224 from anodelman/fix-default (QENG-597) 'master' DSL helper can return a non-master node... ``` * Merge pull request #273 from electrical/feature/proxy (1565da4a) ``` Merge pull request #273 from electrical/feature/proxy Add option to enable and set package manager proxy url ``` * Merge pull request #294 from smcclellan/remove-unneeded-razor-method (79105ca6) ``` Merge pull request #294 from smcclellan/remove-unneeded-razor-method Removing unnecessary `razor` wrapper function ``` * Removing unnecessary `razor` wrapper function (2694de34) ``` Removing unnecessary `razor` wrapper function The `razor` function was unnecessarily defined in the wrapper, which was overriding a helper definition. ``` * Merge pull request #247 from JHaals/hypervisor (a4d3fd92) ``` Merge pull request #247 from JHaals/hypervisor Support custom hypervisors ``` * Merge pull request #285 from anodelman/pry-support (57830472) ``` Merge pull request #285 from anodelman/pry-support (QENG-695) beaker workflow with pry ``` * Merge pull request #290 from anodelman/remove-expand-path (a6e1c722) ``` Merge pull request #290 from anodelman/remove-expand-path (QENG-40) remove expandpath from file loading in beaker require blocks ``` * (QENG-40) remove expandpath from file loading in beaker require blocks (0ec356f8) ``` (QENG-40) remove expandpath from file loading in beaker require blocks - just use an expected path in requires ``` * (QENG-695) beaker workflow with pry (87807287) ``` (QENG-695) beaker workflow with pry - add pry gem to development environment ``` * Add option to enable and set package manager proxy url (224480d6) ``` Add option to enable and set package manager proxy url With this feature you can set the proxy url for the package manager. Currently supports Yum and Apt package managers. ``` * Support custom hypervisors (230a47b3) * (QENG-597) 'master' DSL helper can return a non-master node... (0121835a) ``` (QENG-597) 'master' DSL helper can return a non-master node... ...when actual master is confined away - change around the logic so that the default node is defined at options parsing, not during test runtime - determine the default node by it either being 1. the node with the role defined as 'default' 2. the master node 3. the only node Then add the role 'default' to that node, if necessary - differentiate between master and default, no longer allow the default to be used as a master if the master is undefined (keep roles clear, the master should only be the node defined as master) ``` ### beaker1.12.1 - 30 May, 2014 (36b14dc7) * Merge pull request #291 from anodelman/make-gem (36b14dc7) ``` Merge pull request #291 from anodelman/make-gem create beaker 1.12.1 gem ``` * create beaker 1.12.1 gem (dfa26942) * Merge pull request #288 from anodelman/options-hash-merge (aa5ab50f) ``` Merge pull request #288 from anodelman/options-hash-merge (QENG-743) Beaker options hash 'merge' should not modify the... ``` * Merge pull request #287 from branan/qeng-740 (0375b148) ``` Merge pull request #287 from branan/qeng-740 (QENG-740) Insert a flag into the options hash when doing a PE upgrade ``` * (QENG-743) Beaker options hash 'merge' should not modify the... (25fa3529) ``` (QENG-743) Beaker options hash 'merge' should not modify the... ...global settings - merge was behaving like merge! - merging two OptionsHash objects should result in a new OptionsHash and not affect the original hashes at all. ``` * (QENG-740) Insert a flag into the options hash when doing a PE upgrade (13d4ffa8) * Merge pull request #279 from electrical/docker_input_validation (30b79043) ``` Merge pull request #279 from electrical/docker_input_validation Log an error when docker image is not set, empty or nil ``` * Merge pull request #283 from mhaskel/osx-mktemp-fix (1c54beae) ``` Merge pull request #283 from mhaskel/osx-mktemp-fix For OSX the order of parameters for mktemp matters. ``` * For OSX the order of parameters for mktemp matters. (bec7d2c5) * (MAINT) Log an error when docker image is not set, empty or nil (9adb1987) * Merge pull request #268 from hunner/add_pm_install (f71cb779) ``` Merge pull request #268 from hunner/add_pm_install Move puppet_module_install out of beaker-rspec ``` * Move puppet_module_install out of beaker-rspec (cb1615d5) ### beaker1.12.0 - 21 May, 2014 (591d3595) * Merge pull request #272 from anodelman/make-gem (591d3595) ``` Merge pull request #272 from anodelman/make-gem update beaker version to 1.12.0 ``` * update beaker version to 1.12.0 (77ae9c7d) * Merge pull request #270 from anodelman/mac-support (e7b4fa98) ``` Merge pull request #270 from anodelman/mac-support add support for pe installation on mac ``` * Merge pull request #267 from branan/el4_is_lame_comma_yo (14b195a7) ``` Merge pull request #267 from branan/el4_is_lame_comma_yo (maint) Do not use puppet to stop agent service on el4 ``` * (QENG-337) additional platform support in beaker (mac osx) (part 2) (a0e6388c) ``` (QENG-337) additional platform support in beaker (mac osx) (part 2) - add spec coverage for mac pe dmg install ``` * (maint) Do not use puppet to stop agent service on el4 (e0181123) * (QENG-337) additional platform support in beaker (mac osx) (56c9540f) ``` (QENG-337) additional platform support in beaker (mac osx) - adding dmg installation support for max osx ``` ### beaker1.11.2 - 16 May, 2014 (f28c387b) * Merge pull request #266 from branan/release_1.11.2 (f28c387b) ``` Merge pull request #266 from branan/release_1.11.2 Bump release version to 1.11.2 ``` * Merge pull request #265 from branan/stop_agent_with_puppet (dd925b7b) ``` Merge pull request #265 from branan/stop_agent_with_puppet (maint) Always use puppet to stop the agent service ``` * Bump release version to 1.11.2 (39cea895) * Merge pull request #254 from nicklewis/root-keys-redirect (65c22a01) ``` Merge pull request #254 from nicklewis/root-keys-redirect Follow redirects to get root keys script ``` * (maint) Always use puppet to stop the agent service (7df657fc) ``` (maint) Always use puppet to stop the agent service Previously, the agent stop used platform-specific init management tools. This is kind of silly, since we know that puppet exists. This simplifies the agent stop to simply use puppet to stop the agent. ``` * Merge pull request #264 from branan/qeng-672 (5e79ed31) ``` Merge pull request #264 from branan/qeng-672 (QENG-672) Ensure beaker checks pe_dir from host as well as pe_ver ``` * (QENG-672) Ensure beaker checks pe_dir from host as well as pe_ver (4ec1a8df) ``` (QENG-672) Ensure beaker checks pe_dir from host as well as pe_ver The previous code for QENG-672 only fixed the version lookup, not the source path lookup. ``` * Merge pull request #263 from daniel-pittman/add-razor-command (d8cab43b) ``` Merge pull request #263 from daniel-pittman/add-razor-command Add `razor` command helper to beaker ``` * Add `razor` command helper to beaker (79bdaf8a) ``` Add `razor` command helper to beaker This adds a helper for testing Razor Signed-off-by: Daniel Pittman ``` * Follow redirects to get root keys script (d2097f53) ``` Follow redirects to get root keys script This URL has changed from raw.github.com to raw.githubusercontent.com, but the curl command wasn't following redirects. This updates the URL and also adds the appropriate flag for redirects to protect against any such future redirects. ``` ### beaker1.11.1 - 15 May, 2014 (f684a724) * Merge pull request #261 from anodelman/make-gem (f684a724) ``` Merge pull request #261 from anodelman/make-gem create beaker 1.11.1 gem ``` * Merge pull request #256 from anodelman/google-cloud (3eb465ea) ``` Merge pull request #256 from anodelman/google-cloud (gh-255) GCE metadata value not specified ``` * create beaker 1.11.1 gem (99d2388c) * Merge pull request #252 from anodelman/maint (552692f0) ``` Merge pull request #252 from anodelman/maint (MAINT) remove spaces before EOL ``` * Merge pull request #257 from anodelman/upgrade-ver (b0588a28) ``` Merge pull request #257 from anodelman/upgrade-ver (QENG-672) Beaker will ignore host-specific pe_dir if a global pe_dir... ``` * Merge pull request #253 from electrical/docker_image_removal (1bd03328) ``` Merge pull request #253 from electrical/docker_image_removal Add option to preserve the built docker image ``` * Merge pull request #246 from justinstoller/feature/master/QENG-514-print_original_command (e42c17c0) ``` Merge pull request #246 from justinstoller/feature/master/QENG-514-print_original_command (QENG-514) Provide the Command Beaker was Ran with in Debug Output ``` * (QENG-672) Beaker will ignore host-specific pe_dir if a global pe_dir... (6338dc34) ``` (QENG-672) Beaker will ignore host-specific pe_dir if a global pe_dir... ... is set - check the individual host version setting first then default to the global options hash ``` * (gh-255) GCE metadata value not specified (85a20877) ``` (gh-255) GCE metadata value not specified - do not set nil/'' values as metaData - do not set metaData at all if there are no values ``` * Add option to preserve the built docker image (85380b03) ``` Add option to preserve the built docker image With the nodeset config option 'docker_preserve_image' we can disable the image deletion. This is useful when running in CI environments and multiple containers are built using the same dockerfile content and re-used allot of times. ``` * (MAINT) remove spaces before EOL (9593ed5d) ``` (MAINT) remove spaces before EOL - cleanup! ``` * Do not destructively consume ARGV (d8796847) ``` Do not destructively consume ARGV Previously we were calling parse! which has the side effect of deleting options from ARGV as it recognizes them. To work around this behavior in previous commits, the desired options needed to be saved before hand. Simply not mutating ARGV is much easier. Also adds a test. ``` * Merge pull request #250 from anodelman/mac-support (63a9c205) ``` Merge pull request #250 from anodelman/mac-support (MAINT) add support for osx ``` * (MAINT) add support for osx (b07fed2c) ``` (MAINT) add support for osx - so far, just add it to the supported platforms list ``` * Merge pull request #244 from justinstoller/maint/master/refactor_parser_tests (448d7d4c) ``` Merge pull request #244 from justinstoller/maint/master/refactor_parser_tests Refactor parser specs to be more robust ``` * Merge pull request #236 from liamjbennett/windows_instalpuppet (aae95824) ``` Merge pull request #236 from liamjbennett/windows_instalpuppet adding support for windows to install_puppet ``` * (QENG-514) Provide the Command Beaker was Ran with in Debug Output (312c7797) ``` (QENG-514) Provide the Command Beaker was Ran with in Debug Output This prints at the end of the run the application & arguments to stdout if log level is debug *or* if the run failed. ``` * Refactor parser specs to be more robust (0bee5099) ``` Refactor parser specs to be more robust This removes unnecessary tests and changes the expected output to only test for the parsed inputs (not testing the default values) ``` * updating install_puppet to support 32-bit windows (005a49c6) * adding support for windows to install_puppet (b9dde43f) ### beaker1.11.0 - 8 May, 2014 (a389e3d1) * Merge pull request #245 from anodelman/make-gem (a389e3d1) ``` Merge pull request #245 from anodelman/make-gem create beaker 1.11.0 gem ``` * create beaker 1.11.0 gem (12553059) * Merge pull request #242 from anodelman/jwt-break (0ae54018) ``` Merge pull request #242 from anodelman/jwt-break (QENG-655) beaker dying on ruby 1.8 with jwt gem version mismatch... ``` * (QENG-655) beaker dying on ruby 1.8 with jwt gem version mismatch... (468f1ff6) ``` (QENG-655) beaker dying on ruby 1.8 with jwt gem version mismatch... ... error from google-api-client - jwt was updated today and caused this break ``` * Merge pull request #239 from mhaskel/allow-el-7 (96bf2669) ``` Merge pull request #239 from mhaskel/allow-el-7 Add ability to run install_puppet with el7. ``` * Add ability to run install_puppet with el7. (bcc1b863) * Merge pull request #234 from liamjbennett/windows_add_module_path (ac676e17) ``` Merge pull request #234 from liamjbennett/windows_add_module_path adding modulepath to apply_manifest_on ``` * Merge pull request #235 from liamjbennett/fix_sshtoroot (3a65fb86) ``` Merge pull request #235 from liamjbennett/fix_sshtoroot fixing ssh_to_root when run on windows ``` * adding yardoc for new option (94d2586a) * fixing ssh_to_root when run on windows (a8180fcf) * adding modulepath to apply_manifest_on (4e2b1f05) * Merge pull request #221 from anodelman/env-fix (dc11aa26) ``` Merge pull request #221 from anodelman/env-fix (QENG-275) redesign beaker's env var support ``` * Merge pull request #233 from anodelman/fix-travis (2c863726) ``` Merge pull request #233 from anodelman/fix-travis (MAINT) travis failing on ruby 1.8 ``` * (MAINT) travis failing on ruby 1.8 (4ccd0efb) ``` (MAINT) travis failing on ruby 1.8 - https://github.com/travis-ci/travis-ci/issues/2217 Ruby 1.8.7 installs ree-1.8.7-2012.02 instead of MRI ``` * Merge pull request #225 from johnduarte/QENG-600 (2ec3aaa7) ``` Merge pull request #225 from johnduarte/QENG-600 (QENG-600) Install lsb-release package if needed ``` * (QENG-600) Change package install call to host.package_install (eb2370fa) * Merge pull request #206 from justinstoller/maint/master/QENG-430-addtl_win_defaults (b658b9ab) ``` Merge pull request #206 from justinstoller/maint/master/QENG-430-addtl_win_defaults (QENG-430) Add moduledir defaults to windows hosts ``` * Merge pull request #223 from cyberious/InstallRootModule (4a140f8a) ``` Merge pull request #223 from cyberious/InstallRootModule Add ability to copy root module out to a host server ``` * Merge pull request #231 from anodelman/1.8-travis-failures (465d62bb) ``` Merge pull request #231 from anodelman/1.8-travis-failures (MAINT) add redcarpet gem for travis errors ``` * (MAINT) add redcarpet gem for travis errors (379a59ff) ``` (MAINT) add redcarpet gem for travis errors - add redcarpet gem (pinned to 1.17.2) required by yard - do not run yard on ruby 1.8 because of this: [error]: Missing 'redcarpet' gem for Markdown formatting. Install it with `gem install redcarpet` ``` * Convert to using options instead of params for copy_root_module_to (a0d73bc9) * Merge pull request #228 from anodelman/yard-travis (85687615) ``` Merge pull request #228 from anodelman/yard-travis (MAINT) add travis coverage for yard docs ``` * Merge pull request #226 from anodelman/yard-fix (5257d02b) ``` Merge pull request #226 from anodelman/yard-fix (MAINT) yard doc errors/warnings ``` * (MAINT) add travis coverage for yard docs (42805fb4) ``` (MAINT) add travis coverage for yard docs - will stop us from checking in yard doc warnings/errors ``` * (MAINT) yard doc errors/warnings (6e734ddd) ``` (MAINT) yard doc errors/warnings - cleaned up any existing yard doc errors and warnings ``` * (QENG-600) Install lsb-release package if needed (ede28dea) ``` (QENG-600) Install lsb-release package if needed For Debian and Ubuntu systems, check if lsb-release package is installed. Install if needed. This package is needed to correctly determine the release packages of puppet to install on the SUT. This package is not present on a minimal Debian 7 installation. ``` * Merge pull request #171 from richardc/docker (a790c0bf) ``` Merge pull request #171 from richardc/docker Add a docker hypervisor ``` * rename extra_commands to docker_image_commands (dfa40d7b) ``` rename extra_commands to docker_image_commands Before all the docker handles were prefixed with docker_ *apart* from the one for extra_commands. For consistency rename it. ``` * Add ability to copy root module out to a host server (b9bd845d) * don't allow docker on ruby 1.8 (063a8183) ``` don't allow docker on ruby 1.8 - don't add the gem 'docker' if using < ruby 1.9 - don't 'require docker' until we are sure that we are loading that class - raise an error if attempting to use the docker hypervisor with ruby < 1.9 ``` * Add moduledir defaults to windows hosts (f2cc22de) * Add spec testing to the docker hypervisor (2c159e77) * Make the mkdir always succeed (76ad591d) ``` Make the mkdir always succeed In some docker images the /var/run/sshd directory already exists, so mkdir will exit non-zero and fail. Change to mkdir -p instead. ``` * Add RHEL variant platforms to docker hypervisor (584c2c81) ``` Add RHEL variant platforms to docker hypervisor When doing PE testing the platform name is used to determine which PE tarball is required. For RedHat Enterprise Linux derivatives the platform identifier is /^el-/ ``` * Handle errors at cleanup of docker resources (a9728382) ``` Handle errors at cleanup of docker resources * catches images and container exceptions * show proper error message from docker ``` * Cleanup intermediate images during image.build (e32f8ee5) ``` Cleanup intermediate images during image.build We always build images to throw them away, so specify { :rm => true } to the build options so we discard the intermediate images too. ``` * Expose logging from docker-api (e2d24b8f) ``` Expose logging from docker-api This commit exposes the logging from docker-api into the normal beaker logging. ``` * Refactor the flow of platform specific actions (a197d7d7) ``` Refactor the flow of platform specific actions The previous flow (using the return value from the case statement) was needlessly complex and caused some confusion. Refactor to add more explicit appends to the dockerfile variable in each when block. ``` * Install ssh clients in the docker hypervisor (0f6f097d) ``` Install ssh clients in the docker hypervisor Some docker base images are seriously stripped down and will not include the ssh client packages. These are normally where the scp and sftp binaries live which are needed in later provisioning steps. ``` * Increase read/write timeouts in the docker hypervisor (e5585675) ``` Increase read/write timeouts in the docker hypervisor This change increases the read and write timeouts to the docker api. By default this is 60 seconds Additionally we use the version assertion from docker-api so we don't try and talk to an incompatible api version. ``` * (QENG-275) redesign beaker's env var support (aa7bb857) ``` (QENG-275) redesign beaker's env var support - move all env vars reading to options parsing - rename beaker env vars to match format BEAKER_*name*, still support old name format for now ``` * Add a `docker_cmd` option to the docker hypervisor (09200f34) ``` Add a `docker_cmd` option to the docker hypervisor This opens up the ability to have the docker container run something closer to an init rather than a simple sshd. This allows the container to behave more like a system under test with fully working service supervision. ``` * Add openSUSE and SLES support to docker hypervisor. (8bae0903) ``` Add openSUSE and SLES support to docker hypervisor. On SUSE variants the package installer is called zypper, so add the RUN statements to install the sshd in terms of zypper. Additionally we need to explictly configure the sshd to allow root login via passwords, bypassing pam. ``` * Add a docker hypervisor (f1634157) ``` Add a docker hypervisor This is a quite simple hypervisor, and only supports linux flavours currently. Many things around inter-node communications will probably not work. The basic approach is we spin up a new image based on an upstream one, add a sshd to it, tag the image with the name of the host and then create a container from it. This container should then be usable as a system under test. The implementation is largely based on both the existing Beaker::Vagrant hypervisor, and docker-kitchen. https://github.com/portertech/kitchen-docker All bugs are mine. Still a few things to do around finding existing nodes, but for now it makes basic enough images that you can run no tests in 11 seconds. $ cat docker-test.yml HOSTS: ubuntu-12-10: platform: ubuntu-12.10-x64 image: ubuntu:12.10 hypervisor: docker CONFIG: type: foss $ time ruby -Ilib ./bin/beaker --hosts docker-test.yml --no-debug { "log_level": "info", "trace_limit": 10, "hosts_file": "docker-test.yml", "options_file": null, "type": "foss", "provision": true, "preserve_hosts": "never", "root_keys": false, "quiet": false, "xml": false, "color": true, "dry_run": false, "timeout": 300, "fail_mode": "slow", "timesync": false, "repo_proxy": false, "add_el_extras": false, "consoleport": 443, "pe_dir": "/opt/enterprise/dists", "pe_version_file": "LATEST", "pe_version_file_win": "LATEST-win", "dot_fog": "/Users/richardc/.fog", "ec2_yaml": "config/image_templates/ec2.yaml", "help": false, "ssh": { "config": false, "paranoid": false, "timeout": 300, "auth_methods": [ "publickey" ], "port": 22, "forward_agent": true, "keys": [ "/Users/richardc/.ssh/id_rsa" ], "user_known_hosts_file": "/Users/richardc/.ssh/known_hosts" }, "HOSTS": { "ubuntu-12-10": { "roles": [ "master" ], "platform": "ubuntu-12.10-x64", "image": "ubuntu:12.10", "hypervisor": "docker", "extra_commands": [ "touch /tmp/foo" ] } }, "helper": [], "load_path": [], "tests": [], "pre_suite": [], "post_suite": [], "install": [], "modules": [], "logger": "#" } Beaker::Hypervisor, found some docker boxes to create Provisioning docker provisioning ubuntu-12-10 Setup: Update /etc/hosts on master with master's ip Add Master entry to /etc/hosts No tests to run for suite 'pre_suite' No tests to run for suite 'tests' No tests to run for suite 'post_suite' Cleanup: cleaning up after successful run Cleaning up docker systest completed successfully, thanks. real 0m11.892s user 0m0.825s sys 0m0.115s ``` ### beaker1.10.0 - 22 Apr, 2014 (fbef5d2b) * Merge pull request #220 from anodelman/make-gem (fbef5d2b) ``` Merge pull request #220 from anodelman/make-gem create beaker 1.10.0 gem ``` * create beaker 1.10.0 gem (07b37988) * Merge pull request #219 from kylog/maint/remove-unneeded-apt-get-install-options (bb199d3e) ``` Merge pull request #219 from kylog/maint/remove-unneeded-apt-get-install-options (maint) Remove unneeded options for 'apt-get update' ``` * (maint) Remove unneeded options for 'apt-get update' (46abba11) ``` (maint) Remove unneeded options for 'apt-get update' Previously apt-get update was invoked with the -y -f -m options. None of these options actually make sense for *update* (though -y makes total sense for *install*). Starting with trusty's apt-get, apt-get actually rejects (at least) -f for apt-get install. So this patch simply removes those unneeded options. ``` * Merge pull request #217 from anodelman/fix-filesort (461dc5ff) ``` Merge pull request #217 from anodelman/fix-filesort (MAINT) correctly sort test files ``` * (MAINT) correctly sort test files (43f58f85) ``` (MAINT) correctly sort test files - turns out that we aren't actually correctly sorting files and this affects how tests are run on hosts. ``` * Merge pull request #216 from anodelman/wrap-ip (935bf5b4) ``` Merge pull request #216 from anodelman/wrap-ip (QENG-486) add easy access to ip address per beaker host ``` * (QENG-486) add easy access to ip address per beaker host (5ab04522) ``` (QENG-486) add easy access to ip address per beaker host - either use the already determined ip address or figure it out through ifconfig/ipconfig ``` * Merge pull request #214 from cyberious/windows_vagrant (e19b0f1d) ``` Merge pull request #214 from cyberious/windows_vagrant Add beaker windows support to auto identify port and guest ``` * Merge pull request #211 from waynr/features/arbitary-puppetservice-name_curl-with-retries (9287c068) ``` Merge pull request #211 from waynr/features/arbitary-puppetservice-name_curl-with-retries Features/arbitary puppetservice name curl with retries ``` * Merge pull request #207 from electrical/future_parser (1022e573) ``` Merge pull request #207 from electrical/future_parser Add future parser as option when applying a manifest ``` * Add beaker windows support to auto identify port and guest (103b00eb) * Merge pull request #203 from kbarber/ticket/master/pdb-554 (e055e6c9) ``` Merge pull request #203 from kbarber/ticket/master/pdb-554 Ticket/master/pdb 554 Fix zombied instances and volumes for EC2 ``` * Merge pull request #209 from anodelman/optional-validation (1fb25d3a) ``` Merge pull request #209 from anodelman/optional-validation (QENG-433) make validation steps in beaker optional ``` * Merge pull request #202 from anodelman/exit-with-xml (43e2f8b0) ``` Merge pull request #202 from anodelman/exit-with-xml (QENG-409) Beaker does not write out JUnit XML when... ``` * Add test and yardoc (d1d7f05e) * PDB-554 Remove wait_for_ssh now the underlying layers handles it (cc9bd071) ``` PDB-554 Remove wait_for_ssh now the underlying layers handles it Signed-off-by: Ken Barber ``` * (QENG-425) Alter with_puppet_running_on logic. (ec2dba43) ``` (QENG-425) Alter with_puppet_running_on logic. Only use initscript to restart if puppetservice is defined. Signed-off-by: Wayne ``` * Merge pull request #205 from anodelman/vmname-confusion (71e3db8e) ``` Merge pull request #205 from anodelman/vmname-confusion (maint) create host.hostname procedure ``` * Merge pull request #197 from anodelman/google-cloud (3666309c) ``` Merge pull request #197 from anodelman/google-cloud (QENG-407) update google compute to differentiate between template and platform ``` * PDB-554 Execute configure_hosts() after wait_for_ssh() (b8a47ead) ``` PDB-554 Execute configure_hosts() after wait_for_ssh() Signed-off-by: Ken Barber ``` * PDB-554 Provide a bare minimum /etc/hosts for Ubuntu 10.04 compatibility (cf1f6760) ``` PDB-554 Provide a bare minimum /etc/hosts for Ubuntu 10.04 compatibility Signed-off-by: Ken Barber ``` * PDB-554 Use ec2's dynamic names (db5f514e) ``` PDB-554 Use ec2's dynamic names This obviates the need for /etc/hosts modification by using the EC2 public names only. Signed-off-by: Ken Barber ``` * PDB-554 Correct handling of /etc/hosts creation and ensure hostnames are set (8d0e76c8) ``` PDB-554 Correct handling of /etc/hosts creation and ensure hostnames are set Signed-off-by: Ken Barber ``` * PDB-554 Use hack_etc_hosts instead and make a wait_for_ssh method (1b7fb16d) ``` PDB-554 Use hack_etc_hosts instead and make a wait_for_ssh method The wait_for_ssh method works around a race during provisioning whereby a machine can come up and be ready for SSH connections, but you will get an authenthentication error if you try to quickly. Signed-off-by: Ken Barber ``` * (QENG-425) Support optional curl_with_retries behavior. (f8410ada) ``` (QENG-425) Support optional curl_with_retries behavior. Specifically, when restarting the puppet master using the initscript/service, allow per-host configuration to specify whether or not to actually wait for the puppet master to listen on port 8140 by attemping to grok with. Try up to 120 times at 1-second intervals. Signed-off-by: Wayne ``` * (QENG-425) Generalize with_puppet_running_on method. (2b56e90a) ``` (QENG-425) Generalize with_puppet_running_on method. Instead of always using pe-httpd as the service name for PE Puppet master, set that as the default and allow customization on a per-host basis (probably through Beaker config). Signed-off-by: Wayne ``` * PDB-554 Decompose #provision and break out amiports into its own class (e8be9cf8) ``` PDB-554 Decompose #provision and break out amiports into its own class Signed-off-by: Ken Barber ``` * Merge pull request #201 from maestrodev/provision-anyway (628d712c) ``` Merge pull request #201 from maestrodev/provision-anyway If provision option is set to false but Vagrantfile not found, then provision anyway ``` * Error early if provision option is set to false but Vagrantfile not found (20ae80b4) ``` Error early if provision option is set to false but Vagrantfile not found User needs to enable provision ``` * (QENG-433) make validation steps in beaker optional (e2fa5239) ``` (QENG-433) make validation steps in beaker optional - turn on/off with -(-no)-validate - defaults to 'true' ``` * Add future parser as option when applying a manifest (6eb69b1e) ``` Add future parser as option when applying a manifest This option can enable the use of the future parser when applying a manifest. I'm not 100% sure though what it will do on older puppet versions that don't support that option. ``` * (maint) create host.hostname procedure (27581ea9) ``` (maint) create host.hostname procedure - convenience method for accessing the hostname of the given host ``` * PDB-554 Set ENV variable jenkins_build_url to ensure test matches (5fffee41) ``` PDB-554 Set ENV variable jenkins_build_url to ensure test matches Signed-off-by: Ken Barber ``` * firewall + ssh fixes for google compute (e45b4694) ``` firewall + ssh fixes for google compute - firewall allows ports 8080/8081 - retry on failure to authenticate errors (happens when google compute boxes haven't successfully spun up yet) ``` * PDB-554 Add image checking and root device setup (5b9b7da1) ``` PDB-554 Add image checking and root device setup Signed-off-by: Ken Barber ``` * (QENG-409) Beaker does not write out JUnit XML when... (5a8b5297) ``` (QENG-409) Beaker does not write out JUnit XML when... ...certain internal exceptions occur - on ruby 1.8 Timeouts are raised as Interrupt (parented by SignalException) instead of out of RuntimeError (which is parented by StandardError) and are thus not being caught appropraitely. - added spec test coverage for correct error reporting ``` * PDB-554 Implement a new EC2 backend and add jenkins_build_url to tags (44e8258a) ``` PDB-554 Implement a new EC2 backend and add jenkins_build_url to tags This patch implements a replacement for the blimpy backend. It replaces the use of blimpy to launch EC2 nodes with the Amazon AWS::EC2 library. This was introduced to provide more control over handling error states, without the granular control of a lower level library we are relying on blimpy to have error handling (which it largely does not). My theory was that we could either improve blimpy to do more, or just replace it with a better driver that allows us to maintain our provisioning code on its own without worrying about an upstream project. Since we don't use blimpy for anything else, and we don't want the delay of having an upstream project release our changes replacement seemed like a better option. The driver is initiated with the hypervisor: ec2 setting in the users template files and is built to match the blimpy behaviour in the way it configures security groups and key pairs. To a reasonable extent users using blimpy right now should be able to switch over with very little change. As an aside, I've also added the ability to pass through the BUILD_URL from a jenkins job as a tag in EC2 (and I've added this code to GCE as well). This allows a better traceback from VM's to a particular job so we can identify zombied jobs better. Signed-off-by: Ken Barber ``` * (QENG-407) update google compute to differentiate between template and platform (b29dcfcd) ``` (QENG-407) update google compute to differentiate between template and platform - assume that the google compute image name will be in host[:image], otherwise default to host[:platform] - fixes up the differentiations between google naming rules and our internal platform naming rules ``` ### beaker1.9.1 - 27 Mar, 2014 (747ee73e) * Merge pull request #196 from anodelman/make-gem (747ee73e) ``` Merge pull request #196 from anodelman/make-gem create beaker 1.9.1 gem ``` * create beaker 1.9.1 gem (edc0a229) ``` create beaker 1.9.1 gem - fix vagrant support ``` * Merge pull request #195 from anodelman/vagrant-etc-hosts (c28beef8) ``` Merge pull request #195 from anodelman/vagrant-etc-hosts (maint) vagrant hypervisor support broken by bad call to hack_etc_hosts ``` * (maint) vagrant hypervisor support broken by bad call to hack_etc_hosts (843135a3) ``` (maint) vagrant hypervisor support broken by bad call to hack_etc_hosts - nertz ``` ### beaker1.9.0 - 26 Mar, 2014 (7feb8327) * Merge pull request #194 from anodelman/make-gem (7feb8327) ``` Merge pull request #194 from anodelman/make-gem create beaker 1.9.0 gem ``` * create beaker 1.9.0 gem (e4e2d9eb) * Merge pull request #151 from anodelman/refactor-fetch (e5fd940d) ``` Merge pull request #151 from anodelman/refactor-fetch (QA-769) Beaker fetch_puppet for PE needs to be refactored ``` * Merge pull request #187 from colinPL/fusion_spec_spanshots (adbc085a) ``` Merge pull request #187 from colinPL/fusion_spec_spanshots (maint) Add spec Tests for Empty Fusion Snapshots ``` * Merge pull request #193 from anodelman/curl-wrapper (c5cce8fd) ``` Merge pull request #193 from anodelman/curl-wrapper (QENG-382) Acceptance tests use curl's default ssl settings ``` * Merge pull request #181 from anodelman/ec2-tags (e6f760d7) ``` Merge pull request #181 from anodelman/ec2-tags (OPS-2548) Cloud Asset Tagging for QA ``` * Merge pull request #167 from anodelman/google-cloud (aed481f0) ``` Merge pull request #167 from anodelman/google-cloud Google cloud support in beaker ``` * (QENG-382) Acceptance tests use curl's default ssl settings (b851da4f) ``` (QENG-382) Acceptance tests use curl's default ssl settings - create curl_on dsl extension, runs curl command with --sslv3 when executing PE tests ``` * Merge pull request #192 from kylog/maint/pin-rake-to-support-ruby-1.8.7 (0ff1f9c2) ``` Merge pull request #192 from kylog/maint/pin-rake-to-support-ruby-1.8.7 (maint) Pin rake to the last version that supported ruby 1.8.7 ``` * (maint) Pin rake to the last version that supported ruby 1.8.7 (5e498b1a) * (maint) Add spec Tests for Empty Fusion Snapshots (2253d688) ``` (maint) Add spec Tests for Empty Fusion Snapshots Add three spec tests to exercise that invalid Fusion snapshots raise the proper errors. ``` * (OPS-2548) Cloud Asset Tagging for QA (919ad9ac) ``` (OPS-2548) Cloud Asset Tagging for QA - add tags for department/project to ec2 - add annotation for department/project to vcloud - add metadata to google compute instances ``` * added yard documentation to google compute code + new platform class (d7b6cebf) ``` added yard documentation to google compute code + new platform class - we like docs! - i should do this more often! - please don't check for grammar ``` * (QA-769) Beaker fetch_puppet for PE needs to be refactored (98490ba0) ``` (QA-769) Beaker fetch_puppet for PE needs to be refactored - just some code clean up, split out windows and unix host PE fetching into two different functions - tested locally on unix-style hosts ``` * split out google compute related code to its own class (0ed3d54c) ``` split out google compute related code to its own class - tidy! ``` * added retry for network failure errors (118b4a15) * add firewall to google default network for given project (6a4cbcbe) ``` add firewall to google default network for given project - to ensure that pe ports are open ``` * google cloud integration (95108d39) ### beaker1.8.2 - 21 Mar, 2014 (0f848be8) * Merge pull request #189 from anodelman/make-gem (0f848be8) ``` Merge pull request #189 from anodelman/make-gem create beaker 1.8.2 gem ``` * create beaker 1.8.2 gem (d97e62db) ``` create beaker 1.8.2 gem - to include alteration of beaker configure/validate post-provisioning steps ``` * Merge pull request #178 from anodelman/configuration-cleanup (7b6b5a84) ``` Merge pull request #178 from anodelman/configuration-cleanup (QENG-310) move various host configuration steps together ``` * (QENG-310) move various host configuration steps together (7d1a7e38) ``` (QENG-310) move various host configuration steps together - remove utils directory, place contents in host_prebuild_steps.rb - update specs to reflect where code was moved - update hypervisor.rb to use default, pre-built steps - addon: remove last reference to systest ``` ### beaker1.8.1 - 19 Mar, 2014 (4de3450e) * Merge pull request #186 from anodelman/make-gem (4de3450e) ``` Merge pull request #186 from anodelman/make-gem create beaker 1.8.1 gem ``` * create beaker 1.8.1 gem (1b674eec) * Merge pull request #185 from branan/use_cmd_for_msiexec (65a0386e) ``` Merge pull request #185 from branan/use_cmd_for_msiexec (maint) Wrap windows PE installation in `cmd /C` ``` * (maint) Install PE on windows synchronously (5bcd04ca) ``` (maint) Install PE on windows synchronously Previously, beaker would call msiexec in a way that would cause it to run asynchronously. This worked pretty much by chance, because beaker did enough other stuff before trying to run puppet on the Windows machine. This wraps the msiexec call in `start /w`, which waits for the installation to finish before continuing. This ensures that puppet is fully installed before beaker continues. ``` * (maint) Wrap windows PE installation in `cmd /C` (08de0d72) ``` (maint) Wrap windows PE installation in `cmd /C` When cygwin converts the posix-style commandline that bash provides to a windows-style one for calling msiexec, it adds quotes around some arguments. These quotes cause msiexec to fail. By wrapping the msiexec invocation in `cmd /C`, we use the windows command interpreter to handle the command line instead of bash/cygwin. This avoids the translation issues introduced by cygwin. ``` ### beaker1.8.0 - 17 Mar, 2014 (0cea9162) * Merge pull request #183 from anodelman/make-gem (0cea9162) ``` Merge pull request #183 from anodelman/make-gem create beaker 1.8.0 gem ``` * create beaker 1.8.0 gem (3d1ca003) * Merge pull request #179 from anodelman/result-object-fix (7fae4e96) ``` Merge pull request #179 from anodelman/result-object-fix (QENG-319) The "result" Object Doesn't Have Promised Attributes ``` * Merge pull request #170 from anodelman/fusion-fixes (b27b57a1) ``` Merge pull request #170 from anodelman/fusion-fixes (QENG-280) beaker throws sort error when it can't locate fusion snapshots ``` * Merge pull request #177 from zaphod42/issue/master/qeng-326-dump-logs-for-shutdown-errors (3fa2f380) ``` Merge pull request #177 from zaphod42/issue/master/qeng-326-dump-logs-for-shutdown-errors (QENG-326) Dump puppet logs on failed shutdown ``` * Merge pull request #180 from hunner/fix_default_agents (cb2306f3) ``` Merge pull request #180 from hunner/fix_default_agents (QENG-328) Only disallow agent-only nodes from using master/database/dashboard roles ``` * Merge pull request #175 from electrical/opensuse (aca94567) ``` Merge pull request #175 from electrical/opensuse Add opensuse to the list ( Its the same as SLES stuff ) ``` * make ntp command configurable per and allow for retries (bbd2d623) * Add regex check here as well (9b54db38) * CLeanup if/elsif to case/when statements (ba0a2486) * Merge pull request #182 from nicklewis/generate_3.3_answers (1e31d730) ``` Merge pull request #182 from nicklewis/generate_3.3_answers Support generating answers for PE 3.3 ``` * Support generating answers for PE 3.3 (e3d933c7) ``` Support generating answers for PE 3.3 For now, these are the same answers as for PE 3.2. ``` * Remove all opensuse references, we only use sles. (e7da7d9b) * (QENG-328) Only disallow agent-only nodes from using master/database/dashboard roles (28e15cdb) * SLES and OpenSuSE are the same. (e74e12f0) ``` SLES and OpenSuSE are the same. Make sure we check and install the right package and call sntp for setting the time ``` * (QENG-326) Ignore errors when dumping logs (9435273d) ``` (QENG-326) Ignore errors when dumping logs If the log dump encounters an error, that error would mask any errors with the teardown of the puppet system. This changes that to log the error from the log dump and continue on as normal. The logs won't be dumped (maybe. depends on where the error was encountered), but the problem will be reported and so will the original teardown problem. ``` * Merge pull request #173 from anodelman/answer-access (7a76fbfa) ``` Merge pull request #173 from anodelman/answer-access (QENG-318) Add interface for introspecting answers ``` * Merge pull request #169 from jpartlow/dont_destroy_callers_opts (a52fbac5) ``` Merge pull request #169 from jpartlow/dont_destroy_callers_opts (maint) Preserve :__commandline_args__ if provided in conf_opts ``` * Merge pull request #158 from electrical/pe_ver_env (100916bd) ``` Merge pull request #158 from electrical/pe_ver_env Add pe_ver ENV variable so we can control it outside the config files. ``` * (QENG-319) The "result" Object Doesn't Have Promised Attributes (789d5004) ``` (QENG-319) The "result" Object Doesn't Have Promised Attributes - to support old tests, yield self on a block with arity of 0 - to support new tests, yield result on a block with arity of 1 ``` * Merge pull request #172 from anodelman/scrub-README (2e60adbe) ``` Merge pull request #172 from anodelman/scrub-README (QENG-309) remove documentation from Beaker README ``` * (QENG-326) Dump puppet logs on failed shutdown (bbd45199) ``` (QENG-326) Dump puppet logs on failed shutdown Right now the puppet logs are only dumped if there was a failure to start the service. That means that when there is a failure on shutdown we are left in the dark. This adds dumping of the logs when a error is raised in the shutdown process. This also improves the FakeHost so that it can support the [] method instead of having a catch-all stub. By implementing the method is makes the fake more resilient to changes and reduces the need for stubs of what is mostly a value object. ``` * Merge pull request #174 from anodelman/file-reading (7ec9d31d) ``` Merge pull request #174 from anodelman/file-reading (QENG-120) Beaker will raise "empty directory used as an option"... ``` * Fix NTP part. (136e97d3) ``` Fix NTP part. Should have looked better at which part installs the ntpdate package. ``` * Add OpenSuse ntp stuff + tests (71780e3c) * Add opensuse to the list ( Its the same as SLES stuff ) (c18b4b37) * (QENG-120) Beaker will raise "empty directory used as an option"... (85d21e12) ``` (QENG-120) Beaker will raise "empty directory used as an option"... ...when a directory does not exist - better error messaging ``` * (QENG-318) Add interface for introspecting answers (4dfdcb04) ``` (QENG-318) Add interface for introspecting answers - when answers are generated add answers to each host object - answers will be accessible at host[:answers][:q_install] ``` * (QENG-309) remove documentation from Beaker README (84895a99) ``` (QENG-309) remove documentation from Beaker README - documentation has all been moved to the github beaker wiki ``` * (QENG-280) beaker throws sort error when it can't locate fusion snapshots (490ee15d) ``` (QENG-280) beaker throws sort error when it can't locate fusion snapshots - add check for snapshot definition per fusion host - add check that snapshot exist per-existing fusion vm ``` * (maint) Preserve :__commandline_args__ if provided in conf_opts (fd6ae04c) ``` (maint) Preserve :__commandline_args__ if provided in conf_opts Oops, made the mistake of rudely ripping :__commandline_args__ from with_puppet_running_on's conf_opts when I first added this bit. This should preserve the :__commandline_args__ for future callers while still keeping it out of the puppet.conf creation step. ``` * Merge pull request #168 from hunner/fix_pooled (08fa63b8) ``` Merge pull request #168 from hunner/fix_pooled (QENG-289) Raise error when template is nil ``` * (QENG-289) Raise error when template is nil (ce839a6b) * Merge pull request #165 from anodelman/convert-platform-version (3d77dbb5) ``` Merge pull request #165 from anodelman/convert-platform-version (QENG-279) add ability to convert from platform version number to ``` * Merge pull request #166 from branan/mutable_maps_suck_2_electric_boogaloo (7bf27a15) ``` Merge pull request #166 from branan/mutable_maps_suck_2_electric_boogaloo (maint) Don't munge the user's opts hash in `on` ``` * Merge pull request #164 from anodelman/ntp-control (63625e22) ``` Merge pull request #164 from anodelman/ntp-control (QENG-278) beaker's ntp_control doesn't really work ``` * Merge pull request #163 from anodelman/set-stacktrace-limit (74f275a4) ``` Merge pull request #163 from anodelman/set-stacktrace-limit (QENG-274) makes number of lines reported in stack trace configurable ``` * (maint) Don't munge the user's opts hash in `on` (ae8f02f4) ``` (maint) Don't munge the user's opts hash in `on` Previously, if the user specified `:environment` in the opts to `on` (or to a higher-level method that passes on opts to `on`), `on` would delete that key when it was called. This not only makes it impossible to call `on` sanely in a loop, but is generally a pretty shitty thing to do to our users' data. This changes the code to not modify the hash. ``` * (QENG-279) add ability to convert from platform version number to (3217a82d) ``` (QENG-279) add ability to convert from platform version number to version codename and back - for debian and ubuntu boxes where this comes up a lot in our automation ``` * (QENG-278) beaker's ntp_control doesn't really work (5a53bf15) ``` (QENG-278) beaker's ntp_control doesn't really work - correctly re-run ntpdate command on failure ``` * (QENG-274) makes number of lines reported in stack trace configurable (86f17764) * Merge pull request #162 from anodelman/pe-install-configuration (d34339aa) ``` Merge pull request #162 from anodelman/pe-install-configuration (QENG-271) ability to set pe_ver/pe_dir as a default ``` * (QENG-271) ability to set pe_ver/pe_dir as a default (ca6a8301) ``` (QENG-271) ability to set pe_ver/pe_dir as a default - just add the check to see if pe_ver is set in options before attempting the version scraper ``` * Add pe_ver ENV variable so we can control it outside the config files. (668be93e) ``` Add pe_ver ENV variable so we can control it outside the config files. This can be handy when you want to test against different PE versions in jenkins for example. ``` ### beaker1.7.0 - 19 Feb, 2014 (0ad045fe) * Merge pull request #160 from anodelman/make-gem (0ad045fe) ``` Merge pull request #160 from anodelman/make-gem create 1.7.0 beaker gem ``` * create 1.7.0 beaker gem (85e47076) * Merge pull request #141 from anodelman/vagrant-mem-size (9ac309b2) ``` Merge pull request #141 from anodelman/vagrant-mem-size (QA-794) make vagrant vm size configurable through beaker ``` * Merge pull request #148 from anodelman/conf-only (54ba4861) ``` Merge pull request #148 from anodelman/conf-only (QA-806) have a means to dump env without running beaker test ``` * Merge pull request #133 from hunner/verbose_default (4b1653ea) ``` Merge pull request #133 from hunner/verbose_default (QA-787) Change default output to verbose ``` * Merge pull request #154 from branan/programmable_upgrades (83a3d4dd) ``` Merge pull request #154 from branan/programmable_upgrades (QA-845) Allow PE upgrade version to be specified in the config ``` * Merge pull request #142 from anodelman/vagrant-1.8 (dbac20fe) ``` Merge pull request #142 from anodelman/vagrant-1.8 (QA-816) beaker vagrant support requires ruby 1.9+ ``` * Merge pull request #153 from colinPL/invalid_dir_name (7bf655f4) ``` Merge pull request #153 from colinPL/invalid_dir_name (QA-841) Windows complains about colons in dir names ``` * (QA-845) Allow PE upgrade version to be specified in the config (e6e05b6e) ``` (QA-845) Allow PE upgrade version to be specified in the config Previously, when doing an upgrade beaker could only get a version by reading the LATEST file. This makes it difficult to track exactly which version is going to be tested in a given test run. By allowing the version to be specified in the config file, we can make sure beaker installs precisely the PE version that we care about for testing. ``` * (QA-841) Windows complains about colons in sir names (6215fe4a) ``` (QA-841) Windows complains about colons in sir names Creating a directory with colons (':') in the name will fail on Windows and prevent beaker from executing tests. This change moves from calling %T to using %H_%M_%S for time-based directory names. ``` * Merge pull request #147 from branan/we_wouldnt_have_this_problem_in_clojure (854adeac) ``` Merge pull request #147 from branan/we_wouldnt_have_this_problem_in_clojure [maint] Do not modify the options hash in apply_manifest_on ``` * (QA-806) have a means to dump env without running beaker test (88f50a08) ``` (QA-806) have a means to dump env without running beaker test - add --parse-only option to dump options and exit, useful for testing ``` * [maint] Do not modify the options hash in apply_manifest_on (391344d6) ``` [maint] Do not modify the options hash in apply_manifest_on 1) This is just poor behavior 2) When an array of hosts is passed, apply_manifest_on is run more than once. In this situation, the first one modifies the options hash and ruins it for all its friends ``` * Merge pull request #139 from branan/command_timestamp (c7a388a4) ``` Merge pull request #139 from branan/command_timestamp (QA-805) Add timestamp to on(host) calls ``` * Merge pull request #144 from kbarber/maint/master/support-fedora-when-determining-ip (de2e015a) ``` Merge pull request #144 from kbarber/maint/master/support-fedora-when-determining-ip Fix regexp for finding ip address for Fedora ``` * Merge pull request #140 from branan/boy_do_i_suck (f76e2a2f) ``` Merge pull request #140 from branan/boy_do_i_suck (maint) apply_manifest_on should still return a value when operating on ... ``` * Fix regexp for finding ip address for Fedora (bd20870f) ``` Fix regexp for finding ip address for Fedora The previous command for finding the IP address of a host: ip a | awk '/g/{print$2}' Picks up all kinds of stray entries, on Amazon Linux for example: # ip a | awk '/g/{print$2}' 109.74.196.121/24 2a01:7e00::f03c:91ff:fe96:e1e4/64 gre0: 0.0.0.0 gretap0: ip6gre0: On a Fedora 20 box hosted in EC2: # ip a|awk '/g/{print$2}' lo: eth0: 10.232.140.48/26 This is because its just looking for the letter 'g' which is not accurate enough. Some interface lines have the word 'group' for example. Changing this to the actual word 'global' seems to solve it: # ip a | awk '/global/{print$2}' 109.74.196.121/24 This has been tested to work on: * Debian 6/7 * Fedora 18, 20 * Amazon Linux * Redhat 5/6 So I believe the behaviour should still be consistent after this change. Signed-off-by: Ken Barber ``` * (QA-816) beaker vagrant support requires ruby 1.9+ (04105fc4) ``` (QA-816) beaker vagrant support requires ruby 1.9+ - remove references to popen3 and use backticks - can we please deprecate ruby 1.8 support? please? ``` * (QA-794) make vagrant vm size configurable through beaker (cee83d07) ``` (QA-794) make vagrant vm size configurable through beaker - add support for a vagrant_memsize in the config file - default to 1024 ``` * (maint) apply_manifest_on should still return a value when operating on an array (ed729178) * (QA-805) Add timestamp to on(host) calls (b741840c) ``` (QA-805) Add timestamp to on(host) calls Previously there was no timestamp, which makes it hard to correlate beaker commands with logs on the SUT. lw5bhs6m2zu4ysb (centos5-64-1) 14:21:44$ which curl /usr/bin/curl lw5bhs6m2zu4ysb (centos5-64-1) executed in 5.99 seconds ``` * Merge pull request #138 from colinPL/gitignore_add_patterns (6d281a45) ``` Merge pull request #138 from colinPL/gitignore_add_patterns (maint) Add new patterns to gitignore ``` * (maint) Add new patterns to gitignore (5bc4ec43) ``` (maint) Add new patterns to gitignore Added new patterns to gitignore for IDEA, rbenv, and vagrant files and folders. The tmp directory patterns were reduced from two to one. ``` * (QA-787) Change default output to verbose (c064ae45) ### beaker1.6.2 - 31 Jan, 2014 (ed048e29) * Merge pull request #137 from anodelman/make-gem (ed048e29) ``` Merge pull request #137 from anodelman/make-gem create beaker 1.6.2 gem ``` * create beaker 1.6.2 gem (665103a3) * Merge pull request #136 from branan/apply_manifest_on_array (23c85a0e) ``` Merge pull request #136 from branan/apply_manifest_on_array (maint) Re-Allow an array of hosts in apply_manifest_on ``` * (maint) Re-Allow an array of hosts in apply_manifest_on (6271538b) ``` (maint) Re-Allow an array of hosts in apply_manifest_on Before it was refactored, apply_manifest_on allowed an array of hosts. The Puppet acceptance tests rely on this behavior, so we need to re-introduce it. ``` ### beaker1.6.1 - 30 Jan, 2014 (468bbb6f) * Merge pull request #135 from anodelman/make-gem (468bbb6f) ``` Merge pull request #135 from anodelman/make-gem create beaker 1.6.1 gem ``` * create beaker 1.6.1 gem (015d2a8a) * Merge pull request #132 from branan/pe_rake_explicit_path (04279591) ``` Merge pull request #132 from branan/pe_rake_explicit_path (maint) Use explicit path to rake when running PE console rake tasks ``` * Merge pull request #134 from branan/fix_32_answers_gen (ce9b1f81) ``` Merge pull request #134 from branan/fix_32_answers_gen (maint) Make the 'database' host available in 3.2 answers gen ``` * (maint) Add test for the 3.2 upgrade answers generation (8c33486c) * (maint) Make the 'database' host available in 3.2 answers gen (da936395) ``` (maint) Make the 'database' host available in 3.2 answers gen Because answers gen does not have access to normal beaker context, the special hosts need to be made available explicitly. ``` * (maint) Use explicit path to rake when running PE console rake tasks (da88c2b4) ``` (maint) Use explicit path to rake when running PE console rake tasks Bundler and/or rake gets confused when we aren't explicit. ``` ### beaker1.6.0 - 30 Jan, 2014 (3787bdb8) * Merge pull request #131 from branan/qa_777 (3787bdb8) ``` Merge pull request #131 from branan/qa_777 (QA-777) Allow beaker to deploy a split PE on version 3.2 ``` * (QA-777) Allow beaker to deploy a split PE on version 3.2 (846f814c) ``` (QA-777) Allow beaker to deploy a split PE on version 3.2 3.2 includes a large database schema change. Part of the schema migration is to validate availability of free space. On split configurations, the dashboard upgrader will ask the user to make sure there is sufficient space on the database node. We need to answer "yes" to this from Beaker. ``` * Merge pull request #130 from anodelman/make-gem (6aa7bb1e) ``` Merge pull request #130 from anodelman/make-gem cut beaker 1.6.0 gem ``` * cut beaker 1.6.0 gem (ff7350fd) * Merge pull request #117 from johnduarte/maint-add-forgeapi-stub (38b014e9) ``` Merge pull request #117 from johnduarte/maint-add-forgeapi-stub Add forgeapi stub to support forge api v3 ``` * Merge pull request #129 from branan/tmpfile_not_tmp (557a4d15) ``` Merge pull request #129 from branan/tmpfile_not_tmp (maint) Use host.tmpfile instead of manually generating file names ``` * Merge pull request #1 from anodelman/maint-add-forgeapi-stub (b8385e1b) ``` Merge pull request #1 from anodelman/maint-add-forgeapi-stub Maint add forgeapi stub ``` * fix for spec test bustage (dcfdea27) * (maint) Use host.tmpfile instead of manually generating file names (42dee62d) ``` (maint) Use host.tmpfile instead of manually generating file names Generating a file name in /tmp/ breaks on windows, where /tmp/ can actually point to a different path depending on if a command is executing in a cygwin or cmd context. ``` * Add forgeapi stub to support forge api v3 (c029dcaf) ``` Add forgeapi stub to support forge api v3 Version 3 of the forge api will have a canonical source at forgeapi.puppetlabs.com. This patch adds this source as a source for the forge stub so that beaker can set the environemnt to respond correctly for both version 1 and version 3 of the api. ``` * Add forgeapi stub to support forge api v3 (60b7bb9b) ``` Add forgeapi stub to support forge api v3 Version 3 of the forge api will have a canonical source at forgeapi.puppetlabs.com. This patch adds this source as a source for the forge stub so that beaker can set the environemnt to respond correctly for both version 1 and version 3 of the api. ``` ### beaker1.5.0 - 29 Jan, 2014 (78db5afb) * Merge pull request #128 from anodelman/make-gem (78db5afb) ``` Merge pull request #128 from anodelman/make-gem create beaker 1.5.0 gem ``` * create beaker 1.5.0 gem (509cae6c) * Merge pull request #124 from anodelman/preserve-on-failue (32114959) ``` Merge pull request #124 from anodelman/preserve-on-failue (QA-723) add preserve hosts on failure option to beaker ``` * Merge pull request #126 from anodelman/no-master (cecb9a58) ``` Merge pull request #126 from anodelman/no-master (QA-775) allows beaker to run with no master defined ``` * (QA-775) allows beaker to run with no master defined (06ad5f18) ``` (QA-775) allows beaker to run with no master defined - what is says on the tin ``` * Merge pull request #125 from branan/heterogenous_frictionless_support (b5471753) ``` Merge pull request #125 from branan/heterogenous_frictionless_support (QA-773) Support installing any frictionless agent on any master ``` * (QA-773) Support installing any frictionless agent on any master (e4afb02f) ``` (QA-773) Support installing any frictionless agent on any master Previously, beaker only supported installing a frictionless agent if it had the same platform as the master. This code allows heterogenous deployments by properly classifying the master for the platform of each frictionless node in the configuration. This is (once again) kind of a quick-and-dirty solution. It'll get cleaned up as part of QA-769, wherein we refactor the mess known as the PE installation code. ``` * (QA-723) add preserve hosts on failure option to beaker (6cf27d80) ``` (QA-723) add preserve hosts on failure option to beaker - still support fast/slow fail modes, in slow mode will continue to attempt to run tests + test suits - create preserve_hosts modes: always = keep 'em around no matter what onfail = only preserve if there was a failure during testing never = kill 'em no matter what - added spec test coverage for these modes ``` ### beaker1.4.1 - 27 Jan, 2014 (bc6a7d32) * Merge pull request #123 from anodelman/make-gem (bc6a7d32) ``` Merge pull request #123 from anodelman/make-gem cut beaker1.4.0 gem ``` * cut beaker1.4.1 gem (7fa876f6) * Merge pull request #122 from branan/fix_windows_pe_installation (1c9bd227) ``` Merge pull request #122 from branan/fix_windows_pe_installation (QA-753) Make sure to still support saving MSIs locally ``` * (QA-753) Make sure to still support saving MSIs locally (064f074f) ``` (QA-753) Make sure to still support saving MSIs locally The initial commit for QA-753 didn't account for the MSI case, which still requires saving the .msi file locally. This adds a save_locally option to the cURL command line, based on whether we're fetch an msi. ``` ### beaker1.4.0 - 24 Jan, 2014 (c24f0194) * Merge pull request #119 from hunner/expect_changes (c24f0194) ``` Merge pull request #119 from hunner/expect_changes Add :expect_changes to apply_manifest_on() ``` * Merge pull request #120 from anodelman/make-gem (543ae22a) ``` Merge pull request #120 from anodelman/make-gem cut a beaker 1.4.0 beaker gem ``` * Merge pull request #121 from nicklewis/PE-2627-use-agent-install.bash (08aed82b) ``` Merge pull request #121 from nicklewis/PE-2627-use-agent-install.bash (PE-2627) Use generic install.bash to install frictionless agents ``` * (PE-2627) Use generic install.bash to install frictionless agents (d8817e4a) ``` (PE-2627) Use generic install.bash to install frictionless agents Rather than use a platform-specific script, we now have a generic install.bash script which can be used to install agents of any platform. Because install.bash downloads the platform-specific script, using it effectively tests the correctness of both scripts. ``` * cut a beaker 1.4.0 beaker gem (f274c927) * Merge pull request #112 from nicklewis/upgrade-frictionless-agents (696d7583) ``` Merge pull request #112 from nicklewis/upgrade-frictionless-agents (PE-2586) Support using frictionless install for upgrades ``` * Add :expect_changes to apply_manifest_on() (80ac33a9) * Merge pull request #108 from hunner/install_puppet (d59e7316) ``` Merge pull request #108 from hunner/install_puppet (QA-720) Provide way to install from public repos ``` * Merge pull request #114 from joshcooper/issue/master/QA747-Add-timing-info (990f685d) ``` Merge pull request #114 from joshcooper/issue/master/QA747-Add-timing-info (QA-747) Log the amount of time each command takes to execute ``` * (QA-747) Log the amount of time each command takes to execute (e814c5c7) ``` (QA-747) Log the amount of time each command takes to execute Previously, there was no way to tell how long each beaker command took to execute on a remote VM. I would like to know this information to track down a timing issue in acceptance testing on Windows. This commit modifies the host object to log timing information when beaker is run in debug mode. It uses the same logging prefix as is used when displaying the executed command, e.g. a4e5hyo2m0ooom1 (master) $ cp /etc/puppet/puppet.conf ... a4e5hyo2m0ooom1 (master) executed in 0.01 seconds ``` * (PE-2586) Support using frictionless install for upgrades (0a30c9b0) ``` (PE-2586) Support using frictionless install for upgrades We now only use frictionless install for versions that support it. This way we can test frictionless upgrade (which is identical to install) from non-frictionless installs of older versions, while also testing it from frictionless installs for versions that support it. ``` * Provide way to install from public repos (aa5048e4) ``` Provide way to install from public repos This commit adds an `install_puppet` DSL method that may be used to simply add the public Puppet Labs repositories and install puppet. ``` ### beaker1.3.2 - 23 Jan, 2014 (39bbbf0c) * Merge pull request #118 from anodelman/make-gem (39bbbf0c) ``` Merge pull request #118 from anodelman/make-gem create beaker 1.3.2 gem ``` * create beaker 1.3.2 gem (ed76fe91) * Merge pull request #97 from anodelman/fix-fatal-errors (9d53714b) ``` Merge pull request #97 from anodelman/fix-fatal-errors (QE-602) Beaker Throws Fatal Error when Displaying Current Version ``` * Merge pull request #116 from hunner/fix_tarball_dl (f96a1ac6) ``` Merge pull request #116 from hunner/fix_tarball_dl Correct specs for QA-753 ``` * Correct specs for QA-753 (e2e8fc25) * Merge pull request #104 from anodelman/pin-rubygems (eeb972c5) ``` Merge pull request #104 from anodelman/pin-rubygems unpin rubygems for travis CI ``` * Merge pull request #103 from anodelman/pin-rbvmomi (a786f358) ``` Merge pull request #103 from anodelman/pin-rbvmomi unpin rbvmomi from 1.6.0 ``` * Merge pull request #115 from branan/pe_tgz_unpack (116a1e9f) ``` Merge pull request #115 from branan/pe_tgz_unpack (QA-753) Don't write or read the PE tarball more than we have to ``` * (QA-753) Don't write or read the PE tarball more than we have to (809e5f37) ``` (QA-753) Don't write or read the PE tarball more than we have to The PE tarball is big and our storage isn't always happy about that. By streaming the tarball unpack, we can avoid a write and then a read of the 800MB tar. On a matrix of 200 nodes, that comes up to 20 million 4K blocks written then read, for no real gain. ``` * Merge pull request #105 from anodelman/vagrant-ip (6a16958b) ``` Merge pull request #105 from anodelman/vagrant-ip (QA-644) Beaker vagrant backend corrupts /etc/hosts when --no-provision is passed ``` * Merge pull request #111 from alexharv074/add_https_install_support (92a6ee4a) ``` Merge pull request #111 from alexharv074/add_https_install_support Add HTTPS support to the link_exists? method ``` * Add HTTPS support to the link_exists? method in Beaker::DSL::InstallUtils. (19144424) * Merge pull request #110 from kurtwall/master (d80eca24) ``` Merge pull request #110 from kurtwall/master Update regex to support internal github mirror ``` * Update regex to support internal github mirror (b3c8c55c) * Merge pull request #107 from hunner/manifest_files (d17b78c6) ``` Merge pull request #107 from hunner/manifest_files (QA-705) Create manifest files to apply ``` * adding spec tests for pulling ip addresses from existing Vagrantfile (78de9675) ``` adding spec tests for pulling ip addresses from existing Vagrantfile - spec tests are good! ``` * (QA-705) Create manifest files to apply (f04bae10) ``` (QA-705) Create manifest files to apply When applying puppet manifests with `puppet apply` beaker will generate the manifest code and send it to `stdin`. This is troublesome for debugging as the actual code is never shown and hard to replicate. This commit causes the manifest code to be stored in a `.pp` file in `/tmp` and apply that file so that it may be viewed and reused when debugging. This is similar to how rspec-system does it. ``` * (QA-644) Beaker vagrant backend corrupts /etc/hosts when --no-provision is passed (b047b9f0) ``` (QA-644) Beaker vagrant backend corrupts /etc/hosts when --no-provision is passed - add support to beaker for determining ip addresses of currently up vagrant hosts through reading the Vagrantfile - if the Vagrantfile doesn't exist or ip addresses can't be determined then quit ``` * pin rubygems to 2.2.1 for travis CI (66dbb126) ``` pin rubygems to 2.2.1 for travis CI - issue with 1.8.7 bustage fixed in rubygems 2.2.1 http://blog.rubygems.org/2014/01/06/2.2.1-released.html ``` * Merge pull request #100 from aperiodic/vagrant-netmask (b4832f3e) ``` Merge pull request #100 from aperiodic/vagrant-netmask Beaker uses netmask from config for vagrant boxes if present ``` * unpin rbvmomi from 1.6.0 (daca9ea6) ``` unpin rbvmomi from 1.6.0 - rbvmomi issue fixed for ruby 1.8.7, should be good to go now ``` * Merge pull request #102 from anodelman/pin-rubygems (2a4bab0a) ``` Merge pull request #102 from anodelman/pin-rubygems Rubygems broke spec for rvm 1.8.7 ``` * Rubygems broke spec for rvm 1.8.7 (93b53b13) ``` Rubygems broke spec for rvm 1.8.7 - Temporary workound until https://github.com/rubygems/rubygems/pull/763 is merged ``` * Beaker uses netmask from config for vagrant boxes if present (4d3ad95a) * (QE-602) Beaker Throws Fatal Error when Displaying Current Version (9840390a) ``` (QE-602) Beaker Throws Fatal Error when Displaying Current Version - just don't do a gemspec load when looking for the version number, thus it doesn't end up calling git-ls, thus no fatal errors ``` ### beaker1.3.1 - 18 Dec, 2013 (08b59809) * Merge pull request #99 from anodelman/make-gem (08b59809) ``` Merge pull request #99 from anodelman/make-gem create 1.3.1 beaker gem ``` * create 1.3.1 beaker gem (8dc431b1) ``` create 1.3.1 beaker gem - pin rbvmomi to 1.6 to avoid bustage ``` * Merge pull request #98 from anodelman/pin-rbvmomi (739658cd) ``` Merge pull request #98 from anodelman/pin-rbvmomi (QA-659) Pin beaker to rbvmomi 1.6.0 ``` * (QA-659) Pin beaker to rbvmomi 1.6.0 (e680d603) ``` (QA-659) Pin beaker to rbvmomi 1.6.0 - pin to rbvmomi 1.6.0 until we can figure out what's broken with latest rbvmomi ``` ### beaker1.3.0 - 13 Dec, 2013 (5815f829) * Merge pull request #96 from anodelman/make-gem (5815f829) ``` Merge pull request #96 from anodelman/make-gem creating beaker 1.3.0 gem ``` * creating beaker 1.3.0 gem (22b63cdc) ``` creating beaker 1.3.0 gem - adding support for --log-level - bug fixes ``` * Merge pull request #86 from anodelman/log-level (f0ff1e76) ``` Merge pull request #86 from anodelman/log-level expanded log level support ``` * Merge pull request #93 from nicklewis/frictionless-agent-install (89dfcbd2) ``` Merge pull request #93 from nicklewis/frictionless-agent-install Install agents using the frictionless agent install ``` * Merge pull request #94 from hunner/catch_changes (6b45fa34) ``` Merge pull request #94 from hunner/catch_changes (QE-613) Add `:catch_changes` to check for manifest resource changes ``` * Merge pull request #85 from anodelman/fix-uri (67dfb36a) ``` Merge pull request #85 from anodelman/fix-uri (QE-588) vcloud_pooled: undefined method `request_uri' ``` * Merge pull request #95 from anodelman/test-order (85a56a6e) ``` Merge pull request #95 from anodelman/test-order (QE-622) Beaker Does not Run Pre-suites in the Order Specified ``` * (QE-622) Beaker Does not Run Pre-suites in the Order Specified (59c4de32) ``` (QE-622) Beaker Does not Run Pre-suites in the Order Specified - move sorting of test files into the option parser - sort directores, keep ordering of items on command line - added additional spec tests to confirm change ``` * Validate that we don't allow frictionless master, etc (30e89d4e) ``` Validate that we don't allow frictionless master, etc Frictionless install is only supported for agent-only installs, so we check that any frictionless node doesn't have any non-agent roles specified. ``` * (QE-613) Add `:catch_changes` to check for manifest resource changes (9edaa60d) ``` (QE-613) Add `:catch_changes` to check for manifest resource changes Many times when testing modules we apply puppet code twice in a row and verify that the second run does not produce any resource changes to verify that the resources are idempotent. The `:catch_changes` option can be used to monitor for this result. ``` * Install agents using the frictionless agent install (1e954247) ``` Install agents using the frictionless agent install This change adds logic for installing using the new curlbash style of agent install. In order to support testing both the old and new styles of install, we add a new agent role of "frictionless", which indicates that the node should be installed in the new style. This simply causes it not to download the PE tarball or generate answer files, and to curl and run a script from the master (based on the platform tag). ``` * Merge pull request #92 from anodelman/make-gem (a41045a4) ``` Merge pull request #92 from anodelman/make-gem release beaker 1.2.0 ``` * (QE-588) vcloud_pooled: undefined method `request_uri' (2640f935) ``` (QE-588) vcloud_pooled: undefined method `request_uri' - ensure that a scheme is defined for the vcloud pooling api uri - if no scheme is defined the uri returned is a simple uri object that does not support the 'request_uri' method ``` * expanded log level support (0259a764) ``` expanded log level support - support the following levels: 5 debug 4 verbose 3 info 2 notify 1 warn - each level reports itself plus the levels under it - added 'info' level that reports in BLUE - 'debug' level adds full stack traces - todo: would like to review our current logging messages and see what needs to be assigned a new level ``` ### beaker1.2.0 - 5 Dec, 2013 (59070752) * release beaker 1.2.0 (59070752) ``` release beaker 1.2.0 - support :expect_failures in apply_manifest_on - various bug fixes ``` * Merge pull request #91 from hunner/apply-manifest-fix (7fcf42b3) ``` Merge pull request #91 from hunner/apply-manifest-fix (QE-598) apply_manifest_on fails if acceptable_exit_codes is not set ``` * Add specs for this bug (a11b7163) * (QE-598) apply_manifest_on fails if acceptable_exit_codes is not set (5a9b0227) ``` (QE-598) apply_manifest_on fails if acceptable_exit_codes is not set - was using 0 instead of [0] as the default acceptable exit code ``` * Merge pull request #89 from hunner/expect_failures (41a82683) ``` Merge pull request #89 from hunner/expect_failures Add `:expect_failures` option ``` * Add `:expect_failures` option (f6b38e5e) ``` Add `:expect_failures` option When performing positive tests of applying manifests, the `#apply_manifest` method may be called with `:catch_failures => true`. This commit also adds an argument of `:expect_failures` to allow `#apply_manifest` to perform negative tests. ``` * Merge pull request #88 from hunner/fix_catch_failures (8aa70bf4) ``` Merge pull request #88 from hunner/fix_catch_failures Fix catch_failures option ``` * Fix catch_failures option (314072e4) ``` Fix catch_failures option If `:catch_failures => true` is supplied and no extra `:acceptable_exit_codes` are supplied, a bug hindered the `#apply_manifest_on` method from performing correctly. ``` * Merge pull request #87 from anodelman/make-gem (c516ed07) ``` Merge pull request #87 from anodelman/make-gem make 1.1.0 gem ``` * make 1.1.0 gem (a631327c) ``` make 1.1.0 gem - includes implementation for everything needed to deploy test packages on top of an installed PE. ``` * Merge pull request #39 from branan/master (b4e583fb) ``` Merge pull request #39 from branan/master RFC: QE-147 and QE-148 ``` * Merge pull request #84 from kbarber/maint/master/retry-blimpy-on-systemcall-errors (eb07eb6f) ``` Merge pull request #84 from kbarber/maint/master/retry-blimpy-on-systemcall-errors Catch SystemCallError during blimpy provision for retry ``` * Catch SystemCallError during blimpy provision for retry (9f09862d) ``` Catch SystemCallError during blimpy provision for retry Previously we were only catching Fog::Errors::Error exceptions, this patch makes sure that system call failures are also caught, so things like connection refused and no route to host which are generally transient, are caught and retried properly. Signed-off-by: Ken Barber ``` * Merge pull request #72 from anodelman/check-platform-set (7dc0dc22) ``` Merge pull request #72 from anodelman/check-platform-set (QE-519) beaker should raise error if host does not have a platform set ``` * Merge pull request #80 from anodelman/hunner (a97c5e18) ``` Merge pull request #80 from anodelman/hunner move VagrantFiles into .vagrant_files directory of working directory ``` * Merge pull request #83 from anodelman/make-gem (9f13ae00) ``` Merge pull request #83 from anodelman/make-gem make 1.0.1 gem ``` * enforcing platform format of OS-VERSION-ARCH (1f4320da) ``` enforcing platform format of OS-VERSION-ARCH - added spec tests to ensure that we correctly sort out bad platform names - will need to write an associated patch to update our node configuration files to meet the new standard ``` * move VagrantFiles into .vagrant_files directory of working directory (745798c3) * documentation for supported HOST settings (590aa14f) * Only update apt repo if needed (3d882250) ``` Only update apt repo if needed Previously, the code would run apt-get update at every package install. This memoizes when apt-get update has been run so we don't need to run it as frequently ``` * (QE-519) beaker should raise error if host does not have a platform set (a4b6e89a) ``` (QE-519) beaker should raise error if host does not have a platform set - beaker tries to do crazy things when hosts aren't on supported platforms, let's check that option right at the start ``` * (QE-147) Add support to deploy package repositories (1acb64e5) * (QE-148) support upgrading packages (e5c27201) ### beaker1.0.1 - 25 Nov, 2013 (70f55b11) * make 1.0.1 gem (70f55b11) * Merge pull request #82 from branan/support_pe_32 (cea4c4f4) ``` Merge pull request #82 from branan/support_pe_32 Add support for PE 3.2 with its new answers requirements ``` * Merge pull request #79 from anodelman/make-gem (344aa275) ``` Merge pull request #79 from anodelman/make-gem pre-release of 1.0.1 beaker ``` * Add support for PE 3.2 with its new answers requirements (90b7afe1) * Merge pull request #76 from justinstoller/merge/handle-missing-puppet.conf (9cc9434b) ``` Merge pull request #76 from justinstoller/merge/handle-missing-puppet.conf handle missing puppet.conf ``` * Merge pull request #71 from justinstoller/pessimistically_version_deps (8730cf06) ``` Merge pull request #71 from justinstoller/pessimistically_version_deps [fixes QE-504] allow Beaker gem to be installed on 1.8 ``` * Merge pull request #73 from jpartlow/maint/master/dump_master_log_only_if_fail_startup (a816006e) ``` Merge pull request #73 from jpartlow/maint/master/dump_master_log_only_if_fail_startup (maint) Dump master puppet log if failed to start puppet. ``` * Merge pull request #77 from hunner/destroy_nothing (9bc67be5) ``` Merge pull request #77 from hunner/destroy_nothing Destroy vagrant hosts only if Vagrantfile exists ``` * Destroy vagrant hosts only if Vagrantfile exists (f0c298f3) ``` Destroy vagrant hosts only if Vagrantfile exists The new `vagrant destroy --force` run during the vagrant hypervisors `provision` method added in #48 seems to fail if no `Vagrantfile` has ever been created for a nodeset. This fixes that. ``` * Use Beaker::Command when working within hosts (6551ca6d) * (maint) Dump master puppet log if failed to start puppet. (64254fc4) ``` (maint) Dump master puppet log if failed to start puppet. Centralize logging after puppet master fails to start. ``` * Define host method to check for file existence (84bf88c0) * Pessimistically lock down runtime and transitive dependencies (8c76afcc) * Gracefully handle lack of puppet.conf (faff7721) ``` Gracefully handle lack of puppet.conf When `#with_puppet_running_on` is executed, it attempts to back up puppet.conf and replace it for the duration for the test. The old behavior of the code would always try to back up the file regardless of the existence of the file, and would fail when the copy failed. This commit ensures that the puppet.conf file is only backed up when present, and the temporary puppet.conf is returned to the original state when the method returns. ``` ### beaker1.0.1pre - 20 Nov, 2013 (8cffaf28) * pre-release of 1.0.1 beaker (8cffaf28) * Merge pull request #78 from hunner/fact_on (8d3fcbb5) ``` Merge pull request #78 from hunner/fact_on Rename `fact` to `fact_on` for uniformity ``` * Rename `fact` to `fact_on` for uniformity (54194ede) ``` Rename `fact` to `fact_on` for uniformity The DSL method `fact` was recently added, but most dsl methods take the form of `_on` for multi-node functions and `` for running on a default node. This makes `fact_on()` run on designated nodes, and `fact()` run on the default node. ``` * Merge pull request #57 from anodelman/vcloud-cleanup (ec5a38e3) ``` Merge pull request #57 from anodelman/vcloud-cleanup (QE-439) beaker is not catching rbvmomi exceptions when cleaning up vCloud VMs ``` * Merge pull request #70 from anodelman/silence-test-unit (0f40839e) ``` Merge pull request #70 from anodelman/silence-test-unit (QE-46) Beaker includes Test::Unit specific code ``` * Merge pull request #67 from anodelman/add-version (5efd2da5) ``` Merge pull request #67 from anodelman/add-version (QE-502) beaker should support --version ``` * Merge pull request #56 from anodelman/facter-shortcut (7df75012) ``` Merge pull request #56 from anodelman/facter-shortcut (QE-364) have beaker 'chomp' stdout from execution result ``` * Merge pull request #51 from anodelman/vagrant-error-out (c2d6185c) ``` Merge pull request #51 from anodelman/vagrant-error-out (QE-451) stop run when vagrant commands fail ``` * Merge pull request #48 from anodelman/fix-vagrant (1959b6f1) ``` Merge pull request #48 from anodelman/fix-vagrant (QE-204) allow for use of local vagrant file when using --no-provision ``` * (QE-46) Beaker includes Test::Unit specific code (d88e1928) ``` (QE-46) Beaker includes Test::Unit specific code - this was an issue with test::unit having autorun on by default, resulting in log spew when shutting down beaker ``` * Merge pull request #69 from branan/socket_timeout_fixup (15b6a774) ``` Merge pull request #69 from branan/socket_timeout_fixup [QE-498] Fix port_open? on linux ``` * [QE-498] Fix port_open? on linux (bcfb82cb) ``` [QE-498] Fix port_open? on linux The previous fix for QE-498 apparently relied on some platform-specific behavior around async sockets. This goes back to the old blocking socket method, but keeps the new behavior around socket timeouts. ``` * Merge pull request #68 from anodelman/missing-gem (9e73cc52) ``` Merge pull request #68 from anodelman/missing-gem (QE-501) beaker raises warning about missing gem (unf) ``` * (QE-501) beaker raises warning about missing gem (unf) (d7d0e731) ``` (QE-501) beaker raises warning about missing gem (unf) - adding missing gem broke platform testing - commenting out offending line in beaker.gemspec, it can easily be flipped back on if desired ``` * (QE-502) beaker should support --version (dbb13faf) * Merge pull request #64 from anodelman/make-gem (dd89f4d1) ``` Merge pull request #64 from anodelman/make-gem create beaker 1.0.0 gem ``` * Merge pull request #65 from anodelman/port-open (1f537b19) ``` Merge pull request #65 from anodelman/port-open (QE-498) with_puppet_running_on can fail if TCP handshake takes > 1s ``` * Merge pull request #66 from anodelman/missing-gem (607f2baf) ``` Merge pull request #66 from anodelman/missing-gem (QE-501) add missing gem 'unf' ``` * (QE-501) add missing gem 'unf' (d4cf39ba) * (QE-498) with_puppet_running_on can fail if TCP handshake takes > 1s (3d561b84) ``` (QE-498) with_puppet_running_on can fail if TCP handshake takes > 1s - found solution online using non-blocking sockets, work locally ``` * Merge pull request #60 from adrienthebo/quote-bash-conditional-arguments (22d04f1a) ``` Merge pull request #60 from adrienthebo/quote-bash-conditional-arguments Quote ruby interpolated data in bash commands ``` * Merge pull request #62 from justinstoller/pooling-again (e7c01681) ``` Merge pull request #62 from justinstoller/pooling-again Pooling again ``` * Merge pull request #59 from justinstoller/18test (032f6fee) ``` Merge pull request #59 from justinstoller/18test Test on 1.8.7 ``` * test, refactor, and improve option hash printing (25fd8ae3) * Quote ruby interpolated data in bash commands (fa0af43b) ``` Quote ruby interpolated data in bash commands Bash conditionals demonstrate strange behaviors when not given an arg. Given the following: if [ -f ]; then echo "how did I get here?" fi #=> how did I get here? Wrapping ruby interpolated variables in quotes act as expected: if [ -f '' ]; then echo "how did I get here?" else echo "the empty string is not a file" fi #=> the empty string is not a file The moral of the story is that bash exists to make everybody sad. ``` * PR comment improvements (3f1df347) * Fix vcloud work to be 1.8 compat (3d73698a) * fix deprecation warnings with RSpec 2.14 (8dbcee1a) * Bump RSpec version (017ff432) * actually test Solaris "hypervisor" (ddb61db3) * fixup Beaker::Options::OptionsHash specs on 1.8.7 (3d81b32d) * fixup Beaker::DSL::Roles specs on 1.8.7 (03fffe88) * fixup Beaker::PuppetCommand specs on 1.8.7 (9bcfa6a6) * fixup Beaker::Host specs on 1.8.7 (08197424) * capture the correct Exception for bad YAML files on 1.8.7 (31c24a24) * fixup Beaker::DSL::InstallUtils specs on 1.8.7 (cd79851d) * fixup Beaker::DSL::Helpers specs on 1.8.7 (998448f9) * (QE-439) beaker is not catching rbvmomi exceptions when cleaning up vCloud VMs (7857d143) ``` (QE-439) beaker is not catching rbvmomi exceptions when cleaning up vCloud VMs - catch RbVmomi::VIM::ManagedObjectNotFound and handle appropriately ``` * remove deprecated beaker.rb (c7ededce) * add 1.8.7 to the travis matrix (65b62f0b) * pass tasks instead of objectSet to wait_for_tasks (30f2288d) * repair spec test (9f7d2863) * cleaner re-use of vagrant boxes, review comment fixes (f130c2d6) * add retry for failure to find host in pool (4f9c928a) ``` add retry for failure to find host in pool - will retry until timeout to grab pooled box for a given host - raises readable error upon failure to allocated pooled host ``` * remove race condition upon vm cloning, general cleanup (4e45e456) * make vcloud hypervisor code better (5c8b1da9) ``` make vcloud hypervisor code better - break out pooled vs. non-pooled code - break up long proceduces - avoid code duplication ``` * (QE-364) have beaker 'chomp' stdout from execution result (f9d0f84a) ``` (QE-364) have beaker 'chomp' stdout from execution result - create dsl helper to access facter facts ``` * (QE-451) stop run when vagrant commands fail (5e1b08d1) ``` (QE-451) stop run when vagrant commands fail - check exit codes of vagrant commands - raise an error if vagrant commands fail ``` * (QE-204) allow for use of local vagrant file when using --no-provision (0da2d66f) ``` (QE-204) allow for use of local vagrant file when using --no-provision - use already set up vagrant boxes when running with --no-provision ``` * fixes in response to review comments (29df8b50) * vCloud host-pooling (2b974cfb) ``` vCloud host-pooling - This PR enabled the use of the "pooling_api" configuration parameter: - spec tests for vsphere/vcloud hypervisors ``` ### beaker1.0.0 - 8 Nov, 2013 (c85186b7) * create beaker 1.0.0 gem (c85186b7) ``` create beaker 1.0.0 gem - include vpooling work ``` * Merge pull request #55 from justinstoller/maint/master/revert-vpooling (bed4ff69) ``` Merge pull request #55 from justinstoller/maint/master/revert-vpooling Revert "Merge pull request #38 from anodelman/vcloud-pooling" ``` * Revert "Merge pull request #38 from anodelman/vcloud-pooling" (b4b7143a) ``` Revert "Merge pull request #38 from anodelman/vcloud-pooling" This reverts commit 0f2ffc5e15fe9503518b01d2b92be40fdf6dc74c, reversing changes made to 6ccbe4c80100715c934b0df475a0739e7cbf038b. ``` * Merge pull request #38 from anodelman/vcloud-pooling (0f2ffc5e) ``` Merge pull request #38 from anodelman/vcloud-pooling vCloud host-pooling ``` * pass tasks instead of objectSet to wait_for_tasks (e9c2733d) * add retry for failure to find host in pool (ccb0ae68) ``` add retry for failure to find host in pool - will retry until timeout to grab pooled box for a given host - raises readable error upon failure to allocated pooled host ``` * Merge pull request #53 from jpartlow/issue/master/fix_windows_group_list_allowed_characters (6ccbe4c8) ``` Merge pull request #53 from jpartlow/issue/master/fix_windows_group_list_allowed_characters Relax regex for windows group names ``` * remove race condition upon vm cloning, general cleanup (d4011c9e) * Relax regex for windows group names (f008ca55) ``` Relax regex for windows group names Windows::Group.group_list was only recording group names matching /[\w ]/, but windows groups have a much larger set of valid characters (http://technet.microsoft.com/en-us/library/bb726984.aspx). This was causing a failure on a Windows 2012 template which had a group with a '-' in it. Instead of trying to specify what is valid, accept whatever the wmic group indicates is a group, since it should know. ``` * Merge pull request #52 from jpartlow/issue/master/determine_windows_arch_for_2003_through_2012 (0534ce72) ``` Merge pull request #52 from jpartlow/issue/master/determine_windows_arch_for_2003_through_2012 Identify os architecture on windows 2003, 2008, 2012 ``` * make vcloud hypervisor code better (b6424e2a) ``` make vcloud hypervisor code better - break out pooled vs. non-pooled code - break up long proceduces - avoid code duplication ``` * Merge pull request #50 from anodelman/hunner (86d2ed47) ``` Merge pull request #50 from anodelman/hunner potential fix for failing travis tests ``` * Merge pull request #49 from anodelman/missing-msg (3ade22a6) ``` Merge pull request #49 from anodelman/missing-msg remove use of undefined variable 'msg' ``` * Merge pull request #46 from anodelman/fix-hypervisor-cleanup (0576fb1d) ``` Merge pull request #46 from anodelman/fix-hypervisor-cleanup (QE-440) beaker hypervisor creator not returning hypervisor object ``` * Identify os architecture on windows 2003, 2008, 2012 (b844f41d) ``` Identify os architecture on windows 2003, 2008, 2012 Previous tests relied on wmi os osarchitecture property, which is not present on Windows 2003. Now we check osarchitecture first, and use its result if successful. If that attempt fails we fall back to grepping the wmi os name property for an x64 string. ``` * Merge pull request #44 from justinstoller/maint/master/one_more_time_with_feeling (5e14a7f7) ``` Merge pull request #44 from justinstoller/maint/master/one_more_time_with_feeling add back signing of dns-alt-name certs ``` * potential fix for failing travis tests (81d7eee0) * remove use of undefined variable 'msg' (509abbf5) * Merge pull request #47 from jpartlow/issue/master/windows_package_install_fails_testing_result (030f6ebb) ``` Merge pull request #47 from jpartlow/issue/master/windows_package_install_fails_testing_result Correctly determine win arch for installing packages. ``` * Correctly determine win arch for installing packages. (6892acbb) ``` Correctly determine win arch for installing packages. My previous implementation had a bug in that it expected execute to return a result object. Instead, execute exposes the result object to a passed block. So now we check the result within a block and set rootdir and cygwin executable there. ``` * Merge pull request #41 from hunner/single_exit_codes (d124332f) ``` Merge pull request #41 from hunner/single_exit_codes Allow single exit codes ``` * (QE-440) beaker hypervisor creator not returning hypervisor object (a4407e2d) * Merge pull request #45 from anodelman/187-mimetypes (2f12fdd0) ``` Merge pull request #45 from anodelman/187-mimetypes (QE-428) bundle install fails on Ruby 1.8.7 because of new mime-types 2.0 dependency requiring 1.9.2 ``` * (QE-428) bundle install fails on Ruby 1.8.7 because of new mime-types 2.0 dependency requiring 1.9.2 (fd70a79c) ``` (QE-428) bundle install fails on Ruby 1.8.7 because of new mime-types 2.0 dependency requiring 1.9.2 - add entry to gemspec to use mime-types 1.25 with ruby 1.8.7 ``` * fixes in response to review comments (adf10c49) * add back signing of dns-alt-name certs (b57f3a6c) * Revert "QE-364 Clean up line endings" (a1c40a10) ``` Revert "QE-364 Clean up line endings" This reverts commit 38d7810ee26b74656344eba429e1826031a4b1df. Signed-off-by: Ken Barber ``` * Merge pull request #43 from kylog/feature/add-hostname-to-dns-exception (8cd4649d) ``` Merge pull request #43 from kylog/feature/add-hostname-to-dns-exception Add hostname to dns exception ``` * Merge pull request #40 from hunner/chomp_lineendings (4607f820) ``` Merge pull request #40 from hunner/chomp_lineendings QE-364 Clean up line endings ``` * Merge pull request #42 from kbarber/maint/master/yarddocs-answers (93336666) ``` Merge pull request #42 from kbarber/maint/master/yarddocs-answers Add yarddocs to beaker/answers* modules ``` * Merge pull request #33 from anodelman/default-host-support (da359c35) ``` Merge pull request #33 from anodelman/default-host-support QE-361 support using a default host in tests ``` * Add hostname to dns exception (97dd071a) ``` Add hostname to dns exception Without this patch the exception message on dns failures looks like: DNS resolution failed after 300 seconds (RuntimeError) This patch adds the hostname, possibly helpful for troubleshooting infrastructure failures. ``` * Add yarddocs to beaker/answers* modules (0cc49ef8) ``` Add yarddocs to beaker/answers* modules This just documents those 4 files with yard-docs. Also fixed some minor style issues. Signed-off-by: Ken Barber ``` * Allow single exit codes (00bc74c3) ``` Allow single exit codes When using `:allowed_exit_codes` it is cumbersome to always have an array of specified values. This change allows `:allowed_exit_codes => 1` to be used. ``` * QE-364 Clean up line endings (38d7810e) ``` QE-364 Clean up line endings When using `Beaker::Command` helpers such as `facter()` or even `on()` the resulting output is often a single line and of interest for its value. The newline returned at the end of the line is not relevant to interests and ends up getting `.chomp` called on it in almost every case. This change chomps the final newline off of stdout and stderr output so that tests can be more simply written without having to `.chomp` ``` * Merge pull request #37 from hunner/ip_space (e50fb002) ``` Merge pull request #37 from hunner/ip_space Avoid using 192.168.0.0/16 ``` * vCloud host-pooling (d4351a3c) ``` vCloud host-pooling - This PR enabled the use of the "pooling_api" configuration parameter: - spec tests for vsphere/vcloud hypervisors ``` * Avoid using 192.168.0.0/16 (de49ec64) ``` Avoid using 192.168.0.0/16 When using 192.168.0.0/16 address space on a 192.168.x.0/24 NAT'd network (such as most home routers) VirtualBox will complain that the virtual private network overlaps with an existing network and refuses to start the VMs. 10.255.0.0/16 is a less-likely to conflict range, though not perfect. ``` * Merge pull request #35 from anodelman/utils-shared-spec (7a6eb411) ``` Merge pull request #35 from anodelman/utils-shared-spec spec test coverage for utils/ and shared/ ``` * Merge pull request #36 from hunner/avoid_ip_1 (a8bb71e3) ``` Merge pull request #36 from hunner/avoid_ip_1 Avoid IPs ending in .0, .1, or .255 ``` * Avoid IPs ending in .0, .1, or .255 (d5aca5be) ``` Avoid IPs ending in .0, .1, or .255 Vagrant 1.2.5 and later do not allow IPs ending in `.1`, in addition to the usual limitations of `.0` or `.255`. ``` * Merge pull request #28 from anodelman/hyper-spec (c4a52401) ``` Merge pull request #28 from anodelman/hyper-spec spec test coverage for hypervisors ``` * modified to use make_host/make_hosts methods in helpers.rb (a08c3a74) ``` modified to use make_host/make_hosts methods in helpers.rb - more general cleanup ``` * review fixes and changes (6dfc7f50) * review comments + shifting other spec tests to centralized host creation (4f1c79cf) ``` review comments + shifting other spec tests to centralized host creation - now that we have make_hosts the rest of the specs should use it - cleanup! ``` * Merge pull request #30 from anodelman/win64 (536f8c8f) ``` Merge pull request #30 from anodelman/win64 QE-348 - beaker can't run puppet on 64 bit windows hosts ``` * fixes for hyperviser spec tests (14613ce6) ``` fixes for hyperviser spec tests - move shared code to helpers.rb - general cleanup ``` * QE-361 support using a default host in tests (fc890412) ``` QE-361 support using a default host in tests - create a default host - support using the role as a valid host in calls to #on eg, on 'loadbalancer', "echo hello" - create shell command to run on default host - provide matchin commands to *_on - spec tests for new commands, some backfill ``` * Merge pull request #32 from justinstoller/bug/master/allow_2 (260e204a) ``` Merge pull request #32 from justinstoller/bug/master/allow_2 Allow 2 as exit code when non-agent cert submit ``` * Allow 2 as exit code when non-agent cert submit (d7bdf632) ``` Allow 2 as exit code when non-agent cert submit We have nodes with more-than-just-an-agent ensure they've checked in prior to signing certs (in case they do not follow default naming schemes). Unfortunately in some cases the agent will also change the system, returning 2. This is valid behavior. ``` * Merge pull request #31 from branan/3x_answers (a7028cd1) ``` Merge pull request #31 from branan/3x_answers Use PE 3.0 answer gen for all 3.X ``` * Merge pull request #27 from justinstoller/maint/master/breaking_my_world (1fe1e18d) ``` Merge pull request #27 from justinstoller/maint/master/breaking_my_world work with separate master/agent certs on master ``` * Use PE 3.0 answer gen for all 3.X (c633f897) * Merge pull request #29 from anodelman/sles-pkg-install (8ad0a222) ``` Merge pull request #29 from anodelman/sles-pkg-install support for package installation on sles SUTs ``` * fixup spec test (ef5596b3) * fix per branans comments (3986c29e) * QE-348 - beaker can't run puppet on 64 bit windows hosts (0f3a2a42) ``` QE-348 - beaker can't run puppet on 64 bit windows hosts - use "Program Files" on win32 windows host - use "Program Files (x86)" on win64 windows host ``` * support for package installation on sles SUTs (d3d76b31) ``` support for package installation on sles SUTs - using 'zypper in' for installation - using 'zypper rm' for removal ``` * ensure weve requested a cert.... (bb544522) * fix for fusion specs run on non-mac (39dc7d27) * creation of /shared spec tests (59771de8) * creation of utils/ spec tests (27c6289f) * work with separate master/agent certs on master (5f22d48b) ``` work with separate master/agent certs on master This makes sure the agent's server is the same as the master's certname and will sign the console/master/database cert in case an agent on those boxes has a unique cert ``` * Merge pull request #26 from anodelman/do-cleanup (fffe7b39) ``` Merge pull request #26 from anodelman/do-cleanup move validation to main testing loop - ensures cleanup on failure ``` * Merge pull request #25 from anodelman/keyfile (bde5539c) ``` Merge pull request #25 from anodelman/keyfile fix for not using --keyfile specified in an options file ``` * move validation to main testing loop - ensures cleanup on failure (619e5a7a) * fix for not using --keyfile specified in an options file (8e164809) * Merge pull request #22 from anodelman/yield-result (f3519eb6) ``` Merge pull request #22 from anodelman/yield-result (QE-245) Execution results should be available inside a block ``` * creation of solaris spec tests (65bfd96d) * creation of aixer spec tests (41e4091a) * creation of blimper spec tests (d7615cee) * Merge pull request #14 from jpartlow/issue/master/with_puppet_running_on (0652d413) ``` Merge pull request #14 from jpartlow/issue/master/with_puppet_running_on Issue/master/with puppet running on ``` * creation of vagrant spec tests (61a5c2a2) * Allow solaris as master for non-pe tests. (651c6aad) ``` Allow solaris as master for non-pe tests. Foss acceptance tests historically check solaris as a master. This changes the options parser normalization to allow solaris hosts the master role if the run type is not pe. ``` * spec test fixes for testing yielding in #on (7b92102e) * (maint) Break up mocks_and_helpers (e43d84f8) ``` (maint) Break up mocks_and_helpers There is a spec/mocks, helpers and matchers file now included by spec_helper. Additional mock class and matcher from dsl/helpers_spec have been moved into them as well. ``` * (maint) Confine execute_commands_matching matcher to FakeHost (fd2969e0) ``` (maint) Confine execute_commands_matching matcher to FakeHost The matcher only works with the FakeHost mock. This just tests that condition before attempting the test. ``` * spec tests for stdout/stderr/exit_code values after calling on (793057b2) * creation of fusion spec tests (dfe81660) * Merge pull request #24 from justinstoller/bug/master/QE311-undefined_wait (74610f21) ``` Merge pull request #24 from justinstoller/bug/master/QE311-undefined_wait (QE-311) Bring just Scott's fix in (closes #20) ``` * Merge pull request #23 from anodelman/vagrant-file (19cd2931) ``` Merge pull request #23 from anodelman/vagrant-file fix for changed option name (:config to :hosts_file) ``` * Merge pull request #21 from anodelman/beaker-rspec (e20ea5a8) ``` Merge pull request #21 from anodelman/beaker-rspec Revert "Merge pull request #17 from anodelman/beaker-rspec" ``` * fix for changed option name (:config to :hosts_file) (9765c75a) ``` fix for changed option name (:config to :hosts_file) Was causing error when using vagrant SUTs ``` * (QE-245) Execution results should be available inside a block (3a5f9ec2) ``` (QE-245) Execution results should be available inside a block Moving accessors out of test_case and into the dsl so that beaker-rspec will be able to access them ``` * Merge pull request #15 from anodelman/multi-version (b3df7aac) ``` Merge pull request #15 from anodelman/multi-version Multi-version PE installation ``` * Revert "Merge pull request #17 from anodelman/beaker-rspec" (2b9edf69) ``` Revert "Merge pull request #17 from anodelman/beaker-rspec" This reverts commit 90c2642b4ad2323cb6c9fe642d7befdf5af7168a, reversing changes made to 18cef9f78a3d3be4963bbde32cb394c70a83641f. This change was ineffective and did not actually allow for the use of the host-file env var. ``` * spacing fixes in new spec tests (37f01eda) * spec tests for install_utils and answers.rb (742b82c1) ``` spec tests for install_utils and answers.rb - increasing spec test coverage of new functionality ``` * (maint) Correct solaris 11/10 package install/uninstall (8751772a) ``` (maint) Correct solaris 11/10 package install/uninstall Solaris has different package handling between 11 and 10. We were correct on install for Solaris 11, but uninstall was Solaris 10. Now differentiate between the two with the correct package handlers for 11 and 10 respectively. This also corrects a bug checking for existing packages in Solaris 10. The which command returns an exit code of 0, even if the command is not found. So we're testing stdout explicitly to see if a path to command was returned. ``` * (maint) Remove reference to nonexistent puppetpath. (a99173bb) ``` (maint) Remove reference to nonexistent puppetpath. This would have failed if no backup_file was provided. Now backup_file is required without default. ``` * Use @options[:timeout] instead of wait (747bde15) * Merge pull request #12 from hunner/hide_vagrantfile (c5e3840c) ``` Merge pull request #12 from hunner/hide_vagrantfile I had a closer look at the code and this looks good. Merging. ``` * spec test fix (d673c27f) ``` spec test fix - needed to add new command line argument ``` * further review comment fixes (aacf9170) ``` further review comment fixes - make do_install @api private - fix spec tests ``` * Merge pull request #17 from anodelman/beaker-rspec (90c2642b) ``` Merge pull request #17 from anodelman/beaker-rspec allow for setting the hosts file from an ENV var ``` * (maint) Check that puppet's master process has finished (2b1bb515) ``` (maint) Check that puppet's master process has finished This avoids occasional errors where the next test's with_puppet_running_on tries to start a new master before the previous test's has shutdown completely. ``` * use 3.0 answer files for 3.1 builds (facef385) * fix for bug found by branan when generating answer file for an upgrade (e87db4b2) ``` fix for bug found by branan when generating answer file for an upgrade - need to correctly make the answers file for the upgrade version, not the current version - also update the host pe_ver post-upgrade to reflect the new state ``` * Merge pull request #18 from puppetlabs/timeout_option (18cef9f7) ``` Merge pull request #18 from puppetlabs/timeout_option Allow a --timeout option for vCloud provisioning ``` * Merge pull request #16 from kbarber/travis-ci-support (5f453bd9) ``` Merge pull request #16 from kbarber/travis-ci-support Add .travis.yml for initial travis CI support ``` * Add a 'vCloud only' note (58ae01bb) * more review comment fixes (fb14b74c) ``` more review comment fixes - repaired broken spec tests from option parsing change - edits to yard docs ``` * (maint) Echo empty string to wmic for stdin (7db5ac15) ``` (maint) Echo empty string to wmic for stdin wmic on 2003, at least, blocks waiting on standard in. This change gives it something to consume so that it continues. ``` * Allow a --timeout option for vCloud provisioning (09821fcb) * Add a method to confine hosts for a specific test block (d1e26942) ``` Add a method to confine hosts for a specific test block The Beaker::DSL::Helpers#confine method would change the test's array of hosts at the point it was called, and any subsequent tests or tear down blocks would only operate on that restricted subset of hosts. This patch adds a confine_block method which allows you to confine hosts for a specific block of code, ensuring that the hosts array is reset to its original value after the block is done. This allows you to confine a subset of a test, but still have a teardown clean up all hosts, for example. ``` * code review improvements (806a5d46) ``` code review improvements - yard documentation for install and upgrade - moved pe_ver and pe_dir discovery to install_pe and out of option parsing (only do it if you need it) - changed answer file generation to be generically 2.0 instead of 2.0.3 ``` * allow for setting the hosts file from an ENV var (cb632f56) ``` allow for setting the hosts file from an ENV var - set the --hosts file ENV (using hosts_file or config_file) ``` * add support for 2.0.3 installs (4ac0cf2b) ``` add support for 2.0.3 installs - can now have both pe_dir and pe_ver/pe_ver_win in hosts file per-node - 2.0.3 answer file generation ``` * fix for upgrades to less than 3.0 pe (18aa42a6) ``` fix for upgrades to less than 3.0 pe - have to apply the pre 3.0 rules for upgrades to a pre 3.0 version - added a check for ensuring that solaris/aix/windows are agent only ``` * Add .travis.yml for initial travis CI support (db43bc40) ``` Add .travis.yml for initial travis CI support Signed-off-by: Ken Barber ``` * Incorrect number of arguments for load_legacy_config in vspher_helper (0975ea14) * no longer have to pass version to upgrade_pe command (b98a10ef) ``` no longer have to pass version to upgrade_pe command - fixed so that it determines the upgrade version from the upgrade path LATEST file ``` * multi-vesion pe installation (ecfa1c1f) ``` multi-vesion pe installation - can now have each host identify a pe_dir to pull from - host file supports a 'pe_dir' per node - still uses the LATEST file (sorry, Branan) - fixed upgrade code alongside install code ``` * Uninstall packages on unix (62990dcc) * Merge pull request #11 from anodelman/option-parsing (17be7c85) ``` Merge pull request #11 from anodelman/option-parsing (QE-117) overhaul of option parsing in beaker ``` * (maint) Dump master puppet log if fail to start (1837c8ad) * raise/rescue ArgumentError on failure to find single host for a role (acad550e) * Merge pull request #9 from anodelman/vagrant-netmask (49789312) ``` Merge pull request #9 from anodelman/vagrant-netmask (QE-203) vagrant uses different ip submasks by default ``` * (maint) Allow options to be passed for package installation (e2800288) ``` (maint) Allow options to be passed for package installation Host::Unix::Pkg#install_package previously took only the package name. An additional string of commandline options may now be passed and will be included in the yum, apt-get or solaris pkg install line. ``` * documenting the new option parsing code (52539070) * adding spec tests for new options parsing code (7d1f30b0) * (maint) Fix with_puppet_running_on for testing with packages (f6b57e42) ``` (maint) Fix with_puppet_running_on for testing with packages PuppetAcceptance::DSL::Helpers#with_puppet_running_on had incomplete changes brought in from the pe Puppet::Acceptance::ConfigUtils, which I think were being shadowed by the direct inclusion of ConfigUtils in tests using with_puppet_running_on. This patch finishes up the with_puppet_running_on implementation and adds two things. One a :__commandline_args__ option to allow passing of commandline flags to puppet in addition to configuration settings. And two, an attempt to ensure that errors raised during setup or execution of the block are not masked by a failure in teardown. Conflicts: lib/beaker/dsl/helpers.rb spec/beaker/dsl/helpers_spec.rb ``` * Create the vagrant file in a sub directory (1472ee94) ``` Create the vagrant file in a sub directory The vagrant file was previously dropped in the current working directory. This commit causes the vagrant file to be created in `vagrant_files//Vagrantfile` so that it does not conflict with tests running against multiple cfg files. ``` * not passing @options[:dot_fog] through correctly (580c224c) * Add package installation for solaris. (4821e344) ``` Add package installation for solaris. Also fixes a bug referencing 'host' instead of self in the message raised when platform cannot install package. ``` * first pass of fixes for review comments (b3be4b46) ``` first pass of fixes for review comments - don't 'exit' from option parsing, just raise appropriate errors - moved option dump into a logging command in cli - moved exiting on --help into the cli - made it possible to send different array than ARGV to command_line_parsing - reworked recursive print out of options - reordered merge of options in host.rb (ensure that defaults is lowest priority) - renamed 'defaults' to 'presets' as these are options that can come from env vars exported before a test run - fixed broken spec tests ``` * (maint) Remove incorrect parameter from Command.new call (7738d743) ``` (maint) Remove incorrect parameter from Command.new call Command.new does not take a host. This line was treating host as the command line, and then attempting to flatten the actual command line string which it expected to be an Array of args. ``` * cleaner handling of running the different test suites (904ea552) ``` cleaner handling of running the different test suites - no reason to override the :tests in @options ``` * Dump syslog on either rhel or debian if fail to kill puppet master (65c7983a) ``` Dump syslog on either rhel or debian if fail to kill puppet master It's very difficult to debug why we were unable to kill the puppet master (presumably it died or was killed by an earlier action). And usually our vms are spun down after execution. If it's a transient issue, then trying to track it down in a controlled environment is difficult as well. So this takes a stab at dumping the default logdest target (syslog) on either a rhel or debian based system. ``` * Merge pull request #10 from apchamberlain/master (abfed9ba) ``` Merge pull request #10 from apchamberlain/master Fusion/fission configuration cleanup in README ``` * fixing default values for arguments that can be lists of items (84441b3f) ``` fixing default values for arguments that can be lists of items - ensures that lists of items options (tests, pre-suite, etc) default to [] - fixes how file options are merged into the rest of the arguments - fix up getting pe version number from LATEST file ``` * moving hypervisor config files to @options variable (33eea5da) ``` moving hypervisor config files to @options variable - makes it clear where these magic files are located - added error checking to ensure that they are present for appropriate hypervisors - check in advance that there is one and only one 'master' in the given host config ``` * fixes for hypervisors using new option formatting (11cf1100) * fixing spec tests to handle new option format (ff7c38b2) ``` fixing spec tests to handle new option format - also broken tests from previous work (should run spec more often...) ``` * Cleaned up explanation of .fissionrc file; changed references to .VMX files to .vmwarevm (35d1bed3) * missing file options.rb added (8a30c07d) ``` missing file options.rb added - moved pe version discovery into pe_version_scraper ``` * move options parsing into own directory (3b81c094) ``` move options parsing into own directory - deprecate @config - switch hypervisor classes to no longer use @config - use special OptionHash that doesn't differentiate between string + symbols - add first pass validation of command line options - roll out command line parsing into its own class ``` * (QE-203) vagrant uses different ip submasks by default (b60c0fa5) ``` (QE-203) vagrant uses different ip submasks by default Vagrant was assigning each VM to a different submask, hence them not being able to connect to each other. In effect, they were all on different networks. Force a shared submask. ``` * initial commit of moving all argument parsing into options_parsing (7841eed6) ### beaker0.0.0 - 20 Aug, 2013 (c49dc525) * Merge pull request #8 from anodelman/gemify (c49dc525) ``` Merge pull request #8 from anodelman/gemify set version number to 0.0.0, set description/summary for gem ``` * setting version number to 0.0.0 (606e1770) * Merge pull request #7 from anodelman/gemify (43fcc786) ``` Merge pull request #7 from anodelman/gemify pulling out last references to PuppetAcceptance module ``` * pulling out last references to PuppetAcceptance module (2575b020) * pulling out last references to PuppetAcceptance module (4775190e) * Merge pull request #5 from anodelman/gemify (e2ed1a0e) ``` Merge pull request #5 from anodelman/gemify rename puppet-acceptance to beaker, PuppetAcceptance to Beaker ``` * Merge pull request #6 from anodelman/installer (343ddbb6) ``` Merge pull request #6 from anodelman/installer installation/upgrade code in harness ``` * adding 'wait for puppetdb to start on 3.0.0, PE-1105' (85868c2d) ``` adding 'wait for puppetdb to start on 3.0.0, PE-1105' https://github.com/puppetlabs/pe_acceptance_tests/commit/c479972d4202f04d5c03baf8e0b2ef0b25e16dbf ``` * adding 'fix negative grep command' from pe_acceptance_tests (53ec9a82) ``` adding 'fix negative grep command' from pe_acceptance_tests https://github.com/puppetlabs/pe_acceptance_tests/commit/7599ff9e0a428effa8a9c5137e5d2f10f071abc8 ``` * adding branan's answer file changes to the built in installer (3b6e9397) * installation/upgrade code in harness (9041aee5) ``` installation/upgrade code in harness add pe_install and pe_upgrade commands to the dsl ``` * rename puppet-acceptance to beaker, PuppetAcceptance to Beaker (30c2dfd1) * Merge pull request #1 from anodelman/rhel4 (83349ef1) ``` Merge pull request #1 from anodelman/rhel4 (QE-189) Puppet Acceptance needs to be able to handle rhel4 ``` * Merge pull request #2 from anodelman/installer (c77728e9) ``` Merge pull request #2 from anodelman/installer QE-97) move installation into the test harness ``` * nit - missing comma (aede8c4e) * remove references to 'redhat', our naming is standardized on el-* (fce1f6be) * Merge pull request #3 from anodelman/cruft (647f7992) ``` Merge pull request #3 from anodelman/cruft (QE-51) Remove cruft from the harness ``` * Merge pull request #4 from anodelman/validator (277daf4e) ``` Merge pull request #4 from anodelman/validator (QE-150) update harness to use correct 32/64 bit version of cygwin setup.exe ``` * (QE-150) update harness to use correct 32/64 bit version of cygwin setup.exe (11628606) ``` (QE-150) update harness to use correct 32/64 bit version of cygwin setup.exe Can't be landed till https://jira.puppetlabs.com/browse/QE-145 is fixed. This patch depends on the windows static vms being updated ``` * (QE-51) Remove cruft from the harness (ec506e76) ``` (QE-51) Remove cruft from the harness Removes: * old node configuration files * the entire setup/git directory * remove pe_versions file * remove pe dependency versions variable from test_case/test_config * removes templates * removes old xml files ``` * QE-97) move installation into the test harness (c6058ccc) ``` QE-97) move installation into the test harness * move pe installation into the test harness dsl * does not change logic as to env vars/options * fixup validation module structure * add support for basic upgrading ``` * (QE-189) Puppet Acceptance needs to be able to handle rhel4 (ad24d8e5) ``` (QE-189) Puppet Acceptance needs to be able to handle rhel4 - skips epel installation on rhel4 - skips package installation on rhel4 - increased timeout for vcloud dns resolution ``` * Merge pull request #507 from anodelman/revert-cruft-removal (68272162) ``` Merge pull request #507 from anodelman/revert-cruft-removal Revert "Merge pull request #490 from justinstoller/maint/master/remove_cruft" ``` * Revert "Merge pull request #490 from justinstoller/maint/master/remove_cruft" (307b8b78) ``` Revert "Merge pull request #490 from justinstoller/maint/master/remove_cruft" This reverts commit 715b335f7f7623f00a28312072b0ec1123965eb3, reversing changes made to 3b4891b6acaa6932be950ff51995c7191410acdb. ``` * Merge pull request #489 from justinstoller/bug/master/QE55-upstream_with_puppet_running_on (c348a792) ``` Merge pull request #489 from justinstoller/bug/master/QE55-upstream_with_puppet_running_on Add an alternative to with_master_running_on that can be used with PE ``` * Merge pull request #500 from puppetlabs/vcloud_windows_customization (463f8f08) ``` Merge pull request #500 from puppetlabs/vcloud_windows_customization vCloud Windows customization ``` * Merge pull request #490 from justinstoller/maint/master/remove_cruft (715b335f) ``` Merge pull request #490 from justinstoller/maint/master/remove_cruft Remove a lot of the cruft left in the source tree. ``` * Merge pull request #505 from branan/scp_from_signature (3b4891b6) ``` Merge pull request #505 from branan/scp_from_signature Fix scp_from signature to match the way it is invoked. ``` * Fix scp_from signature to match the way it is invoked. (a5e84200) ``` Fix scp_from signature to match the way it is invoked. The signature had an extra options hash which was not passed by the host.rb code which calls the method. ``` * Merge pull request #499 from anodelman/validator (30f6ce23) ``` Merge pull request #499 from anodelman/validator (QE-90) validate test systems have required packages/services before testing ``` * move install_package and check_for_package into appropriate host (391c6250) ``` move install_package and check_for_package into appropriate host platform code supports windows and unix - not solaris + aix windows installs cygwin packages, cannot install 3rd party cygwin packages (like ntpdate) ``` * Merge pull request #501 from puppetlabs/QE-80-use_absolute_template_path (0a5ac969) ``` Merge pull request #501 from puppetlabs/QE-80-use_absolute_template_path (QE-80) Support absolute paths in 'template' host variable ``` * Merge pull request #503 from puppetlabs/QE-136-vcloud_first_char_alpha (4f72dbe3) ``` Merge pull request #503 from puppetlabs/QE-136-vcloud_first_char_alpha (QE-136) Ensure first character of vCloud hostname is alphabetical ``` * Ensure first character of hostname is alphabetical (24c99d64) * Merge pull request #502 from anodelman/vagrant-warnings (d1a90dba) ``` Merge pull request #502 from anodelman/vagrant-warnings (QE-129) test harness reports vagrant warnings on box set up ``` * (QE-129) test harness reports vagrant warnings on box set up (a9a52db6) ``` (QE-129) test harness reports vagrant warnings on box set up Was using Vagrantfile format 1.0 instead of 2.0, with 2.0 the warning goes away ``` * Restoring error message (d69c54b5) * Merge pull request #498 from anodelman/set-vagrant-memory-size (136c2129) ``` Merge pull request #498 from anodelman/set-vagrant-memory-size (QE-96) vagrant boxes' default memory allocation is too small ``` * Typo in hypervisor/vsphere (e946b824) * Support absolute paths in 'template' host variable (b3a2ae3e) * s/vagrant/vCloud/ (da8939bd) * Better organization for customization-spec code (d97383f7) * (QE-90) validate test systems have required packages/services before (55b2a48a) ``` (QE-90) validate test systems have required packages/services before testing. First pass - checks for curl and ntpdate, installs if missing ``` * Additional waiting for vCloud customization (4953981a) * Merge pull request #497 from puppetlabs/vcloud_windows_customization (36489149) ``` Merge pull request #497 from puppetlabs/vcloud_windows_customization vCloud customization ``` * (QE-96) vagrant boxes' default memory allocation is too small to run (06366322) ``` (QE-96) vagrant boxes' default memory allocation is too small to run puppet on, make default size 1G of RAM ``` * Allow extra time for the super-slow guest customization (510a38ba) * Include a logger msg if using a customization spec (57dad7b6) * Use customization spec if one exists (0d684be5) * Adding 'find_customization' method (99ad761c) * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (c9e7cea2) * Merge pull request #491 from justinstoller/bug/master/QE71-alwasy_remove_harness_stack (66e0dcdf) ``` Merge pull request #491 from justinstoller/bug/master/QE71-alwasy_remove_harness_stack Remove references to the harness's call stack in back traces ``` * Merge pull request #494 from puppetlabs/remove_blimpy_git_setup (778bf1de) ``` Merge pull request #494 from puppetlabs/remove_blimpy_git_setup Removing Git/Ruby setup routines in the Blimpy hypervisor ``` * Merge pull request #496 from justinstoller/maint/master/QE72-Log_is_intialized_already___geez____ (68b9f14e) ``` Merge pull request #496 from justinstoller/maint/master/QE72-Log_is_intialized_already___geez____ Only define the constant Log if it isn't already defined ``` * Only define the constant Log if it isn't already defined (e7090f58) * Merge pull request #492 from anodelman/print-config (027fbc89) ``` Merge pull request #492 from anodelman/print-config (maint) report error when using an empty directory, print options with --debug ``` * Syntax (spacing) (1a60c5f0) * Removing Git/Ruby setup routines in the Blimpie hypervisor (e8406ada) * Merge pull request #488 from anodelman/better-vagrant (c3304e07) ``` Merge pull request #488 from anodelman/better-vagrant (QE-62) log into vagrant boxes as root/administrator ``` * (maint) report error when using an empty directory for (2c5b3028) ``` (maint) report error when using an empty directory for pre-suite/post-suite/tests, print options when running with --debug ``` * Remove references to the harness's call stack in back traces (12778549) ``` Remove references to the harness's call stack in back traces Prior to this when NOT running in `--debug` mode the harness's call stack would be removed from any stack trace to clarify the calling methods within a test. This extends that functionality to `--debug` mode. ``` * code cleanup/reorganization (4c202601) * remove a bunch of cruft (48767873) * Add an alternative to with_master_running_on that can be used with PE (df7b0bdf) ``` Add an alternative to with_master_running_on that can be used with PE Previously we added methods called `with_puppet_running_on` to several individual projects so that we could get them to have similar behavior to `with_master_running_on` but work on our enterprise products as well. This combines and refactors the downstream `with_puppet_running_on` implementation, bringing them into the harness proper. ``` * Merge pull request #487 from anodelman/overwritten-options (2b38984c) ``` Merge pull request #487 from anodelman/overwritten-options (21596) pre-suite when set in options.rb is overwritten by default ``` * (21596) pre-suite when set in options.rb is overwritten by default, (c2866d16) ``` (21596) pre-suite when set in options.rb is overwritten by default, merge defaults after merging file options ``` * Merge pull request #486 from briancain/maint/master/many_helper_functionality_redo (2b69dd95) ``` Merge pull request #486 from briancain/maint/master/many_helper_functionality_redo (maint) Add Multiple Helper Options ``` * (maint) Add Multiple Helper Options (d30280f4) ``` (maint) Add Multiple Helper Options Prior to this commit, puppet-acceptance could only handle one helper while testing. This commit fixes that by allowing for multiple helpers to be passed in as many times as you want. ``` * Merge pull request #484 from anodelman/QE-56 (after rebasing) (294f2813) * Merge pull request #482 from anodelman/QE-43 (f54f699a) ``` Merge pull request #482 from anodelman/QE-43 (QE-43) handle empty pre-suite/tests/post-suite options ``` * fix inconsistant spacing in README (8017bb57) * fixup some README typos (fe44695f) * (QE-62) log into vagrant boxes as root/administrator (5fb970de) * (QE-56) remove deprecated command line options, alter confusing options (10f70e26) * Merge pull request #483 from djm68/add_apache_license (43ee1370) ``` Merge pull request #483 from djm68/add_apache_license (maint) Add Apache License v2.0 ``` * (maint) Add Apache License v2.0 (cd696b31) * (QE-43) handle empty pre-suite/tests/post-suite options (91e19276) * Merge pull request #481 from anodelman/QE-40 (bd123179) ``` Merge pull request #481 from anodelman/QE-40 (QE-40) inter-vagrant box communication not working ``` * fix how ips are handled for vagrant boxes (93f8c809) * Merge pull request #474 from anodelman/install_vs_type_vs_setupdirs (84fae932) ``` Merge pull request #474 from anodelman/install_vs_type_vs_setupdirs (20583/21110) normalize --install, --type, --setup-dirs, --helpers ``` * (QE-40) inter-vagrant box communication not working (dfaab70f) * Merge pull request #480 from anodelman/QE-39 (0fb1686c) ``` Merge pull request #480 from anodelman/QE-39 (QE-39) test harness fails to set up multiple vagrant hosts ``` * (QE-39) test harness fails to set up multiple vagrant hosts (6885aed9) * Merge pull request #479 from anodelman/vagrant (6818a6ff) ``` Merge pull request #479 from anodelman/vagrant (19852) Vagrant support in the test harness ``` * Merge pull request #478 from anodelman/fix_environment_construction (012fd64a) ``` Merge pull request #478 from anodelman/fix_environment_construction (QE-25) fix :environment options being used as puppet argument ``` * Merge pull request #476 from zaphod42/remove-linux-agent-from-windows (1b480336) ``` Merge pull request #476 from zaphod42/remove-linux-agent-from-windows Remove unneeded roles from linux node in windows tests ``` * Merge pull request #477 from anodelman/QE-12 (89241783) ``` Merge pull request #477 from anodelman/QE-12 (QE-12) Harness should only require rbvmomi if vsphere/vcloud hypervisor is in use ``` * adding documentation for Vagrant support (de0b6924) * moved aix+solaris provisioning to network_manager (d7bee05b) * remove vm_control.rb, finish vcloud work (ad106701) * moved vcloud provisioning to network_manager (0802f23a) * moved vsphere provisioning to network_manager (104a59dc) * moved blimpy provisioning to network_manager (0fd9d9d9) * moved fusion provisioning to network_manager (d0e8553b) * improved env merging, added spec tests for PuppetCommands (82f841a4) * (QE-25) fix :environment options being used as puppet argument (fae27a2d) * initial commit of vagrant provisioning (a65b6234) * (QE-12) Harness should only require rbvmomi if vsphere/vcloud hypervisor is in use (430d372f) * Remove unneeded roles from linux node in windows tests (a61bb8be) ``` Remove unneeded roles from linux node in windows tests The linux node have extra roles (specifically agent) caused it to execute a large number of tests that it doesn't need to. The linux agents are tested in a different setup already. Removing the agent from the linux node should also drastically reduce the runtime of the tests. ``` * (21110) add the --load-path option (8c218eeb) * (20583) `--install', `--type', and `--setup-dirs' are confusing (c3324940) ### pe3.0 - 6 Jun, 2013 (0b52d9c5) * Merge pull request #475 from anodelman/fix-empty-tests (0b52d9c5) ``` Merge pull request #475 from anodelman/fix-empty-tests (QE-5) remove implicit array creation ``` * (QE-5) remove implicit array creation (2981a205) * Merge pull request #473 from anodelman/fix-empty-tests (db40387b) ``` Merge pull request #473 from anodelman/fix-empty-tests move to standardized error handling ``` * Merge pull request #472 from branan/http_latest_for_win (59bf076b) ``` Merge pull request #472 from branan/http_latest_for_win Use 'open' instead of 'File.open' for getting the latest windows ver ``` * Use 'open' instead of 'File.open' for getting the latest windows ver (96d53fff) ``` Use 'open' instead of 'File.open' for getting the latest windows ver The top-level 'open' method can open HTTP URIs which the File.open method cannot. This is already used for unix hosts. ``` * Merge pull request #471 from justinstoller/maint/20969/path_vs_env_vars_on_win (bcbe0a5d) ``` Merge pull request #471 from justinstoller/maint/20969/path_vs_env_vars_on_win (20969) Use colon for path separator on all platforms ``` * Merge pull request #468 from branan/node_name_win (ddc0412c) ``` Merge pull request #468 from branan/node_name_win Fix host::node_name for windows ``` * Merge pull request #470 from anodelman/proxy-config (3a7b617f) ``` Merge pull request #470 from anodelman/proxy-config (21063) Regression: proxy configuration doesn't work because missing method ``` * (20969) Use colon for path separator on all platforms (baea908d) ``` (20969) Use colon for path separator on all platforms I had this backwards in 3d510e4b6f and inadvertly pushed for the two to be normalized in 5966907. This is needed because Cygwin systems interpret the PATH env var (and require a colon as a separator) prior to passing it on to Windows while other env vars are passed directly to the OS. Signed-off-by: Justin Stoller ``` * (21063) Regression: proxy configuration doesn't work because of method missing (489875ca) * move to standardized error handling (b2ff6025) * Merge pull request #469 from anodelman/fix-empty-tests (dd34b33f) ``` Merge pull request #469 from anodelman/fix-empty-tests (21086) Runtime error when setup steps contain no tests ``` * (21086) Runtime error when setup steps contain no tests (e5946414) * Merge pull request #467 from anodelman/ec2-config-to-lib (f4f5e8e1) ``` Merge pull request #467 from anodelman/ec2-config-to-lib move ec2 install git+ruby from setup/early to lib ``` * Fix host::node_name for windows (2e743ace) * Merge pull request #466 from anodelman/cleanup-snaps (1b9a6d0e) ``` Merge pull request #466 from anodelman/cleanup-snaps (20979) fix how snapshots are determined, remove hardcoded snapshot names ``` * Merge pull request #455 from anodelman/ntpdate-lib (44524850) ``` Merge pull request #455 from anodelman/ntpdate-lib move more of /setup/early to lib ``` * (20979) normalize how snapshots are determined, remove hardcoded snapshot name assumptions (35e34bbc) * better error reporting of failures to setup (72658c49) ``` better error reporting of failures to setup Conflicts: lib/puppet_acceptance/cli.rb ``` * reorganizing based on review comments, replace HostCommand with Command (a01e7505) * Merge pull request #464 from puppetlabs/vcloud_linked_clones (3ac95d84) ``` Merge pull request #464 from puppetlabs/vcloud_linked_clones Use linked clones (copy-on-write) ``` * Removing set-delta-disk code (e6500944) * Merge pull request #463 from anodelman/fix-win-command (4759de81) ``` Merge pull request #463 from anodelman/fix-win-command (#20969) use the correct path separator for windows ``` * Merge pull request #462 from anodelman/remove-vmrun (e8e0532c) ``` Merge pull request #462 from anodelman/remove-vmrun (#20776) replace --vmrun with --hypervisor and deprecate --vmrun ``` * Use linked clones (copy-on-write) (8c50d167) * (#20969) use the correct path separator for windows (5966907e) * (#20776) replace --vmrun with --hypervisor and deprecate --vmrun (e2668b5f) * adding keywords to hook into the log parser module for jenkins (94dc3863) * Merge pull request #460 from puppetlabs/annotation_and_syntax (a1853500) ``` Merge pull request #460 from puppetlabs/annotation_and_syntax Annotation and syntax ``` * Syntax/verbiage changes (8d7fd627) * Annotate vcloud VMs (36cf17b0) ``` Annotate vcloud VMs Base template, creation time, and link to CI build ``` * Merge pull request #458 from anodelman/remove-preserve-hosts-file (f6d61a19) ``` Merge pull request #458 from anodelman/remove-preserve-hosts-file (#20863) removes host file generation from --preserve-hosts option ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (2c6631fa) * (maint) add new cfg for PuppetDB perf testing (9a2b9049) * (#20863) removes host file generation from --preserve-hosts option (369707cf) * moving error handling to helpers.rb (f65457d7) * Merge pull request #457 from anodelman/red-on-fail (bcf4a523) ``` Merge pull request #457 from anodelman/red-on-fail (#20930) fix jenkins green on failure bug ``` * push exit code from system call up through systest.rb (746221a6) * push the raised exception up the chain (20bb90ea) * push error handling into utils/vm_control (7de66e88) * move ec2 install git+ruby from setup/early to lib (6a021637) * Merge pull request #456 from anodelman/better-error-logging (953ef900) ``` Merge pull request #456 from anodelman/better-error-logging (maint) improved error logging on vm_control.rb failure ``` * (maint) improved error logging on vm_control.rb failure (91bf2e25) * Merge pull request #454 from puppetlabs/vcloud_fixup (a0eb3b4e) ``` Merge pull request #454 from puppetlabs/vcloud_fixup Remove line-break ``` * Remove line-break (d14e3297) * Merge pull request #453 from anodelman/vm-control-lib (6211cf0f) ``` Merge pull request #453 from anodelman/vm-control-lib (maint) add error messaging for missing vCloud templates ``` * (maint) add error messaging for missing vCloud templates (a4eaa041) * (maint) add error messaging for missing vCloud templates (4737fcd7) * Merge pull request #452 from branan/dont_delete_template_please (c1f27937) ``` Merge pull request #452 from branan/dont_delete_template_please Fix deploying from vcloud templates ``` * (20880) Complete the conversion of vcloud spinup to a library (ee4c6e63) ``` (20880) Complete the conversion of vcloud spinup to a library An old variable name from the monolithic reverter was left in the vcloud code. This changes it to its proper modern name. ``` * (maint) Rescue any cleanup exception (8d5b0497) ``` (maint) Rescue any cleanup exception Previously, a failure in the cleanup step would cause any exception from the earlier step(s) to be discarded. This manually handles cleanup exceptions so the original failure is not masked. ``` * (20880) Use the correct config hash in the vm setup library (86dc3b05) ``` (20880) Use the correct config hash in the vm setup library There is (unfortunately) a difference between the puppet acceptance config object and the configuration hash. The config hash is accessed via the `'CONFIG'` entry in the object. This simply changes the `@config` member of the vm controller to use the correct hash. ``` * (maint) Do not fall back to the user-specified VM name when doing vcloud cleanup (a91c2c68) ``` (maint) Do not fall back to the user-specified VM name when doing vcloud cleanup The vcloud provisioning will never create a VM with the user-specified name, so falling back to it was pointless, and could cause the harness to delete VMs not associated with the current test run, or worse, templates. As a special bonus, if any hosts don't have vmhostname set, we will warn that they were likely not provisioned correctly in the first place. ``` * better error checking for failed setup steps, code cleanup (54a43a38) * Merge pull request #451 from anodelman/maint-vm-control (d47420f4) ``` Merge pull request #451 from anodelman/maint-vm-control (maint) references to @config breaking, add @config to initialization of ``` * (maint) references to @config breaking, add @config to initialization of (48a1db3d) ``` (maint) references to @config breaking, add @config to initialization of vm_control object ``` * move --repo-proxy, --extra-repos to lib (a2c9c4ca) * Merge pull request #448 from anodelman/vm-control-lib (a563b6db) ``` Merge pull request #448 from anodelman/vm-control-lib (20750) move vm setup/teardown from test steps to lib ``` * fix whitespace (ccb0a159) * Merge branch 'master' into vm-control-lib (20820188) ``` Merge branch 'master' into vm-control-lib Conflicts: setup/cleanup/00-vmrun.rb setup/early/00-vmrun.rb ``` * move syncing root keys from early/ to lib (22fef77a) * move ruby version control to lib (e1f33c55) * move etc/host editing from early/ to lib (3d1b28ed) * Merge pull request #450 from branan/consoleport_as_integer (62411974) ``` Merge pull request #450 from branan/consoleport_as_integer Force consoleport to always be an integer ``` * Force consoleport to always be an integer (0fb5ed8d) * Revert "Ensure the consoleport is always a string." (d4e76ad4) ``` Revert "Ensure the consoleport is always a string." This was stupid. YAML creates integers automatically by default, so unless the consoleport was set via ENV it would be an integer previously. Making the default a string didn't do anything to unify the values. This reverts commit ec28d512cc068c54d3918d160b599e9917e431f1. ``` * (20750) move ntp commands from test steps to lib (fa193b6d) * Merge pull request #449 from branan/consoleport_as_string (8e258ead) ``` Merge pull request #449 from branan/consoleport_as_string Ensure the consoleport is always a string. ``` * Ensure the consoleport is always a string. (ec28d512) ``` Ensure the consoleport is always a string. Previously, the consoleport would be a string if set by the environment or a config file, but an integer if left at its default. This changes the default to a string. I'm changing the default to a string rather than converting the env/cfg value to an integer because we have historically set the consoleport in our config files, so this way it is less likely to break things. ``` * Merge pull request #446 from puppetlabs/dont_redefine_i (d9267458) ``` Merge pull request #446 from puppetlabs/dont_redefine_i The index (i) was being redefined in Ruby 1.8, but is needed for parallelization ``` * The index (i) was being redefined, but is needed for parallelization (fac32e3a) * Merge pull request #445 from puppetlabs/template_deploy (21665a93) ``` Merge pull request #445 from puppetlabs/template_deploy Deploy dynamic VMs from templates ``` * Re-wording (5072163a) * Notes on new 'vcloud' --vmrun option (69cd7d6a) * Fail unless datastore, resource pool, and folder destinations are specified (71d533f5) * Clean-up (delete) dynamicly-provisioned VMs (5948a32b) * Provision VMs from templates with --vmrun vcloud (073f1abd) * Use/connect to 'vmhostname' if set (e239f659) * Merge pull request #444 from anodelman/install-keywords (8281a776) ``` Merge pull request #444 from anodelman/install-keywords (#20749) add keyword support to --install ``` * adding spec tests for parse_install_options (92e4a196) * (20750) move vm setup/teardown from test steps to lib (fc08794a) * making parse_install_options not change in place (d95a5432) * (cleanup) tidied up the case statement structure (59f8bbcd) * (#20749) add keyword support to --install (ceb9b19e) * Merge pull request #436 from anodelman/fix-vmrun-option (63dcf3f6) ``` Merge pull request #436 from anodelman/fix-vmrun-option (#20651) Fix vmrun command line option ``` * Merge pull request #442 from puppetlabs/template_deploy-vsphere_methods (d650070a) ``` Merge pull request #442 from puppetlabs/template_deploy-vsphere_methods Methods to facilitate deploying VMs from templates ``` * Merge pull request #441 from anodelman/fail-stop (593fb9e4) ``` Merge pull request #441 from anodelman/fail-stop (new feature) replace --fail-fast with --fail-mode ``` * (maint) add documentation for --fail-mode (6f42971e) * Merge pull request #443 from puppetlabs/verbose_host_unavailable_error (4fc24ae9) ``` Merge pull request #443 from puppetlabs/verbose_host_unavailable_error Tell me which hostname is unreachable ``` * Tell me which hostname is unreachable (b7cf4d3b) * Methods to facilitate deploying VMs from templates (83954955) ``` Methods to facilitate deploying VMs from templates - find_datastore Returns a VIM::Datastore object; used in relocateSpec to deploy a VM onto a different datastore as the origin template - find_folder Returns a VIM::Folder object; used in CloneVM_Task to specify the destination folder for a deployed VM, specified by name ("Delivery") or path ("Delivery/Quality Assurance/FOSS/Dynamic") - find_pool Returns a VIM::ResourcePool object; used in relocateSpec to deploy a VM into a specified resource pool, specified by name ("Delivery") or path ("Delivery/Quality Assurance/FOSS/Dynamic") ``` * Merge pull request #440 from justinstoller/host_defaults (11d32818) ``` Merge pull request #440 from justinstoller/host_defaults Improve host defaults for PE vs FOSS porting ``` * (new feature) replace --fail-fast with --fail-mode (51f5d476) * updating README.md to add new configuration options (d63ce4bc) * add --no-revert option to skip all reverting, also adding revert option in config files per-host (a8887ca2) * Improve host defaults for better interop between FOSS and PE (d3d64e5f) * Remove un-used and un-useful setup steps (ee9cb424) ``` Remove un-used and un-useful setup steps This patch removes the post install Ruby check, several other unused setup steps and the CLI references to PE specific setup steps that should no longer be in the harness. ``` * Specify if we are doing a PE run via env var (42479b63) ``` Specify if we are doing a PE run via env var Previously we determined if we were running a PE suite based on what setup option was chosen. As we move the setup of test suite out of the harness the flags that would have told us whether or not we were running a PE suite are no longer of use. Ideally we would allow the project being tested to override the host defaults for values, but this that would be a larger change than is currently scoped. In the mean time this patch allows setting an environment variable to determine wether or not this is a PE or FOSS suite run. ``` * Merge pull request #435 from justinstoller/rooted_setup_dirs (d45acade) ``` Merge pull request #435 from justinstoller/rooted_setup_dirs [#20586] Ensure the assumed "setup" dir is relative to the harness, not CWD ``` * actually include the setup dir in the introduced variable (2073da64) * (#20651) first pass supporting config file only vm specifications (bb3c19b0) * Remove setup steps that are PE specific (5359207f) ``` Remove setup steps that are PE specific Previously we put all of the setup steps for all of Puppetlabs projects in its test harness. As projects change the maintenance cost should be shifted to the developers/projects that are changing. They are the best to understand their particular projects setup/dependencies. We have moved all of the PE setup tests into a separate repository but the harness will still try to load these outdated setup steps. This cleans up the duplicate and/or conflicting setup steps that are better specified in the PE projects test suite. ``` * [#20586] Ensure the assumed "setup" dir is relative to the harness, not CWD (4ba69848) ``` [#20586] Ensure the assumed "setup" dir is relative to the harness, not CWD Prior to this the harness assumed that a number of tasks were in it's setup folder but it loaded them relative to the CWD. This causes issues when trying to run the harness as a gem executable outside of the traditional directory structure. This commit fixes that so that all assumptions around the location of the 'setup' dir is relative to the harness's root not the CWD. ``` * Merge pull request #377 from justinstoller/maint/master/documentation_test_refactor_hacking (3d510e4b) ``` Merge pull request #377 from justinstoller/maint/master/documentation_test_refactor_hacking [maint] documentation test refactor hacking ``` * Merge pull request #430 from zaphod42/allow_execute_from_gem (4f33677d) ``` Merge pull request #430 from zaphod42/allow_execute_from_gem Move systest.rb to bin directory ``` * Merge pull request #433 from anodelman/retry-execute (65b8f5cf) ``` Merge pull request #433 from anodelman/retry-execute retry command execution after re-connecting to hosts ``` * (fix) retry once and only once (ff398082) * (maint) removing dead code (3f739330) * Merge pull request #431 from branan/remove_dhcp_renew (14051d89) ``` Merge pull request #431 from branan/remove_dhcp_renew Remove --dhcp-renew ``` * Merge pull request #423 from justinstoller/maint/master/net_not_lan (fc8cee08) ``` Merge pull request #423 from justinstoller/maint/master/net_not_lan Use proxy.puppetlabs.net, not proxy.puppetlabs.lan ``` * (issue #20483) retry command execution after re-connecting to hosts (bf295990) * Use new windows 2003r2 box with Ruby 193 (b93805f3) * typo in fedora config (42f0b09b) * Add fedora 18 config (c247a03a) * Remove --dhcp-renew (86f30ad4) ``` Remove --dhcp-renew This has not been useful/necessary for months, and it has caused at least a few test failures when the DHCP renew causes open SSH sessions to be terminated. ``` * Remove domain name component (9d50d09b) ``` Remove domain name component Remove domain component so that name matches what's in vsphere. ``` * Add Windows Acceptance VM for testing ruby 193 (1d5f77d7) ``` Add Windows Acceptance VM for testing ruby 193 See above ``` * Move systest.rb to bin directory (d4fc92e5) ``` Move systest.rb to bin directory Without this change you could install the puppet-acceptance code from the git repo as a gem (via bundler), but could not run the systest.rb program. This moves systest.rb to the bin directory, leaves a stub behind, and drops the .rb extension (just 'cuz). ``` * Merge pull request #429 from anodelman/bug_20094 (a2f23306) ``` Merge pull request #429 from anodelman/bug_20094 removed default value for confine -> criteria (bug 20094) ``` * removed default value for confine -> criteria (bug 20094) (02263a3a) * Finalize Documentation for this pass (8b339ae8) * Add documentation tasks (dc991c32) * Improve .gitignore with documentation and bundler artifacts (86b76dd1) * Use proxy.puppetlabs.net, not proxy.puppetlabs.lan (774f47a8) * Do not install markdown by default on 1.8 (Regression) (54f0311d) * Improve `require`s for use as a library (c311c0f9) * Add Documenting guide (68f888dd) * Split PuppetCommands into Helpers and Wrappers (28b2510f) ``` Split PuppetCommands into Helpers and Wrappers Move much of TestCase into Helpers Refactor Command Document and test Helpers,Wrappers,TestCase,Command ``` * Document and test DSL/Roles (dbf9a63b) * Document and test DSL/Outcomes (7f5ff69c) * Document and test DSL/InstallUtils (85900021) * Test DSL/Assertions (1c66257e) * Use SimpleCov if not on Ruby 1.8 & update Rakefile (b04e1a42) * outline how we should be requiring subsystems (d02b8a0e) * Move helpers for the dsl into a DSL namespace (161767ce) * Use YARD better (04d982f4) * Specify the behavior we want in tests and documentation (db742875) ``` Specify the behavior we want in tests and documentation whitespace fixup ``` ### pe2.8.1 - 15 Apr, 2013 (7f527ff2) * Merge pull request #427 from joshcooper/minitar (7f527ff2) ``` Merge pull request #427 from joshcooper/minitar Minitar ``` * (#11276) Install GeoTrust Global CA on Windows (ae5814db) ``` (#11276) Install GeoTrust Global CA on Windows In my local Windows VM, it was not able to connect to the production or pmtacceptance forge due to the GeoTrust Global CA cert not being present in my Root certificate store. This commit adds a `git` setup step that installs the certificate on Windows. When executed, the step installs the following cert: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US If the cert is already present, the `certutil` command still returns 0, so no special `acceptable_exit_code` logic is required. ``` * (#11276) Add minitar for Windows (090284c9) ``` (#11276) Add minitar for Windows This commit adds minitar so that the module tool will work on Windows. ``` * Merge pull request #426 from branan/space_race (3b7cebe5) ``` Merge pull request #426 from branan/space_race Only use space in dashboard password on versions of PE that support it ``` * Revert "Only use space in dashboard password on versions of PE that support it" (a058a341) ``` Revert "Only use space in dashboard password on versions of PE that support it" This reverts commit b88e28a7a951c0d16b25fdc058fb90169abc70cf. ``` * Merge pull request #425 from branan/space_race (24e4d78f) ``` Merge pull request #425 from branan/space_race Only use space in dashboard password on versions of PE that support it ``` * Only use space in dashboard password on versions of PE that support it (b88e28a7) * Only use space in dashboard password on versions of PE that support it (f95b0f22) * Merge pull request #424 from branan/passwords_in_spaaaaaaace (3e5b9e6d) ``` Merge pull request #424 from branan/passwords_in_spaaaaaaace Add a space to the console password ``` * Add a space to the console password (1c3a5fa9) ``` Add a space to the console password Spaces are hard in bash. This makes sure we handle them correctly ``` * Merge pull request #422 from branan/aix_upgrades (398f8672) ``` Merge pull request #422 from branan/aix_upgrades Fix upgrade job on AIX ``` * Fix upgrade job on AIX (1d1d11ee) ``` Fix upgrade job on AIX This adds an AIX case when disabling the puppet agent service post-upgrade. ``` * Create pe_version-2.8.0 (c4bf1d6f) ### pe2.8.0 - 26 Mar, 2013 (6b79859e) * Bump console_auth patch version (6b79859e) * Merge pull request #421 from branan/white_space_is_lame_guys (f0ee2d23) ``` Merge pull request #421 from branan/white_space_is_lame_guys Fix 32-bit host of EC2 debian6 64mda 32a configuration ``` * Fix 32-bit host of EC2 debian6 64mda 32a configuration (445ef218) ``` Fix 32-bit host of EC2 debian6 64mda 32a configuration This configuration had a malformed yaml file which caused the puppet agent to be deployed incorrectly in some cases. ``` * Merge pull request #420 from branan/"cleaner"-cert-regex (d6553666) ``` Merge pull request #420 from branan/"cleaner"-cert-regex Make quotes optional when verifying agent cert has been signed ``` * Make quotes optional when verifying agent cert has been signed (882cc594) ``` Make quotes optional when verifying agent cert has been signed The version of puppet included with PE 2.0 does not print quotes around the certnames in `puppet cert --list`. This prevented the harness from detecting signed certs on that version. The updated regex can now handle both PE 2.0 and newer versions. ``` * Merge pull request #419 from branan/verify_cert_is_signed (b11a11ce) ``` Merge pull request #419 from branan/verify_cert_is_signed Only continue from cert sign step if the cert is actually signed ``` * Only continue from cert sign step if the cert is actually signed (7fa5027c) ``` Only continue from cert sign step if the cert is actually signed Without this, it was possible for an agent to check in between the "sign all" step and the "check for the cert" step. In such a case, we would continue without signing the cert because we could see it is there. With this change, we now verify that the cert is signed, not just that it exists. ``` * Merge pull request #418 from djm68/fix_aix_user_list (910fbf69) ``` Merge pull request #418 from djm68/fix_aix_user_list (maint) fix AIX user_list method ``` * (maint) fix AIX user_list method (e218be9b) ``` (maint) fix AIX user_list method AUX user_list method listed ALL information about users, when we only want a list of the users names. ``` * Merge pull request #417 from branan/query_puppet_config_array_syntax (e233b6e8) ``` Merge pull request #417 from branan/query_puppet_config_array_syntax Add array syntax to Host class for printing puppet config options ``` * Add array syntax to Host class for printing puppet config options (fcfa43d4) ``` Add array syntax to Host class for printing puppet config options Without this, tests either had to guess at the default values (which can vary across platforms) or run `puppet --configprint` manually. This code allows test suites to use the nifty `host.puppet['option']` syntax. ``` * Merge pull request #416 from kbarber/ticket/master/handle_blimpy_errors_with_retries (d9315443) ``` Merge pull request #416 from kbarber/ticket/master/handle_blimpy_errors_with_retries Catch generic Fog exceptions for retry when using fleet.start ``` * During fleet.start retry call fleet.destroy and report on sleep (dd866ba7) ``` During fleet.start retry call fleet.destroy and report on sleep This addition to the fleet.start retry block will add a fleet.destroy call before fleet.start is retried in case we need to do some cleanup for it to work again. It is caught inside its own begin/rescue block and has a timeout to stop it blocking forever. I've also added reporting on the number of seconds we are sleeping before retry. Signed-off-by: Ken Barber ``` * Catch generic Fog exceptions for retry when using fleet.start (a5189e4b) ``` Catch generic Fog exceptions for retry when using fleet.start Previously we had been seeing multiple exceptions to do with AWS transient failures: # # Request limit exceeded.> This patch wraps the call to fleet.start in a retry wrapper, returning retry count status each time, a random sleep (to work around API request limits) and finally the ability to throw the original error if the exception continues. I see this as an initial start to adding resiliency to this problematic area, to at least cater for the majority of our errors for now. Signed-off-by: Ken Barber ``` * Merge pull request #415 from branan/strip_gid_on_aix (4c3ac9fb) ``` Merge pull request #415 from branan/strip_gid_on_aix Strip the GID string in the AIX host backend ``` * Strip the GID string in the AIX host backend (ec325961) ``` Strip the GID string in the AIX host backend on AIX, the GID string will have a newline. It doesn't on other platforms. This change makes the AIX output match the rest of our platforms. ``` * Merge pull request #414 from branan/stop_agent_on_aix (9e6ea1b0) ``` Merge pull request #414 from branan/stop_agent_on_aix Add support for AIX when stopping the pe puppet agent service ``` * Add support for AIX when stopping the pe puppet agent service (82225c85) * Merge pull request #413 from branan/bump_stomp_version (99335a2f) ``` Merge pull request #413 from branan/bump_stomp_version Bump STOMP version for next PE release ``` * Bump stomp version for next PE release (8a83085a) * Merge pull request #412 from branan/query_aix_stomp_ver (90618272) ``` Merge pull request #412 from branan/query_aix_stomp_ver Use `rpm -q` to check stomp version on AIX ``` * Use `rpm -q` to check stomp version on AIX (5cc6faa8) ``` Use `rpm -q` to check stomp version on AIX Previously, we used nothing and got a nilptr exception ``` * Merge pull request #411 from branan/retry_connreset (38e6e493) ``` Merge pull request #411 from branan/retry_connreset Add ECONNRESET to list of retryable exceptions for SSH connections ``` * Add ECONNRESET to list of retryable exceptions for SSH connections (fd16a173) * Merge pull request #410 from branan/no_more_awful_paths (85f7d5ba) ``` Merge pull request #410 from branan/no_more_awful_paths Get rid of cfg-specified bindir/libdir on AIX configs ``` * Get rid of cfg-specified bindir/libdir on AIX configs (39f8a9c9) ``` Get rid of cfg-specified bindir/libdir on AIX configs These were added during attemptes to get AIX acceptance running continuously. Since that's been shelved for now and these are causing problems, I'm removing them until continuous acceptance testing is revisited. ``` * Merge pull request #409 from branan/facter_++ (a51dafdb) ``` Merge pull request #409 from branan/facter_++ Bump Facter version for next PE release ``` * Bump Facter version for next PE release (bb6492fd) * Merge pull request #408 from branan/split_aix (b4f93f09) ``` Merge pull request #408 from branan/split_aix Add split configurations for AIX testing ``` * Remove obsolete AIX 7 config file (663e50e7) ``` Remove obsolete AIX 7 config file This was created during the initial AIX work, but is obsoleted by recently added cfgs. ``` * Add split configurations for AIX testing (d9596c91) ``` Add split configurations for AIX testing This allows the very slow AIX revert process to happen in parallel ``` * Merge pull request #407 from branan/update_deps (cab88b9e) ``` Merge pull request #407 from branan/update_deps Bump dependencies in pe-latest version file to match recent security releases ``` * Bump dependencies in pe-latest version file to match recent security releases (f441c542) * Merge pull request #406 from branan/puppet_++ (1644cc48) ``` Merge pull request #406 from branan/puppet_++ Bump base puppet version for next PE release ``` * Bump base puppet version for next PE release (4f992d1f) * Merge pull request #403 from joshcooper/maint/master/kill-cat-hang (20c150f1) ``` Merge pull request #403 from joshcooper/maint/master/kill-cat-hang Only try to stop the master if we have a pidfile ``` * new solaris config (a0858a92) * Add Errno::ENETUNREACH to the list of retryable exceptions on ssh connect (2372fff3) ``` Add Errno::ENETUNREACH to the list of retryable exceptions on ssh connect ENETUNREACH can occur on our infrastructure when resetting a host in the vsphere. ``` * Merge pull request #405 from branan/aix_on_debian_master (6e906f8c) ``` Merge pull request #405 from branan/aix_on_debian_master Switch AIX testing to a debian master ``` * Switch AIX testing to a debian master (2681f215) * add configs for new windows vms (ec320deb) * Merge pull request #398 from adrienthebo/rescue-ssh-exceptions (6ae8b144) ``` Merge pull request #398 from adrienthebo/rescue-ssh-exceptions Retry SSH on network exceptions, fail on auth fail ``` * Merge pull request #404 from kbarber/ticket/master/new-el5-x86_64-instance (a99b6404) ``` Merge pull request #404 from kbarber/ticket/master/new-el5-x86_64-instance Improved Centos 5 x86_64 image ``` * Improved Centos 5 x86_64 image (79bda2d3) ``` Improved Centos 5 x86_64 image I've taken the old ami (ami-4433bf74) and made 2 improvements: * /etc/yum.repos.d/Centos-Base.repo now uses a mirror list * I've installed the yum-fastestmirror package This is primarily so we aren't just relying on the rightscale mirror. With this setup we should reduce the transient failures due to that mirror being unavailable for whatever reason. Signed-off-by: Ken Barber ``` * Only try to stop the master if we have a pidfile (0ca0e29c) ``` Only try to stop the master if we have a pidfile Previously, on rhel6-32-1 I was noticing the test harness hang trying to execute `bash -c kill $(cat )`, which blocked reading from stdin. The issue occurred because I reverted the VM and did --no-install. As a result, the `puppet master --configprint pidfile` command raised an execption, which flowed through the top-level ensure block. This commit moves the ensure block so that we only try to stop the master if we're able to get its pidfile. ``` * add rhel 6.4 config for new foss job (e05b5db8) * add precise VMs for public foss (eb5fd576) * Merge pull request #402 from branan/ec2_west_pe_cfgs (75a13759) ``` Merge pull request #402 from branan/ec2_west_pe_cfgs Ec2 west pe cfgs ``` * version bumps (d561e302) * (maint) Update Cent6 64 AMI (487df891) ``` (maint) Update Cent6 64 AMI Cent6 64 AMI has ssh key issues. Fixed. ``` * Add pe_version file for 2.0.x (e2d84c3c) * Add old auth_user answer (a342ed40) * Merge pull request #401 from djm68/fix_sles32_ami (ff4e37be) ``` Merge pull request #401 from djm68/fix_sles32_ami (maint) Update sles 32 ami ``` * (maint) Update sles 32 ami (eb623ed9) ``` (maint) Update sles 32 ami SLES11 32 ami was incorrect. ``` * less old badness, more new goodness (1728c766) * Merge pull request #400 from djm68/fix_more_amis (735db8b0) ``` Merge pull request #400 from djm68/fix_more_amis (maint) AMI clean-up ``` * (maint) AMI clean-up (f214aa45) ``` (maint) AMI clean-up (hopefully) last whach and cleaup of ec2 AMIs for Code Orange and PE2.8. ``` * Merge pull request #399 from branan/more_complete_http_pulls (f8edcb0c) ``` Merge pull request #399 from branan/more_complete_http_pulls Fetch PE tarballs over http in a wider range of cases ``` * Fetch PE tarballs over http in a wider range of cases (58f7656a) ``` Fetch PE tarballs over http in a wider range of cases * Fetch 1.x tarballs during install * Fetch tarballs during upgrade ``` * Always `apt-get update` on debian/ubuntu machines (e781fa07) ``` Always `apt-get update` on debian/ubuntu machines This was only doing an update when using repos before, but since we later try to install packages, we need to update beforehand. ``` * Retry SSH on network exceptions, fail on auth fail (54eca7f1) ``` Retry SSH on network exceptions, fail on auth fail The current behavior of the SshConnection currently swallows all exceptions when trying to connect and will retry on any failure. This means that errors like SSH failures will be masked as network failures. This commit adds a list of retryable exceptions for timeouts, network connectivity and so forth, and explicitly rescues these for retry. It also reraises the Net::SSH::AuthenticationFailed to clearly indicate auth failures. ``` * Merge pull request #397 from djm68/new_rhel6_amis (f58547a4) ``` Merge pull request #397 from djm68/new_rhel6_amis (maint) add new RHEL6 AMIs ``` * (maint) add new RHEL6 AMIs (0485f7f2) ``` (maint) add new RHEL6 AMIs Both RHEL6 AMIs had broken repos. Rebuilt AMIs, validated functioning repos. ``` * Merge pull request #396 from djm68/update_west_amis (731f3cc6) ``` Merge pull request #396 from djm68/update_west_amis (maint) Update EC2 West AMIs ``` * (maint) Update EC2 West AMIs (b6a421af) ``` (maint) Update EC2 West AMIs AMIs needed to be modified and re-created. ``` * Add ec2-west configs for PE testing in the cloud (02c06ed9) * Merge pull request #395 from branan/http_dist_dir (3abfc5c5) ``` Merge pull request #395 from branan/http_dist_dir Add support for pe_dist_dir to be an HTTP server. ``` * Add support for pe_dist_dir to be an HTTP server. (57063385) ``` Add support for pe_dist_dir to be an HTTP server. Prior to this change, pe_dist_dir is required to be a local filesystem path. With this code in place, pe_dist_dir can now be pointed to an HTTP or HTTPS server, and the LATEST file and PE tarballs will be properly sourced from that server. ``` * Test GUI editing in GH interface (b38365ab) * Merge pull request #394 from branan/yaml_loves_whitespace (ec77f0ca) ``` Merge pull request #394 from branan/yaml_loves_whitespace YAML <3s whitespace ``` * YAML <3s whitespace (8ae287be) * Merge pull request #393 from djm68/add_pe_ami (cffc2079) ``` Merge pull request #393 from djm68/add_pe_ami (maint) Add major platforms for PE testing ``` * (maint) Add major platforms for PE testing (06c644d7) ``` (maint) Add major platforms for PE testing As an stop-gap measure we need to scale our testing into EC2; this commits adds Cent 5 adn 6, Rhel 5 and 6, ubunt 10.04 and 12.04, Debian 6 and SLES 11. ``` * Merge pull request #392 from branan/add_ip_as_altname (d11052c3) ``` Merge pull request #392 from branan/add_ip_as_altname (maint) Add host ip field as a DNS altname to the answers file ``` * (maint) Add host ip field as a DNS altname to the answers file (f41f4a54) ``` (maint) Add host ip field as a DNS altname to the answers file Without this, accessing the puppetmaster via the listed IP will return an SSL certificate that does not match. ``` * Merge pull request #389 from branan/ec2_west_pe_compat (dc34cd49) ``` Merge pull request #389 from branan/ec2_west_pe_compat (maint) Make ec2-west ci configs compatible with PE ``` * (maint) Make ec2-west ci configs compatible with PE (9a22f4b2) * Merge pull request #387 from branan/gen_config_for_preserved_hosts (409cb075) ``` Merge pull request #387 from branan/gen_config_for_preserved_hosts (maint) Generate configuration files when --preserve-hosts is passed ``` * Update solaris internal mirrors to use delivery subnet (5bb6e86f) * Merge pull request #388 from adrienthebo/update_forge_acceptance_host (8086e6d8) ``` Merge pull request #388 from adrienthebo/update_forge_acceptance_host (maint) Update default hostname for forge ``` * (maint) Update default hostname for forge (3b4e75e5) ``` (maint) Update default hostname for forge The forge acceptance test host was renamed last night to 'vulcan.delivery.puppetlabs.net', but the test harness is still defaulting to the deprecated hostname. This commit updates the test harness to use the new name of the forge acceptance host. ``` * (maint) Generate configuration files when --preserve-hosts is passed (0ebc3dd6) ``` (maint) Generate configuration files when --preserve-hosts is passed Previously, passing --preserve-hosts would keep cloud instances alive, but would not provide any easy way to access those hosts after systest ended. With this change, an updated systest-compatible config file with the information needed to contact the cloud hosts is created. This file is stored in tmp/, the same place where generated PE answers files are stored. ``` * Merge pull request #386 from haus/ticket/19236_verify_homedir_removal (dc9f7954) ``` Merge pull request #386 from haus/ticket/19236_verify_homedir_removal (#19236) PE-Uninstaller: Verify homedirs are removed when is_purge is true ``` * (#19236) Uninstaller: Verify homedirs are removed when is_purge is true (adc3bfc0) ``` (#19236) Uninstaller: Verify homedirs are removed when is_purge is true This commit adds /var/lib/peadmin, the peadmin user homedir, to the list of directories to verify are gone after the uninstaller completes. ``` * deal with vms with vmname (83b913af) * CI does not run this as a bundled gem like I do locally; require "blah" wont just work (b6118c03) * Merge pull request #340 from justinstoller/maint/master/improve_vsphere_performance (6ea47793) ``` Merge pull request #340 from justinstoller/maint/master/improve_vsphere_performance (maint) improve vsphere performance ``` * Documentation update (bf642a4e) * use Class methods for Class method dependencies (f74dbc70) * Do not retry failed vSphere connections (8ca5816c) * resume blimpy working correctly since multi hypervisor support (30eafb89) ``` resume blimpy working correctly since multi hypervisor support make vsphere cleanup work with multi-hypervisors disable vsphere until Enterprise jobs are cleaned up ``` * cleanup vsphere_helper (b92729bf) * retry vsphere connection if failure 5 times (bbad92ae) * shutdown vms after acceptance test run unless --preserve-hosts is passed (b71c7f44) * close the vsphere connection when we're done with it (51c46313) * move loading of config files to vsphere_helper (ba2056ee) ### pe2.7.1 - 8 Feb, 2013 (9826e1ca) * Merge pull request #385 from branan/i_can_haz_aix (9826e1ca) ``` Merge pull request #385 from branan/i_can_haz_aix New config file and a small bugfix for AIX acceptance testing ``` * Add config file for testing all AIX targets simultaneously (a36e48f9) * Fix timing on AIX host revert (f0b7e300) * Merge pull request #384 from domcleal/test-unit-assertions (53de3ed9) ``` Merge pull request #384 from domcleal/test-unit-assertions Add missing require for Test::Unit::Assertions ``` * Add missing require for Test::Unit::Assertions (b059ad12) * Merge pull request #383 from domcleal/file-urls (fd10ff4f) ``` Merge pull request #383 from domcleal/file-urls Accept file:// URLs to git repos ``` * Accept file:// URLs to git repos (ccfe6563) * Merge pull request #382 from cprice-puppet/bug/master/check-for-config-cli-arg-before-using-it (53a5dbbd) ``` Merge pull request #382 from cprice-puppet/bug/master/check-for-config-cli-arg-before-using-it Check for the --config CLI arg before attempting to use it ``` * Check for the --config CLI arg before attempting to use it (7757ca53) ``` Check for the --config CLI arg before attempting to use it Prior to this commit we tried to use the value of --config for something, and then a few lines later we had the code that would validate the presence of the parameter and fail with a descriptive error message. This was giving NPEs; this commit just re-orders those steps. ``` * Merge pull request #381 from nicklewis/group-gid-method (bbce3679) ``` Merge pull request #381 from nicklewis/group-gid-method Add a helper method for retrieving a group's gid ``` * Add a helper method for retrieving a group's gid (35d0ba18) ``` Add a helper method for retrieving a group's gid This uses `getent group` on "unix" systems `lsgroup -a id` on aix systems. Windows hosts explicitly don't support this method. ``` * Merge pull request #380 from branan/dashboard_debug_log (ef2564b5) ``` Merge pull request #380 from branan/dashboard_debug_log (maint) Enable verbose logging on dashbaord as well as master. ``` * (maint) Enable verbose logging on dashbaord as well as master. (6da96d75) ``` (maint) Enable verbose logging on dashbaord as well as master. Prior to this, only the puppetmaster would have debug logging enabled. In the case of a split master/dashboard, errors with facts storage are actually logged on the dashboard host. Enabling debug logging on the dashboard host will help in tracking down errors in that part of puppet. ``` * (maint) Bump ActiveSplat versions (d8dee354) * Merge pull request #379 from branan/master_debug_log (b10abc8e) ``` Merge pull request #379 from branan/master_debug_log (maint) Enable puppet master debug logging if --debug flag is passed ``` * (maint) Enable puppet master debug logging if --debug flag is passed (8cb25a1e) ``` (maint) Enable puppet master debug logging if --debug flag is passed Normally, the puppet master has minimal logging enabled by default. However, it is beneficial to have additional logging information to help track down issues during testing. This patch enables full puppet master logging when the user requests verbose output at the harness level. ``` * (maint) Bump console_auth version for 2.7.x (f7741e25) * Merge pull request #378 from branan/testing_is_hard_lets_go_shopping (22736f4a) ``` Merge pull request #378 from branan/testing_is_hard_lets_go_shopping (maint) Add old versions of 1.2.x and 2.7.x for upgrade testing ``` * (maint) Add old versions of 1.2.x and 2.7.x for upgrade testing (7487c093) * Merge pull request #376 from branan/cfg_vsphere (f7c2f0ef) ``` Merge pull request #376 from branan/cfg_vsphere (maint) Add vmname/snapshot support to vsphere runner ``` * (maint) Add vmname/snapshot support to vsphere runner (2933e290) * Merge pull request #375 from branan/activerecord_ver_bump (2346ddd9) ``` Merge pull request #375 from branan/activerecord_ver_bump (maint) Bump activerecord version ``` * (maint) Bump activerecord version (d2ab2ca8) * Merge pull request #374 from branan/god_dammit_ruby (63a6f45e) ``` Merge pull request #374 from branan/god_dammit_ruby why. Why Why Why Why Why. ``` * And then the great RUBY appeared. And he said unto the world: Behold, for my syntax is as unknowable as PERL's, and your variables shall from this day forth contain values which you will never again explain. On that day all the developers of the world let out a great cry of agony, for they knew RUBY would keep his terrible promise. (2391b9aa) * Merge pull request #373 from branan/split_pkg_repo (e6062da1) ``` Merge pull request #373 from branan/split_pkg_repo (maint) Split configuration of additional package repos and repository proxies ``` * (maint) Split configuration of additional package repos and repository proxies (6fc9f82c) * Merge pull request #372 from justinstoller/maint/master/quit_spamming_me (4b240a83) ``` Merge pull request #372 from justinstoller/maint/master/quit_spamming_me [maint] remove the debugging statement and improve the hypervisor notice ``` * remove the debugging statement and improve the hypervisor notice (fcddd8f6) * Merge pull request #371 from djm68/add_aix_vm_revert (39e67015) ``` Merge pull request #371 from djm68/add_aix_vm_revert (maint) Add support for AIX reverts ``` * (maint) Add support for AIX reverts (7fb532c0) ``` (maint) Add support for AIX reverts Adds support for AIX restores via aix 'hypervisor'. This requies the use our update fog file in: git@github.com:puppetlabs/puppetlabs-modules.git An example config here: config/nodes/aix-7.cfg ``` * Merge pull request #370 from branan/bump_epel_release (07bee1f5) ``` Merge pull request #370 from branan/bump_epel_release (maint) Bump epel-release package version for config_pkg_repo step ``` * (maint) Bump epel-release package version for config_pkg_repo step (4c56221e) * Merge pull request #369 from djm68/add_aix_platform_support (83914c2e) ``` Merge pull request #369 from djm68/add_aix_platform_support (maint) Adding support for AIX ``` * (maint) Adding support for AIX (e67e214f) ``` (maint) Adding support for AIX AIX is coming; quite some changes to integrate into systest ``` * Merge pull request #331 from justinstoller/feature/master/12743-support-ruby-19 (a5387cf8) ``` Merge pull request #331 from justinstoller/feature/master/12743-support-ruby-19 [#12743] support ruby 19 ``` * Merge pull request #368 from branan/skip_vmrun_unless_requested (a39228ea) ``` Merge pull request #368 from branan/skip_vmrun_unless_requested (maint) Skip vm revert step if vmrun option is not specified ``` * (maint) Skip vm revert step if vmrun option is not specified (d997c338) * handle blocks with an arity of 0 better in test case (4b2d4267) * confine test/unit usage to versions of ruby that are 1.8 not x.8 (72db3aa8) * Merge pull request #345 from justinstoller/bug/master/17032-confine_should_take_arrays (41fe2ad8) ``` Merge pull request #345 from justinstoller/bug/master/17032-confine_should_take_arrays [#17032] allow arrays of properties to be passed to confine ``` * Merge pull request #347 from justinstoller/feature/master/17209-fail_faster_better (1c1e2cd3) ``` Merge pull request #347 from justinstoller/feature/master/17209-fail_faster_better [#17209] allow failure strategy to be specified at command line ``` * Merge pull request #367 from branan/multi_hypervisor (4a85552b) ``` Merge pull request #367 from branan/multi_hypervisor (maint) Support running VMs across multiple hypervisors simultaneously ``` * Merge pull request #1 from justinstoller/multi_hypervisor (d13acdc2) ``` Merge pull request #1 from justinstoller/multi_hypervisor Multi hypervisor ``` * update readme (8cf8709a) * if we do not connect to a host, say which host it was (dd37d2e5) * dont use the local variable name vms, its used by the vsphere section (6c6e0da3) * specs for TestCase#confine (eee3ef07) * allow blocks to be passed to TestCase#confine (ff0f1451) * require test/unit in test_case (it needs it) (aa10e2ef) * return strings from conversion method when < ruby 1.8 (27387b3f) * (maint) Support running VMs across multiple hypervisors simultaneously (8b58a782) * Do not purge harness files when running in DEBUG mode (4667ad29) ``` Do not purge harness files when running in DEBUG mode Previously Logger#pretty_backtrace was purging harness files from debug stacktraces but not normal stacktraces. The logic was backwards. ``` * Merge pull request #366 from branan/wait_wait_dont_tell_me (7e6adaea) ``` Merge pull request #366 from branan/wait_wait_dont_tell_me (maint) Wait just a bit longer before giving up talking to a host ``` * (maint) Wait just a bit longer before giving up talking to a host (2d72b45b) ``` (maint) Wait just a bit longer before giving up talking to a host When using VM targets which are initially in the shutdown state it can take them a bit longer to be accessible. This extra wait should help prevent false positives. The total wait time is now just under 4 minutes ``` * Merge pull request #365 from branan/continue_retrieve_properties (26139d66) ``` Merge pull request #365 from branan/continue_retrieve_properties (maint) Search ALL THE HOSTS when trying to restore a VMware snapshot ``` * (maint) Search ALL THE HOSTS when trying to restore a VMware snapshot (57fe4dcc) ``` (maint) Search ALL THE HOSTS when trying to restore a VMware snapshot VMWare servers can limit the number of results returned by a RetrievePropertiesEx call. This commit adds code that uses ContinueRetrievePropertiesEx to ensure we search the entire vcenter for our hosts. ``` * Merge pull request #364 from branan/exterminate (71d85d69) ``` Merge pull request #364 from branan/exterminate (maint) remove config files for obsolete OSen ``` * (maint) remove config files for obsolete OSen (b22697ed) * Merge pull request #363 from djm68/update_forge_hostname (067a47ab) ``` Merge pull request #363 from djm68/update_forge_hostname (maint) Update harness with new forge hostname ``` * (maint) Update harness with new forge hostname (b294df6d) ``` (maint) Update harness with new forge hostname Post move: the old forge forge-acceptance.puppetlabs.lan is now deprecated, the new host is vulcan-acceptance.acctest.dc1.puppetlabs.net ``` * Merge pull request #362 from branan/outside_ntp_server (65ac3c2a) ``` Merge pull request #362 from branan/outside_ntp_server (maint) ntp.puppetlabs.lan no longer exists ``` * (maint) ntp.puppetlabs.lan no longer exists (574f78ba) * Merge pull request #361 from cprice-puppet/maint/master/debug-logging-for-master-start (d3a76b35) ``` Merge pull request #361 from cprice-puppet/maint/master/debug-logging-for-master-start Extra debug logging for master startup ``` * Only do '-v' on curl if we're running with --debug (c9b92f62) * Extra debug logging for master startup (a21be463) ``` Extra debug logging for master startup This just adds a bit more verbosity / logging to the output when the harness is checking to see whether the master is running. In cases such as when you have a bad IP address in your hosts file, this can be tremendously useful in helping to figure out what's going on. ``` * Merge pull request #360 from sschneid/master (6b996781) ``` Merge pull request #360 from sschneid/master Adding configs for x86 Solaris testing ``` * Adding links for both sparc and x86 Solaris tests (3bc154b3) * Renaming to solaris11-sparc.cfg (db8e46a3) * Adding Solaris 11 i386 config (fe22d9dd) * Merge pull request #359 from sschneid/master (ddfc0bb4) ``` Merge pull request #359 from sschneid/master Changing zfs rollback options from '-r' to '-Rf' ``` * Use more forceful, destructive rollbacks for fun and profit (76ed7250) * Merge pull request #358 from sschneid/master (eea5c96d) ``` Merge pull request #358 from sschneid/master Repoint ci-solaris11.cfg at new node config ``` * Repoint ci-solaris11.cfg at new node config (102f9ce1) * Merge pull request #357 from puppetlabs/solaris_hypervisor (aa149363) ``` Merge pull request #357 from puppetlabs/solaris_hypervisor Solaris hypervisor ``` * Docs for Solaris support, adding Solaris 11 node config file (9f4f1af4) * Adding support for Solaris hypervisor with '--vmrun solaris' (134e8880) * Allow config to be read from a hash or file (c4c360b0) * Merge pull request #356 from cprice-puppet/maint/master/update-el6-ami (709d57c2) ``` Merge pull request #356 from cprice-puppet/maint/master/update-el6-ami Update AMI for cent6-west ``` * Update AMI for cent6-west (789a7664) ``` Update AMI for cent6-west The previous AMI had a bad ssh key setup and was hanging. I believe this one should fix that particular issue. ``` * Merge pull request #354 from branan/config_file_ordering (d0be2363) ``` Merge pull request #354 from branan/config_file_ordering (maint) check for .fog file before /etc/plharness/vsphere ``` * (maint) check for .fog file before /etc/plharness/vsphere (f838ffe7) * Updated AMI for debian6-64-west (26668b6e) * Updated AMI for ubuntu10.04-64-west (570a3ef6) * Merge pull request #352 from cprice-puppet/feature/master/uswest2-amis (c885354a) ``` Merge pull request #352 from cprice-puppet/feature/master/uswest2-amis Add configs for US-West2 AMIs ``` * Fix platform names (91cf98ac) * Add configs for US-West2 AMIs (f8ff9635) * allow failure strategy to be specified at command line (7d8d905e) * allow arrays of properties to be passed to confine (6913eb4e) * Force Net::SSH output to be normalized on Encoding.default_external (0a4f3aca) ``` Force Net::SSH output to be normalized on Encoding.default_external if necessary ``` * Use a class level constants instead of instance variables (c0dead99) * Remove 1.9 incompatible relative require (50b20cf3) * Remove final instances of "and break" when trying to skip test (e3551fc6) * Remove old instance of Test::Unit.run within systest (5f0f88c3) * Force Logger exception parsing segments to strings before combining (65a1c081) * Set Test::Unit.run when we learn whether or not were using Test::Unit (7f74e85f) * whitespace fixup (6a8e32e3) * First pass at 1.9 compatibility (6a3c1cd0) ### pe2.7.0 - 16 Nov, 2012 (08c2bd19) * Merge pull request #350 from branan/rename_pkg_verify_answer (08c2bd19) ``` Merge pull request #350 from branan/rename_pkg_verify_answer (maint) rename q_rpm_verify_gpg answer to q_verify_packages ``` * (maint) rename q_rpm_verify_gpg answer to q_verify_packages (35b4d19c) * Merge pull request #349 from branan/no_default_rpm_gpg (d7e371ee) ``` Merge pull request #349 from branan/no_default_rpm_gpg (maint) only set q_rpm_verify_gpg if the env var for it is set ``` * (maint) only set q_rpm_verify_gpg if the env var for it is set (98341409) * Merge pull request #348 from djm68/fix_no_install_options_parsing (427b44b5) ``` Merge pull request #348 from djm68/fix_no_install_options_parsing (maint) fix --no-install failing ``` * (maint) fix --no-install failing (10bab3f7) ``` (maint) fix --no-install failing --no-install fails due to boolean eval of '--no' resulting in false instead of setting the option to true, as intended. ``` * Merge branch 'amazon_support' of git://github.com/branan/puppet-acceptance (e9bc050a) * (maint) Add support for running PE builds against amazon linux (82f8e484) * handle SLES when checking stomp gem version (555d466b) ``` handle SLES when checking stomp gem version Signed-off-by: Justin Stoller ``` * Merge pull request #346 from justinstoller/maint/master/check_stomp_version (3fac1573) ``` Merge pull request #346 from justinstoller/maint/master/check_stomp_version (maint) ensure stomp is at 1.1.9 ``` * ensure stomp is at 1.1.9 (681a6250) * Merge pull request #343 from branan/find_pe_for_uninstall (bbbfdb49) ``` Merge pull request #343 from branan/find_pe_for_uninstall (maint) Use modern method of finding PE installers for uninstall tests ``` * (maint) Use modern method of finding PE installers for uninstall tests (d463f531) * Merge pull request #342 from branan/blimpy_ports_by_role (665ef223) ``` Merge pull request #342 from branan/blimpy_ports_by_role (maint) Determine open Blimpy instance ports based on role ``` * (maint) Determine open Blimpy instance ports based on role (071fb7ec) * Merge pull request #341 from branan/allow_ami_selection (fa0ec8ea) ``` Merge pull request #341 from branan/allow_ami_selection (maint) Allow specifying VM template name for Blimpy AMIs ``` * (maint) Allow specifying VM template name for Blimpy AMIs (2520740c) * bump console auth version (b0467b3d) * Merge pull request #339 from branan/gen_gpg_answer_on_upgrade (b26e10bf) ``` Merge pull request #339 from branan/gen_gpg_answer_on_upgrade (maint) Answer the GPG verfication on upgrades ``` * (maint) Answer the GPG verfication on upgrades (682847bc) * Package version bump (c0bf46c0) * Merge pull request #338 from branan/verify_rpms (9b8fb528) ``` Merge pull request #338 from branan/verify_rpms (maint) Verify RPMs by default on PE installs ``` * (maint) Verify RPMs by default on PE installs (9ee91305) * Merge pull request #337 from branan/fix_pe_installer_usage (64bb1dd7) ``` Merge pull request #337 from branan/fix_pe_installer_usage (maint) Play nice with the installer's working directory handling ``` * (maint) Play nice with the installer's working directory handling (86415f77) * (maint) Bump console_auth version (8dc192a4) * (maint) Bump console auth version (4c1ae161) * Merge pull request #336 from djm68/clean_up_old_setups (2d5c8534) ``` Merge pull request #336 from djm68/clean_up_old_setups (maint) Cleanup old install types ``` * (maint) Cleanup old install types (376af8b5) ``` (maint) Cleanup old install types Old install code hanging around -- not needed any longer. ``` * Merge pull request #335 from branan/install_pe_test_packages (5baa5207) ``` Merge pull request #335 from branan/install_pe_test_packages (maint) Add step to install PE *-test packages ``` * (maint) Add step to install PE *-test packages (4e789c98) ``` (maint) Add step to install PE *-test packages This adds a setup type to install the PE *-test packages. This leverages the power of the existing PE installer in order to install the packages correctly on all platforms. In order to use this you will need a `config/test_packages.yml` file listing the packages to install as part of this step. ``` * Merge pull request #334 from branan/use_pe_dir_for_windows (4802b7d7) ``` Merge pull request #334 from branan/use_pe_dir_for_windows Use the configured PE files directory on windows ``` * Use the configured PE files directory on windows (df0a6f78) * Merge pull request #333 from justinstoller/maint/master/config_pkg_to_sol_11 (96721533) ``` Merge pull request #333 from justinstoller/maint/master/config_pkg_to_sol_11 confine pkg_repo action for pkg publishers to solaris 11 ``` * confine pkg_repo action for pkg publishers to solaris 11 (210cb198) * Merge pull request #332 from djm68/add_pe27_version_file (f8b71e72) ``` Merge pull request #332 from djm68/add_pe27_version_file (maint) add PE 2.7 version file ``` * (maint) add PE 2.7 version file (1cd05854) ``` (maint) add PE 2.7 version file Add new files to track pe2.7 specifc versions ``` * Bump console_auth version to 1.1.9 (d28a91bc) * the password is a syntax error (6619d328) * Merge pull request #329 from djm68/add_env_override_console_auth_pass (98cfd3aa) ``` Merge pull request #329 from djm68/add_env_override_console_auth_pass (maint) Add ENV override for console auth pass ``` * (maint) Add ENV override for console auth pass (614d890e) ``` (maint) Add ENV override for console auth pass Allow teams to deploy PE build with sensible passwords for easy logins. ``` * Merge pull request #328 from djm68/add_q_rpm_verify_gpg_answer (6d12ff50) ``` Merge pull request #328 from djm68/add_q_rpm_verify_gpg_answer (maint) Add answer for gpg pkg verification ``` * (maint) Add answer for gpg pkg verification (2fd25601) ``` (maint) Add answer for gpg pkg verification q_rpm_verify_gpg is used on PE2.7 to determine if the installer will attempt to verify packages. Defeaults to 'n' but can be over- ridden by setting q_rpm_verify_gpg='y' in the shell. ``` * Merge pull request #327 from justinstoller/maint/master/use_echo_hack_for_win (6cb268bd) ``` Merge pull request #327 from justinstoller/maint/master/use_echo_hack_for_win force wmic to not use a pty ``` * hack to force wmic to not use a pty (950452dc) ``` hack to force wmic to not use a pty Signed-off-by: Justin Stoller ``` * Merge pull request #326 from justinstoller/w/t/f/solaris (ca897ee1) ``` Merge pull request #326 from justinstoller/w/t/f/solaris (maint) solaris 11 uses gnu style ntpdate ``` * I have no idea why this just started failing, but gnu ntpdate is first in path on sol 11 (a29f6029) * Merge pull request #325 from justinstoller/bug/master/fix_scp (67db720a) ``` Merge pull request #325 from justinstoller/bug/master/fix_scp (bug) be explicit with results from scp methods ``` * be explicit with results (c003ac7c) * Merge pull request #322 from justinstoller/bug/master/16985-more-scp-options (0965e984) ``` Merge pull request #322 from justinstoller/bug/master/16985-more-scp-options (16985) allows passing :recursive => true to scp methods ``` * Merge pull request #324 from joshcooper/maint/master/new-windows-gem (305b938b) ``` Merge pull request #324 from joshcooper/maint/master/new-windows-gem Maint: Bump win32-security gem version ``` * Merge pull request #310 from justinstoller/feature/master/15455-install-native-packages (a8cd9410) ``` Merge pull request #310 from justinstoller/feature/master/15455-install-native-packages (maint) unify installing repositories ``` * Maint: Bump win32-security gem version (8040449e) ``` Maint: Bump win32-security gem version Previously, we were using win32-security version 0.1.2, but we need to bump this to 0.1.4 for puppet 2.7.x and up. The gem was being installed as a dependency to one of the others. This commit bumps the gem version. In the future, we will be able to do `bundle install` (for 3.0.x and up), but am I don't want to break the acceptance tests right now, as it would require reording this step (to do the git clone, to get the Gemfile, and then do bundle install). ``` * add a test (8b169c0c) * Merge pull request #312 from justinstoller/maint/master/test_the_harness (28c13211) ``` Merge pull request #312 from justinstoller/maint/master/test_the_harness (maint) add some tests ``` * combine options hashes (5c8854ca) ``` combine options hashes Signed-off-by: Justin Stoller ``` * Merge pull request #316 from justinstoller/feature/master/12528-break-execution-on-skip (4a405381) ``` Merge pull request #316 from justinstoller/feature/master/12528-break-execution-on-skip (12528) skip test should break execution when called ``` * Merge pull request #320 from justinstoller/maint/master/restrict_help_output_line_length (cb7be337) ``` Merge pull request #320 from justinstoller/maint/master/restrict_help_output_line_length (maint) restrict help output line length ``` * Merge pull request #323 from justinstoller/maint/master/ensure_epel (0c65d888) ``` Merge pull request #323 from justinstoller/maint/master/ensure_epel (maint) ensure epel ``` * simplify and improve --pkg-repo (19029bc6) * add epel to our hosts when the --pkg-repo option is used (d58bf98d) * allows passing :recursive => true to scp methods (06b839e6) ``` allows passing :recursive => true to scp methods Signed-off-by: Justin Stoller ``` * Merge pull request #321 from branan/ancient_pe_upgrade (af681931) ``` Merge pull request #321 from branan/ancient_pe_upgrade (maint) use the configured pe directory to find tarballs for ugprades ``` * (maint) use the configured pe directory to find tarballs for ugprades (b38bb5c6) * update booleans to have [no] option (allows overriding option files) (f25bcd63) * update command line flags for consistency (b1d93c36) * clean up option parsing (2fcf28e6) * Merge pull request #319 from branan/pe_12_version_checks (ea621da8) ``` Merge pull request #319 from branan/pe_12_version_checks (maint) Support version checking on PE 1.2 ``` * (maint) Support version checking on PE 1.2 (cf26c89f) * Merge pull request #318 from djm68/add_pe12_versions_files (70027c63) ``` Merge pull request #318 from djm68/add_pe12_versions_files (Maint) add version specific PE version files ``` * (Maint) add version specific PE version files (a17e374f) ``` (Maint) add version specific PE version files To allow multi version PE tests, version specific files need to be added; only required for major PE versions. ``` * Merge pull request #317 from branan/better_pe_dist_dir (c6b7a3b0) ``` Merge pull request #317 from branan/better_pe_dist_dir (maint) Improve support for the pe_dist_dir env variable ``` * (maint) Improve support for the pe_dist_dir env variable (affe96ef) * Merge pull request #314 from justinstoller/maint/master/update-gitignore (51134623) ``` Merge pull request #314 from justinstoller/maint/master/update-gitignore (maint) update gitignore to allow local testing options and cfg files ``` * Merge pull request #313 from justinstoller/maint/master/install_rb_in_ec2 (af2e7c34) ``` Merge pull request #313 from justinstoller/maint/master/install_rb_in_ec2 install libruby-extras on deb based systems ``` * skip test should break execution when called (cb74c514) ``` skip test should break execution when called Signed-off-by: Justin Stoller ``` * Merge pull request #315 from branan/old_pe_fixups (b9a94bd1) ``` Merge pull request #315 from branan/old_pe_fixups Old pe fixups ``` * (maint) gunzip PE 1.2.5 tars (940e28ca) * (maint) Check config pe_version instead of command-line option to determine answers version generation (06b48dcb) * normalize parens usage per comment by @branan (ae4f03df) * Merge pull request #311 from djm68/modify_answerfilegen_pe124 (df765f6d) ``` Merge pull request #311 from djm68/modify_answerfilegen_pe124 (maint) add support for pe1.2.x ``` * (maint) add support for pe1.2.x (32ff8734) ``` (maint) add support for pe1.2.x We need the current harness to handle PE1.2.x installs; too much has been added to the harness to revert back to our pe1.2 tag. This code allows correct answer file generation for P2.x and PE1.2.x varients. ``` * I always want to use |result| as if we were (27db98dc) ``` I always want to use |result| as if we were intentionally yielding something meaningful ``` * install libruby-extras on deb based systems (cdd206d0) ``` install libruby-extras on deb based systems to be able to install via install.rb ``` * change option from :package to :install (501e755f) ``` change option from :package to :install handle option files and multiple -i flags better ``` * add --install flag and allow lists passed to it (0f5a0825) * pull out bug workarounds into separate file (da4e1c16) * add tests for added methods in InstallUtils (4d95d90d) * move more of setup code into install_utils (9455fa6e) * move to transforming options after parsing option file (d5d43809) * update gitignore to allow local testing options and cfg files (b1625a49) * unifying command line install flags -- code spike (4a37cd39) * basic ssh_connection testing (be4a6a68) * Basic tests for Hosts (45b4fdf0) ``` Basic tests for Hosts This provides tests for most of the host's behaviors, save for `exec` and `do_scp` which are very similar, but `exec` has a lot of knowledge in it that should probably be elsewhere. So I've decided to hold off on spec-ing it until I can refactor its friends at the same time. Signed-off-by: Justin Stoller ``` * begin host testing (7ec3d6ae) * Test and Refactor Logger class (be80c6e8) ``` Test and Refactor Logger class This adds rough behavioral specs to puppet_acceptance/logger.rb as well as refactors the code. Refactors include adding a hierarchy of log_levels, simple accessors to find log level, pulling out common color printing code, breaking up `pretty_backtrace` and making `pretty_backtrace` only print the lines from test files unless in debug mode. Signed-off-by: Justin Stoller ``` * bump to rspec 2.11 (16b848a7) ### pe2.6.1 - 9 Oct, 2012 (58edb963) * Merge pull request #309 from cprice-puppet/maint/master/add-suite-name-to-summary-output (58edb963) ``` Merge pull request #309 from cprice-puppet/maint/master/add-suite-name-to-summary-output Add suite name to test case summary ``` * Add suite name to test case summary (25e3e92d) ``` Add suite name to test case summary When scrolling through log output for a test run with a lot of test suites, it can be a bit difficult to differentiate them. This commit simply adds the suite name to the summary log for a test suite. ``` * Merge pull request #308 from cprice-puppet/feature/master/add-scp-from (b77b85f8) ``` Merge pull request #308 from cprice-puppet/feature/master/add-scp-from Add an scp_from method, like the existing scp_to ``` * Add an scp_from method, like the existing scp_to (d3eaf99a) ``` Add an scp_from method, like the existing scp_to This commit adds support for SCP'ing files *from* hosts, to supplement the existing functionality for scp'ing files *to* hosts. This is useful for collecting log files to archive with the Jenkins jobs, etc. ``` * Merge pull request #306 from branan/16723_fibonacci_backoff (29fa26ae) ``` Merge pull request #306 from branan/16723_fibonacci_backoff (#16723) Use a fibonacci backoff sequence for SSH retries ``` * Merge pull request #307 from branan/bump_console_auth_version (f72c34d8) ``` Merge pull request #307 from branan/bump_console_auth_version Bump console auth version to 1.1.7 ``` * Bump console auth version to 1.1.7 (d8c1f95f) * (#16723) Use a fibonacci backoff sequence for SSH retries (f05c4dc4) ``` (#16723) Use a fibonacci backoff sequence for SSH retries Previously, all retries would use a 20-second delay. This patch uses a fibonacci sequence which allows for more immediate results when the connection issue is resolved quickly. ``` * Merge pull request #305 from branan/remove_dummy_config (0d58b08c) ``` Merge pull request #305 from branan/remove_dummy_config Remove dummy CONFIG section from Razor cfg file ``` * Remove dummy CONFIG section from Razor cfg file (462e3c11) ``` Remove dummy CONFIG section from Razor cfg file This section was necessary due to a bug that has since been resolved. It can now safely be removed. ``` * Merge pull request #304 from branan/16721_roleless_hosts (0f2474a3) ``` Merge pull request #304 from branan/16721_roleless_hosts (#16721) Allow hosts with no roles set ``` * (#16721) Allow hosts with no roles set (bc1698b7) ``` (#16721) Allow hosts with no roles set Previously, hosts without any roles set in the config file would cause nil to be treated as an array. This results in a crash. This change ensures that the roles configuration is not nil, preventing the crash. ``` * Merge pull request #303 from cprice-puppet/feature/master/update-cent55-openssl (fa6ea396) ``` Merge pull request #303 from cprice-puppet/feature/master/update-cent55-openssl Update openssl package on cent5 AMI ``` * Update openssl package on cent5 AMI (2eec20d5) ``` Update openssl package on cent5 AMI Prior to this commit, some of the SSL operations needed for puppetdb acceptance testing weren't working with our CentOS5 image. I opened up the old AMI, ran 'yum install openssl' to get the latest version, and then snapped a new AMI. This commit updates the AMI ID in the acceptance config. ``` * Merge pull request #302 from cprice-puppet/feature/master/update-ubuntu-ami-id (d508f80a) ``` Merge pull request #302 from cprice-puppet/feature/master/update-ubuntu-ami-id Update AMI id for ubuntu The new AMI now includes the 'unzip' command. ``` * Update AMI id for ubuntu (783c6707) * Merge pull request #301 from daniel-pittman/master (512b9af9) ``` Merge pull request #301 from daniel-pittman/master Add Razor test VM configuration to the CI suite. ``` * Add razor CI acceptance test configuration (5479e889) ``` Add razor CI acceptance test configuration This adds the existing Razor test VM to the CI suite. ``` * Merge pull request #299 from daniel-pittman/better-vsphere-error-handling (9e287753) ``` Merge pull request #299 from daniel-pittman/better-vsphere-error-handling Better vsphere error handling ``` * Merge pull request #298 from justinstoller/maint/master/doc-update (9f75f7aa) ``` Merge pull request #298 from justinstoller/maint/master/doc-update update docs for vsphere .fog file ``` * write better (d2f15f68) * Power on any stopped VM during setup (512ba814) ``` Power on any stopped VM during setup This detects a powered off VM on the vSphere host, and boots it back up after the snapshot is restored. It will also wake up a suspended VM. This change makes the system more robust against sleeping or stopped VMs or snapshots. Signed-off-by: Daniel Pittman ``` * Detect missing VMs and fail the setup process (29356ab6) ``` Detect missing VMs and fail the setup process Previously the vSphere integration made a "best effort" pass at the VMs: it would look for them all, and then act only on the machines that it found. This means that if a VM name was incorrectly specified or otherwise unavailable the entire process would just silently skip over it, omitting real and important test targets. Now this is detected and a failure results: you can't skip over a VM any longer. Signed-off-by: Daniel Pittman ``` * Fix more floating point precision vs printf typos (7acb9aac) ``` Fix more floating point precision vs printf typos More places where precision came after the format, rather than before, leading to extremely precise numbers - to two decimal sets! Signed-off-by: Daniel Pittman ``` * Use a normal failure in the vsphere helper (984ee68d) ``` Use a normal failure in the vsphere helper The test suite helpers are not available in this Ruby helper object, so this failed - but without actually having the helpful error. Just raising at least improves this some. Signed-off-by: Daniel Pittman ``` * update docs for vsphere .fog file (9cc9e774) * Fix printf formatting of floating point... (b3c3b4c4) ``` Fix printf formatting of floating point... A type meant that instead of setting the output precision we appended a `.2` to the end of every time output in this file. ``` * Merge pull request #297 from branan/16720_allow_no_ruby (401c971e) ``` Merge pull request #297 from branan/16720_allow_no_ruby (#16720) Allow systest to run on systems without ruby ``` * (#16720) Allow systest to run on systems without ruby (5e12a7ad) ``` (#16720) Allow systest to run on systems without ruby Prior to this commit, a ruby version check would cause systest to fail if run on any system without ruby. This changes it to return the special value "none" when ruby is not found or is not functional. ``` * Merge pull request #296 from branan/16724_support_empty_config (7b192cf6) ``` Merge pull request #296 from branan/16724_support_empty_config (#16724) Accept config files without a CONFIG hash ``` * (#16724) Accept config files without a CONFIG hash (b91118f3) ``` (#16724) Accept config files without a CONFIG hash Previously the code assumed all config files included a CONFIG section. This would cause a crash when that section was missing. This commit changes the code to create an empty hash if the CONFIG section is missing. ``` * Merge pull request #295 from cprice-puppet/feature/master/add-ec2-el6-config (1049fb47) ``` Merge pull request #295 from cprice-puppet/feature/master/add-ec2-el6-config Add EC2 config file for EL6 ``` * Add EC2 config file for EL6 (a31b418a) * Merge pull request #294 from cprice-puppet/feature/master/blimpy-ports (d4f4b156) ``` Merge pull request #294 from cprice-puppet/feature/master/blimpy-ports Add missing ports to the security group ``` * Add missing ports to the security group (bca2e36b) ``` Add missing ports to the security group The puppet and puppetdb ports were not open in the security policy that blimpy was using prior to this commit. ``` * Merge pull request #293 from cprice-puppet/feature/master/puppetdb-ec2 (6da41370) ``` Merge pull request #293 from cprice-puppet/feature/master/puppetdb-ec2 Feature/master/puppetdb ec2 ``` * Update AMI for Ubuntu 10.04 (ca37f997) ``` Update AMI for Ubuntu 10.04 The existing Ubuntu AMI did not contain the Puppet ssh public keys. I added them to /etc/rc.local and made a new AMI. This commit updates the ec2 config to use the new AMI ID. ``` * Add fqdn to /etc/hosts during startup (f2ca0707) ``` Add fqdn to /etc/hosts during startup In addition to the short hostname, some tests will definitely need for the /etc/hosts file to contain the FQDN. (PuppetDB does for sure.) This commit blatantly rips off some code from Facter to guess the domain name, and then adds it to the /etc/hosts file during VM runs. ``` * Merge pull request #292 from branan/console_auth_116 (e1f6f783) ``` Merge pull request #292 from branan/console_auth_116 Bump console_auth version to 1.1.6 ``` * Bump console_auth version to 1.1.6 (af105d85) * Merge pull request #291 from branan/add_pe_noop (53903782) ``` Merge pull request #291 from branan/add_pe_noop Add pe_noop type. ``` * Add pe_noop type. (6743ac5d) ``` Add pe_noop type. In order to have a 'manual'-stype setup type that is still detected as PE, a type with the substring 'pe' must be used. This adds that type. ``` * Merge pull request #290 from branan/fix_snapshot_selection (5e37e5f3) ``` Merge pull request #290 from branan/fix_snapshot_selection Make it possible to override the snapshot for 'gem' and 'manual' types ``` * Make it possible to override the snapshot for 'gem' and 'manual' types (d6a0a9b0) ``` Make it possible to override the snapshot for 'gem' and 'manual' types Previously, the snapshot-consolidation logic would check the run type whether or not the user specified a custom snapshot. This would cause user-specified snapshots to be ignored when using the 'gem' or 'manual' run types. ``` * Merge pull request #289 from MosesMendoza/bump_console_auth_version (857e4704) ``` Merge pull request #289 from MosesMendoza/bump_console_auth_version bump console-auth check to 1.1.5 ``` * bump console-auth check to 1.1.5 (e70905f2) * Merge pull request #288 from vrthra/ticket/master/16307_fix_solaris (31c261e4) ``` Merge pull request #288 from vrthra/ticket/master/16307_fix_solaris (#16307) solaris uses the gnu specific mv under /usr/gnu/bin ``` * (#16307) solaris uses the gnu specific mv under /usr/gnu/bin (5878b46a) ``` (#16307) solaris uses the gnu specific mv under /usr/gnu/bin The manage ssh keys script uses a gnu-ism for mv. This patch adds the path for gnu binaries in solaris. ``` * Merge pull request #285 from vrthra/ticket/master/16307_fix_solaris (67b8685c) ``` Merge pull request #285 from vrthra/ticket/master/16307_fix_solaris (#16307) fix ip command for solaris. ``` * Merge pull request #284 from justinstoller/maint/master/multiple_datacenter_support (37ceae20) ``` Merge pull request #284 from justinstoller/maint/master/multiple_datacenter_support (maint) multiple datacenter support ``` * (#16307) get solaris to use the internal ips repository (2e028c69) ``` (#16307) get solaris to use the internal ips repository Previously we used the default repository at http://pkg.oracle.com/solaris/release/ which caused zone creation to be very slow. By using internal mirror we hope to reduce the time, and network load. ``` * (#16307) fix ip command for solaris. (49d71520) ``` (#16307) fix ip command for solaris. Previously we were usign `ip a` in solaris which is not present. Instead use ifconfig to get the ip address. We also use /etc/inet/hosts instead of /etc/hosts in solaris. ``` * minor fixups (608479d0) * rough draft of multiple datacenter support (2fb96091) ### pe2.6.0 - 17 Sep, 2012 (592ad45d) * Merge pull request #287 from branan/bump_console_auth_ver (592ad45d) ``` Merge pull request #287 from branan/bump_console_auth_ver (maint) Bump console_auth_ver to 1.1.4 ``` * (maint) Bump console_auth_ver to 1.1.4 (474adcaf) * Merge pull request #286 from branan/pe_ver_bump (186c9c59) ``` Merge pull request #286 from branan/pe_ver_bump (maint) Bump console_auth_ver for new PE build ``` * (maint) Bump console_auth_ver for new PE build (f98c8e69) * (maint) update symlink to config file (d3eb7dd1) * (maint) fix config file typo (a339cb74) * Bump console-auth version to match the future reality. (fd3836b8) * Merge pull request #283 from haus/console_version_bump (cd1d2c01) ``` Merge pull request #283 from haus/console_version_bump Bump console-auth version to match the future reality. ``` * fix solaris cfg (fbcde046) * Merge pull request #282 from justinstoller/maint/master/use-short-names (dd085453) ``` Merge pull request #282 from justinstoller/maint/master/use-short-names use the shortname for the host in cfg files ``` * use the shortname for the host in cfg files (9edbd2dc) * Merge pull request #281 from vrthra/ticket/master/16307_fix_solaris (423ec5d0) ``` Merge pull request #281 from vrthra/ticket/master/16307_fix_solaris (#16307) handle solaris specially for bin and sbindir ``` * Merge pull request #280 from justinstoller/ticket/master/16307_fix_solaris (030cb0c0) ``` Merge pull request #280 from justinstoller/ticket/master/16307_fix_solaris Ticket/master/16307 fix solaris ``` * windows doesnt like unix paths (ce895baf) * Bumping console auth expected version to 1.1.1 (def1557d) * Merge pull request #279 from haus/console_auth_bump (9fdd4842) ``` Merge pull request #279 from haus/console_auth_bump Bumping console auth expected version to 1.1.1 ``` * Merge pull request #278 from djm68/move_ec2_steps_to_early (821eb7ac) ``` Merge pull request #278 from djm68/move_ec2_steps_to_early (maint) Move ec2 config to setup/early ``` * (maint) Move ec2 config to setup/early (f75515e0) ``` (maint) Move ec2 config to setup/early Not pretty, but need a simple, low impact way to perform small amount of pre-test setup on ec2 nodes. Only runs when calling --vmrun blimpy and not a PE build. ``` * Merge pull request #277 from djm68/ec2_setup_steps (4879dad9) ``` Merge pull request #277 from djm68/ec2_setup_steps (maint) adding setup steps for ec2 hosts ``` * (maint) adding setup steps for ec2 hosts (99f1b11c) ``` (maint) adding setup steps for ec2 hosts EC2 nodes require a bit of extra setup; this allows node config before code install/testing. ``` * Merge pull request #276 from djm68/update_ec2_configs (91e26f3d) ``` Merge pull request #276 from djm68/update_ec2_configs (maint) update ec2 configs for EL5 ``` * (maint) update ec2 configs for EL5 (20818621) ``` (maint) update ec2 configs for EL5 Use two el5 32bit amis until we build out sane 64 bit and el6 based systems. ``` * Merge pull request #275 from djm68/add_configurable_ami_size (578a8bd1) ``` Merge pull request #275 from djm68/add_configurable_ami_size (Maint) Add support for per host ami sizing ``` * (Maint) Add support for per host ami sizing (9970f5b1) ``` (Maint) Add support for per host ami sizing Blimpy implementation used ami type 't1.micro' as default; not useful for real work. Adds 'amisize' to the config: HOSTS: ubuntu-1004-32-1: roles: - master - database - agent platform: ubuntu-10.04-i386 amisize: m1.small ``` * Merge pull request #274 from djm68/add_foss_ec2_amis (6f75a83e) ``` Merge pull request #274 from djm68/add_foss_ec2_amis (Maint) Add entries for FOSS AMIs ``` * (Maint) Add entries for FOSS AMIs (8014eb82) ``` (Maint) Add entries for FOSS AMIs Using the PE AMIs, will need to add some pre-test code to install Ruby and git. ``` * Merge pull request #273 from branan/maint/master/bump-pe-26-versions (f536ff30) ``` Merge pull request #273 from branan/maint/master/bump-pe-26-versions bump versions for PE 2.6 ``` * (acceptance) we dont want master to be an agent. (e8ddd559) ``` (acceptance) we dont want master to be an agent. Remove the master hostname from the agent list. ``` * Merge pull request #272 from djm68/add_ec2_configs_puppetdb (e34206a9) ``` Merge pull request #272 from djm68/add_ec2_configs_puppetdb Add ec2 configs puppetdb ``` * (maint) Add links to configs for easy CI integration (df88a9cc) * (maint) Add ec2 specfic acceptance test configs (242cbb2f) * bump versions for PE 2.6 (632a3477) * Merge pull request #270 from justinstoller/feature/master/14158-line-endings (28711819) ``` Merge pull request #270 from justinstoller/feature/master/14158-line-endings [14158] normalize line endings to unix newline ``` * normalize line endings to unix newline and saw raw versions of stdout,stderr,output (a731b396) * (#16307) handle solaris specially for bin and sbindir (12294c0b) ``` (#16307) handle solaris specially for bin and sbindir This is specific to the pkg://solaris/runtime/ruby-18@1.8.7.334,5.11 package available from pkg.oracle.com and available from a full system installation of solaris11. The ruby available from the above has Config::CONFIG['bindir'] compiled in to /usr/ruby18/bin unlike in other platforms and packages which has it set to the system directory /usr/bin The same issue is present for sbin directory too. Since puppet and facter need to be delivered to /usr/bin we can not rely on the compiled in directory for this purpose when using the above package. This fix updates the invocation of install.rb to pass the directories directly rather than depend on the compiled in directories. (A better fix would be to rely on the native package managers to deilver the puppet and facter binaries correctly to the system, so this is a temporary fix until atleast that happens, or the upstream changes the ruby compiled in settings in a future version). ``` * Merge pull request #268 from djm68/readme_updates (b24b0838) ``` Merge pull request #268 from djm68/readme_updates (maint) Significant re-write of README ``` * Merge pull request #266 from zaphod42/maint/master/host-in-ssh-is-a-string (50ff96fe) ``` Merge pull request #266 from zaphod42/maint/master/host-in-ssh-is-a-string Fix using :pty in tests ``` * (maint) Significant re-write of README (ebc73d39) ``` (maint) Significant re-write of README README was stale and hard to follow. Added new provisioning info and reorganized for easier flow. ``` * (Maint) Better express value of variable in its name (d62293bd) ``` (Maint) Better express value of variable in its name The @host variable didn't contain a Host instance, it actually contained the name of the host and so is renamed to @hostname. ``` * (Maint) @host is actually a string (bdee604d) ``` (Maint) @host is actually a string There must have been a change at some point from @host being an instance of Host to being just the name of the host. This removes a few calls to @host methods that assume that it is a Host object. ``` * (acceptance) machines: add solaris hosts (85d8ae47) ``` (acceptance) machines: add solaris hosts Adds the solaris acceptance machines ``` * (#16307) acceptance: fix up to test cases for making them run on solaris. (3777ec37) ``` (#16307) acceptance: fix up to test cases for making them run on solaris. - dont do apt-get on solaris - readlink is present in opensolaris. - fix solaris specific commadns in master run. ``` * Merge pull request #265 from djm68/extend_ec2_amis (386a1122) ``` Merge pull request #265 from djm68/extend_ec2_amis (maint) Improve ec2 support ``` * (maint) Improve ec2 support (20a0b945) ``` (maint) Improve ec2 support Move ec2 configs to external file: config/image_templates/ec2.yaml Populate ec2.yaml with 'production' PE AMIs. ``` * Merge pull request #264 from praxxis/feature/apply_manifest_on_catch_failures (1bb2a2e0) ``` Merge pull request #264 from praxxis/feature/apply_manifest_on_catch_failures Add an option to apply_manifest_on that allows raising of test failures when manifests fail to apply ``` * Add an option to apply_manifest_on that allows raising of test failures when manifests fail to apply. (31ea306c) * Merge pull request #263 from branan/remove_virsh_vmrun (bda7bcb1) ``` Merge pull request #263 from branan/remove_virsh_vmrun Remove obsolete virsh support from vmrun ``` * Remove obsolete virsh support from vmrun (cb12f3dc) * Merge pull request #262 from branan/blimpy_vmrun (104532a4) ``` Merge pull request #262 from branan/blimpy_vmrun Blimpy vmrun ``` * Merge pull request #256 from branan/scp_modules (b7c97923) ``` Merge pull request #256 from branan/scp_modules Add support for installing a module via scp from the test controller ``` * Add an option to preserve test instances. (a80a74fe) ``` Add an option to preserve test instances. Current test machines are snapshot based and don't require any sort of deletion or preservation. This support is needed to allow debugging and instance re-use for cloud-based acceptance testing ``` * Add blimpy support for creating AWS instances for acceptance (b8fad5b6) ``` Add blimpy support for creating AWS instances for acceptance This adds a new cleanup step. Cleanup is run if *any* step fails. This ensure that ec2 instances are cleaned up even if another setup, pre, or post step fails. ``` * Merge pull request #260 from kbarber/ticket/master/15699-forge_role (40360cdb) ``` Merge pull request #260 from kbarber/ticket/master/15699-forge_role (#15699) Add methods for resolving and more adequately stubbing the forge host ``` * (#15699) Add methods for resolving and more adequately stubbing the forge host (d0976992) ``` (#15699) Add methods for resolving and more adequately stubbing the forge host This patch includes the new 'forge' method which looks up the host using the following mechanisms: * return the host with the 'forge' role assigned to it * return the value of 'forge_host' in the CONFIG hash * default to returning 'forge-acceptance.puppetlabs.lan' This allows us multiple mechanisms to override the forge host, with a fall back to the static 'forge-acceptance.puppetlabs.lan' host. It also provides wrapper methodology for stubbing a host in general `stub_hosts_on` and provides a forge specific wrapper `stub_forge_on` so we can make our acceptance code more DRY. To facilitate proper 'unstubbing' this patch also introduces the capability to declare a teardown code block, that will always be called at the end of a test case. This is a generic method, and can now be used by anyone for purposes beyond the initial goal of this patch. ``` * Add support for installing a module via scp from the test controller (88e44c05) ### pe2.5.3 - 23 Jul, 2012 (0eb96550) * (maint) Add a case statement for Debian (0eb96550) ``` (maint) Add a case statement for Debian Debian OSes need only to run apt-get update; no need to modify the repo cofiguration as with Ubuntu. ``` * Merge pull request #259 from cprice-puppet/feature/master/allow-options-file (13f72dc5) ``` Merge pull request #259 from cprice-puppet/feature/master/allow-options-file Add support for loading harness options from a file ``` * Merge pull request #258 from cprice-puppet/refactor/master/make-git-install-more-accessible (4b2bae5a) ``` Merge pull request #258 from cprice-puppet/refactor/master/make-git-install-more-accessible Move install_from_git to reusable location ``` * Add support for loading harness options from a file (be80e274) ``` Add support for loading harness options from a file This commit introduces a new command-line argument, "--options-file". If specified, this file will be treated as a ruby file to be evaluated, and is expected to return a hash. The hash may contain any of the "normal" options that the framework supports. It may also contain extra options that are specific to the project that is being tested. Any options passed to the harness on the command line will be given precedence over the ones found in the file. ``` * Move install_from_git to reusable location (2dc8d0f5) ``` Move install_from_git to reusable location This commit introduces an InstallUtils module (which will likely become a class, eventually) to house the "install_from_git" method that used to live in setup/git/01_TestSetup.rb. By moving this method to a location under 'lib' instead of 'setup', it can be used during the custom setup lifecycle phases of individual projects. Previously it could only be used implicitly via, e.g., --yagr option, and only if the --type was set to 'git'. ``` ### pe2.5.2 - 9 Jul, 2012 (eaa93833) * Merge pull request #257 from justinstoller/maint/master/changing_cert_list (eaa93833) ``` Merge pull request #257 from justinstoller/maint/master/changing_cert_list (maint) the puppet cert --list --all output has changed ``` * the puppet cert --list --all output has changed (20a6b701) * (maint) Add clean-up /tmp to upgrade step (43d932f1) ``` (maint) Add clean-up /tmp to upgrade step /tmp is at a premium on some nodes -- remove old tar balls before copying up new tar file. ``` * Merge pull request #255 from justinstoller/maint/master/pin_win_dir (00eb38b3) ``` Merge pull request #255 from justinstoller/maint/master/pin_win_dir (maint) pessimistically pin windows gem versions ``` * pessimistically pin windows gem versions (92569137) * Merge pull request #254 from cprice-puppet/bug/master/vmrun-plus-manual-install (cabe61d0) ``` Merge pull request #254 from cprice-puppet/bug/master/vmrun-plus-manual-install Fix a bug in support for "--type manual" ``` * Merge pull request #253 from grimradical/require-pathname (84c16870) ``` Merge pull request #253 from grimradical/require-pathname Require pathname in git TestSetup script ``` * Require pathname in git TestSetup script (ae452af4) ``` Require pathname in git TestSetup script Depending on load-order odditites, 'pathname' may not be loaded when that script is loaded. Signed-off-by: Deepak Giridharagopal ``` * Merge pull request #252 from branan/allow_manual_ip (c3439eb4) ``` Merge pull request #252 from branan/allow_manual_ip Allow manual specification of host IP address ``` * Merge pull request #250 from grimradical/fission-loop-until-ready (98f04c95) ``` Merge pull request #250 from grimradical/fission-loop-until-ready Wait until fission VMs are actually ready before proceeding ``` * Fix a bug in support for "--type manual" (c7437205) ``` Fix a bug in support for "--type manual" The vmrun option looks for a vmsnapshot named "manual" if you specify "--type manual". We want it to just use the normal "git" snapshot. This is kind of a hack, unfortunately... but as you can see in the line above, we weren't the first ones to have this problem. ``` * Allow manual specification of host IP address (829d840c) ``` Allow manual specification of host IP address This allows the acceptance module to still track real hostnames without it being necessary to add all the hosts to the controller's /etc/hosts file. ``` * Merge pull request #251 from cprice-puppet/feature/master/allow-manual-installation-type (191ce940) ``` Merge pull request #251 from cprice-puppet/feature/master/allow-manual-installation-type Allow projects to specify manual installation ``` * Allow projects to specify manual installation (f8f4be90) ``` Allow projects to specify manual installation This commit allows you to specify "--type manual", if your project will be responsible for managing installation of the test subject code and does not need the framework to do anything during that phase. ``` * Wait until fission VMs are actually ready before proceeding (c40994e2) ``` Wait until fission VMs are actually ready before proceeding Sometimes fission will return from a call to `start` prior to it actually being registered as `running` in VMWware. This patch adds some basic sanity-checking; we'll wait until the VM is actually in the state we'd like before proceeding. Better safe than sorry. Signed-off-by: Deepak Giridharagopal ``` * Merge pull request #247 from cprice-puppet/feature/master/allow-project-setup-suites (d1fbcd7b) ``` Merge pull request #247 from cprice-puppet/feature/master/allow-project-setup-suites Feature/master/allow project setup suites ``` * Merge pull request #248 from cprice-puppet/feature/master/node-name-method-for-hosts (9ff0c009) ``` Merge pull request #248 from cprice-puppet/feature/master/node-name-method-for-hosts Add "node_name" method to Host class ``` * Merge pull request #249 from grimradical/typo-in-vmrun (a8130619) ``` Merge pull request #249 from grimradical/typo-in-vmrun Fix typo in comparison statement ``` * Merge pull request #246 from cprice-puppet/feature/master/allow-extra-git-clones (d573e48f) ``` Merge pull request #246 from cprice-puppet/feature/master/allow-extra-git-clones Add support for cloning additional git repos ``` * Fix typo in comparison statement (8b3ba517) ``` Fix typo in comparison statement Signed-off-by: Deepak Giridharagopal ``` * Merge pull request #245 from grimradical/9989_fission_support (c9a91b51) ``` Merge pull request #245 from grimradical/9989_fission_support Support for VMWare Fusion when using --vmrun ``` * Add "node_name" method to Host class (c1886954) ``` Add "node_name" method to Host class In certain tests it is very important for us to use an agent's node_name_value rather than relying on the hostname from the test config file (or other possible values that may successfully resolve in DNS). For example, when testing node activation and de-activation for puppetdb, we *must* use the node_name_value or things can go awry. This commit adds a method to the host object that allows us to retrieve the node_name_value without having to hard-code the command for acquiring it into all of the tests. We might want to consider similar methods for a few other things such as FQDN. ``` * Move vmname option from fission-level to host-level (bcabafe4) ``` Move vmname option from fission-level to host-level vmname is a generic attribute of a host, thus the option can be useful in contexts outside of fission. This patch moves that option out of the fission subsection and into the parent host section. "I've been wanting to make explicit the distinction between name used by the harness, hostname, and vmname for awhile. This is something we're going to need in vSphere soon and I'd like to see 'vmname' as a key in the host hash above the fission specific section (since I'll probably be using it in vSphere as well before Lance ships)." -- Justin Stoller Signed-off-by: Deepak Giridharagopal ``` * Add fission dependency to gemspec (fddeedb8) ``` Add fission dependency to gemspec Signed-off-by: Deepak Giridharagopal ``` * Allow projects to define their own setup suites (452e5e3a) ``` Allow projects to define their own setup suites This introduces the "--setup-dir" option, which allows a project to specify a path to a project-specific setup directory. This directory may contain subdirectories like "early", "pre-suite", and "post-suite". Ruby files inside of these directories will be run at the appropriate phase in the testing lifecycle. ``` * Use headless mode for Fusion VM's (f325bf76) ``` Use headless mode for Fusion VM's Signed-off-by: Deepak Giridharagopal ``` * Support for VMWare Fusion when using --vmrun (71873184) ``` Support for VMWare Fusion when using --vmrun This provides support for reverting a VMWare Fusion machine to a particular snapshot prior to executing tests. Additional requirements on the Test Driver: - Must have the 'fission' gem (including all its dependencies) installed - Must have a ~/.fissionrc that points to the `vmrun` executable and where VMs can be found You can then use the following arguments to systest: - `--vmrun fusion` tells us to enable this feature. This is required. - `--snapshot `, where is the snapshot name to revert to. This applies across *all* VMs, so it only makes sense if you want to use the same snapshot name for all VMs. This is optional. For each host, you can (optionally) have a "fission" section with the following (also optional) settings inside: - `vmname`: This is useful if the hostname of the VM doesn't match the name of the .VMX file on disk. The alias should be something fission can load. - `snapshot`: This is useful if you'd like to use different snapshots for each host. The value should be a valid snapshot name for the VM. Signed-off-by: Deepak Giridharagopal ``` * Add support for cloning additional git repos (174a2465) ``` Add support for cloning additional git repos This adds a "--yagr" option to the acceptance framework: "Yet Another Git Repo". You can pass as many occurrences of this as you like, and the framework will clone each repo so that you'll have it available for your project's tests. ``` * (maint) Much needed cleanup on README (df545ed4) ``` (maint) Much needed cleanup on README Much info was out of date; removed references to private PE test repository. Converted to markdown format. ``` * Merge pull request #244 from djm68/add_agent_test_pe_upgrade (ac15b338) ``` Merge pull request #244 from djm68/add_agent_test_pe_upgrade (maint) Add agent --test step ``` * (maint) Add agent --test step (935f5af0) ``` (maint) Add agent --test step Running 'puppet agent --test' after installation and upgrades sets up the newly installed agents for testing. Thi step was ommitted on pe upgrade testing. ``` * Merge pull request #243 from justinstoller/maint/master/instance_not_class (ab254dc7) ``` Merge pull request #243 from justinstoller/maint/master/instance_not_class (maint) move from TestConfig.is_pe? to host.is_pe? ``` * move from TestConfig.is_pe? to host.is_pe? (4e0bcf9b) * Merge pull request #242 from justinstoller/maint/master/hosts_clean_up (93dceaf2) ``` Merge pull request #242 from justinstoller/maint/master/hosts_clean_up Host initialization/defaults cleanup ``` * clean up host initialization (99ccff97) * properly load windows defaults for opensource (4187bccd) * Merge pull request #241 from justinstoller/maint/master/move_logger_initialization (f3fe932b) ``` Merge pull request #241 from justinstoller/maint/master/move_logger_initialization Logging Refactor ``` * variable names != method names (0ff2f20e) * break the cli class into some sensical methods (d9c709c0) * re-enable stdout only behavior (df08dcef) * refactor logging configuration out of TestSuite and into CLI (855faf4b) * TestConfig#is_pe -- changed away from !! syntax because the match returns 0 (first character in string) which ! believes is false (c67fec4a) * Merge pull request #240 from nicklewis/database-role (e463b8ba) ``` Merge pull request #240 from nicklewis/database-role Add "database" role to CI configs ``` * Merge pull request #237 from nicklewis/command-refactors (45a14a2b) ``` Merge pull request #237 from nicklewis/command-refactors Command refactors ``` * Merge pull request #239 from nicklewis/preserve-ssl (d6940bf9) ``` Merge pull request #239 from nicklewis/preserve-ssl Fix preserve_ssl to actually preserve ssl.. ``` * Specify depth correctly when removing vardir children (23d4e492) ``` Specify depth correctly when removing vardir children It turns out `-depth n` is a BSD option only, so we'll use -mindepth and -maxdepth to get the same effect. ``` * Merge pull request #238 from justinstoller/maint/master/require_json (4582a9c0) ``` Merge pull request #238 from justinstoller/maint/master/require_json (maint) require json gem as harness dependency ``` * Add "database" role to CI configs (88a0e03c) ``` Add "database" role to CI configs This doesn't currently having any meaning to the test harness, but will be used by at least PuppetDB. All the databases live on the same node as the master. ``` * Use standard file naming convention for Logger (f7231672) * Fix preserve_ssl to actually preserve ssl.. (28f2d175) ``` Fix preserve_ssl to actually preserve ssl.. This option prevented the explicit removal of the ssl directory, but didn't prevent the case where the ssldir is inside the vardir and gets removed that way. ``` * require json gem as harness dependency (73beda73) * Respect the --no-color option (80c5fe8c) * Merge pull request #236 from nicklewis/options-for-puppet-master (2738d4a5) ``` Merge pull request #236 from nicklewis/options-for-puppet-master Allow options for with_master_running_on ``` * Allow options for with_master_running_on (08b69404) ``` Allow options for with_master_running_on This method now takes an optional final argument, an options hash. The only current use is to specify the :preserve_ssl option, which dictates whether or not to leave the ssl directories of the hosts alone. The default behavior is to remove them, as the master is considered to be a new puppet instance. However, sometimes a master needs to exist in a long-running system, so this option can be used to maintain ssl. ``` * Merge pull request #235 from kelseyhightower/feature/master/add_hiera_puppet_support (5aebc4d1) ``` Merge pull request #235 from kelseyhightower/feature/master/add_hiera_puppet_support (maint) Add hiera-puppet support + code clean up ``` * Don't automatically install hiera and hiera-puppet (364f67f2) * (maint) Add hiera-puppet support + code clean up (f28b35ca) ``` (maint) Add hiera-puppet support + code clean up This patch adds support for hiera-puppet plus some code clean up. ``` * Merge pull request #234 from kelseyhightower/master (525e7081) ``` Merge pull request #234 from kelseyhightower/master (maint) Quote sources in Hiera hierarchy ``` * (maint) Quote sources in Hiera hierarchy (1c6ea5a4) ``` (maint) Quote sources in Hiera hierarchy Without this patch the YAML parser can fail when parsing the `/etc/puppet/hiera.yaml` configuration file. This results in the following error: Error 400 on SERVER: (/etc/puppet/hiera.yaml): found character that cannot start any token while scanning for the next token at line 5 column 5 ``` * Merge pull request #233 from justinstoller/maint/master/bump_console_version (b4975548) ``` Merge pull request #233 from justinstoller/maint/master/bump_console_version (maint) bump console version to 1.0.12 ``` * bump console version to 1.0.12 (11ed5110) * Clean-up and stream command output (983c337c) ``` Clean-up and stream command output This merges stdout and stderr, as we've never actually cared much for the distinction (and this way, they come out in the proper order). Also reformatted the way output is done to look like a standard shell session. Command exit codes are only logged if they are non-zero. Finally, output is now printed as it's received, rather than being delayed until the command is finished. This provides better insight into what the test is doing and why it's held up. ``` * Merge pull request #232 from justinstoller/maint/master/only_change_old_aptconf (34ae12c7) ``` Merge pull request #232 from justinstoller/maint/master/only_change_old_aptconf (maint) dont backup non-existent files ``` * dont backup non-existent files (fb85b8b0) * Stop using a global logger (8e271361) ``` Stop using a global logger Now, the test suite will create an instance of Logger and pass it around to the other objects that need it. This makes it easier to encapsulate and change the properties of the logger, or to use a different logger when necessary (for instance, for summary logging). ``` * Robustify puppet master start/stop (693c380a) ``` Robustify puppet master start/stop This was using curl to check if the master was stopped, when `kill -0` will suffice. Also, it was overly permissive in the exit codes it accepted, and would just wait the full duration for the master to start/stop in the case where curl wasn't even installed. Also reduced the timeouts to wait for start/stop, as 30 seconds was a bit unrealistically long, and just slowed down results when something really was broken. ``` * Reorder some options for better help output (49f5caa8) ``` Reorder some options for better help output This moves commonly used (and required) options to the beginning of the help output to make it easier to get started. ``` * Extract command execution and SCP to SshConnection (e0ce5589) ``` Extract command execution and SCP to SshConnection This handles the responsibility of actually running a command on the remote machine, whereas Host has the job of checking that it was successful (by the given definition of success). The TestCase#on method is now a thin DSL wrapper around Host#exec. ``` * Remove superfluous do_action method (05f0e290) * Shift responsibility for executing commands (a6c465fc) ``` Shift responsibility for executing commands Previously the logic had been in Command, but that only represents something to execute, and shouldn't be executing it or checking whether it succeeded. Now the "on" method of TestCase takes care of this. ``` * (maint) add apt-get update to --pkg-repo (4ef4a8c5) ``` (maint) add apt-get update to --pkg-repo Some VMs have stale apt caches, this will update the caches before attemting to install Puppet. ``` * (maint) EL package configs removal (4b1f8d5c) ``` (maint) EL package configs removal EL platforms have very complex package configs: different names on each platform, different repo urls, etc. Removing EL specific steps for now. ``` * Merge pull request #231 from justinstoller/feature/master/12783-virsh_never_do_it (512e2107) ``` Merge pull request #231 from justinstoller/feature/master/12783-virsh_never_do_it (#12783) virsh, never do it ``` * add rbvmomi to gemspec (8e431173) ``` add rbvmomi to gemspec warn of virsh deprecation ``` * alow revert vm step to use RbVmomi if appropriate (9bbf59c7) * Merge pull request #230 from branan/14694_log_directory (ac00544f) ``` Merge pull request #230 from branan/14694_log_directory (#14694) use mkdir_p for log output directory ``` * (#14694) use mkdir_p for log output directory (270bdf1d) * Merge pull request #229 from justinstoller/maint/master/lib_layout (b346b3bf) ``` Merge pull request #229 from justinstoller/maint/master/lib_layout (maint) move and modify lib to be a true gem ``` * move and modify lib to be a true gem (71f26976) * Merge pull request #228 from justinstoller/ruby_layout (a7467579) ``` Merge pull request #228 from justinstoller/ruby_layout (maint) ruby layout ``` * ensure stub tests are passing (b6ae0de9) * Merge pull request #227 from jeffmccune/maint/master/fix_ntp_for_win2008r2 (8a82c129) ``` Merge pull request #227 from jeffmccune/maint/master/fix_ntp_for_win2008r2 Fix false positive error synchronizing win2008r2 Time ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (12b08e17) * (maint) No default install of Hiera (2f5c3668) ``` (maint) No default install of Hiera Hiera was being installed even when not specified on the command line. Seeting options[:hiera] to nil prevents silent, unintended installs. ``` * (maint) Remove leading white space (c36728bb) ``` (maint) Remove leading white space Leading white space is breaks repo config ``` * Merge pull request #226 from djm68/add_el6__repo_update (c96f040b) ``` Merge pull request #226 from djm68/add_el6__repo_update (maint) Dynamic repo cofig for EL6 platforms ``` * (maint) Dynamic repo cofig for EL6 platforms (0a5d4361) ``` (maint) Dynamic repo cofig for EL6 platforms Our packing reposities are rather dynamic...VM images not so much. Adding EL6 pkg repo updates. ``` * Merge pull request #224 from cprice-puppet/feature/master/add-helper-file-option (afb5cb80) ``` Merge pull request #224 from cprice-puppet/feature/master/add-helper-file-option Add a --helper option ``` * Merge pull request #225 from kelseyhightower/ticket/master/14554_add_hiera_command_support (104070a3) ``` Merge pull request #225 from kelseyhightower/ticket/master/14554_add_hiera_command_support (maint) Fix Hiera setup step ``` * (maint) Fix Hiera setup step (5ab2a98e) ``` (maint) Fix Hiera setup step Without this patch the `/etc/puppet/hiera.yaml` configuration file has the wrong permissions which causes the following error: Error 400 on SERVER: Permission denied - /etc/puppet/hiera.yaml at /tmp/databinding.Z16mln/site.pp:2 This patch also adds the missing configuration option for the YAML backend's datadir. # hiera.yaml :yaml: :datadir: #{dest_path}/hieradata The Hiera setup step now creates the YAML backend datadir: /etc/puppet/hieradata ``` * Fix false positive error synchronizing win2008r2 Time (8fe23ec5) ``` Fix false positive error synchronizing win2008r2 Time Without this patch the acceptance tests fail running against Windows 2008 hosts because the w32tm /register command always returns "Permission Denied." Even with UAC completely disabled. The command is not actually required in Windows 2008. The commands following the register command are adequate to synchronize the system clock after a revert of the VM snapshot. This change should only affect Windows hosts and the command should still complete on Windows 2003 hosts where Josh thinks it's required. ``` * Add a --helper option (b9fc2717) ``` Add a --helper option This new option allows tests to pass a path to a "helper" file, somewhat akin to a spec_helper file, which will simply be "require"d by the framework. This allows tests to rely on library code that lives in their own project rather than in the framework. ``` * Merge pull request #223 from joshcooper/maint/master/fix-hiera-path (aa5b1732) ``` Merge pull request #223 from joshcooper/maint/master/fix-hiera-path (Maint) Always use POSIX-style paths for PATH ``` * (Maint) Always use POSIX-style paths for PATH (da54bcc8) ``` (Maint) Always use POSIX-style paths for PATH Previously, we were setting the PATH environment variable as: env PATH="C:\foo;$PATH" cmd.exe /c However, cygwin handles the PATH environment variable differently than RUBYLIB. It splits the value of PATH on colons, and converts each path component to Windows style paths. So `C:\foo` becomes `C;C:\foo` This commit changes the test harness to generate commands of the form: env PATH="/opt/hiera/bin:$PATH" cmd.exe /c Which becomes `C:\cygwin\opt\hiera\bin;%PATH%` ``` * Merge pull request #222 from jeffmccune/maint/master/win2008_ci_config (e540e00b) ``` Merge pull request #222 from jeffmccune/maint/master/win2008_ci_config Add ci-windows2008-64a config for CI Acceptance ``` * Add ci-windows2008-64a config for CI Acceptance (22f6995e) ``` Add ci-windows2008-64a config for CI Acceptance Without this patch we don't have any configurations suitable for acceptance testing using a Windows 2008 R2 x64 agent system. This patch fixes the problem by providing a configuration targeting win2008r2-64-1.puppetlabs.lan as an agent platform. ``` * Merge pull request #221 from kelseyhightower/ticket/master/14554_add_hiera_command_support (471cf80c) ``` Merge pull request #221 from kelseyhightower/ticket/master/14554_add_hiera_command_support (#14554) Add hiera command support ``` * (#14554) Add hiera command support (18b4b951) ``` (#14554) Add hiera command support This patch adds support for running hiera commands to the test harness. You can execute Hiera commands like this: on master, hiera(""), :acceptable_exit_codes => [1] do assert_output <<-OUTPUT STDERR> Please supply a data item to look up OUTPUT end ``` * try to ensure backwards compatibility while we change job formats (a0909efe) * Merge pull request #220 from cprice-puppet/feature/master/allow-trace-for-apply (f243ae82) ``` Merge pull request #220 from cprice-puppet/feature/master/allow-trace-for-apply Add ability to pass "--trace" when calling apply ``` * Add ability to pass "--trace" when calling apply (076e494b) * Merge pull request #219 from djm68/add_host_based_path_separator (284b2988) ``` Merge pull request #219 from djm68/add_host_based_path_separator (maint) Add correct path separator for Windows hosts ``` * (maint) Add correct path separator for Windows hosts (4ae58ba7) ``` (maint) Add correct path separator for Windows hosts Windows hosts require a ';' vs a ':'. Added a new entry 'pathseparator' to host/unix.rb host/windows.rb ``` * Merge pull request #218 from justinstoller/maint/master/bump_console_auth (6f606879) ``` Merge pull request #218 from justinstoller/maint/master/bump_console_auth (maint) bump console auth version ``` * bump console auth version (f3f0fdae) * (maint) Add append hiera/lib to RUBYLIB, Win (564dee99) ``` (maint) Add append hiera/lib to RUBYLIB, Win Windows needs its own entry for RUBYLIB; adding hiera/lib to get Hiera into the path. ``` * Merge pull request #217 from kbarber/ticket/master/14397-win32console_v1.3.2 (9b7519a4) ``` Merge pull request #217 from kbarber/ticket/master/14397-win32console_v1.3.2 (#14397) Use win32console v1.3.2 now, with pipe fixes ``` * Merge pull request #216 from djm68/fix_heira_windows_path (ab9bf37c) ``` Merge pull request #216 from djm68/fix_heira_windows_path (maint) Fix puppet conf dir path extraction for Win ``` * (maint) Fix puppet conf dir path extraction for Win (6f7c44ac) ``` (maint) Fix puppet conf dir path extraction for Win I feel dirty. Terribly ugly hack to retreive a normalized cygpath path for $confdir. This needs to be address in the lib/windows.rb at a later date, but this will un-stick the hiera tests on Win. ``` * Merge pull request #215 from jeffmccune/maint/master/add_modules_to_config_key_summary (159c8e14) ``` Merge pull request #215 from jeffmccune/maint/master/add_modules_to_config_key_summary Add modules to Host Configuration Summary ``` * Add modules to Host Configuration Summary (edf329d2) ``` Add modules to Host Configuration Summary Without this patch the set of modules installed into the puppet master modulepath is not displayed in the Host Configuration Summary. This is a problem because I sometimes forget to switch the branch I'm working on and I end up running the test suite against a branch that fails the tests I'm currently working on. This patch simply adds the array created by --modules to the config hash object displayed by the summary. The new summary looks like: - Host Configuration Summary - Platform for win2003sat windows-2003-amd64 Platform for qa-ubuntu-lucid ubuntu-10.04-i386 Role for win2003sat agent Role for qa-ubuntu-lucid master Role for qa-ubuntu-lucid agent Ruby version for win2003sat ruby 1.8.7 (2011-12-28 patchlevel 357) [i386-mingw32] Ruby version for qa-ubuntu-lucid ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux] Config Key|Val: modules ["git@github.com:jeffmccune/puppetlabs-registry.git#maint/master/add_acceptance_tests", "git://github.com/puppetlabs/puppetlabs-stdlib.git#master"] Config Key|Val: filecount 12 Config Key|Val: puppet_ver "git://github.com/puppetlabs/puppet.git#2.7.x" Config Key|Val: consoleport 443 ``` * Merge pull request #214 from justinstoller/maint/master/end_test_when_no_hosts (2881fbd3) ``` Merge pull request #214 from justinstoller/maint/master/end_test_when_no_hosts (maint) end test when no hosts ``` * skip test when no valid hosts remain (6316af07) * end test if no valid hosts remain (3ca8c5d6) * Merge pull request #213 from djm68/install_hiera_all_hosts (1213880a) ``` Merge pull request #213 from djm68/install_hiera_all_hosts (maint) Install Hiera on all hosts ``` * (maint) Install Hiera on all hosts (56df1b75) ``` (maint) Install Hiera on all hosts Minor change to instal Hiera on all hosts vs. just the Puppet Master host. ``` * (#14397) Use win32console v1.3.2 now, with pipe fixes (2ff30a1a) ``` (#14397) Use win32console v1.3.2 now, with pipe fixes Previously win32console was throwing errors in the acceptances tests due to a bug in the code which was causing any redirected output to throw an exception: https://github.com/luislavena/win32console/issues/14 This issue has now been solved, and subsequently win32console version 1.3.2 is now safe to use. ``` * Merge pull request #212 from justinstoller/maint/master/install_specific_version_of_gem (eb8c5a09) ``` Merge pull request #212 from justinstoller/maint/master/install_specific_version_of_gem (maint) install gems individually so specific versions can easily be specified ``` * install gems individually so specific versions can easily be specified (8b685832) * Merge pull request #211 from justinstoller/maint/master/dont_break_junit (bc34da81) ``` Merge pull request #211 from justinstoller/maint/master/dont_break_junit (maint) escape the escape character, dont use regexes that dont do anything ``` * escape the escape character, dont use regexes that dont do anything (e6ebd364) * Merge pull request #210 from jeffmccune/fix/master/hard_reset_modules (bc5a8e2f) ``` Merge pull request #210 from jeffmccune/fix/master/hard_reset_modules Perform a hard reset to get module changes ``` * Perform a hard reset to get module changes (26dc1aae) ``` Perform a hard reset to get module changes Without this patch the --modules command line option results in the behavior of using git checkout -f on the puppet master systems using the local branch. This is a problem because I frequently re-write history in my topic branches and the upstream branch will no longer be fast-forward-able relative to the local branch reference. The end result is that my changes aren't actually tested if I rewrite history. This patch fixes the problem by doing a hard reset of the local topic branch against the upstream reference. This ensures the local branch is the exact same as the upstream reference. The end result is that my changes are tested. =) ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (83a00b87) * (maint) add acceptance test config for jmccune (dd5f9154) ``` (maint) add acceptance test config for jmccune Jmccune and I are investigating what we need to spin up an acceptence testing setup a-la-jenkins_pod ``` * Merge pull request #209 from jeffmccune/fix/master/modules_option (721bb668) ``` Merge pull request #209 from jeffmccune/fix/master/modules_option Fix missing comma in --modules option ``` * Fix missing comma in --modules option (675aa6aa) ``` Fix missing comma in --modules option I forgot a comma so the -m and --modules string were being combined together yielding this error: $ ./test_registry + ./systest.rb --config jeff_win2003.yaml --type git2 --puppet git://github.com/jeffmccune/puppet.git#2.7.x --modules git@github.com:jeffmccune/puppetlabs-registry.git#maint/refactor_type_and_provider_helper_methods/add_acceptance_tests --modules git://github.com/puppetlabs/puppetlabs-stdlib.git#master --debug --tests ./acceptance-registry/tests/resource/registry/should_create_key.rb /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --modules (OptionParser::InvalidOption) from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1448:in `catch' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1448:in `complete' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1254:in `catch' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1248:in `order!' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1339:in `permute!' from /Users/jeff/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/optparse.rb:1360:in `parse!' from ./lib/options_parsing.rb:202:in `parse_args' from ./systest.rb:25 This patch adds in the missing comma and fixes the error. ``` * Merge pull request #206 from jeffmccune/feature/master/registry_acceptance (d20d52b8) ``` Merge pull request #206 from jeffmccune/feature/master/registry_acceptance Add --modules command line option to test modules ``` * Merge pull request #208 from djm68/add_hiera_lib_dir (dda48e26) ``` Merge pull request #208 from djm68/add_hiera_lib_dir (maint) Add Hiera lib dir for Linux hosts ``` * (maint) Add Hiera lib dir for Linux hosts (298dfc85) ``` (maint) Add Hiera lib dir for Linux hosts Add Hiera lib dir: /opt/puppet-git-repos/hiera/lib to $RUBYLIB. This is very specific to how we install FOSS Puppet via the test harness, and will not work if Hiera is installed in a different path. ``` * Merge pull request #207 from justinstoller/maint/master/move_required_env_before_install (39cace5d) ``` Merge pull request #207 from justinstoller/maint/master/move_required_env_before_install (maint) move EnvSetup to before we actually try to install ``` * Add --modules command line option to test modules (e37a7829) ``` Add --modules command line option to test modules Without this patch the git acceptance type has no way to install arbitrary Puppet modules. We need this functionality to properly test the Registry puppet module. This patch fixes the problem by providing a --modules command line option. This option takes a list of URI's to Puppet module repositories. Each listed URI will be cloned into /opt/puppet-git-repos on each master system using the 04_InstallModules setup step when using --type git. Individual test cases may then configure a modulepath directory that symlinks in the modules we're testing are "installed" on the puppet master systems. ``` * move EnvSetup to before we actually try to install (677cff33) * Merge pull request #205 from djm68/add_hiera_install_option (cb22cb78) ``` Merge pull request #205 from djm68/add_hiera_install_option (maint) Add Hiera install option ``` * (maint) Add Hiera install option (a13eba8b) ``` (maint) Add Hiera install option Add -h and --hiera + URI to install Hiera. Creates a default hiera.yaml file as well. TODO: add Windows install option as well. ``` * (maint) Debian will require different setup (213e56ef) ``` (maint) Debian will require different setup Debian needs a seperate config step vs. ubuntu. ``` * Merge pull request #204 from djm68/setup_pkg_repo (35396dfc) ``` Merge pull request #204 from djm68/setup_pkg_repo (maint) Add step for dynamic pkg repo cfg ``` * (maint) Add step for dynamic pkg repo cfg (ded9366a) ``` (maint) Add step for dynamic pkg repo cfg Our package repos change occassionally, causing grief for our VMs that are snap shotted with stale configs. ``` * Merge pull request #187 from mkincaid/windows_bindir_fix (a3c5e890) ``` Merge pull request #187 from mkincaid/windows_bindir_fix Use cygpath to get the Puppet Enterprise binary directory instead of har... ``` * Merge pull request #203 from haus/bump_console_auth_version (875e3db3) ``` Merge pull request #203 from haus/bump_console_auth_version Bump expected console-auth version to 1.0.10 ``` * Bump expected console-auth version to 1.0.10 (5ad72308) * Merge pull request #202 from justinstoller/maint/master/missing_colon (ea132fd4) ``` Merge pull request #202 from justinstoller/maint/master/missing_colon (maint) fix missing colon ``` * fix missing colon (76d314ca) * Merge pull request #201 from justinstoller/maint/master/round_robin_hosts (6900f5e5) ``` Merge pull request #201 from justinstoller/maint/master/round_robin_hosts (maint) adds multi-platform test networks ``` * adds multi-platform test networks (63058867) * Merge pull request #200 from justinstoller/maint/master/add_win32console_gem (ccfccfd7) ``` Merge pull request #200 from justinstoller/maint/master/add_win32console_gem (maint) add the win32console gem to windows agents during testing ``` * add the win32console gem to windows agents during testing (bbc8a87b) * Merge pull request #199 from justinstoller/maint/master/consolidate_agent_tests (ba3040c1) ``` Merge pull request #199 from justinstoller/maint/master/consolidate_agent_tests (maint) consolidate our agent tests ``` * consolidate our agent tests (d7294b5b) * Merge pull request #198 from justinstoller/maint/master/rename_precise_64 (f1b37d2c) ``` Merge pull request #198 from justinstoller/maint/master/rename_precise_64 (maint) use precise-64-2 instead of precise-64-1 ``` * use precise-64-2 instead of precise-64-1 (af2825ce) * Merge pull request #197 from justinstoller/maint/master/bump_console_auth_ver (24079aca) ``` Merge pull request #197 from justinstoller/maint/master/bump_console_auth_ver (maint) bump console auth version ``` * bump console auth version (a14e4588) * Merge pull request #196 from justinstoller/maint/master/add_sles11.2_support (bba77e74) ``` Merge pull request #196 from justinstoller/maint/master/add_sles11.2_support (maint) support latest sles service pack ``` * support latest sles service pack (59e43de3) * Merge pull request #195 from justinstoller/maint/master/add_precise_config (5b0f56cc) ``` Merge pull request #195 from justinstoller/maint/master/add_precise_config (maint) full precise support in testing ``` * full precise support in testing (11084db3) * Merge pull request #194 from justinstoller/maint/master/add_precise_config (b8c34a49) ``` Merge pull request #194 from justinstoller/maint/master/add_precise_config (maint) add precise config for mono install tests ``` * add precise config for mono install tests (7c0dabae) * Merge pull request #193 from joshcooper/rename-64-32 (34720321) ``` Merge pull request #193 from joshcooper/rename-64-32 Rename 64 to 32 ``` * (Maint) Rename 64 to 32 (6e55d451) ``` (Maint) Rename 64 to 32 Update the hostname ``` * (Maint) Rename from 64 to 32 (97ee9cba) ``` (Maint) Rename from 64 to 32 Will the real windows 2003R2 VM stand up. ``` * Merge pull request #188 from joshcooper/master (d5faaadc) ``` Merge pull request #188 from joshcooper/master Install gem dependencies ``` * Merge pull request #192 from justinstoller/maint/master/ensure_vm_reversion_before_pre_script (69040c88) ``` Merge pull request #192 from justinstoller/maint/master/ensure_vm_reversion_before_pre_script (maint) ensure the setup/early phase has passed so that vms have been reverted ``` * ensure the setup/early phase has passed so that vms have been reverted (431b8423) * Merge pull request #191 from justinstoller/maint/master/add_config_for_old_agents (ea734d57) ``` Merge pull request #191 from justinstoller/maint/master/add_config_for_old_agents (maint) add simple config for testing against agents in older versions ``` * add simple config for testing against agents in older versions (a800b1b1) * Merge pull request #190 from justinstoller/maint/master/allow_consoleport_set_from_env_vars (1401b752) ``` Merge pull request #190 from justinstoller/maint/master/allow_consoleport_set_from_env_vars (maint) allow console port to be set thru env vars ``` * make the env var override the config value (ead732c9) * allow console port to be set thru env vars (bdf5f41b) * Merge pull request #189 from justinstoller/maint/master/add_configs (d7d70182) ``` Merge pull request #189 from justinstoller/maint/master/add_configs (maint) update the configs ``` * add new configs to allow more split master/dash setups (51c23907) ``` add new configs to allow more split master/dash setups copy the windows cfg to a standard PE spot ``` * (Maint) Add step for installing necessary gems (c1382235) ``` (Maint) Add step for installing necessary gems The FOSS version of Puppet on Windows requires several gems to run. Up until now, the necessary gems were part of the 'git' snapshot. However, as we add more features, additional gems will be required. Rather than update the snapshot each time, this commit adds a setup step that installs/updates the gems we require. It is written fairly generically so that platform-specific gems and behavior can be added. Note this step only occurs in 'git' but not 'pe' because in the latter case, the gems should be part of the installer itself. ``` * Use cygpath to get the Puppet Enterprise binary directory instead of hard-coding. (03361413) ``` Use cygpath to get the Puppet Enterprise binary directory instead of hard-coding. This fixes 64-bit Windows, where it is "Program Files (x86)". ``` * our foss snapshots are essentially on foss only machines (671a7220) * give the test harness a valid gem structure (939e33ad) ``` give the test harness a valid gem structure ignore gem paraphanelia in git ``` * rename ci -> config, and centralize configs and their examples in it (ab28bb5d) * combine configs, use as many common ones as possible (39603206) * remove unused dist dir (21fc70b1) * someone left .sh tests around (23cda0c6) * remove vmutil -- replaced by fission and vagrant (83957b08) ### pe2.5.0 - 27 Mar, 2012 (232e21a5) * Merge pull request #186 from justinstoller/maint/master/generated_upgrade_a (232e21a5) ``` Merge pull request #186 from justinstoller/maint/master/generated_upgrade_a (maint) we are generating the upgrade answers now ``` * we are generating the upgrade answers now, forgot in haste and lack of sleep (70ad1845) * Merge pull request #185 from justinstoller/maint/master/update_upgrade_a (ddc76f7e) ``` Merge pull request #185 from justinstoller/maint/master/update_upgrade_a (maint) we are finally enforcing the eight chars in upgrades as well... ``` * we are finally enforcing the eight chars in upgrades as well... (a377e5f0) * Merge pull request #184 from joshcooper/maint/master/fix-cert-race-condition (c321962c) ``` Merge pull request #184 from joshcooper/maint/master/fix-cert-race-condition (Maint) Ensure agent certs are signed before proceeding ``` * Merge pull request #183 from justinstoller/maint/master/bump_facter_dash_and_auth (aee24412) ``` Merge pull request #183 from justinstoller/maint/master/bump_facter_dash_and_auth (maint) bump dashboard, facter and add console_auth to version checks ``` * (Maint) Ensure agent certs are signed before proceeding (ca678d7f) ``` (Maint) Ensure agent certs are signed before proceeding Previously, there was a race condition whereby "slow agents" may not submit their CSR before `03_PE-SignCerts` tries to sign them. As a result, we might not sign anything (since exit code 24 is acceptable for situations where the master is also an agent and its cert is always autosigned). We would then get a failure later on in `05_Agent_test` when validating that the agents could connect to the master. This commit changes the test to validate that all of the agents' certificates have been issued before proceeding. Note we only do this for hosts that are only agents, because the master's cert is autosigned. ``` * bump dashboard, facter and add console_auth to version checks (e586fce1) * Merge pull request #182 from joshcooper/maint/master/stop-pe-agent-while-running (297d246f) ``` Merge pull request #182 from joshcooper/maint/master/stop-pe-agent-while-running (Maint) Don't run puppet agent in the background during test run ``` * Merge pull request #181 from justinstoller/maint/master/skip_dhcp_on_windows (8b1ebc54) ``` Merge pull request #181 from justinstoller/maint/master/skip_dhcp_on_windows (maint) dont renew dhcp on windows ``` * dont renew dhcp on windows (676e5887) * (Maint) Don't run puppet agent in the background during test run (406ceb4e) ``` (Maint) Don't run puppet agent in the background during test run Previously, the `setup/pe/01_PE-InstallPuppet.rb` and `02_PE-InstallWindows.rb` tests would install the PE agent, and cause the agent to run in the background every `runinterval` seconds. Meanwhile, `setup/pe/05_Agent_test.rb` would try to run `puppet agent --test` to verify that the agent could connect to the master, retrieve its SSL certificate, etc. This causes a second puppet process to start up and contend for the puppet lock file. Most of the time the first puppet process releases the lock file and sleeps for 30 minutes, before the 05_Agent_test runs. But sometimes the the first process still has the file locked, e.g. because it's pluginsync'ing from the master. If so, 05_Agent_test fails with `notice: Run of Puppet configuration client already in progress; skipping` Since none of the PE acceptance tests rely on having a puppet agent running in the background, this commit stops all agents before proceeding. The logic for how to stop the agent was copied from `setup/pe_co/05_Agent_test.rb`. ``` * Merge pull request #180 from joshcooper/maint/master/fix-ntp (76540ff6) ``` Merge pull request #180 from joshcooper/maint/master/fix-ntp (Maint) Fix intermittent ssl errors ``` * (Maint) Fix intermittent ssl errors (42a6eb62) ``` (Maint) Fix intermittent ssl errors Previously, when running windows acceptance tests, the ntp step was sometimes not updating the clock. As a result, the SSL sanity test would fail due to mismatched clocks. It turns out the `/update` flag does not necessarily update the client's time. It just applies the configuration changes, e.g. ntp server IP address, so that the Windows service can see them. An explicit /resync is required to force an immediate ntp update. Also the resync occurs sychronously, because we're not using the `/nowait` switch. ``` * Merge pull request #179 from joshcooper/maint/master/pe-windows-env (11a89104) ``` Merge pull request #179 from joshcooper/maint/master/pe-windows-env (Maint): Undo prior changes puppet and facter bin dir ``` * (Maint): Undo prior changes puppet and facter bin dir (508649f2) ``` (Maint): Undo prior changes puppet and facter bin dir We now pass the puppetbindir in the env command so that it is not necessary to specify the fully qualified path to puppet.bat and facter.bat ``` * Merge pull request #178 from justinstoller/maint/master/pe_windows (c9ee0e73) ``` Merge pull request #178 from justinstoller/maint/master/pe_windows (maint) Allow PE Windows Agents to be installed through the harness ``` * Merge pull request #177 from pcarlisle/fix_silent (885567e3) ``` Merge pull request #177 from pcarlisle/fix_silent Put back silent option in lib/command ``` * change the way puppet and facter are called to allow for '.bat' ext in (a30c1bbe) ``` change the way puppet and facter are called to allow for '.bat' ext in PE Windows ``` * skip innappropriate checks for windows (42ea2fe5) * wait for slow agents to sign in (windows) (b79de8b3) * strip different line endings from version strings (57e5cff2) * Put back silent option in lib/command (55136df2) ``` Put back silent option in lib/command I misinterpreted the meaning of this option since it does not appear elsewhere in the framework. It is used by some tests to intentionally ignore command failures. ``` * add a dashboard role to the windows cfg for pe testing (ce3f4f99) * (Maint) Create PE test to install Windows msi (b0fca167) ``` (Maint) Create PE test to install Windows msi TBD ``` * Merge pull request #175 from pcarlisle/report_output (a01e8b8f) ``` Merge pull request #175 from pcarlisle/report_output Include failed command output in exceptions ``` * Include failed command output in exceptions (6480074f) ``` Include failed command output in exceptions If a command doesn't exit with an expected exit code, include the last ten lines of its output in the exception formatted for display at the end of the test run. This also removes the useless "false is not true" errors. ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (1e92e158) * (maint) Change host name for win2003 box (74df810a) ``` (maint) Change host name for win2003 box Win2003 box is now: win2003r2-64-1 ``` * Merge pull request #174 from pcarlisle/remove_silent (e89d747b) ``` Merge pull request #174 from pcarlisle/remove_silent Remove unused silent switch ``` * Remove unused silent switch (4f8199ed) ``` Remove unused silent switch Command#exec was not checking exit codes if the silent option was turned on. It turned out that this option isn't recognized anyway, so I'm removing the code. ``` * (maint) Mods for EC2 answer files (5e0b398d) ``` (maint) Mods for EC2 answer files Now use port 443 as default for console change quoting on console answers ``` * Merge pull request #172 from djm68/update_answers_ec2 (ca8414df) ``` Merge pull request #172 from djm68/update_answers_ec2 (maint) Update EC2 answers ``` * (maint) Update EC2 answers (4c531e75) ``` (maint) Update EC2 answers EC2 answer generation has not been updated since PE2.0 -- many new configuration options need to be updated. ``` * Merge pull request #171 from djm68/change_auth_user_to_auth_email (5c52b3bd) ``` Merge pull request #171 from djm68/change_auth_user_to_auth_email (maint) modify answer file generation for auth_email ``` * (maint) modify answer file generation for auth_email (9d5f804f) ``` (maint) modify answer file generation for auth_email change q_puppet_enterpriseconsole_auth_user to q_puppet_enterpriseconsole_auth_user_email ``` * Merge pull request #169 from justinstoller/maint/master/update_upgrade_answers (d9b8e8af) ``` Merge pull request #169 from justinstoller/maint/master/update_upgrade_answers (maint) missed a question for console ``` * missed a question for console (333b6c1c) * Merge pull request #168 from justinstoller/maint/master/update_upgrade_answers (f82cec0d) ``` Merge pull request #168 from justinstoller/maint/master/update_upgrade_answers (maint) first pass at better upgrade answers ``` * first pass at better upgrade answers (0fabc51b) * Merge pull request #167 from justinstoller/maint/master/no_more_module_tool (c34b5c1e) ``` Merge pull request #167 from justinstoller/maint/master/no_more_module_tool (maint) remove version check for module tool ``` * we no longer have a separate binary for the module tool, removing version check for it (c2a45efe) * Merge pull request #163 from joshcooper/maint/master/remove-windows-cfg (26a90a14) ``` Merge pull request #163 from joshcooper/maint/master/remove-windows-cfg (Maint): Remove orphaned windows configuration ``` * Merge pull request #166 from justinstoller/maint/master/use_env_for_dmv (34c1c21c) ``` Merge pull request #166 from justinstoller/maint/master/use_env_for_dmv (maint) use env vars for dmv options ``` * use env vars for dmv options (e99e1e22) * Merge pull request #164 from justinstoller/maint/master/use_actual_email_for_answer (0bd564cc) ``` Merge pull request #164 from justinstoller/maint/master/use_actual_email_for_answer (maint) use a valid email address instead of "console" ``` * use a valid email address instead of "console" (c5a24f0b) * (Maint): Remove orphaned windows configuration (43dc2a70) ``` (Maint): Remove orphaned windows configuration The windows configuration was renamed to have a `ci-` prefix, but the old version was left behind and is no longer used. Deleting it so we don't confuse ourselves. ``` * Merge pull request #162 from djm68/add_console_auth_db_name_answer (91740bfe) ``` Merge pull request #162 from djm68/add_console_auth_db_name_answer (maint) adding answer for _auth_database_name ``` * (maint) adding answer for _auth_database_name (be66debc) ``` (maint) adding answer for _auth_database_name q_puppet_enterpriseconsole_auth_database_name is a new entry for the PE installer. ``` * Merge pull request #161 from justinstoller/bump_puppet_ver_for_25 (bc02c136) ``` Merge pull request #161 from justinstoller/bump_puppet_ver_for_25 (maint) bump puppet version to 2.7.12 ``` * well *probably* be using 2.7.12 for the next PE (c63a3269) * Merge pull request #160 from pvande/assertions/assert_output (a10de183) ``` Merge pull request #160 from pvande/assertions/assert_output Factoring out custom assertions, and adding assert_output. ``` * Factoring out custom assertions, and adding assert_output. (5f4b4c39) * Merge pull request #159 from mykhyggz/master (cf36e501) ``` Merge pull request #159 from mykhyggz/master bump dashbord to 1.2.6 ``` * (maint) bump Dashboard version to 1.2.6 from 1.2.4 (eab51805) * Merge pull request #158 from mykhyggz/master (08bcf8f2) ``` Merge pull request #158 from mykhyggz/master (maint) bump facter version to 1.6.6 from 1.6.4 ``` * (maint) Bump facter verstion to 1.6.6 from 1.6.4 (ff7c62cd) * Merge pull request #157 from justinstoller/dont_duplicate_db_users (ffaacc9d) ``` Merge pull request #157 from justinstoller/dont_duplicate_db_users (maint) slight tweaks to new answers ``` * slight tweaks to new answers (18240dc2) * Merge pull request #156 from djm68/add_dmv_answers (36080cb0) ``` Merge pull request #156 from djm68/add_dmv_answers (maint) add new answers for DMV ``` * (maint) add new answers for DMV (3da76f51) ``` (maint) add new answers for DMV DMV requires new answers for installation. First pass at adding this to answer file generation. ``` * Merge pull request #155 from justinstoller/wrong_line_endings (12ac0d1e) ``` Merge pull request #155 from justinstoller/wrong_line_endings (maint) fix windows cfg ``` * I believe the line endings for the windows cfg were incorrect, they now load properly with YAML.load_file (0e9364ee) * Merge pull request #154 from justinstoller/maint_same_win_naming (f215b0ff) ``` Merge pull request #154 from justinstoller/maint_same_win_naming (maint) Same windows naming ``` * Previously the windows config for FOSS was 'windows2003-64a.cfg' every (d432e19e) ``` Previously the windows config for FOSS was 'windows2003-64a.cfg' every other config is 'ci-...'. This gives the windows config the same naming as other configs. Signed-off-by: Justin Stoller ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (848aaef3) * (maint) add cfg file for win2003 acceptance testing (d15d3ca2) * Merge pull request #153 from justinstoller/maint_fix_xml_output (7dd504e7) ``` Merge pull request #153 from justinstoller/maint_fix_xml_output (maint) fix xml output ``` * s/skipped_test/skipped_tests/ (3dd6b685) * s/errored_test/errored_tests/ (4750ef65) * Merge pull request #150 from justinstoller/feature/master/12672-add_confine_method_to_dsl (74b05302) ``` Merge pull request #150 from justinstoller/feature/master/12672-add_confine_method_to_dsl (#12672) add confine method to dsl ``` * Merge pull request #149 from justinstoller/bug/master/12613-pending_test_method (67d23871) ``` Merge pull request #149 from justinstoller/bug/master/12613-pending_test_method (#12613) Add Pending Test Method ``` * Merge pull request #147 from justinstoller/feature/master/12673-add_result.output (3be93a6e) ``` Merge pull request #147 from justinstoller/feature/master/12673-add_result.output (#12673) Add a Result#output member that combines stdout and stderr ``` * add `confine` method to dsl (ba4e19ce) * show elapsed and average times on summary (3a7af04a) * cache test status counts, removed unneeded error checking, factor out useful error checking (1c83b26b) * add pending tests to summaries (52856520) ``` add pending tests to summaries always use the same methods to retrieve state counts ``` * add pending_test to TestCase (bfc3a651) * whitespace clean up and dragon notes (acb6ed4b) * move puppet commands into separate file (bfe1c431) ``` move puppet commands into separate file additional whitespace ``` * move methods for clarity (4cfc56aa) ``` move methods for clarity with_standard_output_to_logs taks a block ``` * whitespace clean up (c6af544b) * clean up syntax in host for Result#output (7f09e4b1) * rough pass on adding Result#output (f7275248) ### pe2.0.3 - 21 Feb, 2012 (492ff756) * Merge pull request #151 from justinstoller/additional_release_version_check (492ff756) ``` Merge pull request #151 from justinstoller/additional_release_version_check (maint) add a check for the pe-puppet-enterprise-release ``` * add a check for the pe-puppet-enterprise-release (eed56e5f) * Merge pull request #148 from justinstoller/revert/master/quarantine-tempfiles (3b758e93) ``` Merge pull request #148 from justinstoller/revert/master/quarantine-tempfiles (maint) revert temp dir changes ``` * revert temp dir changes, they depend on mkdirs which will not be implemented now (f069fbd4) * Merge pull request #143 from justinstoller/really_nice_etc_hosts (f335b81a) ``` Merge pull request #143 from justinstoller/really_nice_etc_hosts Previously the add master to /etc/hosts step would move all lines ``` * Merge pull request #139 from cprice-puppet/quarantine-tempfiles (02cb1996) ``` Merge pull request #139 from cprice-puppet/quarantine-tempfiles Add "puppet-acceptance" to base tmp dir path ``` * Merge pull request #146 from justinstoller/bug/master/12665-dont_hard_code_paths (e4cf3647) ``` Merge pull request #146 from justinstoller/bug/master/12665-dont_hard_code_paths (#12665) allow dist dir and version file to be overridden by env vars ``` * allow dist dir and version file to be overridden by env vars (f78adf6b) * Merge pull request #145 from joshcooper/maint/master/vardir-not-getting-deleted (b478e4c1) ``` Merge pull request #145 from joshcooper/maint/master/vardir-not-getting-deleted Maint: Ensure cached catalogs get deleted before starting agent/master test cases ``` * Maint: Use short, unquoted paths on Windows (3382f9c6) ``` Maint: Use short, unquoted paths on Windows Previously, we quoted the puppetpath and puppetvardir host properties on Windows because they often contain spaces, e.g. C:\Documents and Settings. However, when these properties are used in bash commands, it can result in expected consequences. For example, if [ -d "#{agent['puppetpath']}" ] checks if a directory named \"C:\Documents and Settings\...\" exists, where the quotes are interpreted as part of the path. This was causing the `with_master_running_on` method to fail to delete Windows agents vardir contents. This commit changes the puppetpath and puppetvardir to always return short versions of Windows paths with forward slashes, e.g. C:/DOCUME~1/ALLUSE~1/APPLIC~1/PuppetLabs/puppet/var/client_data This eliminates the need for these paths to be quoted, and makes it easier for bash commands to do what you expect in a cross-platform way. ``` * Maint: Agent vardir sometimes not deleted between test cases (12f45cf2) ``` Maint: Agent vardir sometimes not deleted between test cases The `with_master_running_on` method was recently updated to delete the contents of each agents' vardir so that cached catalogs from previous runs don't pollute subsequent runs, and cause the agent to return 0 exit code, when it shouldn't, for example. However, commit `ba57ee5c` refactored this code and caused a regression, as it was only deleting the agent's vardir if the directory existed on the host driving the tests, not the system under test. It also removed the `-f` flag. This commit reinstates the `-f` flag and moves the `File.exists?` check so that it is executed on the agent. This is necessary because calling `for f in /foo/*` returns the literal string '/foo/*' if the directory foo does not exist. ``` * Merge pull request #144 from justinstoller/more_robust_agents (aab8cb10) ``` Merge pull request #144 from justinstoller/more_robust_agents Allow multiple exitcodes for initial puppet agent run ``` * Merge pull request #142 from justinstoller/pre_and_help (695b87e1) ``` Merge pull request #142 from justinstoller/pre_and_help (#12565 & #12566) `--pre SCRIPT` and help usage ``` * Previously the add master to /etc/hosts step would move all lines (a252d761) ``` Previously the add master to /etc/hosts step would move all lines except for those that contained the hostname of the master. If someone had an /etc/hosts file like this: 127.0.0.1 localhost localhost.localdomain ubuntu-alpha ...snip... It would filter out the localhost line and cause odd errors later on. This changes the early step to filter out only the lines that we add (#{ip} #{hostname}) Signed-off-by: Justin Stoller ``` * Merge pull request #141 from cprice-puppet/default-args-for-with-master (0d86568b) ``` Merge pull request #141 from cprice-puppet/default-args-for-with-master remove autosign default from with_master_running_on ``` * Allow multiple exitcodes for initial puppet agent run (10cb4650) ``` Allow multiple exitcodes for initial puppet agent run Prior to this (a change I made to not effectively bounce the agent service) only accepted an exit code of 0. This worked for my testing because of conditions that caused the agent to check in once before the test was actually ran. The issue is when (and this is the typical case in CI) the test is the first agent run to check in there will usually be successful changes applied and puppet will exit with 2. This adds 2 as an acceptable exit code. Signed-off-by: Justin Stoller ``` * add --pre option (79d9d399) * print usage banner when no args are given (14479924) * remove autosign default (56ef289b) ``` remove autosign default This removes "--autosign" as a default from with_master_running_on. Also reverts commit 2e7f69a6e75c76ab44cdd49794dbac4fa02d960c : Revert "alter 03_ValidateSignCert to use new with_master defaults" ``` * Merge pull request #140 from justinstoller/tweak_sign_cert_for_foss (5c1e1719) ``` Merge pull request #140 from justinstoller/tweak_sign_cert_for_foss (maint) alter 03_ValidateSignCert to use new with_master defaults ``` * alter 03_ValidateSignCert to use new with_master defaults (2e7f69a6) * Add "puppet-acceptance" to base tmp dir path (13098599) ``` Add "puppet-acceptance" to base tmp dir path This commit just changes the default "root" temp dir for acceptance tests from "/tmp" to "/tmp/puppet-acceptance". The goal here is to quarantine acceptance test temp files into one easily-identifiable directory that can be cleaned up. This would only affect tests that were calling the *::File.tmpdir methods, and should have no effect on the success or failure of any tests. ``` * Merge pull request #138 from cprice-puppet/default-args-for-with-master (8bb6c4da) ``` Merge pull request #138 from cprice-puppet/default-args-for-with-master Confirmed on a PE install run, worked fine, merging ``` * This commit includes the following: (ba57ee5c) ``` This commit includes the following: * New defaults for with_master_running_on: * will automatically add "--daemonize" if you haven't specified either that or --no-daemonize * will automatically add "--logdest=/log/puppetmaster.log" if you don't specify a logdest; sending acceptance framework log messages to syslog didn't seem very useful * will automatically add "--dns_alt_names" if you don't specify it * will automatically add "--autosign" if you don't specify it * no longer deletes log dir between executions of master * Log a readable version of the backtrace if a test calls "flunk" ``` * Merge branch 'maint/master/tidy_up' (726475cc) ``` Merge branch 'maint/master/tidy_up' * maint/master/tidy_up: (maint) Ignore /acceptance-tests in version control (maint) Add Jeff's local vm configuration "example" Reviewed By: Pinocchio ``` * (maint) Ignore /acceptance-tests in version control (8ce98afc) ``` (maint) Ignore /acceptance-tests in version control This patch does not touch the code. Without this patch my prompt still always says dirty. The documentation [1] mentions to link the Puppet acceptance tests into this working directory so we may as well ignore the link. This patch makes my prompt say "clean" [1] https://sites.google.com/a/puppetlabs.com/main/home/technical/system-acceptance-testing ``` * (maint) Add Jeff's local vm configuration "example" (79f62e39) ``` (maint) Add Jeff's local vm configuration "example" This patch does not touch the code. Without this patch my prompt always says dirty. This annoys me. This patch fixes the problem by adding the config I use straight into the repository. No harm no foul I say. ``` * Merge branch 'pe2.0.x' (47c7dc79) * Merge pull request #137 from djm68/sane_cmd_line_defaults_happier_devs (e31811ac) ``` Merge pull request #137 from djm68/sane_cmd_line_defaults_happier_devs (maint) Set some sane cmd line defaults ``` * (maint) Set some sane cmd line defaults (6627412b) ``` (maint) Set some sane cmd line defaults Watching some devs run the harness was a little painful: too many args being passed to stop running step that are geared to provisoning CI VMs. Setting this opts to not run unless specified. ``` * Merge pull request #136 from jeffmccune/maint/master/windows_setup_test_fixes (8b9ff34d) ``` Merge pull request #136 from jeffmccune/maint/master/windows_setup_test_fixes (maint) Fix Test Setup failure on clean windows vm ``` * (maint) Fix Test Setup failure on clean windows vm (3270f64d) ``` (maint) Fix Test Setup failure on clean windows vm Without this patch applied the acceptance test harness fails to setup the win2003sat VM I've constructed because it cannot create the /opt/puppet-git-repos directory. It cannot do so because /opt does not exist on a default cygwin installation. This patch fixes the problem by using `mkdir -p` instead of `mkdir` ``` * Merge branch 'pe2.0.x' (240949b8) * Merge branch 'pe2.0.x' of github.com:puppetlabs/puppet-acceptance into pe2.0.x (7586ee20) * Merge pull request #130 from justinstoller/dont_kill_the_agents (621aec31) ``` Merge pull request #130 from justinstoller/dont_kill_the_agents (maint) killing the agents could disguise issues with PE ``` * Merge pull request #134 from justinstoller/stop_repeating_version_info (7b006f12) ``` Merge pull request #134 from justinstoller/stop_repeating_version_info (12456) Stop repeating version info ``` * use TestConfig.is_pe? instead of TestConfig.puppet_enterprise_version (3fd0519a) * move the check for whether or not this is PE or FOSS to its own method (12f123be) ``` move the check for whether or not this is PE or FOSS to its own method only load the version file once ``` * Merge pull request #126 from joshcooper/ticket/master/11944-separate-host-logic (f9cb52b2) ``` Merge pull request #126 from joshcooper/ticket/master/11944-separate-host-logic (#11944) Separate native command logic from acceptance tests ``` * (#11944) Add default group (64e33301) ``` (#11944) Add default group This commit just adds a default group for test cases performed on Windows hosts, e.g. when setting a file's group. ``` * killing the agents could disguise issues with PE not being in a sane state after install (a6ca3580) * (#11944) Add Unix and Windows exec commands (461df99e) ``` (#11944) Add Unix and Windows exec commands This commit defines a set of methods for executing common commands on Unix and Windows, e.g. touch, echo. This way all of logic for performing exec commands is in one place, rather than scattered throughout each exec test case. On Windows, echo is a shell built-in, but there isn't a shell exec provider, so it has to be wrapped within a cmd.exe shell. Touch is not a built-in, but it can be faked using echo. Also, we have to use backslashes when referencing the absolute path to cmd.exe and trying to invoke it via ssh/cygwin. I'm not entirely sure why, but I can reproduce the error when running a bash shell on the local Windows box. The fix is to use backslashes for the absolute path. This commit assumes the windows directory is in c:/windows, which isn't ideal. It could be made more robust by querying the remote system for its ENV['windir'] and ENV['COMSPEC'], or allowing them to be configured, but that's more than I want to do right now. ``` * (#11944) Add Unix and Windows file commands (54b807f9) ``` (#11944) Add Unix and Windows file commands This commit defines a set of native commands for validating file resources on Unix and Windows. This way all of logic for performing file commands is in one place, rather than scattered throughout each file test case. Note the Windows implementation uses cygpath to translate from a posix path, e.g. /tmp, to a "mixed" windows path, e.g. C:/cygwin/tmp, so that the latter can be passed to puppet and still be a valid fully qualified path on Windows. ``` * (#11944) Print the time taken to run each test (65e63076) ``` (#11944) Print the time taken to run each test This commit adds the time taken to run each test case. ``` * (#11944) Refactor default user logic (132d1f99) ``` (#11944) Refactor default user logic Previously, the logic for determining the default user for a Unix host was in the host class when making an ssh connection. This commit just makes the default explicit for Unix hosts. The Windows hosts already specified the default user (Administrator). ``` * (#11944) Create a CommandFactory module (359e3219) ``` (#11944) Create a CommandFactory module The CommandFactory module is responsible for creating an instance of a Command for a specific Host, executing it, and yielding the results to the block, if one was supplied. ``` * (#11944) Refactor command execution logic (2b91045c) ``` (#11944) Refactor command execution logic Previously, the `TestCase#on` method knew about the inner workings of the Command class, e.g. that 0 was the default successful exit code. However, that behavior would only occur if you called the `on` method, but not if you called the `Command#exec` method directly. This commit moves the logic into the Command class to ensure the logic is always applied regardless of how the command is executed. ``` * (#11944) Add Unix user and group commands (3ae407c0) ``` (#11944) Add Unix user and group commands This commit defines a set of native commands for validating user and group resources on Unix. This way all of the logic for performing user and group commands on Unix is in one place, rather than scattered throughout each user and group test case. ``` * (#11944) Add Windows user and group commands (02b55b86) ``` (#11944) Add Windows user and group commands This commit defines a set of native commands for validating user and group resources on Windows. This way all of the logic for performing user and group commands on Windows is in one place, rather than scattered throughout each user and group test case. ``` * (#11944) Refactor Unix and Windows hosts into separate namespaces (d974a149) ``` (#11944) Refactor Unix and Windows hosts into separate namespaces This commit just moves the Unix and Windows Host classes into their own namespaces. This is being in done in preparation for future commits. ``` * (#11944) Refactor Host classes out of the TestCase namespace (8901fb89) ``` (#11944) Refactor Host classes out of the TestCase namespace Previously, the Host, WindowsHost, and UnixHost classes were contained in the TestCase namespace. This commit moves them out to the top-level as the lifetime of a Host spans multiple TestCases. ``` ### pe2.0.2 - 3 Feb, 2012 (e36f0d22) * Merge branch 'pe2.0.x' (e36f0d22) * Merge pull request #133 from justinstoller/ci_upgrade_12 (fef0b7fa) ``` Merge pull request #133 from justinstoller/ci_upgrade_12 (maint) add gunzip for solaris ``` * Merge branch 'pe2.0.x' of github.com:puppetlabs/puppet-acceptance into ci_upgrade_12 (6b6befac) * gunzip for solaris (cb4dca12) * Merge pull request #131 from justinstoller/ci_upgrade_12 (e418c076) ``` Merge pull request #131 from justinstoller/ci_upgrade_12 (maint) re-sign dashboard properly after upgrade ``` * update upgrader answers (fbff0efe) * resign dashboard properly after upgrade (04cc9887) * Merge branch 'pe2.0.x' (a2b32d29) * Merge pull request #128 from justinstoller/sledgehammer (d5f13ebd) ``` Merge pull request #128 from justinstoller/sledgehammer This comments out all but the UpgradePuppet step in the pe_upgrade dir ``` * This comments out all but the UpgradePuppet step in the pe_upgrade dir (2adbf86e) ``` This comments out all but the UpgradePuppet step in the pe_upgrade dir This is totally a sledge hammer kind of fix, but the issue is: CI will be run with snapshots that are ensured to have known good setups, skipping based on the --vmrun option would be the best for CI Locally many will be able to use this as is if they also have known good snapshots. I also try to automate as much as I can locally testing PE pre-2.0. The changes that I'd like to introduce to automate those builds are not trivial and keeping these files is helpful for my work in that area. NOTE: This works for me locally with a similar (but not exact) workflow to CI. It *should* work in CI. ``` ### pe2.0.1 - 31 Jan, 2012 (3a118201) * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (3a118201) * (maint) remove version checking for --pe-version option (ba53fc10) ``` (maint) remove version checking for --pe-version option Checking for a specific PE version serves no real purpose; if an invalid version is passed the hassness will halt with an apporiate error indicating the vesrion needed is not found. ``` * Merge pull request #125 from pcarlisle/show-error (acffff6a) ``` Merge pull request #125 from pcarlisle/show-error On error print the exception message in addition to the backtrace ``` * On error print the exception message in addition to the backtrace (59dcd703) * Merge pull request #124 from daniel-pittman/avoid-eternally-growing-puppet.conf (571916cb) ``` Merge pull request #124 from daniel-pittman/avoid-eternally-growing-puppet.conf Empty puppet.conf before adding the server definition. ``` * Merge pull request #123 from cprice-puppet/allow_extra_env_vars_to_puppet_commands (2c01ecef) ``` Merge pull request #123 from cprice-puppet/allow_extra_env_vars_to_puppet_commands allow extra environment vars for puppet commands ``` * Merge remote branch 'origin/pe2.0.x' (f813bd39) * (maint) Update all configs for cloudpro (df7916ab) ``` (maint) Update all configs for cloudpro Adding cloud provisioner to all test configs. ``` * (maint) adding cloudpro role to configs (8ffe51c7) ``` (maint) adding cloudpro role to configs Adding cloudpro role to install only configs -- test install of cloudpro with each install only test. ``` * Empty puppet.conf before adding the server definition. (ed6dab8b) ``` Empty puppet.conf before adding the server definition. Previously `/etc/puppet/puppet.conf` would grow without bounds, because this setup script appended to the configuration but never removed anything. Now, instead, it ensures that only the expected content is in place. Signed-off-by: Daniel Pittman ``` * allow extra environment vars for puppet commands (6c02f8c3) ``` allow extra environment vars for puppet commands When working on some tickets relating to setting system locales (Facter #12012, Puppet #11860), I came across a situation where I needed to be able to set some environment variables before running puppet commands in my acceptance tests. This changeset adds the ability to pass in an optional ":environment" hash when calling "apply_manifest_on"; the key/value pairs in this hash will be set as environment variables for the duration of the execution of the "puppet apply" operation. This implementation isn't ideal, but the implementation details are not very visible in the actual acceptance test syntax. We might want to re-work the implementation later, but for now this was the only reasonably easy way to pull it off. Also--this logic could very easily be extended to work for other puppet commands besides "apply", but hasn't at this point in time. ``` * Merge pull request #122 from cprice-puppet/allow-no-certs-for-single-node (31e61a1c) ``` Merge pull request #122 from cprice-puppet/allow-no-certs-for-single-node Allow ValidateSignCert to pass in a single-node setup ``` * Merge pull request #121 from daniel-pittman/handle-machine-that-is-master-and-agent (d96a8d61) ``` Merge pull request #121 from daniel-pittman/handle-machine-that-is-master-and-agent Handle a machine that is both master *and* agent in git tests. ``` * Allow ValidateSignCert to pass in a single-node setup (c94cce99) ``` Allow ValidateSignCert to pass in a single-node setup In the case where you are running acceptance tests against a single node (which is serving as both master and agent), the puppet cert --sign-all needs to accept an exit code of 24 (which means that there were no certs to sign). ``` * Handle a machine that is both master *and* agent in git tests. (54985a34) ``` Handle a machine that is both master *and* agent in git tests. The master signs it's own agent certificate implicitly, which was breaking a test that validated that *all* agents didn't have a certificate. This skips over the master, although not the validation that the certificate works, which keeps things running as expected. Signed-off-by: Daniel Pittman ``` * Merge pull request #119 from daniel-pittman/faster-rerun-through-checkout-reuse (99238dd0) ``` Merge pull request #119 from daniel-pittman/faster-rerun-through-checkout-reuse Better handling of both new and old git checkouts. ``` * Merge pull request #120 from joshcooper/ticket/master/11743-delete-vardir-contents (3ede70ac) ``` Merge pull request #120 from joshcooper/ticket/master/11743-delete-vardir-contents (#11743) Delete contents of agent var directory in agent/master tests ``` * (#11743) Delete contents of agent var directory in agent/master tests (2d37c6f0) ``` (#11743) Delete contents of agent var directory in agent/master tests Previously, the `helpful_error_message_when_hostname_not_match_server_certificate` test would correctly report that the server's hostname didn't match its certificate, however, the test would attempt to use a cached catalog. If one was present, for example, the 03_ValidateSignCert step causes the agent to retrieve an empty catalog, then the agent would apply the catalog and return exit code 0, causing the test to fail. This commit deletes the contents of the agents' vardir, but not the vardir itself. This change will only affect tests that use the `with_master_running_on` method which does not include PE. ``` * Better handling of both new and old git checkouts. (3a7284a9) ``` Better handling of both new and old git checkouts. This has flapped some, because we try to do too many clever things with remote execution. Now, it should work robustly in all cases. Signed-off-by: Daniel Pittman ``` * (maint) --force not supported on old git verions (e1bb15fc) ``` (maint) --force not supported on old git verions Older versions of git (like on cent5.5) do not support --force but -f instead. ``` * Merge pull request #118 from djm68/fix_pathing_problem_git_TestSetup (b7faeee7) ``` Merge pull request #118 from djm68/fix_pathing_problem_git_TestSetup (maint) Create source path ``` * (maint) Create source path (e6e4c07f) ``` (maint) Create source path In same cases the source path is not created, breaking the git checkout. Verify the path first, create if needed. ``` * Merge pull request #117 from djm68/fix_git_TestSetup_install (6073db28) ``` Merge pull request #117 from djm68/fix_git_TestSetup_install (maint) Small fix to dpittmans installer update ``` * (maint) Small fix to dpittmans installer update (c2869752) ``` (maint) Small fix to dpittmans installer update If existing repo path is not found, factor was cloned into /root vs. /opt/puppet-git-repos; rest of installer expects to find /opt/puppet-git-repos/facter. ``` * Merge pull request #116 from daniel-pittman/faster-rerun-through-checkout-reuse (798da835) ``` Merge pull request #116 from daniel-pittman/faster-rerun-through-checkout-reuse Faster rerun through checkout reuse ``` * Checking in one SSH operation rather than one per git command (990a0823) ``` Checking in one SSH operation rather than one per git command When we started reusing the repository we needed to do a lot of remote operations. While the cost of starting a new process is fairly low, it is at least a couple of RTTs, which will slow down cloud based testing. This just rewrites the step to collect the operations and glue them together into a single operation, cutting that overhead dramatically. Signed-off-by: Daniel Pittman ``` * Clean and forcibly change branch during git setup. (e939f80b) ``` Clean and forcibly change branch during git setup. Previously we deleted the entire git repo, which would ensure that we had a clean, pristine, untouched repository for the next test. Once we started to reuse the existing checkout we can't assume that - if someone was to fiddle a file in there, it could break everything. So, we forcibly clean and checkout now, to restore the repository and checkout to a pristine state before we proceed through the testing. Signed-off-by: Daniel Pittman ``` * Revert incorrect change to acceptable exit codes for agent. (58661065) ``` Revert incorrect change to acceptable exit codes for agent. Part of another, incomplete change to the harness slipped into my git checkout improvements; the exit codes for the agent during validation of the cert should not have been changed. (This made the test useless, but not actually break) This reverts that targeted bit of the change. Signed-off-by: Daniel Pittman ``` * Merge pull request #113 from daniel-pittman/faster-rerun-through-checkout-reuse (a9388e28) ``` Merge pull request #113 from daniel-pittman/faster-rerun-through-checkout-reuse Support reuse of an existing git repository checkout. ``` * Merge pull request #115 from daniel-pittman/support-pty-request-on-ssh-channel (233eca85) ``` Merge pull request #115 from daniel-pittman/support-pty-request-on-ssh-channel Support PTY allocation on SSH channel. ``` * Merge pull request #114 from daniel-pittman/nicer-handling-of-etc-hosts (92ba0922) ``` Merge pull request #114 from daniel-pittman/nicer-handling-of-etc-hosts Nicer handling of /etc/hosts. ``` * Support PTY allocation on SSH channel. (4c38c4fd) ``` Support PTY allocation on SSH channel. Previously all remote commands were run without a PTY allocated. This almost always delivers the same results as running them with a PTY - but not in every case. This adds the ability to request a PTY for a specific test, which will cause one to be allocated - or a hard failure to occur. This is not made the default for two reasons: 1. It changes behaviour around which scripts are run on exec. 2. It potentially changes logging behaviour. Signed-off-by: Daniel Pittman ``` * Nicer handling of /etc/hosts. (32b63643) ``` Nicer handling of /etc/hosts. Previously the updates to /etc/hosts would lead to trouble when the machine wasn't reverted to a snapshot between each test, or if there was already a hosts entry for that machine. Now, instead, we carefully clean out the file to get the content we want, and nothing but, in place for the test suite run. Signed-off-by: Daniel Pittman ``` * Support reuse of an existing git repository checkout. (1bae816e) ``` Support reuse of an existing git repository checkout. Previously the suite would delete the entire git source checkouts, then fetch them from scratch. This would ensure that the content was clean, but wasn't actually terribly efficient since almost all content was identical each time. Now, we clone if the repository is missing, but otherwise update the `origin` remote to whatever we are targeted at, then fetch that. This has the same net effect but avoids fetching 36+MB every time the suite runs. Signed-off-by: Daniel Pittman ``` * Merge pull request #112 from djm68/update_pe_setup_steps_new_host_hash (f1cdf8ee) ``` Merge pull request #112 from djm68/update_pe_setup_steps_new_host_hash (maint) Update PE setup steps to support host hash ``` * (maint) Update PE setup steps to support host hash (aefcb053) ``` (maint) Update PE setup steps to support host hash Formally, host config data was stored in the config hash; with the addition of windows host support, we need to support per host config data (ie paths). This change requies updating tests that were using congig to use host hash instead. ``` * Merge pull request #111 from joshcooper/ticket/master/11767-fix-deprecated-certdnsnames (f525fb48) ``` Merge pull request #111 from joshcooper/ticket/master/11767-fix-deprecated-certdnsnames (#11767) Use newer --dns_alt_names option ``` * (#11767) Use newer --dns_alt_names option (4fdfbc2d) ``` (#11767) Use newer --dns_alt_names option Previously, the git setup steps were using the old deprecated --certdnsnames option when generating the master's csr. It was also using a colon-delimited list instead of a comma-separated list. As a result, the puppetmasters certificate generated during 03_ValidateSignCert.rb contained bogus X509 Subject Alt Names: X509v3 Subject Alternative Name: DNS:centos-55-64-1.puppetlabs.lan, DNS:puppet:centos-55-64-1:centos-55-64-1 This was not noticed earlier, because the agent never retrieved its ssl certificate in the setup steps, which is something I recently changed so that we'd validate that the agent can connect via SSL to the master in the setup steps, rather than later during the acceptance tests. Previously, when running the first acceptance tests from the puppet repo, the test would delete all of the hosts ssl directories, and regenerate the certs, but this time using the correct --dns_alt_names option. This commit just updates the setup steps to also use the --dns_alt_names option with a comma delimited list of names to include in the puppet master's certificate. ``` * Merge pull request #110 from joshcooper/ticket/master/11767-windows-acceptance-tests (071e945c) ``` Merge pull request #110 from joshcooper/ticket/master/11767-windows-acceptance-tests (#11767) Support Windows agents in acceptance test framework ``` * (#11767) Update README for Windows (ed60071e) ``` (#11767) Update README for Windows This commit updates the README to describe prequisites for running the acceptance tests on Windows agents. ``` * (#11767) Always delete ssl directories with_master_running_on (089334af) ``` (#11767) Always delete ssl directories with_master_running_on Previously, each test case that used `with_master_running_on` had to remember to delete the ssl directory from each host. This commit moves that knowledge into `with_master_running_on` and removes it from the individual test cases. ``` * (#11767) Add the ability to lazily evaluate a command (8cf8fc32) ``` (#11767) Add the ability to lazily evaluate a command Previously, the command_string for a Command was evaluated at command creation time. As a result, it wasn't possible to specify a command like: on hosts, 'rm -rf #{host["puppetpath"]/ssl}' and have the command be evaluated in the context of each host. This commit adds a generic HostCommand that lazily evaluates its command string, in the `Kernel.eval` sense, with a binding containing the `host` variable. So now it is possible to do: on hosts, host_command('rm -rf #{host["puppetpath"]/ssl') which will remove the ssl directory from each host using each hosts' `puppetpath` configuration. Note that we're using single quotes to avoid string interpolation. ``` * Merge pull request #109 from djm68/update_agent_cfgs (9813e848) ``` Merge pull request #109 from djm68/update_agent_cfgs (maint) Modifying configs to use our dedicated master ``` * (maint) Modifying configs to use our dedicated master (3f868614) ``` (maint) Modifying configs to use our dedicated master Need an isolated Master node for our agent only tests. ``` * (#11767) Default user to Administrator on Windows (467789e5) ``` (#11767) Default user to Administrator on Windows Previously, the acceptance tests would ssh as `root` to the remote host. This commit changes the default user to be `Administrator` on Windows so that each Jenkins node does not need a 'root' user added to it. ``` * (#11767) Don't assume host['puppetpath'] is /etc/puppet (c34c2fb7) ``` (#11767) Don't assume host['puppetpath'] is /etc/puppet Previously, the acceptance tests failed on Windows because puppet.conf does not live in /etc/puppet on Windows. This commit changes the default value of `puppetpath` for Windows hosts relative to the CommonAppData folder. Sadly, the location of this folder is different between 2003 and 2008, and the folder usually contains spaces, e.g. C:\Documents and Settings\All Users\Application Data. This commit uses the Cygwin utility `cygpath` to lookup the CommonAppData folder, whose id is 35 (0x23). See the following for known-folder ids: http://source.winehq.org/source/include/shlobj.h It also updates the acceptance tests to use the `puppetpath` value when appending the `server` property to the `agent` section of the hosts' `puppet.conf`. And since the CommonAppData folder contain spaces, the value of `puppetpath` is quoted on Windows. ``` * Merge pull request #108 from justinstoller/uninstaller_support (9778f654) ``` Merge pull request #108 from justinstoller/uninstaller_support (maint) better solaris output ``` * better solaris output (23cafce6) ``` better solaris output fix hardcoded paths ``` * (#11767) Make RemoteExec commands work on Windows (9e6c7103) ``` (#11767) Make RemoteExec commands work on Windows Previously, the acceptance tests could not launch puppet and facter via SSH and Cygwin on the Windows side, due to Cygwin's bash shell attempting to invoke ruby.exe on `C:\Ruby187\bin\puppet` and failing, because that file contains Windows-style paths that confuse bash. This commit simply wraps the puppet and facter commands within a `cmd.exe` shell to escape from the bash shell (though the environment is inherited). ``` * (#11767) Don't create a new SSH connection for each TestCase (f5da078f) ``` (#11767) Don't create a new SSH connection for each TestCase Previously, a new Host instance was being created for each combination of TestSuite, TestCase, and Host. As a result, multiple SSH connections, including SSH authentication, were being performed unnecessarily. This was actually a regression introduced in b62f8056f0b5499ad9341487c1fca6f328c0830b. Given a sufficiently large number of TestCases, the test driver and/or system under test could run out of file descriptors. This commit moves the creation of hosts to the top-level, so that the same SSH connection can be reused across multiple TestSuites and TestCases. In other words, the acceptance tests will make at most one SSH connection per host. This commit also adds a method for closing the SSH connection (if one was created) and explicitly closes the connection when the tests are done. ``` * (#11767) Move defaults into type-specific hosts (40689070) ``` (#11767) Move defaults into type-specific hosts Previously, the acceptance tests were adding POSIX default paths to the PATH environment variable passed to Windows hosts, e.g. /usr/bin, which happens to correspond to the location of the Cygwin utilities that we don't want the tests to use on Windows. This commit creates host subclasses that contain the default paths that are applicable for that platform. It also adds a `Host.create` factory method that knows how to create the appropriate type of `Host` instance based on the platform specified in the configuration file. If we need to support PE-specific install locations on Windows, then it will be easy to change (in one place). ``` * Merge pull request #107 from djm68/more_robust_early_setup (6939ec18) ``` Merge pull request #107 from djm68/more_robust_early_setup (maint) Make common setup steps for robust ``` * (maint) Make common setup steps for robust (9f95ad56) ``` (maint) Make common setup steps for robust Some setup steps either did not log when skipping execution, while some less critical steps, like key syncing, could fail and cause the tests to halt -- failures during setup are considered fatal and test execution will halt. ``` * (maint) Trim el4 test config (42497ec9) ``` (maint) Trim el4 test config Trimming sol10 for the el4 config. Tried pushing the sol test into the same run as el4s (all are agent only) but the additonal load is a bit much for the VM server. Will run Sol seperately. ``` * (#11767) Skip creating puppet user and group on Windows (9bdff8a2) ``` (#11767) Skip creating puppet user and group on Windows The `getent`, `useradd`, and `groupadd` commands do not exist on Windows (nor Cygwin), so we skip creating the puppet user and group on Windows. Ideally, we should only create the puppet user and group in a `master` role (when we need to switch uid). However, due to bug #9862 the puppet group is required on Unix, even for `puppet agent` and `puppet apply`. Since #9862 doesn't apply on Windows, we can safely skip creating the puppet user and group on Windows. ``` * (maint) Add addition el4 configs (70c8ece3) ``` (maint) Add addition el4 configs More build optimization: splitting EL4 + solaris into :q ``` * (#11767) Sync ntp on Windows (ed95ce31) ``` (#11767) Sync ntp on Windows By default, the acceptance tests perform an ntp sync. On Windows 2003 and up, this can be done using the time service `w32time`, not to be confused with the command line utility `w32tm.exe` that interacts with the service. If the w32time service is already running, then `net start` will return exit code 2. ``` * (#11892) Add all agents config for install tests (2598a68d) ``` (#11892) Add all agents config for install tests Trying to parallelize tests -- running all agents at once with a single master should prove faster, but with more system load. ``` * Merge pull request #105 from justinstoller/uninstaller_support (6554bf91) ``` Merge pull request #105 from justinstoller/uninstaller_support (maint) fix solaris service error ``` * Merge pull request #106 from justinstoller/retry_ssh (dd6070e1) ``` Merge pull request #106 from justinstoller/retry_ssh (maint) attempt to catch Unreachable Hosts and retry ``` * dont run -d on installs without a db (c96c5b2b) * attempt to catch Unreachable Hosts and retry (b09fbf9b) * fix solaris service error (1ca44051) * Merge pull request #104 from justinstoller/uninstaller_support (ae55e4ce) ``` Merge pull request #104 from justinstoller/uninstaller_support (maint & 11812) Uninstaller support ``` * Merge pull request #103 from djm68/increase_netssh_timeout (416ae4ef) ``` Merge pull request #103 from djm68/increase_netssh_timeout (maint) Increase net::ssh timeout ``` * (maint) Increase net::ssh timeout (dd0b7b33) ``` (maint) Increase net::ssh timeout Make the harness more robust, especially just post VM reversion; harness was timing out trying to reach VMs that were not done reverting. ``` * Merge pull request #102 from djm68/ntpdate_fault_tolerant (cf17c76d) ``` Merge pull request #102 from djm68/ntpdate_fault_tolerant (manint) toughen ntpdate step ``` * (manint) toughen ntpdate step (7ca6c176) ``` (manint) toughen ntpdate step Force NTPdate to run until it gets a responce If we bail out after one fail ntpdate attempt, we falsely fail a PE build. ``` * skip dashboard-workers in /etc/rc* (77aae2a6) ``` skip dashboard-workers in /etc/rc* fix typo in rpm syntax ``` * Merge pull request #101 from djm68/update_agent_only_configs_dedicated_master (9c2b6c17) ``` Merge pull request #101 from djm68/update_agent_only_configs_dedicated_master (maint) Modifiy agent only config for dedicated master ``` * (maint) Modifiy agent only config for dedicated master (f1622a61) ``` (maint) Modifiy agent only config for dedicated master Have a new dedicated master to use for agent only platforms. Updating configs for new host. ``` * tweak acceptable exit codes (d06de7b2) * fix stopping of puppet agent in noop test -- previously the local variable was named the same as a test harness helper method (706d8f65) * ticket 11812 remove cronjobs (45298251) * better sh support, remove ! and use test instead of [ (d855c033) * Merge pull request #100 from justinstoller/bump_dash_ver (4ccb99a3) ``` Merge pull request #100 from justinstoller/bump_dash_ver (maint) fix typo yml key name ``` * fix typo yml key name (4b756a85) * Merge pull request #99 from djm68/ticket_11622_print_test_before_execution (2f2fcf07) ``` Merge pull request #99 from djm68/ticket_11622_print_test_before_execution (#11622) Log test file names before evaluation ``` * (#11622) Log test file names before evaluation (91a3864d) ``` (#11622) Log test file names before evaluation Currently, the test harness evals a test case (test file), then logs the results. If the tests hangs, you will not tests was being run. This patch annouces the test file before it even evals the code. This will greatly ease debugging. ``` * Merge pull request #95 from justinstoller/uninstaller_support (00d70d0b) ``` Merge pull request #95 from justinstoller/uninstaller_support (maint) the uninstaller does not need to check versions... ``` * Merge pull request #96 from pcarlisle/ticket/11764-handle-blocks (a9304da7) ``` Merge pull request #96 from pcarlisle/ticket/11764-handle-blocks (#11764) Handle blocks in all test case methods of the form run_X_on ``` * Merge pull request #98 from justinstoller/bump_dash_ver (5e241f10) ``` Merge pull request #98 from justinstoller/bump_dash_ver (#11638) add test for dashboard version -- 1.2.4 ``` * add test for dashboard version -- 1.2.4 (54aa7a7c) * Merge pull request #97 from justinstoller/bump_puppet_ver (2a6185b0) ``` Merge pull request #97 from justinstoller/bump_puppet_ver (#11636) bump puppet version from 2.7.6 to 2.7.9 ``` * bump puppet version from 2.7.6 to 2.7.9 (8e8c2391) * the uninstaller does not need to check versions of packages before uninstalling (7c2a332e) * (#11764) Handle blocks in all test case methods of the form run_X_on (b8cda1db) ``` (#11764) Handle blocks in all test case methods of the form run_X_on Before this, some of these methods took blocks and some didn't. Since ruby doesn't complain when you pass a block to a method that doesn't handle it there was no feedback if you weren't using these methods correctly. ``` * Merge pull request #94 from justinstoller/bump_rack_ver (60221235) ``` Merge pull request #94 from justinstoller/bump_rack_ver (#11735) bump rack version to 1.1.3 ``` * bump rack version to 1.1.3 (dde6e127) * Merge pull request #93 from justinstoller/uninstaller_support (dc669280) ``` Merge pull request #93 from justinstoller/uninstaller_support (maint) blank strings are not false ``` * blank strings are not false (04305dc7) * Merge pull request #92 from justinstoller/bump_facter_ver (edf4be78) ``` Merge pull request #92 from justinstoller/bump_facter_ver (maint) bump facter version to 1.6.4 ``` * Merge pull request #91 from justinstoller/uninstaller_support (0c141b8e) ``` Merge pull request #91 from justinstoller/uninstaller_support (#5338) test uninstaller ``` * bump facter version to 1.6.4 (a6089238) * add test for `-h` option (455463eb) * break standard and full uninstall tests into separate suites (56c27ed9) * update options and systest for standard or full uninstalls (cbc6723c) * merge `-d`, `-p`, and `-a` checks (c7cc49e2) * comment out purge and db for sanity check (de58d22e) * update solaris pkging check (d532f2db) * Merge pull request #90 from justinstoller/package_version_checks (ac9ed8e1) ``` Merge pull request #90 from justinstoller/package_version_checks (#8659 & #7541) add checks for ruby-augeas, activerecord, and activesupport ``` * add database check (4336e258) ``` add database check add purge check ``` * add comments for clarity (1227e5fe) ``` add comments for clarity add checks for pids and lockfiles add solaris pkging check ``` * add checks for ruby-augeas, activerecord, and activesupport (5430ff9c) * add package check for deb, el, and hopefully sles (fef78ef5) ``` add package check for deb, el, and hopefully sles add check that services are not enabled at boot ``` * Merge pull request #88 from jeffmccune/feature/master/11618_setup_ssh_access (a9993939) ``` Merge pull request #88 from jeffmccune/feature/master/11618_setup_ssh_access Feature/master/11618 setup ssh access ``` * Merge pull request #89 from djm68/allow_alternate_PE_versions_installs (8185cb1d) ``` Merge pull request #89 from djm68/allow_alternate_PE_versions_installs (maint) Add support to install alt versions of PE ``` * (maint) Add support to install alt versions of PE (a2d557b1) ``` (maint) Add support to install alt versions of PE Need the ability to install more than just the LASTEST tarball of PE; passing --pe-version 2.0.0 will install PE 2.0.0 from /opt/enterptise/dists/pe2.0.0 If --pe-version is ommited, version is derived from LATEST and /opt/enterprise/dist is used for the path. ``` * (maint) Fix program name in help output (2a3e2a02) ``` (maint) Fix program name in help output Without this patch the name "harness.rb" is hard coded in the output of --help. This is incorrect, the program has been renamed to systest.rb. This patch fixes the problem by using the process name from the process table to determine the name of the program. The help now looks like: % ./systest.rb --help Usage: systest.rb [options...] Reviewed-by: Dominic Maraglia ``` * (#11621) Add --dhcp-renew option to enable lease renewal (d75a22df) ``` (#11621) Add --dhcp-renew option to enable lease renewal Without this patch the DHCP lease renewal step of the early setup phase is always executed. This is a problem on my CentOS 6 VMware Fusion VM because the interface is brought down, disconnecting the SUT from the network before the ifup command can be issued. This leaves the target system offline and subsequent steps timeout. This patch works around the problem by providing and documenting the --dhcp-renew option to disable renewals. Reviewed-by: Dominic Maraglia ``` * (#11618) Add root SSH key synchronization setup step (fbac0bc5) ``` (#11618) Add root SSH key synchronization setup step Without this patch the target systems under test may have out of date authorized key files since they're usually VM snapshots. This is problem if there is a test problem requiring investigating by technical staff. This patch fixes the problem by synchronizing the ~root/.ssh/authorized_keys file in the setup early phase. The behavior happens by default on all systems. We assume it will work and intended to come back and filter out target nodes that are known not to work. A command line option, --no-root-keys is provided to disable this change in behavior. Reviewed-by: Dominic Maraglia ``` * basic uninstaller test (e2108e0f) * fix typo (980623cc) * plumbing for allowing Uninstaller testing (c5a6a898) * Merge pull request #87 from djm68/ticket_11107_alternate_umask (8ff2eee4) ``` Merge pull request #87 from djm68/ticket_11107_alternate_umask (#11107) Test alternate usmask when installing ``` * (#11107) Test alternate usmask when installing (28eb6e69) ``` (#11107) Test alternate usmask when installing When selecting --install-only the test harness will switch umask to 0027 during the install phase. ``` * (#11310) Add master to hosts files -- IPV4 (9cf41682) ``` (#11310) Add master to hosts files -- IPV4 In some cases the ip command will return IPV4 and IPV6; only want the IPV4 entries. Add "head -1" to only return IPV4. ``` * (maint) cruft clean-up (13178d80) ``` (maint) cruft clean-up cleaning up a bunch of old cfg files no longer used. ``` * Merge pull request #85 from djm68/update_docs (a10760f7) ``` Merge pull request #85 from djm68/update_docs (maint) Update README and config examples ``` * (maint) Update README and config examples (b5e1834b) ``` (maint) Update README and config examples Harness has grown in functionality and docs need updating to reflect the changes. ``` * Merge pull request #84 from mykhyggz/nodhclient_solaris (c382fce9) ``` Merge pull request #84 from mykhyggz/nodhclient_solaris solaris machine isn't using dhcp, fixing test ``` * solaris machine isn't using dhcp, fixing test (7b793182) ``` solaris machine isn't using dhcp, fixing test Test renews dhcp lease, but solaris vm isn't using dhcp anyway ``` * Merge pull request #83 from mykhyggz/typo (cd2d07ef) ``` Merge pull request #83 from mykhyggz/typo Typo with missing the second 'c' in dhcpcd ``` * Typo with missing the second 'c' in dhcpcd (101aca61) ``` Typo with missing the second 'c' in dhcpcd One character change to command, adding second 'c' in 'dhcpcd' ``` * Merge pull request #82 from mykhyggz/dhcp_renew (beede68f) ``` Merge pull request #82 from mykhyggz/dhcp_renew effect a dhcp lease renewal after ntpdate is run ``` * effect a dhcp lease renewal after ntpdate is run (fb2ed0de) ``` effect a dhcp lease renewal after ntpdate is run Some VMs, after reverting to snapshot, are renewing their dhcp lease after our tests are running, causing apparent network errors. This test will renew the lease early so it's good for a day (or whatever is configured at the dhcp server), rather than just a few seconds. ``` ### pe2.0.0 - 31 Jan, 2012 (8d064e33) * (maint) remove version checking for --pe-version option (8d064e33) ``` (maint) remove version checking for --pe-version option Checking for a specific PE version serves no real purpose; if an invalid version is passed the hassness will halt with an apporiate error indicating the vesrion needed is not found. ``` * (maint) Add support to install alt versions of PE (15bfaeed) ``` (maint) Add support to install alt versions of PE Need the ability to install more than just the LASTEST tarball of PE; passing --pe-version 2.0.0 will install PE 2.0.0 from /opt/enterptise/dists/pe2.0.0 If --pe-version is ommited, version is derived from LATEST and /opt/enterprise/dist is used for the path. ``` ### pe2.0 - 11 Nov, 2011 (4d7b65b6) * Merge pull request #81 from djm68/add_cert_sign_master_dashboard (4d7b65b6) ``` Merge pull request #81 from djm68/add_cert_sign_master_dashboard (maint) Add modified cert signing step to install ``` * (maint) Add modified cert signing step to install (1ee7d5db) ``` (maint) Add modified cert signing step to install Only need to sign certs when master/dash are on the same node; when master and dashboard are seprate, autosign will be used. ``` * Merge pull request #80 from mykhyggz/deprecated_certsign (97d32745) ``` Merge pull request #80 from mykhyggz/deprecated_certsign Move sign dashboard certs test out of the way ``` * Move sign dashboard certs test out of the way (255f3de6) ``` Move sign dashboard certs test out of the way Certs are already signed, this just generates a '400' rake abort error now. Moving to setup/deprecated/ ``` * Merge pull request #78 from justinstoller/remove_mco_q_in_upgrader (fb5dd065) ``` Merge pull request #78 from justinstoller/remove_mco_q_in_upgrader (maint) updated upgrader answers for removing mco ``` * Merge pull request #79 from mykhyggz/signcert_deprecated (07030a84) ``` Merge pull request #79 from mykhyggz/signcert_deprecated Move pe_sign_certs to new folder 'deprecated' ``` * Move pe_sign_certs to new folder 'deprecated' (d124d441) ``` Move pe_sign_certs to new folder 'deprecated' Certs are autosigned earlier in the install process. This test is no longer valid, so moving to a new folder 'deprecated' ``` * (maint) minor yaml error in cfg file (717e5583) ``` (maint) minor yaml error in cfg file Cfg file was missing indentations ``` * updated upgrader answers for removing mco (edf883c3) * (#10437) Add config for OEL 4 (d5515563) ``` (#10437) Add config for OEL 4 Adding CI cfg for Oracle Linux 4 ``` * (maint) small tweak to answer file generation (5cf7f3d0) ``` (maint) small tweak to answer file generation q_puppet_enterpriseconsole_master_hostname might not be set in all cases, fixed this for master/dashboard. ``` * (maint) Adding consoleport option to CI configs (d684dd85) ``` (maint) Adding consoleport option to CI configs Set configs to use port 443 for dashboard connections. ``` * (maint) Minor tweak to cfg file (b802bda2) * Merge pull request #77 from justinstoller/saved_tmp (9fbcf0eb) ``` Merge pull request #77 from justinstoller/saved_tmp (maint) Saved tmp ``` * only remove if needed (04844272) * dont blow away all files in tmp (f688efa2) * Merge pull request #75 from djm68/clean_up_answer_file_code (b03d593e) ``` Merge pull request #75 from djm68/clean_up_answer_file_code (maint) Clean up answer file code ``` * (maint) Clean up answer file code (5cd2b583) ``` (maint) Clean up answer file code De-crufting the answer file generation code. ``` * Merge pull request #74 from djm68/console_portno_configurable (a69ae448) ``` Merge pull request #74 from djm68/console_portno_configurable (maint) Allow alt portno for PE console ``` * (maint) Allow alt portno for PE console (7492b5b6) ``` (maint) Allow alt portno for PE console PE console will have the option to run on alt portno's, adding the ability to define an alt portno in the config file. Still default to port 3000. In the cfg files, add: CONFIG: - consoleport: 1234 ``` * Merge pull request #73 from djm68/add_puppet_enterpriseconsole_inventory_certname (c9d351f6) ``` Merge pull request #73 from djm68/add_puppet_enterpriseconsole_inventory_certname (maint) Fix puppet_enterpriseconsole_inventory_certname ``` * (maint) Fix puppet_enterpriseconsole_inventory_certname (5ef34c4f) ``` (maint) Fix puppet_enterpriseconsole_inventory_certname puppet_enterpriseconsole_inventory_certname was using Master but requires this entry to be the hostname of the node running Console. ``` * Merge pull request #72 from djm68/add_puppet_enterpriseconsole_inventory_certname (1362cad1) ``` Merge pull request #72 from djm68/add_puppet_enterpriseconsole_inventory_certname (maint) more tweaks to answer file: seperate console ``` * (maint) more tweaks to answer file: seperate console (8027a657) ``` (maint) more tweaks to answer file: seperate console Adding entries for the case when console is on a non-master node. ``` * Merge pull request #71 from djm68/add_master_entry_to_etc_hosts (637b5d9c) ``` Merge pull request #71 from djm68/add_master_entry_to_etc_hosts (maint) Add Master entry to hosts file ``` * (maint) Add Master entry to hosts file (8c4dbcf5) ``` (maint) Add Master entry to hosts file Try to reduce 400 errors by adding entry to /etc/hosts ``` * Merge pull request #70 from djm68/more_answer_file_fixes (b8156ba3) ``` Merge pull request #70 from djm68/more_answer_file_fixes (maint) More mods to tweak new answer files ``` * (maint) More mods to tweak new answer files (bd113762) * (maint) Fix platform strings in config files (d8b266fc) ``` (maint) Fix platform strings in config files x86_64 needed, not 386 ``` * Merge pull request #69 from djm68/update_answer_files (48c09cf1) ``` Merge pull request #69 from djm68/update_answer_files (maint) answer files have changed significantly ``` * (maint) answer files have changed significantly (e74b7b50) ``` (maint) answer files have changed significantly Time to bring answer files upto date with latest PE format. ``` * Merge pull request #68 from djm68/10375_disallow_install_with_no_dashboard (331d0f19) ``` Merge pull request #68 from djm68/10375_disallow_install_with_no_dashboard (#10375) If the no dashboard is specified, we halt ``` * (#10375) If the no dashboard is specified, we halt (dbeb660a) ``` (#10375) If the no dashboard is specified, we halt PE requires a Dashboard to be configured. Added code to raise and exception during answer file generation. Added a new option to TestSuite "stop_on_error" that will halt test execution when this is set and an error is raised. ``` * Merge pull request #67 from mykhyggz/answers_auth (8479a144) ``` Merge pull request #67 from mykhyggz/answers_auth (maint) add answers for auth_user and auth_name ``` * (maint) add answers for auth_user and auth_name (9081daf5) ``` (maint) add answers for auth_user and auth_name New questions are causing tests to fail before install. This should address the failure. ``` * (maint) Add cloud provisioner entry to answer file generation (417c8986) ``` (maint) Add cloud provisioner entry to answer file generation Agents only installs in ec2 did not have an entry for cloud provisioner. ``` * (maint) Clean out old OE Linux configs (25e4a1b2) * (maint) Adding sles single node test configs (58d53d52) ``` (maint) Adding sles single node test configs Adding sles11 single node configs for install testing. ``` * (maint) add Ubuntu single node configs (6377fdaa) ``` (maint) add Ubuntu single node configs Adding Ubuntu single node configs for install testing. ``` * (maint) Adding single node debian configs (b93c90c7) ``` (maint) Adding single node debian configs Adding single node debian configs for our install only tests. ``` * (maint) add single node configs for el5 (0ea8131d) ``` (maint) add single node configs for el5 Single node configs for installer only tests ``` * (maint) adding some single node test configs (d2db361d) ``` (maint) adding some single node test configs For install only tests, setup single node configs for our many platforms. ``` * (maint) Remove old configs (3a356180) * (maint) More config file sanitizing (d692695d) ``` (maint) More config file sanitizing Rename agent cfgs to match new naming schema. ``` * Merge pull request #66 from djm68/sanitize_cfgs (081a2abb) ``` Merge pull request #66 from djm68/sanitize_cfgs (maint) Improve cfg file names, add test cgs ``` * (maint) Improve cfg file names, add test cgs (320275a5) ``` (maint) Improve cfg file names, add test cgs Acceptance tests are configuration driven, so adding more cfgs which will improve our test coverage. Modifying cfg file names format to platform_ver-64mda-32a.cfg platform_ver: OS platform and version 64mda: 64 bit node running Master, Dashboard, Agent 32a: 32 bit node running Agent ``` * (maint) Adding dashboard role to Master in cfg file (d339388b) * Merge pull request #65 from djm68/merge_pe-version_installer_fixes (7154f12b) ``` Merge pull request #65 from djm68/merge_pe-version_installer_fixes (maint) Install PE versions 1.0 - 1.2.4 ``` * (maint) Install PE versions 1.0 - 1.2.4 (f716f152) ``` (maint) Install PE versions 1.0 - 1.2.4 Installing is ever more complex with so many versions, tar ball names, and varied installing semantics. Adding ability to install any of the 1.x series of PE without the need to check out older versions of the harness. This might not be perfect as version checks (facter, module tool etc) will fail; however, install will run and is sufficient to bootstrap old PE versions. ``` * Merge pull request #64 from djm68/add_non_console_cfg (3780f593) ``` Merge pull request #64 from djm68/add_non_console_cfg (#10276) Add harness config files sans dashboard ``` * (#10276) Add harness config files sans dashboard (55ed338d) ``` (#10276) Add harness config files sans dashboard Need to test some basic install without dashboard to be sure console questions do not leak over into non-dashboard installs. ``` * Merge pull request #62 from djm68/prep_for_cloud_provisioner_CI (6a91a318) ``` Merge pull request #62 from djm68/prep_for_cloud_provisioner_CI (maint) added test config for new CP tests on VMware ``` * (maint) added test config for new CP tests on VMware (c8faf25e) ``` (maint) added test config for new CP tests on VMware Config is a template only -- will update when real hosts are provisioned. ``` * Merge pull request #58 from justinstoller/update_valid_pe (fa8d0b32) ``` Merge pull request #58 from justinstoller/update_valid_pe (maint) Update valid pe ``` * Merge pull request #56 from justinstoller/updater_updates (fb9c58d0) ``` Merge pull request #56 from justinstoller/updater_updates (maint) Updater updates ``` * Merge pull request #61 from djm68/update_4_new_answers (4570b94d) ``` Merge pull request #61 from djm68/update_4_new_answers (#10276) Add fixes for additional PE answers ``` * (#10276) Add fixes for additional PE answers (10fd653a) ``` (#10276) Add fixes for additional PE answers Even more PE answers need to be added. ``` * Merge pull request #60 from djm68/answers_for_apache_ssl (fed70d0f) ``` Merge pull request #60 from djm68/answers_for_apache_ssl (maint) New question for setup of apache ssl ``` * (maint) New question for setup of apache ssl (dabd6fbf) ``` (maint) New question for setup of apache ssl Update answer file generation to include new apache ssl options. ``` * Merge pull request #59 from djm68/ticket_10255_add_q_puppet_enterpriseconsole_auth (cf6fd887) ``` Merge pull request #59 from djm68/ticket_10255_add_q_puppet_enterpriseconsole_auth (10255) add support for new answer file question ``` * added question and answer for upgrading modules (f1663831) * (10255) add support for new answer file question (6bbd2bce) ``` (10255) add support for new answer file question New quesiton for authenticating access to dashboard ``` * 1.2.4 is now a valid pe version (b3d1c631) * dont guess the extensions of old versions of puppet; use whatevers there (89953af3) * (maint) Add guthub sig to known_hosts (30e452a6) ``` (maint) Add guthub sig to known_hosts Allow access to private git repos w/out prompting ``` * Merge branch 'master' of github.com:puppetlabs/puppet-acceptance (9ea440bc) * (maint) allow install from private git repos (72085439) ``` (maint) allow install from private git repos Harness was hanging up on git@github repos. ``` * Merge pull request #57 from justinstoller/spelling_correction (b7a6ead8) ``` Merge pull request #57 from justinstoller/spelling_correction (maint) fixed small spelling mistake ``` * fixed small spelling mistake (d2f6f105) * we use .gz tars for most recent version now (0dfbecb3) * add files for signing multiple nodes for pe 1.2 and above (ac3d31fc) * fix regex (13233c19) * update upgrade answers for cloud_pro and system_packages (2fedfc42) * handle tar & tar.gz according to how its currently setup (49739b73) * Merge pull request #55 from djm68/mod_pe_co_setup_for_pe123 (6336f57c) ``` Merge pull request #55 from djm68/mod_pe_co_setup_for_pe123 (maint) add path to dist dir for pe123 ``` * (maint) add path to dist dir for pe123 (0ef5897a) ``` (maint) add path to dist dir for pe123 Need to pull pe123 tarballs from pe123/; add code to append pe123 path to dist tar source path ``` * Merge pull request #54 from djm68/mod_setup_to_install_old_pe_versions (05d37f6b) ``` Merge pull request #54 from djm68/mod_setup_to_install_old_pe_versions (maint) Mod installers to handle old pe versions ``` * (maint) Mod installers to handle old pe versions (8376b841) ``` (maint) Mod installers to handle old pe versions Required mods to install pe1.1 and 1.0 using test harness. Many change in platform naming, tar balls etc require ugly hacks... ``` * Merge pull request #53 from djm68/add_pe_setup_for_CO (3cff05dd) ``` Merge pull request #53 from djm68/add_pe_setup_for_CO (maint) add special setup type for pe CO tests ``` * (maint) add special setup type for pe CO tests (44857df7) ``` (maint) add special setup type for pe CO tests Need a special setup type to deal with major PE changes from 1.0 1.1 1.2 etc. ``` * Merge pull request #52 from djm68/add_pe_version_option (a490b5ad) ``` Merge pull request #52 from djm68/add_pe_version_option (maint) Add --pe-version to test harness ``` * (maint) Add --pe-version to test harness (b2b8e74d) ``` (maint) Add --pe-version to test harness With the need to test many versions of PE (old and new) it is no longer feasible to only use the string from LATEST. By adding this option we can easily specify a PE version in CI and not modfiy LATEST. Omitting --pe-version simply falls back to using LATEST. ``` * Merge pull request #49 from djm68/10070_sign_dashboard_certs_update_new_cert_name (fe4c52f5) ``` Merge pull request #49 from djm68/10070_sign_dashboard_certs_update_new_cert_name 10070 sign dashboard certs update new cert name ``` * (maint) use the new method "puppet" vs "on" (0712c766) ``` (maint) use the new method "puppet" vs "on" Use the new puppet method to call "sign" which improves portability to non-Linux OSes. ``` * (#10070) SignDashboardCerts fails wrong cert name (216025b6) ``` (#10070) SignDashboardCerts fails wrong cert name Certnames have been changed to pe-internal-*; update the test to use the new format for signing the dashboard cert. ``` * Merge pull request #48 from justinstoller/ticket_10032_update_parseonly_test (95df108f) ``` Merge pull request #48 from justinstoller/ticket_10032_update_parseonly_test (#10032) adds TestCase#puppet macro to aid fixing ticket 10032 ``` * adds TestCase#puppet macro to aid fixing ticket 10032 (c385ab53) * Merge pull request #47 from bodepd/update_test_vm (0eac448b) ``` Merge pull request #47 from bodepd/update_test_vm (maint) updated host used for cloud prov testing ``` * (maint) updated host used for cloud prov testing (a817dc30) ``` (maint) updated host used for cloud prov testing The previous host had some conflicts with other tests. The updated host is not currently used before 10pm. ``` * Merge pull request #46 from djm68/10038_update_answer_file_generation_cloud_provisioner (55b053c1) ``` Merge pull request #46 from djm68/10038_update_answer_file_generation_cloud_provisioner (#10038) Update answer file generation for CP optional ``` * Merge pull request #45 from djm68/10036_update_example_cfgs (c4f36732) ``` Merge pull request #45 from djm68/10036_update_example_cfgs (#10036) Update test config and README ``` * (#10038) Update answer file generation for CP optional (5edf0bcf) ``` (#10038) Update answer file generation for CP optional Clould provisioner is now an optional install requiring an additional question in the installer. Update answer file generation to add the new question. ``` * (#10036) Update test config and README (a496c7e8) ``` (#10036) Update test config and README Exmaple configs and the README were woefully out of date. ``` * Merge pull request #44 from bodepd/upate_ami_os (47ee8756) ``` Merge pull request #44 from bodepd/upate_ami_os (maint) update to use valid AMI. ``` * (maint) update to use valid AMI. (6caf819a) ``` (maint) update to use valid AMI. Previously it was using now deprecated el-5 AMI. This commit updates the cloud pack test setup to use the new centos56 AMI. ``` * Merge pull request #43 from djm68/change_config_for_master_dashboard_agent_one_host (ca2f4c39) ``` Merge pull request #43 from djm68/change_config_for_master_dashboard_agent_one_host (#9991) Update harness config to trigger license tests ``` * Merge pull request #42 from djm68/ticket_10015_ntp_server_option (1d5ee20d) ``` Merge pull request #42 from djm68/ticket_10015_ntp_server_option (#10015) add ntp server option to test harness ``` * (#9991) Update harness config to trigger license tests (686755e7) ``` (#9991) Update harness config to trigger license tests Modified many test configs to have agent, master, dashboard on a single host as this will test a different code path for the license module. RHEL config still have dashboard on a seperate host. ``` * (#10015) add ntp server option to test harness (54bcb49a) ``` (#10015) add ntp server option to test harness The ntpdate server is currently hard coded into the test harness. It uses a ntpdate server on the lan for reliability, but this removes the option for testing while working from home. Added --ntp-server option to the test harness, defaults to ntp.puppetlabs.lan. ``` * Merge pull request #41 from mykhyggz/version_update (702164cb) ``` Merge pull request #41 from mykhyggz/version_update new facter version ``` * new facter version (dea50907) * Merge pull request #40 from djm68/simplify_vmrun_code (dc57e585) ``` Merge pull request #40 from djm68/simplify_vmrun_code (#9981) Clean up extra commands to vrsh in test harness ``` * (#9981) Clean up extra commands to vrsh in test harness (6752f461) ``` (#9981) Clean up extra commands to vrsh in test harness Test harness includes additional step to extract host names from the VMware server; this step is no longer required and removing this code removes a somewhat expensive call to the ESX server. ``` * Merge pull request #39 from djm68/increase_ntp_timeout (45f94537) ``` Merge pull request #39 from djm68/increase_ntp_timeout (#9980) Using internal ntp server vs. external ``` * (#9980) Using internal ntp server vs. external (d811c01d) ``` (#9980) Using internal ntp server vs. external OPs have added an internal NTP server saving us from having to go to the external pool.ntp.otrg system. This will prevents the many failures we have in setting time on our VMs post revert. ``` * Merge pull request #37 from djm68/master_dashboard_on_single_host (a0e72358) ``` Merge pull request #37 from djm68/master_dashboard_on_single_host (maint) Need answer file for single master/dashboard cfg ``` * (maint) Need answer file for single master/dashboard cfg (822c1ab0) ``` (maint) Need answer file for single master/dashboard cfg This is essentially a one off scenario for for installing one ec2; need to modify the answer file generation for single host master/dashboard/agent. Only affects ec2 work. ``` * Merge pull request #36 from djm68/change_installer_for_tar_gz_files (c639b236) ``` Merge pull request #36 from djm68/change_installer_for_tar_gz_files (maint) Installer support for tar.gz vs. plain tar ``` * (maint) Installer support for tar.gz vs. plain tar (b3fb8b23) ``` (maint) Installer support for tar.gz vs. plain tar Change to handle tar.gz vs. plain tar files. We now move lots of files around, including in ec2. Much more efficient to use tar.gz vs plain tar files. ``` * Merge pull request #35 from mykhyggz/version_strings (29ce4ba6) ``` Merge pull request #35 from mykhyggz/version_strings change puppet version string to match current ``` * change puppet version string to match current (8b541cdd) * Merge pull request #10 from haus/add-trace (b9a7c683) ``` Merge pull request #10 from haus/add-trace Add --trace to dashboard rake tasks so that when they fail, more verbose ``` * Merge pull request #32 from justinstoller/master (000023c8) ``` Merge pull request #32 from justinstoller/master (#9668) add check for rack version ``` * Merge pull request #34 from mykhyggz/yaml_error (7dc30209) ``` Merge pull request #34 from mykhyggz/yaml_error YAML Error: Inconsistent indentation level ``` * YAML Error: Inconsistent indentation level (a13daaff) * Merge pull request #33 from haus/ticket/9494 (af089e27) ``` Merge pull request #33 from haus/ticket/9494 Removing dirty chmod hack to expose potential failure. ``` * Removing dirty chmod hack to expose potential failure. (2fa97ca9) ``` Removing dirty chmod hack to expose potential failure. Signed-off-by: Matthaus Litteken ``` * properly specified packages (67bba35b) * fixed typo: host['role'] > host['roles'] (d0a82a20) * check rack version (85688086) * Merge pull request #31 from djm68/ec2_mods (b4f5c2fd) ``` Merge pull request #31 from djm68/ec2_mods (maint) modify harness to complete AWS PE installs ``` * (maint) Tweaks to answer file generation for aws installs (09a0498a) * (maint) modify harness to complete AWS PE installs (13ce3b73) * Merge pull request #30 from djm68/modify_answer_generation_for_aws (1cbbc69b) ``` Merge pull request #30 from djm68/modify_answer_generation_for_aws (maint) Mods answer file generation for AWS installs ``` * (maint) Mods answer file generation for AWS installs (58f13e71) ``` (maint) Mods answer file generation for AWS installs Due to the difference in AWS hostname scheme, need to query http://169.254.169.254/2008-02-01/meta-data/public-hostname for the corect cert name. ``` * Merge pull request #29 from djm68/add_aws_install_method (7627d852) ``` Merge pull request #29 from djm68/add_aws_install_method (maint) Add ec2 install method ``` * (maint) Add ec2 install method (9b313486) ``` (maint) Add ec2 install method For scale testing, we need the ability to install PE on ec2 instances. New install type "pe_aws" installs PE on nodes, and works in conjunction with pe-builder to actually provision the nodes. ``` * Merge pull request #27 from djm68/another_try_to_fix_agent_test (b835b42c) ``` Merge pull request #27 from djm68/another_try_to_fix_agent_test (9140) puppet agent test fails ``` * (9140) puppet agent test fails (a6210a2a) ``` (9140) puppet agent test fails Puppet agent --test fails in an unpredictable manner. Add an addition sleep step to assist in debugging problem ``` * Merge pull request #26 from djm68/simplify_pe_checking (c4fe00b3) ``` Merge pull request #26 from djm68/simplify_pe_checking (maint) More cleanup for PE type checking ``` * (maint) More cleanup for PE type checking (ad04f60a) * Merge pull request #25 from djm68/cleanup_vmrun_code (9d8ee04a) ``` Merge pull request #25 from djm68/cleanup_vmrun_code (maint) cleanup PE type checking ``` * (maint) cleanup PE type checking (6e346971) ``` (maint) cleanup PE type checking several places in the test environment check for install type "pe" and "pe_ro"; need only check for "pe". ``` * Merge pull request #24 from bodepd/dashboard_warning (64318770) ``` Merge pull request #24 from bodepd/dashboard_warning (#9556) Dashboard should not be required for PE test ``` * (#9556) Dashboard should not be required for PE test (da38f63c) ``` (#9556) Dashboard should not be required for PE test You should be able to request the hostname of the dashboard host without making dashboard a required host for a test. ``` * Merge pull request #23 from bodepd/add_silent_option_back (4ba35eb3) ``` Merge pull request #23 from bodepd/add_silent_option_back (maint) Add silent option back to on method ``` * (maint) Add silent option back to on method (bdcd4079) ``` (maint) Add silent option back to on method We had unwittenly deprecated this option and it turns out is used so this caused test failures. ``` * Merge pull request #22 from bodepd/9538_skip_answers_generation_for_non-pe_tests (f1b2797f) ``` Merge pull request #22 from bodepd/9538_skip_answers_generation_for_non-pe_tests (#9538) Do not generate PE answers arrays on non-PE tests ``` * (#9538) Do not generate PE answers arrays on non-PE tests (3020c1ca) ``` (#9538) Do not generate PE answers arrays on non-PE tests Previously, the answers files templates were being generated on non-PE tests. This makes it hard to make changes to the answers generation and understand the tests that it may imact. ``` * Merge pull request #20 from djm68/fix_answerfile_generation (81a9444f) ``` Merge pull request #20 from djm68/fix_answerfile_generation (maint) fix answer file gen -- breaking non PE tests ``` * (maint) fix answer file gen -- breaking non PE tests (f95db60c) ``` (maint) fix answer file gen -- breaking non PE tests Answer file gen was using "dashboard" which is actually a method call which checks for the validity of dashboard config; in this case, a FOSS test has not dashboard and then fails ``` * (maint) add support for CP for vm reversion (7c5564f6) ``` (maint) add support for CP for vm reversion The setup type pe_cp needed to be added to vmrun as supported setup type. ``` * Merge pull request #19 from bodepd/update_vm_name (2cf66dfe) ``` Merge pull request #19 from bodepd/update_vm_name (maint) update name of vm to use for tests ``` * (maint) update name of vm to use for tests (a16128b6) * Merge pull request #18 from djm68/fix_stdout_logging (af74349d) ``` Merge pull request #18 from djm68/fix_stdout_logging Fix stdout logging ``` * (maint) Improve logging (a99f4d08) ``` (maint) Improve logging Adding hostname to output for stdout, stderr, exit code. ``` * (maint) Crust removal (2cbf842d) * Merge pull request #17 from bodepd/cp_work (35ad88d9) ``` Merge pull request #17 from bodepd/cp_work Cp work ``` * (#9519) Add config file for rhel 5 CP tests (821251df) ``` (#9519) Add config file for rhel 5 CP tests Adds a config file for rhel5-latest i386. ``` * (#9494) document that chown line needs to be removed (ebcf55a1) ``` (#9494) document that chown line needs to be removed it is actually masking a potential bug and needs to be removed ``` * Merge pull request #16 from bodepd/9515_use_key_options (46352807) ``` Merge pull request #16 from bodepd/9515_use_key_options (#9515) Use key options ``` * (#9515) Use key options (576c7784) ``` (#9515) Use key options Need to update the CP setup script to use the new key params. ``` * Merge pull request #15 from djm68/add_ssh_config_opts (9c6e010a) ``` Merge pull request #15 from djm68/add_ssh_config_opts (maint) Adding support to pass sshkey and cloud ID as arg ``` * (maint) Adding support to pass sshkey and cloud ID as arg (b91ebfcb) ``` (maint) Adding support to pass sshkey and cloud ID as arg Need ability to use alternate sshkeys and cloud provider ID keys to allow provisioning and testing in clouds ``` * Merge pull request #14 from bodepd/ec2_support (194112bf) ``` Merge pull request #14 from bodepd/ec2_support Ec2 support ``` * Only use one ec2 node. (08ffc23c) ``` Only use one ec2 node. FOr performance, we only need one node from ec2. This node can serve as both the dashboard and master. ``` * (#9494) chown reports dir on master (30a2c740) ``` (#9494) chown reports dir on master This is a work-around for #9494. we fix the permissions on the reports dir for the master after installation. This should be removed when #9494 is really fixed. ``` * (#9504) Add specified hostname as certdnsname (b992b147) ``` (#9504) Add specified hostname as certdnsname To support ec2 where the hostname used is not the same as what is returned by `hostname` This patch adds the hostname from the config file as a certdnsname. ``` * (maint) Add PE specific check for ruby (3eb4bd61) ``` (maint) Add PE specific check for ruby Checking the version on ruby was blindly looking for Ruby in the search path, else in the puppet bin dir. Made the test specific, checking specifically for PE or non-PE installs. ``` * Add setup type for cp_pe (35819b56) ``` Add setup type for cp_pe Adds a type that can be used to take a host config file that does not have a master, create a new node to serve as the master and generate a new config file. ``` * Add ability to retrieve test config as a hash (9ddcee4e) ``` Add ability to retrieve test config as a hash This can be used to save the current state of tests so that hosts can be programmatically added to existing configurations. ``` * Merge pull request #11 from djm68/cleanup_configs (9c0e9ca5) ``` Merge pull request #11 from djm68/cleanup_configs (maint) clean up configs ``` * Merge pull request #13 from bodepd/9449_forward_agents (fab014ef) ``` Merge pull request #13 from bodepd/9449_forward_agents (#9449) forward agents by default. ``` * (#9449) forward agents by default. (634a371b) ``` (#9449) forward agents by default. Updates the test harness to forward ssh agent by default. This is a requirement of the acceptance tests for the cloud provisioner. ``` * (maint) Modify harness to allow alternate ssh key (7763c47c) ``` (maint) Modify harness to allow alternate ssh key To allow the use of alternate ssh credentials for use with such things as EC2, we need the ability to used arbitrary ssh keys. Added -k and --key ``` * (maint) Increment puppet version for CmdrKeith (c5008cc0) * Add --trace to dashboard rake tasks so that when they fail, more verbose output is available. (23947b4d) ``` Add --trace to dashboard rake tasks so that when they fail, more verbose output is available. Signed-off-by: Matthaus Litteken ``` ### pe1.2 - 6 Sep, 2011 (ba3dadd2) * Initial release.