1

I'm using the saltstack documentation here to install RVM on my salt-minions

salt 2015.5.2 (Lithium)

On an Ubuntu 14.04 system

Here is my init.sls file for ruby.

gpg-import-D39DC0E3:
  cmd.run:
    - user: rvm
    - require:
      - user: rvm
    - name: gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys D39DC0E3; echo '409B6B1796C275462A1703113804BB82D39DC0E3:4:' |gpg --import-ownertrust
- unless: gpg --fingerprint |fgrep 'Key fingerprint = 409B 6B17 96C2 7546 2A17  0311 3804 BB82 D39D C0E3'

rvm-deps:
  pkg.installed:
    - pkgs:
      - bash
      - coreutils
      - gzip
      - bzip2
      - gawk
      - sed
      - curl
      - git-core
      - subversion

rvm:
  group.present: []
  user.present:
    - gid: rvm
    - home: /home/rvm
    - require:
      - group: rvm

mri-deps:
  pkg.installed:
    - pkgs:
      - build-essential
      - openssl
      - libreadline6
      - libreadline6-dev
      - curl
      - git-core
      - zlib1g
      - zlib1g-dev
      - libssl-dev
      - libyaml-dev
      - libsqlite3-0
      - libsqlite3-dev
      - sqlite3
      - libxml2-dev
      - libxslt1-dev
      - autoconf
      - libc6-dev
      - libncurses5-dev
      - automake
      - libtool
      - bison
      - subversion
      - ruby
jruby-deps:
  pkg.installed:
    - pkgs:
      - curl
      - g++
      - openjdk-6-jre-headless

ruby-2.0.0:
  rvm.installed:
    - default: True
    - user: rvm
    - require:
      - pkg: rvm-deps
      - pkg: mri-deps
      - user: rvm

jruby:
  rvm.installed:
    - user: rvm
    - require:
      - pkg: rvm-deps
      - pkg: jruby-deps
      - user: rvm

jgemset:
  rvm.gemset_present:
    - ruby: jruby
    - user: rvm
    - require:
      - rvm: jruby

mygemset:
  rvm.gemset_present:
    - ruby: ruby-2.0.0
    - user: rvm
    - require:
      - rvm: ruby-2.0.0    

The gpg-import-D39DC0E3 is from a fix that should work (but isn't) found here

My end goal is to have a salt deployment of redmine from this fantastic tutorial.

Any help is appreciated.

My Current Output

----------
          ID: rvm
    Function: group.present
      Result: True
     Comment: Group rvm is already present
     Started: 
    Duration: 
     Changes:   
----------
          ID: rvm
    Function: user.present
      Result: True
     Comment: User rvm is present and up to date
     Started: 
    Duration: 
     Changes:   
----------
          ID: gpg-import-D39DC0E3
    Function: cmd.run
        Name: gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys             D39DC0E3; echo                         '409B6B1796C275462A1703113804BB82D39DC0E3:4:' |gpg --import-ownertrust
      Result: True
     Comment: unless execution succeeded
     Started: 
    Duration: 
     Changes:   
----------
          ID: rvm-deps
    Function: pkg.installed
      Result: True
     Comment: All specified packages are already installed.
     Started: 
    Duration: 
     Changes:   
----------
          ID: mri-deps
    Function: pkg.installed
      Result: True
     Comment: All specified packages are already installed.
     Started: 
    Duration: 
     Changes:   
----------
          ID: jruby-deps
    Function: pkg.installed
      Result: True
     Comment: All specified packages are already installed.
     Started: 
    Duration: 
     Changes:   
----------
          ID: ruby-2.0.0
    Function: rvm.installed
      Result: False
     Comment: Could not install ruby.
     Started: 
    Duration: 
     Changes:   
----------
          ID: jruby
    Function: rvm.installed
      Result: False
     Comment: Could not install ruby.
     Started: 
    Duration: 
     Changes:   
----------
          ID: jgemset
    Function: rvm.gemset_present
      Result: False
     Comment: One or more requisite failed
     Started: 
    Duration: 
     Changes:   
----------
          ID: mygemset
    Function: rvm.gemset_present
      Result: False
     Comment: One or more requisite failed
     Started: 
    Duration: 
     Changes:   

Summary
------------
Succeeded: 6
Failed:    4
------------
Total states run:    10
2

I believe the salt.states.rvm docs are missing the state which actually installs rvm:

install_rvm:
  cmd.run:
    - name: curl -sSL https://get.rvm.io | bash
    - user: rvm
    - unless: /home/rvm/.rvm/bin/rvm --version
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.