# \[SURVEY\] Sysadmin Stupidity Check

**URL:** <https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230>\
**Category:** Deployment\
**Created:** [April 5, 2007, 8:16pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230 "2007-04-05T20:16:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 8:16pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/1 "2007-04-05T20:16:21Z")

</div>

Not really a survey on whether sysadmins are stupid, but more a  
question about how people are doing things with their Mongrel  
management.

Do you have different management commands in your monit  
configuration vs. your /etc/init.d/ configuration?

Do you have your monit configurations setup to run another script  
like /etc/init.d/mongrel\_cluster or do you put raw “mongrel\_cluster  
start --clean …” commands with extras in the monit config?

Do you follow DRY in your code? Why not your sysadmin?

I’m asking since I just realized a bunch of people are probably doing  
this, and I’ve kind of been telling them to do it. I might need to  
work up a course correction but need to see what the level of damage is.

Thanks for the time.

–  
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu

> **[Zed A. shaw](https://zedshaw.com/)**
>
> Personal essays and writings by Zed A. Shaw.

[http://www.awprofessional.com/title/0321483502](http://www.awprofessional.com/title/0321483502) – The Mongrel Book  
[http://mongrel.rubyforge.org/](http://mongrel.rubyforge.org/)

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 8:36pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/2 "2007-04-05T20:36:22Z")

</div>

On 4/5/07, Zed A. Shaw [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> like /etc/init.d/mongrel\_cluster or do you put raw “mongrel\_cluster  
> start --clean …” commands with extras in the monit config?
> 
> Do you follow DRY in your code? Why not your sysadmin?
> 
> I’m asking since I just realized a bunch of people are probably doing  
> this, and I’ve kind of been telling them to do it. I might need to  
> work up a course correction but need to see what the level of damage is.

How about this one:

How many people have extensive SCM, project tracking, and CI for their  
Rao;s code, but then configuration changes (mongrel, apache, crontab,  
whatever) are still handled manually using vi or by copying files  
around? If anything config files are _more_ critical then rails code,  
so why aren’t they in SVN, automatically deployed, and even (gasp)  
tested automatically somehow?

- Rob  
–  
[http://robsanheim.com](http://robsanheim.com)  
[http://seekingalpha.com](http://seekingalpha.com)

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 8:37pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/3 "2007-04-05T20:37:22Z")

</div>

On 4/5/07, Zed A. Shaw [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Do you have different management commands in your monit  
> configuration vs. your /etc/init.d/ configuration?

Putting everything in mongrel.config and using ‘monit start all’ to  
start all services on reboot. Not using mongrel\_cluster at all.

Alex

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 8:42pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/4 "2007-04-05T20:42:26Z")

</div>

> How many people have extensive SCM, project tracking, and CI for their  
> Rao;s code, but then configuration changes (mongrel, apache, crontab,  
> whatever) are still handled manually using vi or by copying files  
> around? If anything config files are _more_ critical then rails code,  
> so why aren’t they in SVN, automatically deployed, and even (gasp)  
> tested automatically somehow?

Yes… and since we’re all using capistrano to deploy (we are aren’t  
we?)  
then this becomes even easier as you can not only track things in svn,  
but  
write simple tasks to deploy them right out of SVN.

Which also means you’re less likely to forget a server… which you will  
do as soon as you have more than one 🙂

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 8:58pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/5 "2007-04-05T20:58:29Z")

</div>

On Apr 5, 2007, at 11:53 AM, Philip H. wrote:

> Yes… and since we’re all using capistrano to deploy (we are  
> aren’t we?)  
> then this becomes even easier as you can not only track things in  
> svn, but  
> write simple tasks to deploy them right out of SVN.
> 
> Which also means you’re less likely to forget a server… which you  
> will  
> do as soon as you have more than one 🙂

I keep a directory for each server with all the generated config  
files for nginx,monit,mongrel, etc… and tasks to build all gems and  
packages required to run the app, keep this all in subversion. And I  
deploy the config files with capistrano as well. The lesser you have  
to ssh to your servers the better imho.

CHeers-  
– Ezra Z.  
– Lead Rails Evangelist  
– removed\_email\_address@domain.invalid  
– Engine Y., Serious Rails Hosting  
– (866) 518-YARD (9273)

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 9:05pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/6 "2007-04-05T21:05:30Z")

</div>

On Thu, 5 Apr 2007 13:35:26 -0500  
“Rob S.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 4/5/07, Zed A. Shaw [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> How many people have extensive SCM, project tracking, and CI for their  
> Rao;s code, but then configuration changes (mongrel, apache, crontab,  
> whatever) are still handled manually using vi or by copying files  
> around? If anything config files are _more_ critical then rails code,  
> so why aren’t they in SVN, automatically deployed, and even (gasp)  
> tested automatically somehow?

Really? Wow! You’ve got a blog post on this? A book? I’d love to  
see how your particular solution works for everyone. That’d be  
awesome. See, I keep running into this problem where svn pollutes my  
whole server with ass loads of .svn directories. Oh, and I’m not able  
to prevent some dumbass from putting crap in the svn which I have to  
accept. Do you happen to know how you check that an svn update won’t  
clobber my whole system because Joe Fucktard forgot that he was  
editing the database server’s hosts.deny and blocked the whole network  
off? Also, how do I prevent someone from putting sensitive stuff into  
the svn repository? I know svn’s really super secure and all, what  
with it’s fantastic tagging-everything-permanently-forever  
backup mechanism and all, but I kind of don’t like my passwords and .pem  
secret key files in the svn repo.

–  
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu  
[http://www.zedshaw.com/](http://www.zedshaw.com/)  
[http://www.awprofessional.com/title/0321483502](http://www.awprofessional.com/title/0321483502) – The Mongrel Book  
[http://mongrel.rubyforge.org/](http://mongrel.rubyforge.org/)

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [April 5, 2007, 9:10pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/7 "2007-04-05T21:10:31Z")

</div>

On 4/5/07, Zed A. Shaw [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> with it’s fantastic tagging-everything-permanently-forever  
> backup mechanism and all, but I kind of don’t like my passwords and .pem  
> secret key files in the svn repo.

Obviously we don’t keep key files and the like in svn. I’m talking  
about things like vhost files and the like. Right now I’m working out  
a way to export them and/or symlink them to the right spot via  
capistrano. It definitely beats tweaking your vhost, scp’ing it to 4  
servers, repeat, etc…or having the nightmare of trying to rollback a  
config change made 2 days ago when its all done manually.

Also, Joe Fucktard doesn’t work for us - and if he does, I’d rather  
see his change go thru svn then have it happen silently. Or just dont  
give him permission to the config repository, if you really have  
people you can’t trust.

- Rob

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [May 1, 2007, 6:54pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/8 "2007-05-01T18:54:06Z")

</div>

We have a ruby script that does every for us - “daemon\_control start”  
brings up the mongrels for our various rails apps up, starts  
backgroundrb & various daemons, enables cron jobs etc…

Fred

---

<div class="post-metadata">

**Author:** ![Zed\_ASShaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/f475e1/32.png) [@Zed\_ASShaw](https://www.ruby-forum.com/u/Zed_ASShaw)\
**Post date:** [May 1, 2007, 9:46pm UTC](https://www.ruby-forum.com/t/survey-sysadmin-stupidity-check/91230/9 "2007-05-01T21:46:47Z")

</div>

Philip H. wrote:

> Yes… and since we’re all using capistrano to deploy (we are aren’t we?)  
> then this becomes even easier as you can not only track things in svn, but  
> write simple tasks to deploy them right out of SVN.
> 
> Which also means you’re less likely to forget a server… which you will  
> do as soon as you have more than one 🙂

Speaking of Capistrano. Since, most of my configurations are built out  
of templates anyway I’ve used the Capistrano render and put methods to  
generate my init and config files at deploy time and upload them to all  
servers. My cap recipe of course stays under version control.

recipe/code snippet

task :upload\_mongrel\_conf do  
mongrel\_cluster = render :template =\> \<\<-CONF  
prefix: /\<%= application %\>  
cwd: /webapps/\<%= application %\>  
port: \<%= (core\_port.to\_i + 10).to\_s %\>  
environment: \<%= rails\_env %\>  
pid\_file: /global/\<%= application %\>/shared/pids/mongrel.pid  
servers: \<%= mongrel\_count %\>  
CONF  
put mongrel\_cluster, mongrel\_conf  
end

–R
