Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Eric Thompson updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Eric Thompson QA Highest Test Level Reason: PR has acceptance. note: not yet triaged to TR QA Risk Severity: Low QA Risk Probability: Low QA Risk Assessment: Low QA Contact: Eric Thompson QA Status: Reviewed Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d)
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Eric Thompson updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Eric Thompson QA Highest Test Level Reason: PR has acceptance. note: not yet triaged to TR Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Eric Thompson updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Eric Thompson QA Highest Test Level: Acceptance Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Eric Sorenson updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Eric Sorenson Release Notes: Bug Fix Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Kylo Ginsberg updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Kylo Ginsberg Fix Version/s: PUP 3.8.0 Fix Version/s: PUP 4.1.0 Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Kylo Ginsberg commented on PUP-2455 Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" This is already released in PE 3.8. Resolving. Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Geoff Nichols commented on PUP-2455 Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" Merged into puppet 3.x at https://github.com/puppetlabs/puppet/commit/f9ff3e17701c493942758bf5375e8c56113d047d. Add Comment This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Melissa Stone updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Melissa Stone Scrum Team: Release Engineering Add Comment This message was sent by Atlassian JIRA (v6.3.10#6340-sha1:7ea293a) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Kylo Ginsberg updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Kylo Ginsberg If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the **contract** to finish, not just the agent process. As the daemon doesn't terminate, the contract doesn't finish within the configured timeout, and so SMF puts the service into "maintenance" state and sends **kill -9** to all processes still left in the contract.It is possible to force a process to run in a new contract (e.g. using "/usr/bin/ctrun") and it would be useful if Puppet could support this on Solaris, so that the agent can be stopped/restarted without affecting services that it manages.Steps to reproduce:1. Configure and run a puppet agent as an SMF service (using the default "contract" model of service management). (For example, install & configure the OpenCSW Puppet package)2. Set puppet to manage a daemon that is started by an init script.3. Try to stop the puppet agent.4. Observe (from the service log files, server's messages file, and process listings) that the init-controlled daemon has been killed and the puppet agent service placed into "maintenance" state.In my test scenario, Puppet was starting an exim daemon via an init script. {code} # ptree -c[process contract 1] 1 /sbin/init[process contract 4] 7 /lib/svc/bin/svc.startd[...][process contract 3431] 4056 ./exim -bd -q1m 4138 /opt/csw/bin/ruby18 /opt/csw/sbin/puppetd 4270 pkgserv -N pkginfo# svcadm disable cswpuppetd# tail -f /var/svc/log/network-cswpuppetd:default.log[ Nov 12 17:48:27 Stopping because service disabled. ][ Nov 12 17:48:27 Executing stop method ("/var/opt/csw/svc/method/svc-cswpuppetd stop") ]Stopping Puppet client services: puppetd[ Nov 12 17:48:32 Method "stop" exited with status 0 ][ Nov 12 17:49:27 Method or service exit timed out. Killing contract 3431 ]^C# ps -ef | grep eximroot 4394 2825 0 18:03:13 pts/1 0:00 grep exim# svcs -vxsvc:/network/cswpuppetd:default (?) State: maintenance since Mon Nov 12 17:49:28 2012Reason: Method failed. See: http://sun.com/msg/SMF-8000-8Q See: /var/svc/log/network-cswpuppetd:default.logImpact: This service is not running. {code} Add Comment
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Dave Taylor commented on an issue Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" I think it might need to be more generic than that, as init-based services aren't the only long-running processes that Puppet can run. For example, on later S10 releases running package management commands ("pkginfo -l", pkgadd) will start a server process called "pkgserv" which hangs around for 5 minutes in case any other package management occurs. That process would sit in the same contract as the Puppet agent, so for 5 minutes after an agent run this same issue could occur. [N.b. I logged the original Redmine issue] Add Comment Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the **contract** to finish, not just the agent process. As the daemon doesn't terminate,... This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede)
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Jan Örnstedt commented on an issue Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" Otherwise you will end up with additional processes in the puppet agent contract. '''# svcs -p puppet STATE STIME FMRI online Apr_26 svc:/application/puppet:agent Apr_26 18754 puppet Apr_26 19225 vmtoolsd''' Add Comment Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the **contract** to finish, not just the agent process. As the daemon doesn't terminate,... This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To pos
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Jan Örnstedt updated an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Change By: Jan Örnstedt Labels: redmine solaris Add Comment This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/d/optout.
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Jan Örnstedt commented on an issue Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" This needs to be included in the start and restart method of this script service/init.rb. Add Comment Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the **contract** to finish, not just the agent process. As the daemon doesn't terminate,... This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede) -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title Jan Örnstedt commented on an issue Re: Puppet running as Solaris SMF service needs to run child processes in separate "contract" NAME ctrun - execute command in a process contract SYNOPSIS /usr/bin/ctrun [options] command [ argument...] DESCRIPTION The ctrun utility starts a command in a newly created pro- cess contract. ctrun holds the contract and can be instructed to output or respond to events that occur within the contract. For additional information about process contracts, see con- tract(4) and process(4). Add Comment Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the **contract** to finish, not just the agent process. As the daemon doesn't terminate,... This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede)
Jira (PUP-2455) Puppet running as Solaris SMF service needs to run child processes in separate "contract"
Title: Message Title redmine.exporter created an issue Puppet / PUP-2455 Puppet running as Solaris SMF service needs to run child processes in separate "contract" Issue Type: Bug Assignee: Unassigned Created: 05/May/14 12:48 AM Labels: redmine Priority: Normal Reporter: redmine.exporter If Puppet is running on a Solaris server as an SMF service, and starts a long-running process - e.g. it starts a daemon via an init script - that process is within the same "contract" as the Puppet agent process. If the Puppet agent is stopped/restarted, SMF waits for the *contract* to finish, not just the agent process. As the daemon doesn't terminate, the contract doesn't finish within the configured timeout, and so SMF puts the service into "maintenance" state and sends *kill -9* to all processes still left in the contract. It is possible to force a process to run in a new contract (e.g. using "/usr/bin/ctrun") and it would be useful if Puppet could support this on Solaris, so that the agent can be stopped/restarted without affecting services that it manages. Steps to reproduce: 1. Configure and run a puppet agent as an SMF service (using the default "contract" model of service management). (For example, install & configure the OpenCSW Puppet package) 2. Set puppet to manage a daemon that is started by an init script. 3. Try to stop the puppet agent. 4. Observe (from the service log files, server's messages file, and process listings) that the init-controlled daemon has been killed and the puppet agent service placed into "maintenance" state. In my test scenario, Puppet was starting an