Search code examples
virtualboxpallet

exec-checked-script not starting storm


I am using PalletOps and VmFest where I want to start storm using following exec-checked-script in a crate storm_codeship.clj,

   36 (defn install [settings] 

   54   (exec-checked-script "start dev-zookeeper"                                                        
~  55             ("nohup ~/bin/storm/bin/storm dev-zookeeper 1> devout.log 2>deverror.log &"))                 
   56   (exec-checked-script "start storm-nimbus"                                                         
~  57             ("nohup ~/bin/storm/bin/storm nimbus 1> nuibusout.log 2>nimbuserror.log &"))                  
   58   (exec-checked-script "start storm-supervisor"                                                     
~  59             ("nohup ~/bin/storm/bin/storm supervisor 1> superout.log 2>supererror.log &"))                
   60   (exec-checked-script "start storm-drpc"                                                           
~  61             ("nohup ~/bin/storm/bin/storm drpc 1> drpcout.log 2>drpcerror.log &")))  

Also tried following script without nohup,

   36 (defn install [settings] 

   54   (exec-checked-script "start dev-zookeeper"                                                        
~  55             ("~/bin/storm/bin/storm dev-zookeeper 1> devout.log 2>deverror.log &"))                 
   56   (exec-checked-script "start storm-nimbus"                                                         
~  57             ("~/bin/storm/bin/storm nimbus 1> nuibusout.log 2>nimbuserror.log &"))                  
   58   (exec-checked-script "start storm-supervisor"                                                     
~  59             ("~/bin/storm/bin/storm supervisor 1> superout.log 2>supererror.log &"))                
   60   (exec-checked-script "start storm-drpc"                                                           
~  61             ("~/bin/storm/bin/storm drpc 1> drpcout.log 2>drpcerror.log &")))

No effect is seen in Virtual Machine with no any smell of logfiles.

When I enter the VM and manually execute the same set of commands I find them working with log files generated.

The permission on VM is as below,

root@ubuntu1204:/home/vmfest# ls -l ~/bin/storm/bin/
total 36
-rwxr-xr-x 1 502 staff   432 Jun 26 06:33 build_modules.sh
-rwxr-xr-x 1 502 staff  1005 Jun 26 06:33 build_release.sh
-rwxr-xr-x 1 502 staff   692 Jun 26 06:33 install_zmq.sh
-rwxr-xr-x 1 502 staff    76 Jun 26 06:33 javadoc.sh
-rwxr-xr-x 1 502 staff 15494 Jun 26 06:33 storm
-rwxr-xr-x 1 502 staff   543 Jun 26 06:33 to_maven.sh

I don't think it's a permission issue, what could I be missing?


Solution

  • I expect what is happening is that the shell started by exec-checked-script is exited before the subprocess detaches itself.

    One way to avoid this is to turn on job control in the shell

    (exec-checked-script "start dev-zookeeper" ("set" "-m") ("~/bin/storm/bin/storm dev-zookeeper 1> devout.log 2>deverror.log &"))