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
trueCamelType
  • 1,016
  • 5
  • 19
  • 41

1 Answers1

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
notpeter
  • 3,505
  • 1
  • 24
  • 44