[Spacewalk-list] spacewalk-manage-channel-lifecycle script

Boyd, Robert Robert.Boyd at peoplefluent.com
Wed May 6 17:45:22 UTC 2015


Well ... I managed to figure out something about this.

Here's my current config file under ~/.spacewalk-manage-channel-lifecycle/settings.conf
 [general]
phases =  preprod,prod
exclude channels = 

[rms]
phases = rms-preprod,rms-prod
exclude channels = 

[st]
phases = st-preprod,st-prod
exclude channels = 

[tm]
phases = tm-preprod,tm-prod
exclude channels =

I was able to initialize one of my preprod clones this way:

spacewalk-manage-channel-lifecycle -c rhel-x86_64-server-6 --init -u <user> -p <password> --workflow=rms
INFO: Cloning rms-preprod-rhel-x86_64-server-6 from rhel-x86_64-server-6
INFO: Cloning rms-preprod-rhel-x86_64-server-6-elrepo from rhel-x86_64-server-6-elrepo
INFO: Cloning rms-preprod-epel6-rhel-x86_64-server-6 from epel6-rhel-x86_64-server-6
INFO: Cloning rms-preprod-vmware-tools-rhel6-server-x86_64 from vmware-tools-rhel6-server-x86_64
INFO: Cloning rms-preprod-rhel-server-6-optional-x86_64 from rhel-server-6-optional-x86_64
INFO: Cloning rms-preprod-rhel-server-6-rh-common-x86_64 from rhel-server-6-rh-common-x86_64
INFO: Cloning rms-preprod-rhel-server-6-extras-x86_64 from rhel-server-6-extras-x86_64
INFO: Cloning rms-preprod-rhel-server-6-supplementary-x86_64 from rhel-server-6-supplementary-x86_64
INFO: Cloning rms-preprod-rhel-x86_64-server-6-rpmforge from rhel-x86_64-server-6-rpmforge
INFO: Cloning rms-preprod-rhel-x86_64-server-6-spacewalk-client from rhel-x86_64-server-6-spacewalk-client
INFO: Cloning rms-preprod-spacewalk-22-el6 from spacewalk-22-el6

Then I tried promoting from my preprod to prod

spacewalk-manage-channel-lifecycle -c rms-preprod-rhel-x86_64-server-6 --promote -u <user> -p <password> --workflow=rms
INFO: Cloning rms-preprod-rms-preprod-rhel-x86_64-server-6 from rms-preprod-rhel-x86_64-server-6
Traceback (most recent call last):
  File "/usr/bin/spacewalk-manage-channel-lifecycle", line 537, in <module>
    clone_channel(parent_source, details)
  File "/usr/bin/spacewalk-manage-channel-lifecycle", line 256, in clone_channel
    client.channel.software.clone(session, source_label, details, False)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1243, in request
    headers
xmlrpclib.ProtocolError: <ProtocolError for localhost/rpc/api: 503 Service Temporarily Unavailable>

In /var/log/messages I see this:

abrt: detected unhandled Python exception
abrt: detected unhandled Python exception in '/usr/bin/spacewalk-manage-channel-lifecycle'
abrtd: New client connected
abrtd: Directory 'pyhook-2015-05-06-13:20:40-56574' creation detected
abrt-server[56757]: Saved Python crash dump of pid 56574 to /var/spool/abrt/pyhook-2015-05-06-13:20:40-56574
abrtd: Package 'spacewalk-utils' isn't signed with proper key
abrtd: 'post-create' on '/var/spool/abrt/pyhook-2015-05-06-13:20:40-56574' exited with 1
abrtd: Deleting problem directory '/var/spool/abrt/pyhook-2015-05-06-13:20:40-56574'

And now my spacewalk server seems to have gone out to lunch.  The web interface times out.

