{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
+{%- set sls_ruby_install = tplroot ~ '.ruby.package.install' %}
{%- from tplroot ~ "/map.jinja" import arvados with context %}
+{%- if arvados.ruby.manage_ruby %}
+ {%- set ruby_dep = 'rvm' if arvados.ruby.use_rvm else 'pkg' %}
+{%- endif %}
+
+include:
+ - {{ sls_ruby_install }}
+
+arvados-controller-package-install-gems-deps-pkg-installed:
+ pkg.installed:
+ - pkgs: {{ arvados.ruby.gems_deps | unique | json }}
+ - onlyif: test "{{ arvados.ruby.manage_gems_deps | lower }}" = "true"
+
+{%- for gm in arvados.api.gem.name | unique %}
+arvados-controller-package-install-gem-{{ gm }}-installed:
+ gem.installed:
+ - name: {{ gm }}
+ {%- if arvados.ruby.use_rvm %}
+ - ruby: {{ arvados.ruby.pkg }}
+ {%- endif %}
+ - require:
+ - pkg: arvados-controller-package-install-gems-deps-pkg-installed
+ {%- if arvados.ruby.manage_ruby %}
+ - {{ ruby_dep }}: arvados-ruby-package-install-ruby-{{ ruby_dep }}-installed
+ {%- endif %}
+ - require_in:
+ - pkg: arvados-controller-package-install-pkg-installed
+{%- endfor %}
+
arvados-controller-package-install-pkg-installed:
pkg.installed:
- name: {{ arvados.controller.pkg.name }}
- env:
- ARVADOS_API_TOKEN: {{ api_token }}
- ARVADOS_API_HOST: {{ api_host }}
+ {%- if arvados.ruby.manage_ruby and arvados.ruby.use_rvm %}
+ - prepend_path: /usr/local/rvm/gems/{{ arvados.ruby.pkg }}/bin
+ {%- endif %}
- name: |
arv --format=uuid \
virtual_machine \
- require:
- pkg: arvados-controller-package-install-pkg-installed
- cmd: arvados-controller-service-running-service-ready-cmd-run
+ - gem: arvados-controller-package-install-gem-arvados-cli-installed
# We need to use the UUID generated in the previous command to see if there's a
# scoped token for it. There's no easy way to pass the value from a shellout
# the file content is a token uuid :|
arvados-controller-resources-virtual-machines-{{ vm }}-get-vm_uuid-cmd-run:
cmd.run:
+ {%- if arvados.ruby.manage_ruby and arvados.ruby.use_rvm %}
+ - prepend_path: /usr/local/rvm/gems/{{ arvados.ruby.pkg }}/bin
+ {%- endif %}
- name: {{ cmd_query_vm_uuid }} | head -1 | tee /tmp/{{ vm }}
- require:
- cmd: arvados-controller-resources-virtual-machines-{{ vm }}-record-cmd-run
+ - gem: arvados-controller-package-install-gem-arvados-cli-installed
- unless:
- /bin/grep -qE "[a-z0-9]{5}-2x53u-[a-z0-9]{15}" /tmp/{{ vm }}
- env:
- ARVADOS_API_TOKEN: {{ api_token }}
- ARVADOS_API_HOST: {{ api_host }}
+ {%- if arvados.ruby.manage_ruby and arvados.ruby.use_rvm %}
+ - prepend_path: /usr/local/rvm/gems/{{ arvados.ruby.pkg }}/bin
+ {%- endif %}
- name: |
VM_UUID=$(cat /tmp/{{ vm }}) &&
arv --format=uuid \
- pkg: arvados-controller-package-install-pkg-installed
- pkg: arvados-controller-resources-virtual-machines-jq-pkg-installed
- cmd: arvados-controller-resources-virtual-machines-{{ vm }}-get-vm_uuid-cmd-run
+ - gem: arvados-controller-package-install-gem-arvados-cli-installed
{%- endfor %}