Description of problem: === - OSE Node host installation by "sh <(curl -s https://install.openshift.com/ose)" is failed. - Please see the attached log file. Version-Release number of selected component (if applicable): === - OSE 2.1 - RHEL 6.5 How reproducible: === - Steps to Reproduce: 1. Install node host by sh <(curl -s https://install.openshift.com/ose) Actual results: === - Please see attached log file. Expected results: === - Install successfully without error. Additional info: === - I attached the whole log file. Please check it.
FYI: [root@node ~]# yum info rsyslog7 Loaded plugins: priorities, product-id, security, subscription-manager jb-eap-6-for-rhel-6-server-rpms | 3.7 kB 00:00 jb-ews-2-for-rhel-6-server-rpms | 3.7 kB 00:00 rhel-6-server-ose-2.1-infra-rpms | 3.1 kB 00:00 rhel-6-server-ose-2.1-jbosseap-rpms | 3.1 kB 00:00 rhel-6-server-ose-2.1-node-rpms | 3.1 kB 00:00 rhel-6-server-ose-2.1-rhc-rpms | 3.1 kB 00:00 rhel-6-server-rpms | 3.8 kB 00:00 rhel-server-rhscl-6-rpms | 3.1 kB 00:00 Available Packages Name : rsyslog7 Arch : x86_64 Version : 7.4.10 Release : 3.el6_6 Size : 1.3 M Repo : rhel-6-server-rpms Summary : Enhanced system logging and kernel message trapping daemon URL : http://www.rsyslog.com/ License : (GPLv3+ and ASL 2.0) Description : Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL, : syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part, : and fine grain output format control. It is compatible with stock sysklogd : and can be used as a drop-in replacement. Rsyslog is simple to set up, with : advanced features suitable for enterprise-class, encryption-protected syslog : relay chains. [root@node ~]# yum repolist Loaded plugins: priorities, product-id, security, subscription-manager repo id repo name status jb-eap-6-for-rhel-6-server-rpms JBoss Enterprise Application Platform 6 (RHEL 6 Server) (RPMs) 1,735 jb-ews-2-for-rhel-6-server-rpms JBoss Enterprise Web Server 2 (RHEL 6 Server) (RPMs) 258 rhel-6-server-ose-2.1-infra-rpms Red Hat OpenShift Enterprise 2.1 Infrastructure (RPMs) 216 rhel-6-server-ose-2.1-jbosseap-rpms Red Hat OpenShift Enterprise 2.1 JBoss EAP add-on (RPMs) 7 rhel-6-server-ose-2.1-node-rpms Red Hat OpenShift Enterprise 2.1 Application Node (RPMs) 466 rhel-6-server-ose-2.1-rhc-rpms Red Hat OpenShift Enterprise 2.1 Client Tools (RPMs) 17 rhel-6-server-rpms Red Hat Enterprise Linux 6 Server (RPMs) 14,157 rhel-server-rhscl-6-rpms Red Hat Software Collections RPMs for Red Hat Enterprise Linux 6 Server 1,269 repolist: 18,125
Customers should always be setting priorities on yum repositories. There is a tool and process for it as described in the documentation at https://access.redhat.com/documentation/en-US/OpenShift_Enterprise/2/html-single/Deployment_Guide/index.html#Configuring_Yum_on_Broker_Hosts If you try to install without doing this, your chances of success are not good. If you specify that oo-install or openshift.sh should set up your subscriptions for you (any subscription type except "none"), it will do all this for you, but otherwise you must do it as specified in the documentation.
Created attachment 948527 [details] openshift-deploy.log failed due to wrong rsyslog7
Yes, you are right. I have been installed with this steps until now... ** This will hit error ** 1. I set registered subscription with rhsm 2. run "sh <(curl -s https://install.openshift.com/ose)". 3. I choose "n" with following prompt.. (Because I set it in #1) ~~~ Do you want to make any changes to the subscription info in the configuration file? (y/n/q/?) n ~~~ After I set subscription info, I got no error. And the repo priority is set correctly.
*** Bug 1156108 has been marked as a duplicate of this bug. ***
For new installation, the result is as below: 1) set CONF_SYSLOG true rsyslog was removed and rsyslog-5.8.10-9.el6_6.x86_64 was installed ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rsyslog7 x86_64 7.4.10-3.el6_6 rhel6 1.3 M rsyslog7-mmopenshift x86_64 7.4.10-3.el6op openshift_node_puddle 146 k Removing: rsyslog x86_64 5.8.10-9.el6_6 @rhel6 2.1 M [root@dhcp-128-178 ~]# rpm -qa|grep syslog rsyslog7-7.4.10-3.el6_6.x86_64 rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 2) set CONF_SYSLOG false [root@dhcp-128-178 ~]# rpm -qa|grep syslog rsyslog-5.8.10-9.el6_6.x86_64
For upgrade testing: > * A 2.2 upgrade where rsyslog7 was never actually used in 2.1. Meaning, rsyslog7.conf was never modified to use the mmopenshift plugin. The upgrade should ignore it Upgrade would remove rsyslog7 and rsyslog7-mmopenshift installed in ose-2.1 # ose-upgrade all <--snip--> INFO: Next step is 'rpms' INFO: Setting node step 'rpms' status to UPGRADING WARN: run_upgrade_step_rpms This may take a while. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + yum erase -y rsyslog7-7.4.7 rsyslog7-mmopenshift-7.4.7 Loaded plugins: priorities, product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package rsyslog7.x86_64 0:7.4.7-5.7.el6op will be erased ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: rsyslog7 x86_64 7.4.7-5.7.el6op @openshift_node_cdn 1.8 M rsyslog7-mmopenshift x86_64 7.4.7-5.7.el6op @openshift_node_cdn 386 k Transaction Summary ================================================================================ Remove 2 Package(s) Installed size: 2.2 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 1/2 Erasing : rsyslog7-7.4.7-5.7.el6op.x86_64 2/2 73 packages excluded due to repository priority protections Verifying : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 1/2 Verifying : rsyslog7-7.4.7-5.7.el6op.x86_64 2/2 Removed: rsyslog7.x86_64 0:7.4.7-5.7.el6op rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op Complete! INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip--> For other upgrade scenario, will verify soon.
When user did modified rsyslog7, but not chkconfig it on, found there are some syntax in the fix patch. [root@node ~]# rpm -V rsyslog7; echo $? S.5....T. c /etc/rsyslog7.conf 1 [root@node ~]# chkconfig rsyslog7 --list | grep -v ':on'; echo $? rsyslog7 0:off 1:off 2:off 3:off 4:off 5:off 6:off 0 According to the fix patch, ose-upgrade should remove rsyslog installed in ose-2.1, but actually ose-upgrade did not. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + chkconfig rsyslog7 --list + grep -v :on /dev/null + '[' -d /etc/rsyslog7.d ']' + command cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ + cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ cp: cannot stat `/etc/rsyslog7.d/*': No such file or directory INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- ERROR: run_script /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update had errors: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + chkconfig rsyslog7 --list + grep -v :on /dev/null + '[' -d /etc/rsyslog7.d ']' + command cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ + cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ cp: cannot stat `/etc/rsyslog7.d/*': No such file or directory --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: Setting node step 'rpms' status to FAILED The root cause is the following: if rpm -V rsyslog7 >/dev/null 2>&1 || chkconfig rsyslog7 --list | grep -v ':on' /dev/null 2>&1; then yum erase -y rsyslog7-7.4.7 rsyslog7-mmopenshift-7.4.7 else "chkconfig rsyslog7 --list | grep -v ':on' /dev/null 2>&1;" should be changed to "chkconfig rsyslog7 --list | grep -v ':on' >/dev/null 2>&1;", miss ">".
For upgrade testing: > * A 2.2 upgrade where rsyslog7 was installed from RHEL6.6. The upgrade should ignore it. Firstly rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 would never be installed together with rsyslog7 from rhel6 repo, because rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 have dependency with rsyslog7-7.4.7-5.7. So this scenarios is a little meaningless. Whatever, for check the logic of ose-upgrade, so here I have to uninstall rsyslog7 and rsyslog7-mmopenshift installed in ose-2.1, then install rsyslog7 from rhel6. # yum shell --disableplugin=priorities -y <<YUM erase rsyslog install rsyslog7 transaction run YUM # rpm -qa|grep syslog rsyslog7-7.4.10-3.el6_6.x86_64 Due to rsyslog7-mmopenshift is not installed, so ose-upgrade would ignore it. <--snip--> INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip-->
(In reply to Johnny Liu from comment #18) > For upgrade testing: > > * A 2.2 upgrade where rsyslog7 was installed from RHEL6.6. The upgrade should ignore it. > > Firstly rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 would never be installed > together with rsyslog7 from rhel6 repo, because > rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 have dependency with > rsyslog7-7.4.7-5.7. So this scenarios is a little meaningless. In this test I was actually referring to not having rsyslog7-mmopenshift installed at all. Let's say they had a host where RHEL 6.6's rsyslog7 was in the default image. If the later installed OpenShift 2.1 and desided to upgrade we wouldn't want anything bad to happen. The rsyslog7 upgrade logic should simply ignore it. > > Whatever, for check the logic of ose-upgrade, so here I have to uninstall > rsyslog7 and rsyslog7-mmopenshift installed in ose-2.1, then install > rsyslog7 from rhel6. > > # yum shell --disableplugin=priorities -y <<YUM > erase rsyslog > install rsyslog7 > transaction run > YUM > > # rpm -qa|grep syslog > rsyslog7-7.4.10-3.el6_6.x86_64 > > Due to rsyslog7-mmopenshift is not installed, so ose-upgrade would ignore it. > <--snip--> > INFO: Running upgrade scripts in > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms > INFO: running > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update: > INFO: --BEGIN OUTPUT-- > + rpm -q rsyslog7-mmopenshift-7.4.7 > INFO: --END > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update OUTPUT-- > INFO: > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update ran without error. > <--snip-->
(In reply to Johnny Liu from comment #17) > When user did modified rsyslog7, but not chkconfig it on, found there are > some syntax in the fix patch. > > [root@node ~]# rpm -V rsyslog7; echo $? > S.5....T. c /etc/rsyslog7.conf > 1 > [root@node ~]# chkconfig rsyslog7 --list | grep -v ':on'; echo $? > rsyslog7 0:off 1:off 2:off 3:off 4:off 5:off 6:off > 0 > > > According to the fix patch, ose-upgrade should remove rsyslog installed in > ose-2.1, but actually ose-upgrade did not. > > INFO: Running upgrade scripts in > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms > INFO: running > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update: > INFO: --BEGIN OUTPUT-- > + rpm -q rsyslog7-mmopenshift-7.4.7 > + rpm -V rsyslog7 > + chkconfig rsyslog7 --list > + grep -v :on /dev/null > + '[' -d /etc/rsyslog7.d ']' > + command cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ > + cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ > cp: cannot stat `/etc/rsyslog7.d/*': No such file or directory I viewed this as minor and choose the path I believed was the safest. I was going to add a check for /etc/rsyslog7.d/ however I decided to simply check rpm -V rsyslog7. If they are using the rsyslog7 from OpenShift Enterprise repositories then they are _only_ allowed to use it for OpenShift Enterprise. Our 2.1 documentation says to create /etc/rsyslog7.d. I preferred to fail fast since I would rather the upgrade stop and have them call support than have things appear to succeed and then they only find out (weeks later) that they aren't getting logs. The challenge we're going to have is that when 2.2 goes out we'll update our documentation to tell admins to create /etc/rsyslog7.d. Therefore if someone in the future installs 2.1 following the new method of updating we're going to have a problem. I haven't decided what to do with that yet. However, given all the problems with rsyslog7 on 2.1 I would almost say it's totally broken unless you _really_ know how it all works. My hope is that we can get the current users to 2.2 as fast a possible and that new installs will be on 2.2. > INFO: --END > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update OUTPUT-- > ERROR: run_script > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update had errors: > --BEGIN OUTPUT-- > + rpm -q rsyslog7-mmopenshift-7.4.7 > + rpm -V rsyslog7 > + chkconfig rsyslog7 --list > + grep -v :on /dev/null > + '[' -d /etc/rsyslog7.d ']' > + command cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ > + cp -f '/etc/rsyslog7.d/*' /etc/rsyslog.d/ > cp: cannot stat `/etc/rsyslog7.d/*': No such file or directory > > --END > /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7- > update OUTPUT-- > INFO: Setting node step 'rpms' status to FAILED > > > The root cause is the following: > if rpm -V rsyslog7 >/dev/null 2>&1 || > chkconfig rsyslog7 --list | grep -v ':on' /dev/null 2>&1; then > yum erase -y rsyslog7-7.4.7 rsyslog7-mmopenshift-7.4.7 > else > > > "chkconfig rsyslog7 --list | grep -v ':on' /dev/null 2>&1;" should be > changed to "chkconfig rsyslog7 --list | grep -v ':on' >/dev/null 2>&1;", > miss ">".
> > "chkconfig rsyslog7 --list | grep -v ':on' /dev/null 2>&1;" should be > changed to "chkconfig rsyslog7 --list | grep -v ':on' >/dev/null 2>&1;", > miss ">". This part is definitely a bug!
Looking again at Comment #17 I see I did add a check for /etc/rsyslog7.d. My opinion on that was similar though. If they knew to create rsyslog7.d it was because they read the OSE docs. If there are no *.conf files in that directory something is wrong and someone will need to investigate before the upgrade continues. I think the syntax error Jianlin found is likely the cause for all the confusion. I'll have that fixed shortly!
For upgrade testing: > * A 2.2 upgrade where rsyslog7 was originally setup according to the 2.1 documentation. The upgrade will port it to the new packages. Verified this scenario with ose-21z-22-upgrade-2014-10-28, and PASS. Before upgrade, the following packages are installed on node: rsyslog-5.8.10-9.el6_6.x86_64 rsyslog7-7.4.7-5.7.el6op.x86_64 rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 Enabled SYSCONF=node,gears,frontend, logging functionality is working well. Start ose-upgrade on node: <--snip--> <--snip--> <--snip--> INFO: Next step is 'rpms' INFO: Setting node step 'rpms' status to UPGRADING WARN: run_upgrade_step_rpms This may take a while. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + chkconfig rsyslog7 --list + grep -v :on + '[' -d /etc/rsyslog7.d ']' + command cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + yum shell --disableplugin=priorities -y Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Yum Shell > Setting up Remove Process > Setting up Install Process > --> Running transaction check ---> Package rsyslog.x86_64 0:5.8.10-9.el6_6 will be erased ---> Package rsyslog7.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7.x86_64 0:7.4.10-3.el6_6 will be an update --> Processing Dependency: libjson-c.so.2()(64bit) for package: rsyslog7-7.4.10-3.el6_6.x86_64 ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op will be an update --> Running transaction check ---> Package json-c.x86_64 0:0.10-3.el6op will be updated ---> Package json-c.x86_64 0:0.11-11.el6 will be an update --> Finished Dependency Resolution ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: rsyslog7 x86_64 7.4.10-3.el6_6 rhel6 1.3 M rsyslog7-mmopenshift x86_64 7.4.10-3.el6op openshift_node_extra 146 k Removing: rsyslog x86_64 5.8.10-9.el6_6 @rhel6 2.1 M Updating for dependencies: json-c x86_64 0.11-11.el6 rhel6 51 k Transaction Summary ================================================================================ Upgrade 3 Package(s) Remove 1 Package(s) Total download size: 1.5 M Downloading Packages: -------------------------------------------------------------------------------- Total 564 kB/s | 1.5 MB 00:02 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : json-c-0.11-11.el6.x86_64 1/7 Updating : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Updating : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Cleanup : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 4/7 Cleanup : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 warning: /etc/rsyslog7.conf saved as /etc/rsyslog7.conf.rpmsave Cleanup : json-c-0.10-3.el6op.x86_64 6/7 Erasing : rsyslog-5.8.10-9.el6_6.x86_64 7/7 Verifying : json-c-0.11-11.el6.x86_64 1/7 Verifying : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Verifying : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Verifying : rsyslog-5.8.10-9.el6_6.x86_64 4/7 Verifying : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 Verifying : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 6/7 Verifying : json-c-0.10-3.el6op.x86_64 7/7 Removed: rsyslog.x86_64 0:5.8.10-9.el6_6 Updated: rsyslog7.x86_64 0:7.4.10-3.el6_6 rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op Dependency Updated: json-c.x86_64 0:0.11-11.el6 Finished Transaction > Leaving Shell + rpm -q rsyslog7-mmopenshift-7.4.7 package rsyslog7-mmopenshift-7.4.7 is not installed + conf=/etc/rsyslog.conf ++ date +%Y-%m-%d-%H:%M:%S + command cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-29-13:18:43 + cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-29-13:18:43 + command cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + sed -i s/rsyslog7.d/rsyslog.d/ /etc/rsyslog.conf + service rsyslog start Starting system logger: [ OK ] INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip--> <--snip--> <--snip-->
Following comment 24, though log functionality is working well after upgrade, but an issue still exists. After ose-upgrade, rsyslog is not added into "chkconfig --list", that means once node is reboot, all log functionality would does not work. That is caused by the following: yum shell --disableplugin=priorities -y <<YUM erase rsyslog rsyslog7-7.4.7 rsyslog7-mmopenshift-7.4.7 install rsyslog7 rsyslog7-mmopenshift transaction run YUM In yum shell, "install rsyslog7" would NOT run post install script of rsyslog7. # rpm -q --scripts rsyslog7 postinstall scriptlet (using /bin/sh): /sbin/chkconfig --add rsyslog for n in /var/log/{messages,secure,maillog,spooler} do [ -f $n ] && continue umask 066 && touch $n done preuninstall scriptlet (using /bin/sh): if [ $1 = 0 ]; then service rsyslog stop >/dev/null 2>&1 ||: /sbin/chkconfig --del rsyslog fi postuninstall scriptlet (using /bin/sh): if [ "$1" -ge "1" ]; then service rsyslog condrestart > /dev/null 2>&1 ||: fi If I yum reinstall rsyslog7, rsyslog would be added into "chkconfig --list"
Retest the failure in comment 17 with ose-21z-22-upgrade-2014-10-28, and PASS. When user did modified rsyslog7, but not chkconfig it on, ose-upgrade would remove rsyslog7 and rsyslog7-mmopenshift installed in ose-2.1. # rpm -V rsyslog7 S.5....T. c /etc/rsyslog7.conf # chkconfig rsyslog7 off # chkconfig rsyslog7 --list | grep -v ':on'; echo $? rsyslog7 0:off 1:off 2:off 3:off 4:off 5:off 6:off 0 # ose-upgrade all <--snip--> INFO: Next step is 'rpms' INFO: Setting node step 'rpms' status to UPGRADING WARN: run_upgrade_step_rpms This may take a while. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + grep -v :on + chkconfig rsyslog7 --list + yum erase -y rsyslog7-7.4.7 rsyslog7-mmopenshift-7.4.7 Loaded plugins: priorities, product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package rsyslog7.x86_64 0:7.4.7-5.7.el6op will be erased ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: rsyslog7 x86_64 7.4.7-5.7.el6op @openshift_node_cdn 1.8 M rsyslog7-mmopenshift x86_64 7.4.7-5.7.el6op @openshift_node_cdn 386 k Transaction Summary ================================================================================ Remove 2 Package(s) Installed size: 2.2 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 1/2 Erasing : rsyslog7-7.4.7-5.7.el6op.x86_64 2/2 warning: /etc/rsyslog7.conf saved as /etc/rsyslog7.conf.rpmsave Verifying : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 1/2 Verifying : rsyslog7-7.4.7-5.7.el6op.x86_64 2/2 Removed: rsyslog7.x86_64 0:7.4.7-5.7.el6op rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op Complete! INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip-->
For upgrade testing: > * A broker+node host 2.2 upgrade (this isn't nearly as important to test but it's important to know it is an edge case) Install ose-2.1 all-in-one env, and enable CONF_SYSLOG="broker,console,node,frontend,gears", create app, control app, log functionality is working well. Before upgrade: # rpm -qa|grep rsyslog rsyslog7-7.4.7-5.7.el6op.x86_64 rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 rsyslog-5.8.10-9.el6_6.x86_64 Following ose-21z-22-upgrade-2014-10-28 to test this scenarios. <--snip--> INFO: Next step is 'rpms' INFO: Setting node step 'rpms' status to UPGRADING WARN: run_upgrade_step_rpms This may take a while. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + chkconfig rsyslog7 --list + grep -v :on + '[' -d /etc/rsyslog7.d ']' + command cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + yum shell --disableplugin=priorities -y Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Yum Shell > Setting up Remove Process > Setting up Install Process > --> Running transaction check ---> Package rsyslog.x86_64 0:5.8.10-9.el6_6 will be erased ---> Package rsyslog7.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7.x86_64 0:7.4.10-3.el6_6 will be an update --> Processing Dependency: libjson-c.so.2()(64bit) for package: rsyslog7-7.4.10-3.el6_6.x86_64 ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op will be an update --> Running transaction check ---> Package json-c.x86_64 0:0.10-3.el6op will be updated ---> Package json-c.x86_64 0:0.11-11.el6 will be an update --> Finished Dependency Resolution ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: rsyslog7 x86_64 7.4.10-3.el6_6 rhel6 1.3 M rsyslog7-mmopenshift x86_64 7.4.10-3.el6op openshift_infra_extra 146 k Removing: rsyslog x86_64 5.8.10-9.el6_6 @rhel6 2.1 M Updating for dependencies: json-c x86_64 0.11-11.el6 rhel6 51 k Transaction Summary ================================================================================ Upgrade 3 Package(s) Remove 1 Package(s) Total download size: 1.5 M Downloading Packages: -------------------------------------------------------------------------------- Total 20 MB/s | 1.5 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : json-c-0.11-11.el6.x86_64 1/7 Updating : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Updating : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Cleanup : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 4/7 Cleanup : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 warning: /etc/rsyslog7.conf saved as /etc/rsyslog7.conf.rpmsave Cleanup : json-c-0.10-3.el6op.x86_64 6/7 Erasing : rsyslog-5.8.10-9.el6_6.x86_64 7/7 Verifying : json-c-0.11-11.el6.x86_64 1/7 Verifying : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Verifying : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Verifying : rsyslog-5.8.10-9.el6_6.x86_64 4/7 Verifying : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 Verifying : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 6/7 Verifying : json-c-0.10-3.el6op.x86_64 7/7 Removed: rsyslog.x86_64 0:5.8.10-9.el6_6 Updated: rsyslog7.x86_64 0:7.4.10-3.el6_6 rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op Dependency Updated: json-c.x86_64 0:0.11-11.el6 Finished Transaction > Leaving Shell + rpm -q rsyslog7-mmopenshift-7.4.7 package rsyslog7-mmopenshift-7.4.7 is not installed + conf=/etc/rsyslog.conf ++ date +%Y-%m-%d-%H:%M:%S + command cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-29-18:13:51 + cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-29-18:13:51 + command cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + sed -i s/rsyslog7.d/rsyslog.d/ /etc/rsyslog.conf + service rsyslog start Starting system logger: [ OK ] INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip--> old rsyslog7 and rsyslog7-mmopenshift would be upgraded to new packages, rsyslog7 is from rhel6, rsyslog7-mmopenshift is from ose-2.2 repo. The log functionality is also work well after upgrade. The only issue is the same as what mentioned in Comment 25, so I would treat all-in-one upgrade as PASS. # chkconfig |grep syslog After reboot, # /etc/init.d/rsyslog status rsyslogd is stopped
(In reply to Johnny Liu from comment #25) > Following comment 24, though log functionality is working well after > upgrade, but an issue still exists. > > After ose-upgrade, rsyslog is not added into "chkconfig --list", that means > once node is reboot, all log functionality would does not work. > I'm going to add 'chkconfig rsyslog on' right after the spot where we start the service. Seriously, amazing job testing all this.
About failure mentioned in comment 25, verified it with ose-21z-22-upgrade-2014-10-29, and PASS. Before upgrade: # chkconfig |grep rsyslog rsyslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off rsyslog7 0:off 1:off 2:on 3:on 4:on 5:on 6:off # ose-upgrade all <--snip--> INFO: Next step is 'rpms' INFO: Setting node step 'rpms' status to UPGRADING WARN: run_upgrade_step_rpms This may take a while. INFO: Running upgrade scripts in /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms INFO: running /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update: INFO: --BEGIN OUTPUT-- + rpm -q rsyslog7-mmopenshift-7.4.7 + rpm -V rsyslog7 + grep -v :on + chkconfig rsyslog7 --list + '[' -d /etc/rsyslog7.d ']' + command cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + cp -f /etc/rsyslog7.d/imuxsock-and-openshift-gears.conf /etc/rsyslog7.d/openshift-node-platform.conf /etc/rsyslog.d/ + yum shell --disableplugin=priorities -y Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Yum Shell > Setting up Remove Process > Setting up Install Process > --> Running transaction check ---> Package rsyslog.x86_64 0:5.8.10-9.el6_6 will be erased ---> Package rsyslog7.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7.x86_64 0:7.4.10-3.el6_6 will be an update --> Processing Dependency: libjson-c.so.2()(64bit) for package: rsyslog7-7.4.10-3.el6_6.x86_64 ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.7-5.7.el6op will be updated ---> Package rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op will be an update --> Running transaction check ---> Package json-c.x86_64 0:0.10-3.el6op will be updated ---> Package json-c.x86_64 0:0.11-11.el6 will be an update --> Finished Dependency Resolution ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: rsyslog7 x86_64 7.4.10-3.el6_6 rhel6 1.3 M rsyslog7-mmopenshift x86_64 7.4.10-3.el6op openshift_node_extra 146 k Removing: rsyslog x86_64 5.8.10-9.el6_6 @rhel6 2.1 M Updating for dependencies: json-c x86_64 0.11-11.el6 rhel6 51 k Transaction Summary ================================================================================ Upgrade 3 Package(s) Remove 1 Package(s) Total download size: 1.5 M Downloading Packages: -------------------------------------------------------------------------------- Total 791 kB/s | 1.5 MB 00:01 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : json-c-0.11-11.el6.x86_64 1/7 Updating : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Updating : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Cleanup : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 4/7 Cleanup : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 warning: /etc/rsyslog7.conf saved as /etc/rsyslog7.conf.rpmsave Cleanup : json-c-0.10-3.el6op.x86_64 6/7 Erasing : rsyslog-5.8.10-9.el6_6.x86_64 7/7 Verifying : json-c-0.11-11.el6.x86_64 1/7 Verifying : rsyslog7-7.4.10-3.el6_6.x86_64 2/7 Verifying : rsyslog7-mmopenshift-7.4.10-3.el6op.x86_64 3/7 Verifying : rsyslog-5.8.10-9.el6_6.x86_64 4/7 Verifying : rsyslog7-7.4.7-5.7.el6op.x86_64 5/7 Verifying : rsyslog7-mmopenshift-7.4.7-5.7.el6op.x86_64 6/7 Verifying : json-c-0.10-3.el6op.x86_64 7/7 Removed: rsyslog.x86_64 0:5.8.10-9.el6_6 Updated: rsyslog7.x86_64 0:7.4.10-3.el6_6 rsyslog7-mmopenshift.x86_64 0:7.4.10-3.el6op Dependency Updated: json-c.x86_64 0:0.11-11.el6 Finished Transaction > Leaving Shell + rpm -q rsyslog7-mmopenshift-7.4.7 package rsyslog7-mmopenshift-7.4.7 is not installed + conf=/etc/rsyslog.conf ++ date +%Y-%m-%d-%H:%M:%S + command cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-30-11:24:52 + cp -f /etc/rsyslog.conf /etc/rsyslog.conf.ugsave.2014-10-30-11:24:52 + command cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + cp -f /etc/rsyslog7.conf.rpmsave /etc/rsyslog.conf + sed -i s/rsyslog7.d/rsyslog.d/ /etc/rsyslog.conf + service rsyslog start Starting system logger: [ OK ] + chkconfig rsyslog on INFO: --END /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update OUTPUT-- INFO: /usr/lib/ruby/site_ruby/1.8/ose-upgrade/node/upgrades/4/rpms/01-rsyslog7-update ran without error. <--snip--> After upgrade, rsyslog7-mmopenshift and rsyslog7 installed in ose-2.1 are ported to the new packages. and rsyslog is added into "chkconfig --list", after reboot, log functionality is working well. # chkconfig |grep rsyslog rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2014-1796.html