Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Apache: Dev

Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init

 

 

Apache dev RSS feed   Index | Next | Previous | View Threaded


poirier at pobox

Dec 1, 2009, 5:17 AM

Post #1 of 21 (1907 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init

minfrin [at] apache writes:

> Author: minfrin
> Date: Mon Nov 30 22:53:43 2009
> New Revision: 885606
>
> URL: http://svn.apache.org/viewvc?rev=885606&view=rev
> Log:
...
> Remove the use of the apachectl script, as a script calling
> another script makes no sense.

I wonder if this is a good idea?

apachectl does some things that httpd.init does not. For example, an
admin might reasonably expect to be able to control Apache's environment
by editing bin/envvars, but this will now silently fail when Apache is
installed using RPM.

Of course httpd.init could also source bin/envvars, but then we start
down the road of having to keep httpd.init in sync with apachectl.

I think we should just use the documented, recommended way of
controlling apache. The extra cost seems minimal, especially compared
to the long-term maintenance costs of not doing so.

Dan


wrowe at rowe-clan

Dec 1, 2009, 6:08 AM

Post #2 of 21 (1855 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Dan Poirier wrote:
> minfrin [at] apache writes:
>
>> Author: minfrin
>> Date: Mon Nov 30 22:53:43 2009
>> New Revision: 885606
>>
>> URL: http://svn.apache.org/viewvc?rev=885606&view=rev
>> Log:
> ...
>> Remove the use of the apachectl script, as a script calling
>> another script makes no sense.
>
> I wonder if this is a good idea?
>
> apachectl does some things that httpd.init does not. For example, an
> admin might reasonably expect to be able to control Apache's environment
> by editing bin/envvars, but this will now silently fail when Apache is
> installed using RPM.
>
> Of course httpd.init could also source bin/envvars, but then we start
> down the road of having to keep httpd.init in sync with apachectl.
>
> I think we should just use the documented, recommended way of
> controlling apache. The extra cost seems minimal, especially compared
> to the long-term maintenance costs of not doing so.

Is it reasonable to simply provision apachectl as httpd.init, perhaps even
as a symlink?


minfrin at sharp

Dec 1, 2009, 6:16 AM

Post #3 of 21 (1860 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Dan Poirier wrote:

>> Remove the use of the apachectl script, as a script calling
>> another script makes no sense.
>
> I wonder if this is a good idea?
>
> apachectl does some things that httpd.init does not. For example, an
> admin might reasonably expect to be able to control Apache's environment
> by editing bin/envvars, but this will now silently fail when Apache is
> installed using RPM.
>
> Of course httpd.init could also source bin/envvars, but then we start
> down the road of having to keep httpd.init in sync with apachectl.
>
> I think we should just use the documented, recommended way of
> controlling apache. The extra cost seems minimal, especially compared
> to the long-term maintenance costs of not doing so.

Redhat's init scripts don't work anything like the apachectl script, and
trying to call one from the other causes the exact problem you mention -
loss of environment variables, and all round weirdness.

Apachectl is simply a way of starting httpd, it is certainly not the
only way, and is definitely not the way you start if if you're on a
Redhat derived platform.

Regards,
Graham
--


minfrin at sharp

Dec 1, 2009, 6:24 AM

Post #4 of 21 (1852 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

William A. Rowe Jr. wrote:

> Is it reasonable to simply provision apachectl as httpd.init, perhaps even
> as a symlink?

Unfortunately not, no.

Redhat provides a library of functions to be used by startup scripts
that daemonise processes, keep track of pids, and do all the cute
displaying of "OK" or "Failed", and make the "service" command work
properly.

Apachectl, while similar to Redhat's init script, has different
semantics when faced with "restart", and the standard Redhat setup
doesn't work at all.

