17750: Add postgresql dependencies for RVM in Centos 7
authorJavier Bértoli <jbertoli@curii.com>
Wed, 21 Jul 2021 17:42:03 +0000 (14:42 -0300)
committerJavier Bértoli <jbertoli@curii.com>
Wed, 21 Jul 2021 18:31:32 +0000 (15:31 -0300)
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <jbertoli@curii.com>

arvados/defaults.yaml
arvados/osfamilymap.yaml
arvados/ruby/package/install.sls
test/integration/api/controls/packages_spec.rb

index 384e94c50f43972ec6f1d379d15a709487e540a0..6f44cbb0a346358486a94c8c233b1e7b67b5d7e2 100644 (file)
@@ -67,6 +67,10 @@ arvados:
     gem:
       name:
         - arvados-cli
     gem:
       name:
         - arvados-cli
+    # Arvados API needs postgresql libs and cli to connect to the database
+    # and populate it. Please specify the postgresql version that you expect
+    # to use here
+    postgresql_version: 12
     service:
       name: nginx
       port: 8004
     service:
       name: nginx
       port: 8004
index d40489cb7de163b3b92f1a217e3718873c19c964..fae57b63ba3f20eb75cccf73784292dc62bbb800 100644 (file)
@@ -39,12 +39,11 @@ RedHat:
       - libcurl
       - libcurl-devel
       - pam-devel
       - libcurl
       - libcurl-devel
       - pam-devel
-      - postgresql-devel
+      - centos-release-scl
       - libxml2
       - libxml2-devel
       - make
       - python3-devel
       - libxml2
       - libxml2-devel
       - make
       - python3-devel
-      - ruby-devel
       - zlib-devel
   ##### SHELL
   shell:
       - zlib-devel
   ##### SHELL
   shell:
index 4e26538d3c080db3fd7fd9cdaca48bd3ded819c6..8d9ed6b2f816292983dc9ec315fdf73a2281e1bc 100644 (file)
 {%- if arvados.ruby.manage_ruby %}
 
   {%- if arvados.ruby.use_rvm %}
 {%- if arvados.ruby.manage_ruby %}
 
   {%- if arvados.ruby.use_rvm %}
+
+    # Centos 7 has a too old postgresql package and we need a newer one
+    {%- if grains.os_family in ('RedHat',) %}
+arvados-ruby-package-install-ruby-rvm-deps-centos-scl-release-pkg-installed:
+  pkg.installed:
+    - name: centos-release-scl
+    - require_in:
+
+arvados-ruby-package-install-ruby-rvm-deps-rh-postgres11-libs-pkg-installed:
+  pkg.installed:
+    - name: rh-postgresql{{ arvados.api.postgresql_version }}-postgresql-libs
+    - unless: rpm -q postgresql{{ arvados.api.postgresql_version }}-libs
+    - require_in:
+      - cmd: arvados-ruby-package-install-rvm-cmd-run-curl
+    {%- endif %}
+
   # Centos 7 has no python3-gnupg package, so using gpg.present
   # will fail when it can't list the existing keys.
   # Doing it the hard way
   # Centos 7 has no python3-gnupg package, so using gpg.present
   # will fail when it can't list the existing keys.
   # Doing it the hard way
index 9cb60abb11b65ab554b56d7adfcaeeabf7a806b8..7c3cffb56d731fea4da4926cc8d5d699d6f7ca19 100644 (file)
@@ -27,23 +27,27 @@ control 'RVM and dependencies' do
   end
 
   %w[
   end
 
   %w[
-    rubygem-bundler
+    centos-release-scl
     curl
     gcc
     git
     libcurl
     libcurl-devel
     curl
     gcc
     git
     libcurl
     libcurl-devel
-    pam-devel
-    postgresql-devel
     libxml2
     libxml2-devel
     make
     libxml2
     libxml2-devel
     make
+    pam-devel
+    postgresql12-libs
     python3-devel
     python3-devel
-    ruby-devel
+    rubygem-bundler
     zlib-devel
   ].each do |p|
     describe package(p) do
       it { should be_installed }
     end
   end
     zlib-devel
   ].each do |p|
     describe package(p) do
       it { should be_installed }
     end
   end
+  describe command('/usr/local/rvm/bin/rvm list') do
+    its(:exit_status) { should eq 0 }
+    its('stdout') { should match (/ruby-2.5.8/) }
+  end
 end
 end