17750: Ensure the arvados-cli gem is available in controller when creating resources
[arvados-formula.git] / arvados / controller / resources / virtual_machines.sls
index 3ee67f38d1bec18e7ff6baa374c7c97e5916b0a6..3fbc729b0aeb3ddc3e7fa4a39edcec899353415a 100644 (file)
@@ -1,6 +1,10 @@
 # -*- coding: utf-8 -*-
 # vim: ft=sls
 
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
 {#- Get the `tplroot` from `tpldir` #}
 {%- set tplroot = tpldir.split('/')[0] %}
 {%- set sls_config_file = tplroot ~ '.config.file' %}
@@ -35,6 +39,9 @@ arvados-controller-resources-virtual-machines-{{ vm }}-record-cmd-run:
     - 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 \
@@ -46,6 +53,7 @@ arvados-controller-resources-virtual-machines-{{ vm }}-record-cmd-run:
     - 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
@@ -54,9 +62,13 @@ arvados-controller-resources-virtual-machines-{{ vm }}-record-cmd-run:
 # 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 }}
 
@@ -77,6 +89,9 @@ arvados-controller-resources-virtual-machines-{{ vm }}-scoped-token-cmd-run:
     - 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 \
@@ -88,5 +103,6 @@ arvados-controller-resources-virtual-machines-{{ vm }}-scoped-token-cmd-run:
       - 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 %}