This is an automated email from the ASF dual-hosted git repository.
sekikn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git
The following commit(s) were added to refs/heads/master by this push:
new 63706a1ad BIGTOP-4035: Fix ranger deb packaging and puppet script
(#1204)
63706a1ad is described below
commit 63706a1ad5d2a2ee4fde673f9877ed9b732c5233
Author: jialiang <[email protected]>
AuthorDate: Wed Nov 1 22:09:03 2023 +0800
BIGTOP-4035: Fix ranger deb packaging and puppet script (#1204)
* BIGTOP-4035: Fix ranger deb packaging and puppet script
* fix rocky8 python package name
* add rocky for latest Rocky images
---------
Co-authored-by: jialiang <[email protected]>
---
.../puppet/modules/ranger/manifests/init.pp | 72 +++++++++++++---------
.../templates/ranger-admin/install.properties | 2 +-
bigtop-packages/src/deb/ranger/control | 2 +-
bigtop-packages/src/deb/ranger/ranger.postinst.tpl | 2 +-
bigtop-packages/src/deb/ranger/ranger.prerm.tpl | 2 +-
bigtop-packages/src/deb/ranger/rules | 13 ++--
bigtop-packages/src/rpm/ranger/SPECS/ranger.spec | 2 +-
7 files changed, 54 insertions(+), 41 deletions(-)
diff --git a/bigtop-deploy/puppet/modules/ranger/manifests/init.pp
b/bigtop-deploy/puppet/modules/ranger/manifests/init.pp
index bdbc36647..7abb4f519 100644
--- a/bigtop-deploy/puppet/modules/ranger/manifests/init.pp
+++ b/bigtop-deploy/puppet/modules/ranger/manifests/init.pp
@@ -17,63 +17,75 @@ class ranger {
class deploy($roles) {
if ('ranger-server' in $roles) {
- include ranger::prerequisites
include ranger::admin
}
}
- class prerequisites {
+
+ class admin($admin_password) {
# Before Facter 3.14.17, Rocky Linux 8 is detected as 'RedHat'.
#
https://puppet.com/docs/pe/2019.8/osp/release_notes_facter.html#enhancements-3-14-17
- if (($operatingsystem == 'RedHat' or $operatingsystem == 'Rocky') and 0 <=
versioncmp($operatingsystemmajrelease, '8')) {
- # For some reason, 'python3' doesn't seem to work on Rocky Linux 8.
+ if ( $operatingsystem =~ /^(?i:(redhat|rocky))$/ and 0 <=
versioncmp($operatingsystemmajrelease, '8')) {
$python = 'python36'
} else {
$python = 'python3'
}
- package { ['postgresql-jdbc', 'postgresql-server', $python]:
- ensure => latest,
+ package { ['ranger-admin', $python]:
+ ensure => latest,
}
- exec { 'initdb':
- command => '/usr/bin/pg_ctl initdb -D /var/lib/pgsql/data',
- user => 'postgres',
- require => Package['postgresql-jdbc', 'postgresql-server', $python],
- }
+ if ($operatingsystem =~ /^(?i:(ubuntu|debian))$/) {
+ service { 'postgresql':
+ ensure => running,
+ require => Package[$python, 'ranger-admin'],
+ }
- service { 'postgresql':
- ensure => running,
- require => Exec['initdb'],
+ file { '/usr/share/java/postgresql-jdbc.jar':
+ ensure => link,
+ target => '/usr/share/java/postgresql.jar',
+ require => Package[$python, 'ranger-admin'],
+ }
+ } else {
+ exec { 'initdb':
+ command => '/usr/bin/pg_ctl initdb -D /var/lib/pgsql/data',
+ user => 'postgres',
+ require => Package[$python, 'ranger-admin'],
+ }
+
+ service { 'postgresql':
+ ensure => running,
+ require => Exec['initdb'],
+ }
}
- }
- class admin($admin_password) {
- package { 'ranger-admin':
- ensure => latest,
- require => Class['ranger::prerequisites'],
+ exec { 'change_postgres_password':
+ path => ['/usr/bin', '/bin','/sbin'],
+ command => "sudo -u postgres psql -c \"ALTER USER postgres WITH PASSWORD
'admin';\"",
+ require => Service['postgresql'],
}
file { '/usr/lib/ranger-admin/install.properties':
content => template('ranger/ranger-admin/install.properties'),
- require => Package['ranger-admin'],
+ require => [Package['ranger-admin'], Exec['change_postgres_password']]
}
- exec { '/usr/lib/ranger-admin/setup.sh':
- cwd => '/usr/lib/ranger-admin',
- environment => 'JAVA_HOME=/usr/lib/jvm/java-1.8.0',
- require => File['/usr/lib/ranger-admin/install.properties'],
+ exec { 'setup.sh':
+ command => '/bin/bash -c "source
/usr/lib/bigtop-utils/bigtop-detect-javahome &&
/usr/lib/ranger-admin/setup.sh"',
+ cwd => '/usr/lib/ranger-admin',
+ require => File['/usr/lib/ranger-admin/install.properties'],
}
- exec { '/usr/lib/ranger-admin/set_globals.sh':
- cwd => '/usr/lib/ranger-admin',
- environment => 'JAVA_HOME=/usr/lib/jvm/java-1.8.0',
- require => Exec['/usr/lib/ranger-admin/setup.sh'],
+ exec { 'set_globals.sh':
+ command => '/bin/bash -c "source
/usr/lib/bigtop-utils/bigtop-detect-javahome &&
/usr/lib/ranger-admin/set_globals.sh"',
+ cwd => '/usr/lib/ranger-admin',
+ require => Exec['setup.sh'],
}
exec { 'systemctl daemon-reload':
path => ["/bin", "/usr/bin"],
- require => Exec['/usr/lib/ranger-admin/set_globals.sh'],
+ command => "systemctl daemon-reload",
+ require => Exec['set_globals.sh'],
}
if ($operatingsystem == 'openEuler') {
@@ -88,4 +100,4 @@ class ranger {
}
}
}
-}
+}
\ No newline at end of file
diff --git
a/bigtop-deploy/puppet/modules/ranger/templates/ranger-admin/install.properties
b/bigtop-deploy/puppet/modules/ranger/templates/ranger-admin/install.properties
index 3affac499..3b284c427 100644
---
a/bigtop-deploy/puppet/modules/ranger/templates/ranger-admin/install.properties
+++
b/bigtop-deploy/puppet/modules/ranger/templates/ranger-admin/install.properties
@@ -50,7 +50,7 @@ SQL_CONNECTOR_JAR=/usr/share/java/postgresql-jdbc.jar
#db_host=host:port:SID # for DB_FLAVOR=ORACLE
#for SID example: db_host=localhost:1521:ORCL
#db_host=host:port/ServiceName # for DB_FLAVOR=ORACLE
#for Service example: db_host=localhost:1521/XE
db_root_user=postgres
-db_root_password=
+db_root_password=admin
db_host=localhost
#SSL config
db_ssl_enabled=false
diff --git a/bigtop-packages/src/deb/ranger/control
b/bigtop-packages/src/deb/ranger/control
index cb231198c..d3284795c 100644
--- a/bigtop-packages/src/deb/ranger/control
+++ b/bigtop-packages/src/deb/ranger/control
@@ -35,7 +35,7 @@ Description: Apache Ranger is a framework to enable,
Package: ranger-admin
Architecture: all
-Depends: adduser, postgresql (>= 8.1), bigtop-utils (>= 0.7), python | python2
+Depends: adduser, postgresql (>= 8.1), libpostgresql-jdbc-java, bigtop-utils
(>= 0.7), python | python2
Description: Ranger-admin is admin component associated with the Ranger
framework
Package: ranger-usersync
diff --git a/bigtop-packages/src/deb/ranger/ranger.postinst.tpl
b/bigtop-packages/src/deb/ranger/ranger.postinst.tpl
index b518350ca..a0be1993d 100644
--- a/bigtop-packages/src/deb/ranger/ranger.postinst.tpl
+++ b/bigtop-packages/src/deb/ranger/ranger.postinst.tpl
@@ -21,7 +21,7 @@ set -e
case "$1" in
configure)
- update-alternatives --install /etc/ranger/conf ranger-conf
@etc_ranger@/conf.dist 30
+ update-alternatives --install
/etc/ranger/@component_name@/conf ranger-@component_name@-conf
@etc_ranger@/@component_name@/conf.dist 30
chown ranger:ranger -R /var/run/ranger /var/log/ranger
@var_lib_ranger@
;;
diff --git a/bigtop-packages/src/deb/ranger/ranger.prerm.tpl
b/bigtop-packages/src/deb/ranger/ranger.prerm.tpl
index f5ad52e68..32199024c 100644
--- a/bigtop-packages/src/deb/ranger/ranger.prerm.tpl
+++ b/bigtop-packages/src/deb/ranger/ranger.prerm.tpl
@@ -35,7 +35,7 @@ set -e
case "$1" in
remove|upgrade|deconfigure)
- update-alternatives --remove ranger-conf @etc_ranger@/conf.dist || :
+ update-alternatives --remove ranger-@component_name@-conf
@etc_ranger@/@component_name@/conf.dist || :
;;
failed-upgrade)
diff --git a/bigtop-packages/src/deb/ranger/rules
b/bigtop-packages/src/deb/ranger/rules
index c9c50ddb5..94d53cd20 100755
--- a/bigtop-packages/src/deb/ranger/rules
+++ b/bigtop-packages/src/deb/ranger/rules
@@ -38,6 +38,7 @@ etc_default=/etc/default
etc_ranger=/etc/${ranger_name}
var_lib_ranger=/var/lib/${ranger_name}
var_run_ranger=/var/run/${ranger_name}
+var_log_ranger=/var/log/${ranger_name}
usr_lib_hadoop=/usr/lib/hadoop
usr_lib_hive=/usr/lib/hive
@@ -56,28 +57,28 @@ usr_lib_presto=/usr/lib/presto
define ranger_admin_install
${var_lib_ranger}
${var_run_ranger}
-${etc_ranger}/admin/conf.dist
${etc_ranger}/admin
${usr_lib_ranger}-admin
+${var_log_ranger}
endef
define ranger_usersync_install
${usr_lib_ranger}-usersync
${usr_lib_ranger}-usersync/native/credValidator.uexe
-${etc_ranger}/usersync/conf.dist
${etc_ranger}/usersync
+${var_log_ranger}
endef
define ranger_kms_install
${usr_lib_ranger}-kms
-${etc_ranger}/kms/conf.dist
${etc_ranger}/kms
+${var_log_ranger}
endef
define ranger_tagsync_install
${usr_lib_ranger}-tagsync
-${etc_ranger}/tagsync/conf.dist
${etc_ranger}/tagsync
+${var_log_ranger}
endef
define ranger_hdfs_plugin_install
@@ -155,8 +156,8 @@ endef
define gen_rule
$(foreach item, postinst preinst prerm,\
- cp debian/ranger.$(item).tpl debian/range-$(1).$(item);\
- sed -i -e 's:@var_lib_ranger@:${var_lib_ranger}:g' -e
's:@etc_ranger@:${etc_ranger}:g' debian/range-$(1).$(item);\
+ cp debian/ranger.$(item).tpl debian/ranger-$(1).$(item);\
+ sed -i -e 's:@var_lib_ranger@:${var_lib_ranger}:g' -e
's:@etc_ranger@:${etc_ranger}:g' -e 's:@component_name@:$(1):g'
debian/ranger-$(1).$(item);\
)
endef
diff --git a/bigtop-packages/src/rpm/ranger/SPECS/ranger.spec
b/bigtop-packages/src/rpm/ranger/SPECS/ranger.spec
index d09376acd..19bfa2344 100644
--- a/bigtop-packages/src/rpm/ranger/SPECS/ranger.spec
+++ b/bigtop-packages/src/rpm/ranger/SPECS/ranger.spec
@@ -138,7 +138,7 @@ Ranger is a framework to secure hadoop data
%package admin
Summary: Web Interface for Ranger
Group: System/Daemons
-Requires: coreutils, /usr/sbin/useradd, /usr/sbin/usermod, /sbin/chkconfig,
/sbin/service
+Requires: coreutils, postgresql-server >= 8.1, postgresql-jdbc,
/usr/sbin/useradd, /usr/sbin/usermod, /sbin/chkconfig, /sbin/service
Requires: psmisc
# Sadly, Sun/Oracle JDK in RPM form doesn't provide libjvm.so, which means we
have
# to set AutoReq to no in order to minimize confusion. Not ideal, but seems to
work.