We would either need to change apachectl to work like Redhat (triggering
a storm of protest from people who do use apachectl and would ask "if it
wasn't broken why did you fix it"), or change Redhat to work like
apachectl (not worth the effort).

Regards,
Graham
--


wrowe at rowe-clan

Dec 1, 2009, 6:28 AM

Post #5 of 21 (1849 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Graham Leggett wrote:
>
> We would either need to change apachectl to work like Redhat (triggering
> a storm of protest from people who do use apachectl and would ask "if it
> wasn't broken why did you fix it"), or change Redhat to work like
> apachectl (not worth the effort).

Or change apachectl to act silently to assist httpd.init.

In fact, a silent mode makes a lot of sense, httpd.init wouldn't be the
only consumer.

apachectl should be called-not-exec'ed, IMHO (just as apachectl calls
envvars).


lists at glewis

Dec 1, 2009, 12:03 PM

Post #6 of 21 (1848 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Original Message -----------------------
> Finally, I have yet to see any feedback on the pcre mandatory
> dependency issue. Comments?

Personally, I thought your Monopoly metaphor was quite on target.

libz, openssl, lua = batteries not included
apr, apu, pcre = drive train not included.

> And what is passing for an excuse for a local PCRE install
> these days probably doesn't look like 7.8 or later, with
> various fixes we are vulnerable to.

This does not leave me with a warm and fuzzy feeling. As a user, is the pcre 8.0 I've built going to expose me to risks that your maintained 7.8 does not? If yes, then I'd prefer your maintained one. After all, who knows better than you what will interact with your code to produce problems. Regardless of merit, who will ultimately get blamed in the end? Could your reputation be tarnished? Can you completely divorce yourself from something your software requires to run?

The 'Jump Ship' factor;

To me, and I'm probably wrong, it sounds like Mr. Felt's comment was an ultimatum of sorts as 'indefinitely' is a pretty strong word. With this issue you have created a deal with it or jump ship ultimatum which could very well leave some people scrambling to get off. Each person is going to inevitably weigh the pain factor, the pain of dealing with it over the pain of jumping ship. I consider myself lucky that my second attempt to deal with it was successful, or so it seems so far anyway, but I never know from day to day.

I may be wrong but as an outsider looking in, I see you wanting to stop maintaining/including the gear box and are instead spending the time on adding more optional gadgets to choose from (some of the third party modules you've taken over). In the end, I'd prefer having a reverse gear over the rear window defogger. You are also loosing all control of a required piece of equipment, this has got to make some of you at least cringe a little.

Sorry for the outburst, but you opened the door for, and I've said what I've wanted to for some time now, thanks for listening. Corrections and daggers welcomed.

Gregg


olafvdspek at gmail

Dec 1, 2009, 12:25 PM

Post #7 of 21 (1845 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

On Tue, Dec 1, 2009 at 9:03 PM, Gregg L. Smith <lists [at] glewis> wrote:
>> And what is passing for an excuse for a local PCRE install
>> these days probably doesn't look like 7.8 or later, with
>> various fixes we are vulnerable to.

Isn't that the responsibility of the distributor?

> This does not leave me with a warm and fuzzy feeling. As a user, is the pcre 8.0 I've built going to expose me to risks that your maintained 7.8 does not? If yes, then I'd prefer your maintained one. After all, who knows better than you what will interact with your code to produce problems. Regardless of merit, who will ultimately get blamed in the end? Could your reputation be tarnished? Can you completely divorce yourself from something your software requires to run?

The opposite might be true too, what about risks that have been
patched in the distribution but not in the one shipped by Apache?
IMO library duplication should be avoided as much as possible.

Olaf


poirier at pobox

Dec 1, 2009, 12:56 PM

Post #8 of 21 (1844 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Graham Leggett <minfrin [at] sharp> writes:

> Redhat's init scripts don't work anything like the apachectl script, and
> trying to call one from the other causes the exact problem you mention -
> loss of environment variables, and all round weirdness.

Maybe I'm just slow getting back up to speed after the holiday, but I'm
not seeing how it would cause a problem. Could you please expand on
that?

--
Dan Poirier <poirier [at] pobox>


minfrin at sharp

Dec 1, 2009, 1:41 PM

Post #9 of 21 (1851 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Dan Poirier wrote:

>> Redhat's init scripts don't work anything like the apachectl script, and
>> trying to call one from the other causes the exact problem you mention -
>> loss of environment variables, and all round weirdness.
>
> Maybe I'm just slow getting back up to speed after the holiday, but I'm
> not seeing how it would cause a problem. Could you please expand on
> that?

On a Redhat machine (Fedora/RHEL/Centos), search
/etc/rc.d/init.d/functions for functions called "daemon", "status" and
"killproc". These functions provide similar but incompatible
functionality to that provided by apachectl, and only exist on Redhat
derived machines.

The startup script is far too trivial to justify jumping through hoops
to try and make apachectl work like Redhat's init. It's caused us enough
grief already, thus the fix.

Regards,
Graham
--


poirier at pobox

Dec 1, 2009, 2:07 PM

Post #10 of 21 (1849 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Graham Leggett <minfrin [at] sharp> writes:

> Dan Poirier wrote:
>
>>> Redhat's init scripts don't work anything like the apachectl script, and
>>> trying to call one from the other causes the exact problem you mention -
>>> loss of environment variables, and all round weirdness.
>>
>> Maybe I'm just slow getting back up to speed after the holiday, but I'm
>> not seeing how it would cause a problem. Could you please expand on
>> that?
>
> On a Redhat machine (Fedora/RHEL/Centos), search
> /etc/rc.d/init.d/functions for functions called "daemon", "status" and
> "killproc". These functions provide similar but incompatible
> functionality to that provided by apachectl, and only exist on Redhat
> derived machines.

Well, apachectl doesn't provide any of that functionality. About all it
does is source bin/envvars, if it exists, and then call httpd and pass
along any command line arguments. httpd does all the start/stop/restart
etc. logic internally.

So I'm still not seeing the problem with setting httpd=apachectl in
httpd.init, which would make bin/envvars apply, and not really change
the behavior otherwise.

> The startup script is far too trivial to justify jumping through hoops
> to try and make apachectl work like Redhat's init.

That's not what I was suggesting, and I don't think it would be
necessary.

> It's caused us enough grief already, thus the fix.

What grief is that? I don't actually know what problem we're trying to
fix here.

Dan


minfrin at sharp

Dec 1, 2009, 2:28 PM

Post #11 of 21 (1843 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Dan Poirier wrote:

> Well, apachectl doesn't provide any of that functionality. About all it
> does is source bin/envvars, if it exists, and then call httpd and pass
> along any command line arguments. httpd does all the start/stop/restart
> etc. logic internally.
>
> So I'm still not seeing the problem with setting httpd=apachectl in
> httpd.init, which would make bin/envvars apply, and not really change
> the behavior otherwise.

You've said it yourself, "apachectl doesn't provide that functionality".

In the Redhat world, environment vars are set in the file
/etc/sysconfig/httpd, not /usr/bin/envvars. Redhat's "service httpd
restart" works differently to apachectl's "apachectl restart".

>> It's caused us enough grief already, thus the fix.
>
> What grief is that? I don't actually know what problem we're trying to
> fix here.

Look in the original init script before the fix - start, stop and
restart were done using Redhat's functions and the settings in
/etc/sysconfig/httpd. graceful and status used apachectl and the (non
existent) /usr/sbin/envvars file.

That meant for us that the server's config behaved differently if the
admin did "service httpd graceful" and "service httpd restart", and was
very broken.

Regards,
Graham
--


wrowe at rowe-clan

Dec 3, 2009, 12:10 PM

Post #12 of 21 (1806 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Graham Leggett wrote:
>
> On a Redhat machine (Fedora/RHEL/Centos), search
> /etc/rc.d/init.d/functions for functions called "daemon", "status" and
> "killproc". These functions provide similar but incompatible
> functionality to that provided by apachectl, and only exist on Redhat
> derived machines.

Ok, so they want to roll their own. Sounds like a maintainer issue. What
does this say for using our httpd rpm for an Ubuntu or other distribution
of linux?

> The startup script is far too trivial to justify jumping through hoops
> to try and make apachectl work like Redhat's init. It's caused us enough
> grief already, thus the fix.

IMHO, if it is fundamentally incompatible with apachectl and non-redhat
distributions, let the the packagers tweak and take the zany customizations
out from under our problem set.


wrowe at rowe-clan

Dec 3, 2009, 12:15 PM

Post #13 of 21 (1811 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Gregg L. Smith wrote:
> Original Message -----------------------
>> Finally, I have yet to see any feedback on the pcre mandatory
>> dependency issue. Comments?
>
> Personally, I thought your Monopoly metaphor was quite on target.
>
> libz, openssl, lua = batteries not included
> apr, apu, pcre = drive train not included.
>
>> And what is passing for an excuse for a local PCRE install
>> these days probably doesn't look like 7.8 or later, with
>> various fixes we are vulnerable to.
>
> This does not leave me with a warm and fuzzy feeling. As a user, is the pcre 8.0 I've built going to expose me to risks that your maintained 7.8 does not? If yes, then I'd prefer your maintained one. After all, who knows better than you what will interact with your code to produce problems. Regardless of merit, who will ultimately get blamed in the end? Could your reputation be tarnished? Can you completely divorce yourself from something your software requires to run?

I'm referring to pre v7 chaos. And mostly not referring to modern
linux distros.

> The 'Jump Ship' factor;
>
> To me, and I'm probably wrong, it sounds like Mr. Felt's comment was an ultimatum of sorts as 'indefinitely' is a pretty strong word. With this issue you have created a deal with it or jump ship ultimatum which could very well leave some people scrambling to get off. Each person is going to inevitably weigh the pain factor, the pain of dealing with it over the pain of jumping ship. I consider myself lucky that my second attempt to deal with it was successful, or so it seems so far anyway, but I never know from day to day.

Agreed that ease-of-adoption is going to be the usual, first barrier to
anyone jumping aboard 2.4 from 2.2, 2.0, or even still from 1.3.

> I may be wrong but as an outsider looking in, I see you wanting to stop maintaining/including the gear box and are instead spending the time on adding more optional gadgets to choose from (some of the third party modules you've taken over). In the end, I'd prefer having a reverse gear over the rear window defogger. You are also loosing all control of a required piece of equipment, this has got to make some of you at least cringe a little.

I'm not 100% sure I understand what you are saying here. Drop the
gearbox and let them assemble their own transmission? Or distribute
a most modern transmission that the user can ignore or swap out if they
want to install their own?

> Sorry for the outburst, but you opened the door for, and I've said what I've wanted to for some time now, thanks for listening. Corrections and daggers welcomed.

No problems, thanks for chiming in.


minfrin at sharp

Dec 3, 2009, 4:59 PM

Post #14 of 21 (1804 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

William A. Rowe Jr. wrote:

> Ok, so they want to roll their own. Sounds like a maintainer issue. What
> does this say for using our httpd rpm for an Ubuntu or other distribution
> of linux?

Ubuntu is Debian based, and uses the .deb packaging format, and startup
scripts derived from the Debian layout. If someone was to donate debian
packaging for httpd, I would expect one or two files to appear below
build/deb, and that would be all that would be needed.

> IMHO, if it is fundamentally incompatible with apachectl and non-redhat
> distributions, let the the packagers tweak and take the zany customizations
> out from under our problem set.

Apachectl is archaic and largely broken for most people - it made sense
ten years ago, it makes a lot less sense today.

The pattern followed by most modern unix based packaging is for an
application to drop a snippet of config contained in a discrete file in
a directory ending in ".d". So you have
/etc/httpd/conf.d/<snippet>.conf, instead of a manual edit to
/etc/httpd/conf/httpd.conf, and your httpd startup goes within an
optional script called /etc/sysconfig/httpd instead of in a script file
in a bin directory as apachectl wants. I understand Debian has different
naming conventions, but otherwise the underlying principles are the same.

In our case, we package up config files within standalone RPMs all of
their own (suitably tagged and versioned), or we generate the config
file using puppet. Editing a file in place is always painful and error
prone, it is far less painful to provide a discrete file that can be
dropped in and removed cleanly. Apachectl doesn't give us this - you
need to edit apachectl directly to modify the command line parameters
passed to httpd.

As for the packagers tweaking and making zany customisations, that is
exactly what they do now. For us it makes the their packaging unsuitable
for our needs, simply because we tweak and make zany customisations for
needs of our own. It is far less painful to take a vanilla RPM published
by the ASF, and then tweak it for our needs, than it is to take a Fedora
RPM, untweak all their customisations, and then retweak it with ours.

Regards,
Graham
--


lists at glewis

Dec 3, 2009, 5:32 PM

Post #15 of 21 (1799 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

William A. Rowe Jr. wrote:
>> I may be wrong but as an outsider looking in, I see you wanting to stop maintaining/including the gear box and are instead spending the time on adding more optional gadgets to choose from (some of the third party modules you've taken over). In the end, I'd prefer having a reverse gear over the rear window defogger. You are also loosing all control of a required piece of equipment, this has got to make some of you at least cringe a little.
>
> I'm not 100% sure I understand what you are saying here. Drop the
> gearbox and let them assemble their own transmission? Or distribute
> a most modern transmission that the user can ignore or swap out if they
> want to install their own?
>

Bill,

The latter in your statement, distribute the most modern transmission
that the user can ignore or if they wish or swap out with something they
prefer.

Basically it's easy. If it must be there to build the darn thing, pass
GO and collect the $$$, then it should be there. If not, then it becomes
an option and that is left up to the user/builder ergo openssl zlib and
lua.

so +1 to including pcre in -deps (or srclib/pcre), basically as it is
now in the other branches.

In reality I probably shouldn't say anything anymore as I adapted and
overcame, begrudgingly. It sure was a sore subject back between 2.3.1
and 2.3.2 and I guess it just held on and I could not resist making noise.

Sorry this got into the wrong thread, I blame my webmail :)

Gregg


wrowe at rowe-clan

Dec 3, 2009, 8:31 PM

Post #16 of 21 (1802 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Graham Leggett wrote:
> William A. Rowe Jr. wrote:
>
>> Ok, so they want to roll their own. Sounds like a maintainer issue. What
>> does this say for using our httpd rpm for an Ubuntu or other distribution
>> of linux?
>
> Ubuntu is Debian based, and uses the .deb packaging format, and startup
> scripts derived from the Debian layout.

The last I heard, the 'rpm' project is open source, free to be adopted by
any platform.

As for the rest of your comments, if we solve the general problem, I'm all
for including it in the httpd tree. If we are solving specific packagers
problems, I'm ok with placing this in the httpd.a.o domain, but we should
move this nonsense outside of the development tree into a packaging tree.


minfrin at sharp

Dec 4, 2009, 2:38 AM

Post #17 of 21 (1794 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

William A. Rowe Jr. wrote:

> The last I heard, the 'rpm' project is open source, free to be adopted by
> any platform.

Just because rpm is free to be adopted by any platform doesn't mean it
has been. Rpm contains features that allow the spec file to tailor
itself to its build environment, and I am confident those features would
kick in if someone was to try and create an rpm package tailored for an
environment other than a Redhat derivative.

> As for the rest of your comments, if we solve the general problem, I'm all
> for including it in the httpd tree. If we are solving specific packagers
> problems, I'm ok with placing this in the httpd.a.o domain, but we should
> move this nonsense outside of the development tree into a packaging tree.

And in turn violate the principle of least surprise.

The point behind support for packaging formats is to make the end user's
life easier, not harder. Packagers that create weird, non standard, or
unexpectedly complex packaging are not doing their users any favours.

Regards,
Graham
--


tevans.uk at googlemail

Dec 4, 2009, 3:56 AM

Post #18 of 21 (1795 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

On Fri, Dec 4, 2009 at 12:59 AM, Graham Leggett <minfrin [at] sharp> wrote:
> William A. Rowe Jr. wrote:
>
>> Ok, so they want to roll their own.  Sounds like a maintainer issue.  What
>> does this say for using our httpd rpm for an Ubuntu or other distribution
>> of linux?
>
> Ubuntu is Debian based, and uses the .deb packaging format, and startup
> scripts derived from the Debian layout. If someone was to donate debian
> packaging for httpd, I would expect one or two files to appear below
> build/deb, and that would be all that would be needed.
>
>> IMHO, if it is fundamentally incompatible with apachectl and non-redhat
>> distributions, let the the packagers tweak and take the zany customizations
>> out from under our problem set.
>
> Apachectl is archaic and largely broken for most people - it made sense
> ten years ago, it makes a lot less sense today.

Really? It works perfectly on all boxes I use it on. What precisely
has changed about reading a pid from a file, sending signals to a
process, or spawning a process with specific arguments that has made
apachectl 'archaic and largely broken', I am intrigued.


>
> The pattern followed by most modern unix based packaging is for an
> application to drop a snippet of config contained in a discrete file in
> a directory ending in ".d". So you have
> /etc/httpd/conf.d/<snippet>.conf, instead of a manual edit to
> /etc/httpd/conf/httpd.conf, and your httpd startup goes within an
> optional script called /etc/sysconfig/httpd instead of in a script file
> in a bin directory as apachectl wants. I understand Debian has different
> naming conventions, but otherwise the underlying principles are the same.

Did you mean to say 'most Linux' there? The OSes that I regularly use
do not display these redhatisms.

>
> In our case, we package up config files within standalone RPMs all of
> their own (suitably tagged and versioned), or we generate the config
> file using puppet. Editing a file in place is always painful and error
> prone, it is far less painful to provide a discrete file that can be
> dropped in and removed cleanly. Apachectl doesn't give us this - you
> need to edit apachectl directly to modify the command line parameters
> passed to httpd.
>
> As for the packagers tweaking and making zany customisations, that is
> exactly what they do now. For us it makes the their packaging unsuitable
> for our needs, simply because we tweak and make zany customisations for
> needs of our own. It is far less painful to take a vanilla RPM published
> by the ASF, and then tweak it for our needs, than it is to take a Fedora
> RPM, untweak all their customisations, and then retweak it with ours.
>

Ah so now the crux of your argument:

1) I use Fedora/RHEL
2) I want customized packages to install
3) Fedora/RHEL package their RPMs in such a way that it makes it
difficult for me to modify them.

