The officially official Devuan Forum!

You are not logged in.

#1 2018-02-01 21:02:41

bobemoe
Member
From: UK
Registered: 2016-12-01
Posts: 9

How to get Devuan running on Rackspace.

It's pretty straight forward. First create a new Debian Jessie server, ssh in and run the following standard method to upgrade to Devuan.

echo -e "deb http://auto.mirror.devuan.org/merged jessie main\ndeb http://auto.mirror.devuan.org/merged jessie-updates main\ndeb http://auto.mirror.devuan.org/merged jessie-security main" > /etc/apt/sources.list
apt-get update && apt-get install devuan-keyring -y --allow-unauthenticated
apt-get update
apt-get dist-upgrade -y
reboot

Congratulations! You now have Devuan running. Log back in and run the following to clean up:

apt-get purge systemd libsystemd0 -y
apt-get autoremove --purge -y
apt-get autoclean

Up until recently this was all that was needed, but nova-agent seem to have dropped support for init systems other than systemd. If you don't create the init script manually, nova-agent won't start on boot. This does not affect reboots of the VM, however if you image it and build another server from the image, on first boot it will not get its new IP address, and, although the build succeeds after an hour, it still will not have network access.

NOTE! The following is a bit of a ugly hack. I just took the startup line from the latest systemd service file and popped it into the start function of an old init.d script from before they were removed. It works, but I have not written the stop function. I'm not sure the implications of this. I hope to update to a better version soon. Feel free to post suggestions smile

Create the file /etc/init.d/nova-agent with the following:

#!/bin/sh

# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
#  Copyright (c) 2011 Openstack, LLC.
#  All Rights Reserved.
#
#     Licensed under the Apache License, Version 2.0 (the "License"); you may
#     not use this file except in compliance with the License. You may obtain
#     a copy of the License at
#
#          http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#     WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#     License for the specific language governing permissions and limitations
#     under the License.
#
# nova-agent	Startup script for OpenStack nova guest agent
#
# RedHat style init header:
#
# chkconfig: 2345 15 85
# description: nova-agent is an agent meant to run on unix guest instances \
#              being managed by OpenStack nova.  Currently only works with \
#              Citrix XenServer for manipulating the guest through \
#              xenstore.
# processname: nova-agent
# pidfile: /var/run/nova-agent.pid
#
# LSB style init header:
#
### BEGIN INIT INFO
# Provides: Nova-Agent
# Required-Start: $remote_fs $syslog xe-linux-distribution
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start nova-agent at boot time
# Description: nova-agent is a guest agent for OpenStack nova.
### END INIT INFO

# Source function library.
if [ -e "/etc/rc.d/init.d/functions" ]
then
  . /etc/rc.d/init.d/functions
fi

do_start() {
  /usr/bin/nova-agent -o /var/log/nova-agent.log -l info
}

do_stop() {
  echo "TODO: fixme!"
}

SCRIPTNAME=$0

case "$1" in
  start)
    do_start
    ;;
  stop)
    do_stop
    ;;
  restart)
    do_stop
    do_start
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
    exit 3
    ;;
esac

Then add it to startup with:

chmod +x /etc/init.d/nova-agent
update-rc.d nova-agent defaults

Last edited by bobemoe (2018-02-01 22:58:40)

Offline

Board footer