Code Monkey home page Code Monkey logo

beaker-puppet_install_helper's Introduction

beaker-puppet_install_helper

This gem is simply an abstraction for the various ways that we install puppet from the spec/spec_helper_acceptance.rb files across the modules.

run_puppet_install_helper

The way to use this is to declare either run_puppet_install_helper() or run_puppet_install_helper_on(hosts) and set environment variables BEAKER_PUPPET_AGENT_VERSION and/or BEAKER_PUPPET_COLLECTION in the following combinations to have puppet installed on the desired hosts. The nodeset should be configured with type: pe or type: aio to control the type of install.

  • BEAKER_PUPPET_COLLECTION=<puppet collection> will install the specified BEAKER_PUPPET_AGENT_VERSION from the specified collection. Valid values are pc1, puppet5, puppet6, puppet6-nightly etc. This may change with time.
  • BEAKER_PUPPET_AGENT_VERSION=<version> to specify
  • BEAKER_IS_PE=<yes or no> may be used to force a nodeset to be PE or not, regardless of the nodeset type or absence thereof.
  • BEAKER_PE_VER=<pe version> may be used to specify the PE version for masters. Eg: BEAKER_PE_VER=2017.3.5
  • BEAKER_PUPPET_AGENT_SHA=<sha> may be used in order to use a development puppet-agent package.
  • PUPPET_INSTALL_TYPE=foss may be used to install foss puppet 3.x, but is deprecated and should not be used.

The best way is explicitly set BEAKER_PUPPET_COLLECTION and BEAKER_PUPPET_AGENT_VERSION to what you want. It'll probably do what you expect.

install_ca_certs

Install Certificate Authority Certs on Windows and OSX for Geotrust, User Trust Network, and Equifax On Windows it currently is limited to hosts that use cygwin

install_ca_certs_on

Install certs on a given host(s)

Support

No support is supplied or implied. Use at your own risk.

TODO

  • Add support for ci-ready builds

beaker-puppet_install_helper's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beaker-puppet_install_helper's Issues

Improve docs

It would be great if the docs could explain how to specify install type etc. via the nodeset's yaml config vs. just env variables (e.g., PUPPET_INSTALL_TYPE, PUPPET_INSTALL_VERSION). If I set

CONFIG:
  type: agent

in the YAML config for the node, it still seems to try and install Puppet 3 (which fails).

https://tickets.puppetlabs.com/browse/BKR-970 explains how to install puppet 4.x agent (install_puppet_agent_on(hosts, options)); is there an equivalent for this helper? Since this is intended to be a wrapper, would also be nice if it could default to Puppet 4 on platforms that don't support 3 (see error in https://tickets.puppetlabs.com/browse/BKR-970).

Install from gem fails if there is no repository for the platform

Running PUPPET_INSTALL_TYPE=foss PUPPET_INSTALL_VERSION=3.8.7 BEAKER_set=fedora-24-x64 BEAKER_destroy=no bundle exec rake beaker:fedora-24-x64 fails with:

