diff --git a/fluent-package/apt/systemd-test/test.sh b/fluent-package/apt/systemd-test/test.sh index d49d7f8cc..486b7255e 100755 --- a/fluent-package/apt/systemd-test/test.sh +++ b/fluent-package/apt/systemd-test/test.sh @@ -21,6 +21,7 @@ set -eu test_filenames=( install-newly.sh update-from-v4.sh + update-from-v4-with-old-service-file.sh update-to-next-version.sh ) diff --git a/fluent-package/apt/systemd-test/update-from-v4-with-old-service-file.sh b/fluent-package/apt/systemd-test/update-from-v4-with-old-service-file.sh new file mode 100755 index 000000000..eedd243fa --- /dev/null +++ b/fluent-package/apt/systemd-test/update-from-v4-with-old-service-file.sh @@ -0,0 +1,111 @@ +#!/bin/bash + +set -exu + +. $(dirname $0)/../commonvar.sh + +# TODO: Remove it when v5 repository was deployed +sudo apt install -y curl ca-certificates +curl -O https://packages.treasuredata.com/4/${distribution}/${code_name}/pool/contrib/f/fluentd-apt-source/fluentd-apt-source_2020.8.25-1_all.deb +sudo apt install -y ./fluentd-apt-source_2020.8.25-1_all.deb + +# Install v4 +sudo apt clean all +# Uncomment when v5 repository was deployed +#apt_source_package=/vagrant/${distribution}/pool/${code_name}/${channel}/*/*/fluent-apt-source*_all.deb +#sudo apt install -V -y ${apt_source_package} ca-certificates +sudo apt update +sudo apt install -V -y td-agent=4.5.0-1 + +systemctl status --no-pager td-agent + +# Set custom service as "td-agent-server" +sleep 3 +sudo systemctl stop td-agent +sudo cp /lib/systemd/system/td-agent.service /etc/systemd/system/td-agent-server.service +sudo cp /etc/logrotate.d/td-agent /etc/logrotate.d/td-agent-server +sudo cp /etc/td-agent/td-agent.conf /etc/td-agent/td-agent-server.conf +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/etc/td-agent/td-agent.conf,/etc/td-agent/td-agent-server.conf,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/run/td-agent/td-agent.sock,/var/run/td-agent-server/td-agent-server.sock,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/log/td-agent/td-agent.log,/var/log/td-agent/td-agent-server.log,g' +sudo sed -i /etc/logrotate.d/td-agent-server -e 's,/var/log/td-agent/td-agent.log,/var/log/td-agent/td-agent-server.log,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/etc/default/td-agent,/etc/default/td-agent-server,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/run/td-agent/td-agent.pid,/var/run/td-agent-server/td-agent-server.pid,g' +sudo sed -i /etc/logrotate.d/td-agent-server -e 's,/var/run/td-agent/td-agent.pid,/var/run/td-agent-server/td-agent-server.pid,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,RuntimeDirectory=td-agent,RuntimeDirectory=td-agent-server,g' +sudo systemctl daemon-reload +sudo systemctl enable --now td-agent-server + +# Install the current +sleep 3 +sudo systemctl stop td-agent-server +sudo apt install -V -y \ + /vagrant/${distribution}/pool/${code_name}/${channel}/*/*/fluent-package_*_${architecture}.deb + +# Manual migration +sleep 3 +sudo systemctl stop td-agent +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/libjemalloc.so,/opt/fluent/lib/libjemalloc.so,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/ruby/gems/2.7.0/,/opt/fluent/lib/ruby/gems/3.2.0/,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/ruby/gems/2.7.0/,/opt/fluent/lib/ruby/gems/3.2.0/,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/bin/fluentd,/opt/fluent/bin/fluentd,g' +echo "Alias=fluentd.service" | sudo tee -a /etc/systemd/system/td-agent-server.service + +sudo systemctl daemon-reload +sudo systemctl enable --now td-agent-server + +# Somehow, we need to restart the service to apply "/etc/systemd/system/td-agent-server.service" +systemctl status --no-pager td-agent-server +sudo systemctl restart td-agent-server + +# Test: service status +systemctl status --no-pager td-agent-server +systemctl status --no-pager fluentd + +# Test: config migration +test -L /etc/td-agent +test -e /etc/td-agent/td-agent-server.conf + +# Test: log file migration +test -L /var/log/td-agent +test -e /var/log/td-agent/td-agent-server.log + +# Test: bin file migration +test -h /usr/sbin/td-agent +test -h /usr/sbin/td-agent-gem + +# Test: environmental variables +pid=$(systemctl show fluentd --property=MainPID --value) +env_vars=$(sudo sed -e 's/\x0/\n/g' /proc/$pid/environ) +test $(eval $env_vars && echo $HOME) = "/var/lib/td-agent" +test $(eval $env_vars && echo $LOGNAME) = "td-agent" +test $(eval $env_vars && echo $USER) = "td-agent" +test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/td-agent/td-agent-server.conf" +test $(eval $env_vars && echo $TD_AGENT_LOG_FILE) = "/var/log/td-agent/td-agent-server.log" +test $(eval $env_vars && echo $FLUENT_PLUGIN) = "/etc/td-agent/plugin" +test $(eval $env_vars && echo $FLUENT_SOCKET) = "/var/run/td-agent-server/td-agent-server.sock" + +# Test: No error logs +# (v4 default config outputs 'warn' log, so we should check only 'error' and 'fatal' logs) +sleep 3 +(! grep -e '\[error\]' -e '\[fatal\]' /var/log/td-agent/td-agent-server.log) + +# Test: logrotate config migration +test -e /etc/logrotate.d/td-agent-server +test -e /var/log/fluent/td-agent-server.log + +sudo logrotate -f /etc/logrotate.d/td-agent-server +sleep 1 + +test -e /var/log/fluent/td-agent-server.log.1 +sudo cp /var/log/fluent/td-agent-server.log.1 saved_rotated_logfile + +sudo systemctl stop td-agent-server +# Check that SIGUSR1 is sent to Fluentd and Fluentd reopens the logfile +# not to log to the rotated old file. +sudo diff --report-identical-files /var/log/fluent/td-agent-server.log.1 saved_rotated_logfile + +# Uninstall +sudo apt remove -y fluent-package +(! systemctl status --no-pager td-agent-server) +(! systemctl status --no-pager fluentd) diff --git a/fluent-package/apt/systemd-test/update-from-v4.sh b/fluent-package/apt/systemd-test/update-from-v4.sh index 122b950ac..a3924c2a8 100755 --- a/fluent-package/apt/systemd-test/update-from-v4.sh +++ b/fluent-package/apt/systemd-test/update-from-v4.sh @@ -53,30 +53,14 @@ env_vars=$(sudo sed -e 's/\x0/\n/g' /proc/$pid/environ) test $(eval $env_vars && echo $HOME) = "/var/lib/fluent" test $(eval $env_vars && echo $LOGNAME) = "_fluentd" test $(eval $env_vars && echo $USER) = "_fluentd" -test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/fluent/td-agent.conf" -test $(eval $env_vars && echo $FLUENT_PACKAGE_LOG_FILE) = "/var/log/fluent/td-agent.log" +test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/fluent/fluentd.conf" +test $(eval $env_vars && echo $FLUENT_PACKAGE_LOG_FILE) = "/var/log/fluent/fluentd.log" test $(eval $env_vars && echo $FLUENT_PLUGIN) = "/etc/fluent/plugin" test $(eval $env_vars && echo $FLUENT_SOCKET) = "/var/run/fluent/fluentd.sock" # Test: No error logs -# (v4 default config outputs 'warn' log, so we should check only 'error' and 'fatal' logs) sleep 3 -(! grep -q -e '\[error\]' -e '\[fatal\]' /var/log/td-agent/td-agent.log) - -# Test: logrotate config migration -test -e /etc/logrotate.d/td-agent -test -e /var/log/fluent/td-agent.log - -sudo logrotate -f /etc/logrotate.d/td-agent -sleep 1 - -test -e /var/log/fluent/td-agent.log.1 -sudo cp /var/log/fluent/td-agent.log.1 saved_rotated_logfile - -sudo systemctl stop td-agent -# Check that SIGUSR1 is sent to Fluentd and Fluentd reopens the logfile -# not to log to the rotated old file. -sudo diff --report-identical-files /var/log/fluent/td-agent.log.1 saved_rotated_logfile +(! grep -e '\[warn\]' -e '\[error\]' -e '\[fatal\]' /var/log/fluent/fluentd.log) # Uninstall sudo apt remove -y fluent-package diff --git a/fluent-package/templates/etc/systemd/fluentd.erb b/fluent-package/templates/etc/systemd/fluentd.erb index 22df6aa9b..1a0436121 100644 --- a/fluent-package/templates/etc/systemd/fluentd.erb +++ b/fluent-package/templates/etc/systemd/fluentd.erb @@ -1,5 +1 @@ FLUENT_PACKAGE_OPTIONS="" -# The following environment variable will be modified via package maintainer's migration script -FLUENT_CONF=/etc/<%= package_dir %>/<%= service_name %>.conf -FLUENT_PLUGIN=/etc/<%= package_dir %>/plugin -FLUENT_PACKAGE_LOG_FILE=/var/log/<%= package_dir %>/<%= service_name %>.log diff --git a/fluent-package/templates/package-scripts/fluent-package/deb/postinst b/fluent-package/templates/package-scripts/fluent-package/deb/postinst index 3a44fc0ee..e24980c11 100755 --- a/fluent-package/templates/package-scripts/fluent-package/deb/postinst +++ b/fluent-package/templates/package-scripts/fluent-package/deb/postinst @@ -69,8 +69,6 @@ migration_from_v4_main_process() { if [ -f /etc/<%= compat_package_dir %>/<%= compat_service_name %>.conf ]; then echo "Migrating from /etc/<%= compat_package_dir %>/<%= compat_service_name %>.conf to /etc/<%= package_dir %>/<%= compat_service_name %>.conf" cp -f /etc/<%= compat_package_dir %>/<%= compat_service_name %>.conf /etc/<%= package_dir %>/<%= compat_service_name %>.conf - echo "Refer previous configuration <%= compat_service_name %>.conf ..." - sed -i"" /etc/default/<%= service_name %> -e "/FLUENT_CONF/c FLUENT_CONF=/etc/<%= package_dir %>/<%= compat_service_name %>.conf" for d in $(ls /etc/<%= compat_package_dir %>); do if [ ! "$d" = "plugin" -a ! "$d" = "<%= compat_service_name %>.conf" ]; then # except managed under deb files must be migrated @@ -103,14 +101,6 @@ migration_from_v4_main_process() { mv -f /var/log/<%= compat_package_dir %>/$d /var/log/<%= package_dir %>/ fi done - if [ -f /var/log/<%= package_dir %>/<%= compat_service_name %>.log ]; then - echo "Keep logging to <%= compat_service_name %>.log ..." - sed -i"" /etc/default/<%= service_name %> -e "/FLUENT_PACKAGE_LOG_FILE/c FLUENT_PACKAGE_LOG_FILE=/var/log/<%= package_dir %>/<%= compat_service_name %>.log" - fi - if [ -f /etc/logrotate.d/<%= compat_service_name %> ]; then - echo "Migrating path of pid ..." - sed -i"" /etc/logrotate.d/<%= compat_service_name %> -e "s,/var/run/<%= compat_package_dir %>/<%= compat_service_name %>.pid,/var/run/<%= package_dir %>/<%= service_name %>.pid," - fi fi } diff --git a/fluent-package/yum/fluent-package.spec.in b/fluent-package/yum/fluent-package.spec.in index 0b64543ba..13d7e1c90 100644 --- a/fluent-package/yum/fluent-package.spec.in +++ b/fluent-package/yum/fluent-package.spec.in @@ -199,8 +199,6 @@ if [ $1 -eq 1 ]; then mv -f $d /etc/@PACKAGE_DIR@/ fi done - echo "Refer previous configuration @COMPAT_SERVICE_NAME@.conf ..." - %{__sed} -i"" %{_sysconfdir}/sysconfig/@SERVICE_NAME@ -e "/FLUENT_CONF/c FLUENT_CONF=/etc/@PACKAGE_DIR@/@COMPAT_SERVICE_NAME@.conf" fi fi if systemctl is-active @COMPAT_SERVICE_NAME@; then @@ -233,8 +231,6 @@ if [ $1 -eq 1 ]; then fi done if [ -f /var/log/@PACKAGE_DIR@/@COMPAT_SERVICE_NAME@.log ]; then - echo "Keep logging to @COMPAT_SERVICE_NAME@.log ..." - %{__sed} -i"" %{_sysconfdir}/sysconfig/@SERVICE_NAME@ -e "/FLUENT_PACKAGE_LOG_FILE/c FLUENT_PACKAGE_LOG_FILE=/var/log/@PACKAGE_DIR@/@COMPAT_SERVICE_NAME@.log" # Backup the config since RPM removes the file if it is not edited. if [ -f /etc/logrotate.d/@COMPAT_SERVICE_NAME@ ]; then cp /etc/logrotate.d/@COMPAT_SERVICE_NAME@ %{v4migration_old_rotate_config_saved} @@ -327,10 +323,6 @@ if [ -f %{v4migration} ]; then echo "Restores logrotate config from backup" mv -f %{v4migration_old_rotate_config_saved} /etc/logrotate.d/@COMPAT_SERVICE_NAME@ fi - if [ -f /etc/logrotate.d/@COMPAT_SERVICE_NAME@ ]; then - echo "Migrating path of pid in the logrotate config /etc/logrotate.d/@COMPAT_SERVICE_NAME@ ..." - %{__sed} -i"" /etc/logrotate.d/@COMPAT_SERVICE_NAME@ -e "s,/var/run/@COMPAT_PACKAGE_DIR@/@COMPAT_SERVICE_NAME@.pid,/var/run/@PACKAGE_DIR@/@SERVICE_NAME@.pid," - fi rm -f %{v4migration} if [ -f %{v4migration_with_restart} ]; then # When upgrading from v4, td-agent.service will be removed diff --git a/fluent-package/yum/systemd-test/test.sh b/fluent-package/yum/systemd-test/test.sh index 9c2181d5b..8f5d24e43 100755 --- a/fluent-package/yum/systemd-test/test.sh +++ b/fluent-package/yum/systemd-test/test.sh @@ -21,8 +21,8 @@ set -eu test_filenames=( install-newly.sh update-from-v4.sh + update-from-v4-with-old-service-file.sh update-to-next-version.sh - update-from-v4-logrotation-config-edited.sh ) for test_filename in ${test_filenames[@]}; do diff --git a/fluent-package/yum/systemd-test/update-from-v4-logrotation-config-edited.sh b/fluent-package/yum/systemd-test/update-from-v4-logrotation-config-edited.sh deleted file mode 100755 index 80212aca4..000000000 --- a/fluent-package/yum/systemd-test/update-from-v4-logrotation-config-edited.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -set -exu - -. $(dirname $0)/commonvar.sh - -# Install v4 -sudo rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent -case ${distribution} in - amazon) - cat > td.repo <<'EOF'; -[treasuredata] -name=TreasureData -baseurl=https://packages.treasuredata.com/4/amazon/$releasever/$basearch -gpgcheck=1 -gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent -EOF - sudo mv td.repo /etc/yum.repos.d/ - ;; - *) - cat > td.repo <<'EOF'; -[treasuredata] -name=TreasureData -baseurl=https://packages.treasuredata.com/4/redhat/$releasever/$basearch -gpgcheck=1 -gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent -EOF - sudo mv td.repo /etc/yum.repos.d/ - ;; -esac -sudo $DNF update -y -sudo $DNF install -y td-agent-4.5.0-1.*.x86_64 -sudo systemctl enable --now td-agent -systemctl status --no-pager td-agent - -# Edit the logrotate config -test -e /etc/logrotate.d/td-agent -sudo sed -i"" /etc/logrotate.d/td-agent -e "s/rotate 30/rotate 40/g" - -# Install the current -sudo $DNF install -y \ - /vagrant/${distribution}/${DISTRIBUTION_VERSION}/x86_64/Packages/fluent-package-[0-9]*.rpm -systemctl status --no-pager fluentd - -# Test: logrotate config migration -# RPM renames '/etc/logrotate.d/td-agent' to '/etc/logrotate.d/td-agent.rpmsave'. -# Migration process restores '/etc/logrotate.d/td-agent' from the rpmsave and update the pid file path. -test -e /etc/logrotate.d/td-agent -test -e /var/log/fluent/td-agent.log - -sudo $DNF install -y logrotate # rockylinux-8 needs to install logrotate -sleep 1 -sudo logrotate -f /etc/logrotate.d/td-agent -sleep 1 - -test -e /var/log/fluent/td-agent.log.1 -sudo cp /var/log/fluent/td-agent.log.1 saved_rotated_logfile -sudo systemctl stop fluentd -# Check that SIGUSR1 is sent to Fluentd and Fluentd reopens the logfile -# not to log to the rotated old file. -sudo diff --report-identical-files /var/log/fluent/td-agent.log.1 saved_rotated_logfile diff --git a/fluent-package/yum/systemd-test/update-from-v4-with-old-service-file.sh b/fluent-package/yum/systemd-test/update-from-v4-with-old-service-file.sh new file mode 100755 index 000000000..0a9ad15a6 --- /dev/null +++ b/fluent-package/yum/systemd-test/update-from-v4-with-old-service-file.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +set -exu + +. $(dirname $0)/commonvar.sh + +# Install v4 +sudo rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent +case ${distribution} in + amazon) + cat > td.repo <<'EOF'; +[treasuredata] +name=TreasureData +baseurl=https://packages.treasuredata.com/4/amazon/$releasever/$basearch +gpgcheck=1 +gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent +EOF + sudo mv td.repo /etc/yum.repos.d/ + ;; + *) + cat > td.repo <<'EOF'; +[treasuredata] +name=TreasureData +baseurl=https://packages.treasuredata.com/4/redhat/$releasever/$basearch +gpgcheck=1 +gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent +EOF + sudo mv td.repo /etc/yum.repos.d/ + ;; +esac +sudo $DNF update -y +sudo $DNF install -y td-agent-4.5.0-1.*.x86_64 + +# Set custom service as "td-agent-server" +sudo cp /usr/lib/systemd/system/td-agent.service /etc/systemd/system/td-agent-server.service +sudo cp /etc/logrotate.d/td-agent /etc/logrotate.d/td-agent-server +sudo cp /etc/td-agent/td-agent.conf /etc/td-agent/td-agent-server.conf +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/etc/td-agent/td-agent.conf,/etc/td-agent/td-agent-server.conf,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/run/td-agent/td-agent.sock,/var/run/td-agent-server/td-agent-server.sock,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/log/td-agent/td-agent.log,/var/log/td-agent/td-agent-server.log,g' +sudo sed -i /etc/logrotate.d/td-agent-server -e 's,/var/log/td-agent/td-agent.log,/var/log/td-agent/td-agent-server.log,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/etc/default/td-agent,/etc/default/td-agent-server,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/var/run/td-agent/td-agent.pid,/var/run/td-agent-server/td-agent-server.pid,g' +sudo sed -i /etc/logrotate.d/td-agent-server -e 's,/var/run/td-agent/td-agent.pid,/var/run/td-agent-server/td-agent-server.pid,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,RuntimeDirectory=td-agent,RuntimeDirectory=td-agent-server,g' +sudo systemctl daemon-reload +sudo systemctl enable --now td-agent-server + +# Install the current +sudo $DNF install -y \ + /vagrant/${distribution}/${DISTRIBUTION_VERSION}/x86_64/Packages/fluent-package-[0-9]*.rpm + +# Manual migration +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/libjemalloc.so,/opt/fluent/lib/libjemalloc.so,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/ruby/gems/2.7.0/,/opt/fluent/lib/ruby/gems/3.2.0/,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/lib/ruby/gems/2.7.0/,/opt/fluent/lib/ruby/gems/3.2.0/,g' +sudo sed -i /etc/systemd/system/td-agent-server.service -e 's,/opt/td-agent/bin/fluentd,/opt/fluent/bin/fluentd,g' +echo "Alias=fluentd.service" | sudo tee -a /etc/systemd/system/td-agent-server.service + +sudo systemctl daemon-reload +sudo systemctl enable --now td-agent-server + +# Test: service status +systemctl status --no-pager td-agent-server +systemctl status --no-pager fluentd + +# Test: config migration +test -L /etc/td-agent +test -e /etc/td-agent/td-agent-server.conf + +# Test: log file migration +test -L /var/log/td-agent +test -e /var/log/td-agent/td-agent-server.log + +# Test: bin file migration +test -h /usr/sbin/td-agent +test -h /usr/sbin/td-agent-gem + +# Test: environmental variables +pid=$(eval $(systemctl show fluentd --property=MainPID) && echo $MainPID) +env_vars=$(sudo sed -e 's/\x0/\n/g' /proc/$pid/environ) +test $(eval $env_vars && echo $HOME) = "/var/lib/td-agent" +test $(eval $env_vars && echo $LOGNAME) = "td-agent" +test $(eval $env_vars && echo $USER) = "td-agent" +test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/td-agent/td-agent-server.conf" +test $(eval $env_vars && echo $TD_AGENT_LOG_FILE) = "/var/log/td-agent/td-agent-server.log" +test $(eval $env_vars && echo $FLUENT_PLUGIN) = "/etc/td-agent/plugin" +test $(eval $env_vars && echo $FLUENT_SOCKET) = "/var/run/td-agent-server/td-agent-server.sock" + +# Test: No error logs +# (v4 default config outputs 'warn' log, so we should check only 'error' and 'fatal' logs) +sleep 3 +(! grep -e '\[error\]' -e '\[fatal\]' /var/log/td-agent/td-agent-server.log) + +# Test: logrotate config migration +test -e /etc/logrotate.d/td-agent-server +test -e /var/log/fluent/td-agent-server.log + +sudo $DNF install -y logrotate # rockylinux-8 needs to install logrotate +sudo logrotate -f /etc/logrotate.d/td-agent-server +sleep 1 + +test -e /var/log/fluent/td-agent-server.log.1 +sudo cp /var/log/fluent/td-agent-server.log.1 saved_rotated_logfile + +sudo systemctl stop td-agent-server +# Check that SIGUSR1 is sent to Fluentd and Fluentd reopens the logfile +# not to log to the rotated old file. +sudo diff --report-identical-files /var/log/fluent/td-agent-server.log.1 saved_rotated_logfile + +# Uninstall +sudo $DNF remove -y fluent-package +(! systemctl status --no-pager td-agent-server) +(! systemctl status --no-pager fluentd) diff --git a/fluent-package/yum/systemd-test/update-from-v4.sh b/fluent-package/yum/systemd-test/update-from-v4.sh index 51b1d0213..188440ce4 100755 --- a/fluent-package/yum/systemd-test/update-from-v4.sh +++ b/fluent-package/yum/systemd-test/update-from-v4.sh @@ -61,30 +61,14 @@ env_vars=$(sudo sed -e 's/\x0/\n/g' /proc/$pid/environ) test $(eval $env_vars && echo $HOME) = "/var/lib/fluent" test $(eval $env_vars && echo $LOGNAME) = "fluentd" test $(eval $env_vars && echo $USER) = "fluentd" -test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/fluent/td-agent.conf" -test $(eval $env_vars && echo $FLUENT_PACKAGE_LOG_FILE) = "/var/log/fluent/td-agent.log" +test $(eval $env_vars && echo $FLUENT_CONF) = "/etc/fluent/fluentd.conf" +test $(eval $env_vars && echo $FLUENT_PACKAGE_LOG_FILE) = "/var/log/fluent/fluentd.log" test $(eval $env_vars && echo $FLUENT_PLUGIN) = "/etc/fluent/plugin" test $(eval $env_vars && echo $FLUENT_SOCKET) = "/var/run/fluent/fluentd.sock" # Test: No error logs -# (v4 default config outputs 'warn' log, so we should check only 'error' and 'fatal' logs) sleep 3 -(! grep -q -e '\[error\]' -e '\[fatal\]' /var/log/td-agent/td-agent.log) - -# Test: logrotate config migration -test -e /etc/logrotate.d/td-agent -test -e /var/log/fluent/td-agent.log - -sudo $DNF install -y logrotate # rockylinux-8 needs to install logrotate -sudo logrotate -f /etc/logrotate.d/td-agent -sleep 1 - -test -e /var/log/fluent/td-agent.log.1 -sudo cp /var/log/fluent/td-agent.log.1 saved_rotated_logfile -sudo systemctl stop td-agent -# Check that SIGUSR1 is sent to Fluentd and Fluentd reopens the logfile -# not to log to the rotated old file. -sudo diff --report-identical-files /var/log/fluent/td-agent.log.1 saved_rotated_logfile +(! grep -e '\[warn\]' -e '\[error\]' -e '\[fatal\]' /var/log/fluent/fluentd.log) # Uninstall sudo $DNF remove -y fluent-package