17750: Ensure the arvados-cli gem is available in controller when creating resources
[arvados-formula.git] / arvados / controller / resources / virtual_machines.sls
index c89b543933f032044a83880993dc12a37247eee3..3fbc729b0aeb3ddc3e7fa4a39edcec899353415a 100644 (file)
@@ -39,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 \
@@ -50,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
@@ -58,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 }}
 
@@ -81,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 \
@@ -92,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 %}