neillturner / kitchen-verifier-serverspec

A Test Kitchen Serverspec Verifer without having to transit the Busser layer
Other
39 stars 19 forks source link

bundler: command not found #5

Closed alexharv074 closed 8 years ago

alexharv074 commented 8 years ago

Hi there, I'm not sure which component has the problem so I'm only guessing that it's this one.

Getting a failure like this:

-----> Setting up <default-centos-72>...
$$$$$$ Running legacy setup for 'Docker' Driver
       Installing ruby, bundler and serverspec remotely on server
Fetching: bundler-1.12.4.gem (100%)
       Successfully installed bundler-1.12.4
       1 gem installed
       sudo: bundler: command not found
>>>>>> Setup failed on instance <default-centos-72>.
>>>>>> Please see .kitchen/logs/default-centos-72.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: SSH exited (1) for command: [            
            if [ ! $(which ruby) ]; then
              echo '-----> Installing ruby, will try to determine platform os'
              if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ] || [ -f /etc/oracle-release ]; then
                sudo -E yum -y install ruby
              else
                if [ -f /etc/system-release ] || [ grep -q 'Amazon Linux' /etc/system-release ]; then
                  sudo -E yum -y install ruby
                else
                  sudo -E apt-get -y install ruby
                fi
              fi
            fi
                        if [ $(sudo -E gem list bundler -i) == 'false' ]; then
              sudo -E gem install  --no-ri --no-rdoc bundler
            fi

            if [ -d /tmp/kitchen ]; then
                            if [ $(sudo -E gem list serverspec -i) == 'false' ]; then
                        sudo -E rm -f /tmp/kitchen/Gemfile
          sudo -E echo "source 'https://rubygems.org'" >> /tmp/kitchen/Gemfile
          sudo -E echo "gem 'net-ssh','~> 2.9'"  >> /tmp/kitchen/Gemfile
          sudo -E echo "gem 'serverspec'" >> /tmp/kitchen/Gemfile

              sudo -E bundler install --gemfile=/tmp/kitchen/Gemfile
            fi

            else
              echo "ERROR: Default path '/tmp/kitchen' does not exist"
              exit 1
            fi
]
>>>>>> ----------------------

My .kitchen.yml:


---
driver:
  name: docker

provisioner:
  name: ansible_playbook
  hosts: test-kitchen
  ansible_verbose: false
  ansible_verbosity: 2
  require_ansible_repo: false
  require_ansible_omnibus: true

verifier:
  name: serverspec

platforms:
  - name: centos-7.2

suites:
  - name: default

And my bundle:

$ bundle show 
Gems included by the bundle:
  * artifactory (2.3.2)
  * backticks (0.4.0)
  * bundler (1.10.5)
  * docker (0.3.1)
  * faraday (0.9.2)
  * highline (1.7.8)
  * kitchen-ansible (0.42.5)
  * kitchen-docker (2.4.0)
  * kitchen-verifier-serverspec (0.4.2)
  * librarian (0.1.2)
  * librarian-ansible (3.0.0)
  * mixlib-install (1.0.11)
  * mixlib-shellout (2.2.6)
  * mixlib-versioning (1.1.0)
  * multipart-post (2.0.0)
  * net-scp (1.2.1)
  * net-ssh (3.1.1)
  * safe_yaml (1.0.4)
  * test-kitchen (1.8.0)
  * thor (0.19.1)
alexharv074 commented 8 years ago

Resolved by setting bundler_path.

neillturner commented 8 years ago

maybe we need to do sudo -E -H

pietervogelaar commented 8 years ago

I have the same issue. I think the command should be "sudo -E bundle install" instead of "sudo -E bundler install".

neillturner commented 8 years ago

yes i think that's true. let me correct.

neillturner commented 8 years ago

fixed in version 0.4.4