puppet-openstack-integration/playbooks/prepare-node-integration.yaml
Sorin Sbarnea 7acca40563 Workaround for installing correct version of ruby bundler
See https://github.com/bundler/bundler/issues/6870

Bundler 2.x dropped support for Ruby < 2.3 so now we detect ruby
version and install last known to work version.

This means that newer OS will get newer versions of bundler.

Change-Id: I906ad01187ad5b929b378107de065d32d23c5fc2
Closes-Bug: #1810401
2019-01-07 11:36:27 +00:00

55 lines
1.8 KiB
YAML

- hosts: all
tasks:
- shell:
cmd: |
set -e
set -x
ZUUL_BRANCH_REAL=${ZUUL_BRANCH:-master}
# Workaround for puppet-ceph, where we need to checkout
# puppet-openstack-integration from stable/pike when working on
# stable/jewel.
# Ceph Jewel works with Newton to Pike
if [[ "$ZUUL_BRANCH" == "stable/jewel" ]]; then
ZUUL_BRANCH_REAL='stable/pike'
fi
CLONEMAP=`mktemp`
function cleanup {
rm -f $CLONEMAP
}
trap cleanup EXIT
cat > $CLONEMAP << EOF
clonemap:
- name: openstack/puppet-openstack-integration
dest: puppet-openstack-integration
EOF
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP \
--cache-dir /opt/git \
--zuul-branch $ZUUL_BRANCH_REAL \
git://git.openstack.org openstack/puppet-openstack-integration
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- include_role:
name: bindep
vars:
bindep_dir: "src/git.openstack.org/openstack/puppet-openstack-integration"
- name: Create folder for gems
file:
path: "{{ ansible_user_dir }}/workspace/puppet-openstack-integration/.bundled_gems"
state: directory
- name: Install bundler
shell:
cmd: |
ruby <<EOF
cmd = 'gem install bundler --no-rdoc --no-ri --verbose'
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0') then
cmd += ' -v 1.17.3'
end
system(cmd)
EOF
environment:
GEM_HOME: "{{ ansible_user_dir }}/workspace/puppet-openstack-integration/.bundled_gems"