Re: Supported way to require that a service be stopped prior to installing an .rpm package?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/25/2016 4:47 PM, jhally@xxxxxxxxx wrote:
Hello,

My team is building and maintaining a fairly complex software stack that is being packaged via rpm.  As part of the requirements, the service provided by the .rpm file must be stopped prior to installation / update of the package.

Is there any supported / recommended way to do this?  Currently the team uses the %pre section to check if the service is running and fail if so, but this seems a bit ugly.

https://fedoraproject.org/wiki/Packaging:Scriptlets

It seems like this is something that could be done in %pretrans, as well. Alternatively, depending on the paradigm you're working with, you could give service restart responsibility to the rpm process itself. This already happens during most daemon updates anyway, so if it's for your team's internal use, I'd consider saving state in %pretrans, stopping the service (if running), and starting back up in %posttrans.

On 10/25/2016 5:10 PM, Subhendu Ghosh wrote:

Packaging methods should not be used for this requirement. You should be using some system automation tools like Ansible or Puppet or Chef to make that transaction complete smoothly.

Openshift uses Ansible for their cluster upgrades.


I don't see why this needs to be the case.

Between %pre, %post, %verify, and the newer %*trans functions, along with Requires(pre), etc, 'rpm' provides all the tools you need to perform modifications of a service using easily-grokkable logic, already running as root, and using easily-testable methods.

Edge cases like saving state have best-practice implementations already available, and rpm scriptlets already perform this action for many services. Meta-packages which perform service control aren't particularly groundbreaking.

Regards,

-jc
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux