[openstack-dev] [puppet] how to run rspec tests? r10k issue

Matt Fischer matt at mattfischer.com
Sat Feb 27 02:38:34 UTC 2016


This worked great. Thanks for this and the upstream fix.

On Fri, Feb 26, 2016 at 6:25 AM, Sofer Athlan-Guyot <sathlang at redhat.com>
wrote:

> Hi Matt,
>
> Matt Fischer <matt at mattfischer.com> writes:
>
> > I ended up symlinking the r10k binary I have installed to the place it
> > wants it to be and it worked. I do have that in my Gemfile. Question
> > is, can we make this work without manual steps?
>
> Well, I was thinking I had a smart way to fix as it was working on my
> env.  It turns out that it was only because of a strange setup that my
> "GEM_HOME=~/" trick was working.
>
> In the end, I discovered that bundler always set GEM_HOME and so the
> scripts of the puppet-openstack-integration always set GEM_BIN_DIR to
> the wrong path.
>
> I've created this bug report[1] and this fix[2].  It seems to be working
> well on my env.  It shouldn't change anything to the Openstack CI as the
> function is install_all is not used inside a proper ZUUL environment.
>
> One less pain,
>
> I discovered afterwards that you've already created the bug report
> there[3].  Sorry for the duplicate.
>
> As a side note, it's kind of hard to test it as the directory where the
> function is is recreated at each run of "bundle exec rake spec_prep"
> from gerrit/master. So here is what I did:
>  1. run it once and let it fail;
>  2. apply this:
>
> cat > /tmp/fix <<EOF
> --- lib/puppet-openstack_spec_helper/rake_tasks.rb.orig 2016-02-26
> 14:19:00.955396358 +0100
> +++ lib/puppet-openstack_spec_helper/rake_tasks.rb      2016-02-26
> 14:19:09.856505122 +0100
> @@ -49,7 +49,7 @@
>      zuul_branch = ENV['ZUUL_BRANCH']
>      zuul_url = ENV['ZUUL_URL']
>      repo = 'openstack/puppet-openstack-integration'
> -    rm_rf(repo)
> +#    rm_rf(repo)
>      if File.exists?('/usr/zuul-env/bin/zuul-cloner')
>        zuul_clone_cmd = ['/usr/zuul-env/bin/zuul-cloner']
>        zuul_clone_cmd += ['--cache-dir', '/opt/git']
> @@ -59,7 +59,7 @@
>        zuul_clone_cmd += ['git://git.openstack.org', "#{repo}"]
>        sh(*zuul_clone_cmd)
>      else
> -      sh("git clone https://git.openstack.org/#{repo} #{repo}")
> +#      sh("git clone https://git.openstack.org/#{repo} #{repo}")
>      end
>      script = ['env']
>      script += ["PUPPETFILE_DIR=#{Dir.pwd}/spec/fixtures/modules"]
> EOF
>
> running this (from your bundler env)
>
>    cat /tmp/fix | patch -d $(bundle show puppet-openstack_spec_helper) -p0
>
> and then, still from your bundler env, you can apply the patch:
>
> --- openstack/puppet-openstack-integration/functions.orig       2016-02-26
> 14:22:10.246709340 +0100
> +++ openstack/puppet-openstack-integration/functions    2016-02-26 14:22:
> 15.395772257 +0100
> @@ -48,7 +48,7 @@
>  # - ``SCRIPT_DIR`` must be set to script path
>  # - ``GEM_BIN_DIR`` must be set to Gem bin directory
>  install_all() {
> -  PUPPETFILE=${SCRIPT_DIR}/Puppetfile ${GEM_BIN_DIR}r10k puppetfile
> install -v
> +  PUPPETFILE=${SCRIPT_DIR}/Puppetfile r10k puppetfile install -v
>  }
>
>  # Install Puppet OpenStack modules and dependencies by using
>
> Kinda complicated ... certainly why I didn't bother earlier.
>
> [1] https://bugs.launchpad.net/puppet-openstack-integration/+bug/1550331
> [2] https://review.openstack.org/285285
> [3] https://bugs.launchpad.net/puppet-keystone/+bug/1548872
>
> >
> > On Thu, Feb 18, 2016 at 4:57 PM, Alex Schultz <aschultz at mirantis.com>
> > wrote:
> >
> >
> >
> >
> >
> >
> >
> >     On Thu, Feb 18, 2016 at 3:26 PM, Matt Fischer
> >     <matt at mattfischer.com> wrote:
> >
> >
> >         Is anyone able to share the secret of running spec tests since
> >         the r10k transition? bundle install && bundle exec rake spec
> >         have issues because r10k is not being installed. Since I'm not
> >         the only one hopefully this question will help others.
> >
> >
> >
> >         +
> >
>  PUPPETFILE=/etc/puppet/modules/keystone/openstack/puppet-openstack-integration/Puppetfile
> >
> >         + /var/lib/gems/1.9.1/bin/r10k puppetfile install -v
> >
>  /etc/puppet/modules/keystone/openstack/puppet-openstack-integration/functions:
> >         line 51: /var/lib/gems/1.9.1/bin/r10k: No such file or
> >         directory
> >         rake aborted!
> >
> >
> >
> >     I assume you were trying to run the tests on the keystone module
> >     so it should have been installed with the bundle install as it is
> >     listed in the Gemfile[0]. Are you sure your module is up to date?
> >
> >
> >     -Alex
> >
> >
> >     [0]
> >     https://github.com/openstack/puppet-keystone/blob/master/Gemfile#L26
> >
> >
> >
>  __________________________________________________________________________
> >
> >         OpenStack Development Mailing List (not for usage questions)
> >         Unsubscribe:
> >         OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> >
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >
> >
> >
> >
>  __________________________________________________________________________
> >
> >     OpenStack Development Mailing List (not for usage questions)
> >     Unsubscribe:
> >     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> >     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >
> >
> >
> >
> __________________________________________________________________________
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> --
> Sofer Athlan-Guyot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160226/61e0b2f1/attachment.html>


More information about the OpenStack-dev mailing list