It's much easier when you just say this up front.

Cheers

Tom


minfrin at sharp

Dec 4, 2009, 4:37 AM

Post #19 of 21 (1788 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

Tom Evans wrote:

> Really? It works perfectly on all boxes I use it on. What precisely
> has changed about reading a pid from a file, sending signals to a
> process, or spawning a process with specific arguments that has made
> apachectl 'archaic and largely broken', I am intrigued.

And if you have ten boxes? 50 boxes? A Google of boxes?

Editing a file in place has long been shown to be a maintenance
nightmare, which is why in addition to logrotate.conf you have
logrotate.d, in addition to modprobe.conf you have modprobe.d, and so
on. This is a pattern long since established in modern unix
distributions, to solve the problem of the need to edit files during a
software addition, and edit files again during software removal, all
without making mistakes.

Sure, if you are used to editing config files by hand on one or two
boxes, apachectl will meet your needs, but if you do anything that
requires a level of scale doing it this way won't.

Regards,
Graham
--


tevans.uk at googlemail

Dec 4, 2009, 4:54 AM

Post #20 of 21 (1787 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

On Fri, Dec 4, 2009 at 12:37 PM, Graham Leggett <minfrin [at] sharp> wrote:
> Tom Evans wrote:
>
>> Really? It works perfectly on all boxes I use it on. What precisely
>> has changed about reading a pid from a file, sending signals to a
>> process, or spawning a process with specific arguments that has made
>> apachectl 'archaic and largely broken', I am intrigued.
>
> And if you have ten boxes? 50 boxes? A Google of boxes?
>
> Editing a file in place has long been shown to be a maintenance
> nightmare, which is why in addition to logrotate.conf you have
> logrotate.d, in addition to modprobe.conf you have modprobe.d, and so
> on. This is a pattern long since established in modern unix
> distributions, to solve the problem of the need to edit files during a
> software addition, and edit files again during software removal, all
> without making mistakes.
>
> Sure, if you are used to editing config files by hand on one or two
> boxes, apachectl will meet your needs, but if you do anything that
> requires a level of scale doing it this way won't.
>
> Regards,
> Graham
> --
>

Sorry, what has apachectl got to do with editing files? What has using
apachectl to stop/start a service got to do with scalability? You've
completely lost me here.

At $JOB we have 200+ servers, all deployed and configured via
cfengine. apachectl is still used to stop/start the servers, via
cfengine and other CM tools.

Cheers

Tom


covener at gmail

Dec 4, 2009, 5:06 AM

Post #21 of 21 (1790 views)
Permalink
Re: svn commit: r885606 - /httpd/httpd/trunk/build/rpm/httpd.init [In reply to]

On 12/4/09, Tom Evans <tevans.uk [at] googlemail> wrote:
> Sorry, what has apachectl got to do with editing files? What has using
> apachectl to stop/start a service got to do with scalability? You've
> completely lost me here.

The only practical thing i can think of is OS vendors providing
separate worker and prefork binaries. The standard apachectl has the
binary name embedded in it, although there are a host of ways to
accomodate that.

--
Eric Covener
covener [at] gmail

Apache dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.