Xen Orchestra on Ubuntu 15.10 - Complete installation instructions
-
You can export from the NFS Share using WinSCP and import directly into XenCenter if things are horribly broken.
-
@DustinB3403 said:
Already tried it.
Doesn't appear to work.
Post your cron entry here.
Also may want to review these options:
https://www.npmjs.com/package/node-crontab
https://www.npmjs.com/package/forever -
Ok So here is what I've done to get XO to run at boot.
I made a script in /etc/ named "xo-start.sh" marked it as executable.
cd /etc nano xo-start.sh #!/bin/sh cd /opt/xo-server sudo npm start ctrl+o ctrl+x sudo nano /etc/crontab # shit ton of comments # @reboot cd /etc && ./xo-start.sh ctrl+o ctrl+x sudo reboot now
-
That should be all you need to get XO to run at startup of your XO VM.
I've reboot several times to confirm.
-
So the last question is, how do we get XO to stop so we can manually run our updates.
-
If you are firing up from cron, which is pretty normal for a low key service such as this, then you would kill it using the kill command.
-
Problem is, with processes that run via npm or similar, their name never appears and there is no universal standard for stopping them. Doing so manually is super simple, but in a script is dangerous and ill advised. If you are very brave you can use ps and look for npm, but if the server is running anything else, you might kill the wrong thing.
-
And to complicate things, there is no stop script for xo-server
-
@scottalanmiller said:
Problem is, with processes that run via npm or similar, their name never appears and there is no universal standard for stopping them. Doing so manually is super simple, but in a script is dangerous and ill advised. If you are very brave you can use ps and look for npm, but if the server is running anything else, you might kill the wrong thing.
Doesn't 'cd /install/location' 'npm stop' work? Why make it difficult?
-
@travisdh1 said:
@scottalanmiller said:
Problem is, with processes that run via npm or similar, their name never appears and there is no universal standard for stopping them. Doing so manually is super simple, but in a script is dangerous and ill advised. If you are very brave you can use ps and look for npm, but if the server is running anything else, you might kill the wrong thing.
Doesn't 'cd /install/location' 'npm stop' work? Why make it difficult?
No, there is no stop script.
-
@travisdh1 said:
@scottalanmiller said:
Problem is, with processes that run via npm or similar, their name never appears and there is no universal standard for stopping them. Doing so manually is super simple, but in a script is dangerous and ill advised. If you are very brave you can use ps and look for npm, but if the server is running anything else, you might kill the wrong thing.
Doesn't 'cd /install/location' 'npm stop' work? Why make it difficult?
from my testing npm stop does not work.
It's not even included as a script.
We would have to effectively Ctrl + C out of the crontab job.
-
This will stop it, if you run it as expected and nothing else is running like it:
kill $(ps aux | grep "npm start" | grep -v grep | cut -d' ' -f8)
-
@scottalanmiller said:
@travisdh1 said:
@scottalanmiller said:
Problem is, with processes that run via npm or similar, their name never appears and there is no universal standard for stopping them. Doing so manually is super simple, but in a script is dangerous and ill advised. If you are very brave you can use ps and look for npm, but if the server is running anything else, you might kill the wrong thing.
Doesn't 'cd /install/location' 'npm stop' work? Why make it difficult?
No, there is no stop script.
Well, bother.
-
@DustinB3403 said:
We would have to effectively Ctrl + C out of the crontab job.
Ctrl-C doesn't do what you think that it does.
What we need to do is to send a SIGHUP to the process, which is what I did. It's identifying the process that is the issue.
-
@scottalanmiller said:
This will stop it, if you run it as expected and nothing else is running like it:
kill $(ps aux | grep "npm start" | grep -v grep | cut -d' ' -f8)
Will test in a moment.
Have to complete another job real fast.
-
Where the problem lies is that npm does not appear to store the PID anywhere on its own. Could we had that manually to the cron job? Of course, but that would not be universal by any stretch and we'd be left with a script that only worked with that specific means of starting.
-
kill $(ps aux | grep "npm start" | grep -v grep | cut -d' ' -f8)
Doesn't work.
-
What is your output of...
ps aux | grep "npm start" | grep -v grep | cut -d' ' -f8
and...
ps aux | grep "npm"
-
@scottalanmiller said:
Where the problem lies is that npm does not appear to store the PID anywhere on its own. Could we had that manually to the cron job? Of course, but that would not be universal by any stretch and we'd be left with a script that only worked with that specific means of starting.
This sounds like one of those "It would be really easy to do with an init/systemd script", that nobody has the time to spend working on currently. (If I did, I'd write one.)
-
This appears to work:
kill $(ps aux | grep "node bin/xo-server" | grep -v grep | cut -d' ' -f8)