Trove installation on Ubuntu 14.04

When installing Trove service on Ubuntu 14.04 I encountered a problem with dependencies not met between Trove related packages. 

Thus the following packages were installed manually with dpkg -i <package_name>

In order to make apt-get still working after manual package installation (which does not check dependencies) it is a must failed dependecies for manually installed packages

In /var/lib/dpkg/status, for each package for which there is a missing dependency just remove it (lsb-base (>= 4.1+Debian11ubuntu7)) from line in the status file:

If there is any config file missing in /etc/trove then download it from: 

https://github.com/openstack/trove/tree/master/etc/trove

 

RabbitMQ

In order to use RabbitMQ the following line must be added in

  • trove.conf
  • trove-conductor.conf
  • trove-taskmanager.conf

Instead of (as per manual):

Swift AIO

OpenStack installation instructions from openstack.org assume 3 node architecture therefore and the biggest problems that can be encountered while performing AIO (all-in-one) installation are with Swift.

In order to perform AIO installation for Swift the following instructions must be followed:

http://docs.openstack.org/developer/swift/development_saio.html

With some modifications according to normal installation instructions of Juno on Ubuntu (just use common sense to modify e.g. IPs accordingly, add keystone authentication as it is missing in AIO). After this installation command swift stat works properly.

If any swift related process does not start then it needs to be ensured that e.g. log directories/files have owner set to swift:swift.

Heat installation on Ubuntu 14.04

First of all as rpc_backend option in heat.conf file must be set as follows:

Another problem is the same as with Nova in post: http://stackblog.net/?p=14  i.e. heat-engine service does not start unless mysql service starts first. This is the same problem as with nova-scheduler and nova-cert.

Solution:

Heat-engine is a SysV service thus we need to first check mysql priority (in the example below it is 19):

 In all appropriate runlevels (2,3,4,5) add a symbollic link /etc/rcX.d directories so that heat-engine start *AFTER* mysql service:

 or use:

 Even though heat-engine process seems to be UP:

Service status is shown as STOP/WAITING:

Due to some reason heat-engine service is called by some different service during bootup twice before mysql is up and it fails to launch (even though in boot log it shows [OK]

/var/log/heat/heat-engine.log

/var/log/boot.log

After mysql is launched again heat-engine is started (thanks to adding it /etc/rcX.d with appropriate priority):

 All in all service works fine but its status is shown incorrectly.

Instance not started due to OVS database problem

The following problem may appear while attempting to start an instance:

Solution:

Just restart ovs service:

DHCP not working on demo-net

DHCP-agent works in a separate namespace but is connected to br-int in ovs, after creating a demo-net it can be seen that an interface on which dhcp (tap3b4d7bf0-12) server works is assigned to VLAN 4095 (so called “dead-vlan”) on the br-int making it inaccessible for a running instance which has an interface in demo-net.

Changing tag statically to 1 (same tag as used by qr* interface where DHCP requests from an example instance are seen with tcpdump):

Does not solve the problem, DHCP requests reach DHCP agent and are replied but replies are not forwarded to the instance (probably some more static changes are required in OVS)

DHCP port (in this example 10.0.0.2) is visible in neutron as DOWN:

Solution:

Rather simple one. Disable and enable back DHCP service on the network (I did it from horizon) -> after this DHCP port’s status changes to ACTIVE (and probably something more internally in OVS is changed so as to make DHCP replies being forwarded properly to the instance).

Instance not started due to Neutron misconfiguration on Ubuntu 14.04

While attempting to start instance the following problem appears:

/var/log/nova/nova-compute.log

 /var/log/neutron/server.log

Solution:

Add in /etc/nova/nova.conf in [DEFAULT] section:

Problem described here:

https://ask.openstack.org/en/question/26938/virtualinterfacecreateexception-virtual-interface-creation-failed/

Nova installation on Ubuntu 14.04

nova-cert and sometimes nova-scheduler does not start after reboot even though it is enabled as per nova-manage service list output (marked as XXX state):

Reason can be found in /var/log/nova/nova-cert.log

  • Root cause is that MySQL server is not ready.
  • MySQL is started using SysV script in /etc/init.d while Nova scripts are Upstart scripts in /etc/init/ dir
  • SysV and Upstart scripts are started asynchrounously

Solution:

In /etc/init/nova-cert.conf and /etc/init/nova-scheduler.conf add a line “start on mysql_started” and comment “start on runlevel” line

It means start a service when a custom event mysql_started is emitted.

As these nova-cert/scheduler depends on mysql to start properly add the following line in /etc/init.d/mysql as a list line of start option:

  • We don’t have to care about runlevel as it is covered by mysql init script
  • In this way we ensure that only after mysql starts then we start nova-cert and nova-scheduler
  • caveat: event should be emitted only we startup is successful so only in “ifs” telling that mysql started succcessfully, I added it as a list line in the “start” option