/home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/host.rb:373:in `exec': Host 'fedora-24-x64' exited with 1 running: (Beaker::Host::CommandFailure)
 rpm --replacepkgs -Uvh http://yum.puppetlabs.com/puppetlabs-release-fedora-24.noarch.rpm
Last 10 lines of output were:
        curl: (22) The requested URL returned error: 404 Not Found
        Retrieving http://yum.puppetlabs.com/puppetlabs-release-fedora-24.noarch.rpm
        error: skipping http://yum.puppetlabs.com/puppetlabs-release-fedora-24.noarch.rpm - transfer failed
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/command_factory.rb:35:in `execute'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/host/unix/pkg.rb:155:in `install_package_with_rpm'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/dsl/install_utils/foss_utils.rb:925:in `block in install_puppetlabs_release_repo_on'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/shared/host_manager.rb:127:in `run_block_on'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/dsl/patterns.rb:37:in `block_on'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/dsl/install_utils/foss_utils.rb:899:in `install_puppetlabs_release_repo_on'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/dsl/install_utils/foss_utils.rb:439:in `block in install_puppet_from_rpm_on'
        from /home/user/.gem/ruby/gems/beaker-3.9.0/lib/beaker/shared/host_manager.rb:127:in `run_block_on'
...

what I tried, but did not help:

  • install rubygems before puppet_install_helper (not installed by default on fedora/24-cloud-base vagrant box)
  • setting type: foss in nodeset definition

snippet from README

if PUPPET_INSTALL_VERSION is less than 4 will attempt to install that version of the system package if available, or else the ruby gem of that version.

it should install the gem if there is no system package.

used gem versions:

#> grep beaker Gemfile.lock
    beaker (3.9.0)
      beaker-facter (~> 0.0)
      beaker-hiera (~> 0.0)
      beaker-hostgenerator
    beaker-facter (0.1.0)
    beaker-hiera (0.1.1)
    beaker-hostgenerator (0.8.2)
    beaker-puppet_install_helper (0.6.0)
      beaker (>= 2.0)
    beaker-rspec (6.0.0)
      beaker (~> 3.0)
  beaker-puppet_install_helper
  beaker-rspec

Installing puppet4 (pc1) repo fails

When using ' BEAKER_PUPPET_COLLECTION=pc1' I get the following error running beaker:

An error occurred while loading ./spec/acceptance/am__server_spec.rb.
Failure/Error: run_puppet_install_helper()
Beaker::Host::CommandFailure:
Host 'centos-7-x64' exited with 1 running:
rpm --replacepkgs -Uvh http://yum.puppet.com/pc1-release-el-7.noarch.rpm
Last 10 lines of output were:
curl: (22) The requested URL returned error: 404 Not Found
Retrieving http://yum.puppet.com/pc1-release-el-7.noarch.rpm
error: skipping http://yum.puppet.com/pc1-release-el-7.noarch.rpm - transfer failed

I think the correct url should be http://yum.puppet.com/puppetlabs-release-pc1-el-7.noarch.rpm

run_puppet_install_helper not working on centos5

Hi,
I'm using run_puppet_install_helper to install puppet client, but it's not working on centos5 because it is using https:

[root@480275903ffb /]# rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
Retrieving https://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
error: skipping https://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm - transfer failed - Unknown or unexpected error
[root@480275903ffb /]# rpm -Uvh http://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
Retrieving http://yum.puppetlabs.com/puppetlabs-release-el-5.noarch.rpm
warning: /var/tmp/rpm-xfer.5SmRAV: Header V3 RSA/SHA1 signature: NOKEY, key ID 4bd6ec30
Preparing...                ########################################### [100%]
   1:puppetlabs-release     ########################################### [100%]

Is there any way to force it to use http since https is not working?

thanks,

Getting an error with beaker 4.0

Are there any workarounds to make it work with beaker 4.0?

An error occurred while loading ./spec/acceptance/class_spec.rb.
Failure/Error: run_puppet_install_helper_on(hosts) unless ENV['BEAKER_provision'] == 'no'
NoMethodError:
  undefined method `install_puppet_agent_on' for main:Object
  Did you mean?  install_ca_certs_on
  
# /home/lcentinel/.rvm/gems/ruby-2.4.4/gems/beaker-puppet_install_helper-0.9.4/lib/beaker/puppet_install_helper.rb:95:in `run_puppet_install_helper_on'
# ./spec/spec_helper_acceptance.rb:9:in `<top (required)>'
# ./spec/acceptance/class_spec.rb:1:in `require'
# ./spec/acceptance/class_spec.rb:1:in `<top (required)>'
No examples found.
ssh connection to master has been terminated
removing temporary ssh-config files per-vagrant box
Destroying vagrant boxes
==> master: Forcing shutdown of VM...
==> master: Destroying VM and associated drives...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.