The /var/log/httpd/error_log has this:
[Wed May 06 13:20:40 2015] [error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header
[Wed May 06 13:23:30 2015] [error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header
[Wed May 06 13:25:54 2015] [error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header
 
And /var/log/httpd/ssl_error_log:

[Wed May 06 13:20:40 2015] [error] ajp_read_header: ajp_ilink_receive failed
[Wed May 06 13:20:40 2015] [error] (70007)The timeout specified has expired: proxy: dialog to (null) (localhost) failed
[Wed May 06 13:23:30 2015] [error] ajp_read_header: ajp_ilink_receive failed
[Wed May 06 13:23:30 2015] [error] (70007)The timeout specified has expired: proxy: read response failed from [::1]:8009 (localhost)
[Wed May 06 13:25:54 2015] [error] ajp_read_header: ajp_ilink_receive failed
[Wed May 06 13:25:54 2015] [error] (70007)The timeout specified has expired: proxy: read response failed from [::1]:8009 (localhost)
/var/log/httpd/ssl_error_log (END)

In the catalina.out log:

...skipping...
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:701)
Caused by: com.redhat.rhn.frontend.xmlrpc.NoSuchChannelException: No such channel: rms-preprod-spacewalk-22-el6
        at com.redhat.rhn.frontend.xmlrpc.channel.software.ChannelSoftwareHandler.lookupChannelByLabel(ChannelSoftwareHandler.java:1774)
        at com.redhat.rhn.frontend.xmlrpc.channel.software.ChannelSoftwareHandler.getDetails(ChannelSoftwareHandler.java:577)
        ... 40 more
2015-05-06 13:15:28,600 [TP-Processor10] ERROR com.redhat.rhn.frontend.xmlrpc.BaseHandler - Caused by: 
com.redhat.rhn.frontend.xmlrpc.NoSuchChannelException: No such channel: rms-preprod-spacewalk-22-el6
        at com.redhat.rhn.frontend.xmlrpc.channel.software.ChannelSoftwareHandler.lookupChannelByLabel(ChannelSoftwareHandler.java:1774)
        at com.redhat.rhn.frontend.xmlrpc.channel.software.ChannelSoftwareHandler.getDetails(ChannelSoftwareHandler.java:577)
        at sun.reflect.GeneratedMethodAccessor829.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:622)
        at com.redhat.rhn.frontend.xmlrpc.BaseHandler.invoke(BaseHandler.java:161)
        at redstone.xmlrpc.XmlRpcDispatcher.dispatch(XmlRpcDispatcher.java:123)
        at com.redhat.rhn.frontend.xmlrpc.RhnXmlRpcServer.execute(RhnXmlRpcServer.java:54)
        at com.redhat.rhn.frontend.xmlrpc.XmlRpcServlet.doPost(XmlRpcServlet.java:162)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:701)
May 6, 2015 1:15:28 PM redstone.xmlrpc.XmlRpcDispatcher writeError
WARNING: redstone.xmlrpc.XmlRpcFault: No such channel: rms-preprod-spacewalk-22-el6

Didn't I see the script announcing that it cloned that channel ?? Maybe these error messages are actually from when it's cloning and checking if it exists already and finding that it didn't exist before?  

Anyway I'm looking for ideas about what's hosed now?   I need to set up a cloning cycle and I won't tolerate something that crashes my spacewalk server in the process.

Robert Boyd
Sr. Systems Engineer 
PeopleFluent
p. 919-645-2972 | c. 919-306-4681
e. Robert.Boyd at PeopleFluent.com


Click here to experience the power of the new PeopleFluent Mirror Suite T
Visit: www.peoplefluent.com | Read: PeopleFluent Blog | Follow: @PeopleFluent


-----Original Message-----
From: spacewalk-list-bounces at redhat.com [mailto:spacewalk-list-bounces at redhat.com] On Behalf Of Boyd, Robert
Sent: Wednesday, May 06, 2015 12:52 PM
To: spacewalk-list at redhat.com
Subject: [Spacewalk-list] spacewalk-manage-channel-lifecycle script

I want to use spacewalk-manage-channel-lifecycle with a couple of different configuration files for different flows in our environment.  I'm trying to find where the format of the user configuration file is documented. So far I'm not finding anything.   Is there someone on the list who can show me where the format is documented?  Is there some way to use the script itself to generate a sample config file?   I've looked at the code, but it's not jumping out at me.

Thank you,

Robert Boyd
Sr. Systems Engineer 
PeopleFluent
p. 919-645-2972 | c. 919-306-4681
e. Robert.Boyd at PeopleFluent.com




More information about the Spacewalk-list mailing list