ceph / ceph/calamari

Ubuntu 16.04 Support

Open
#469 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
345
Forks
175
PR merge metrics
No merged PRs in 30d

Description

Will there be support for 16.04 and systemd? We recently upgraded from Hammer running on 14.04 to Jewel running on 16.04. I was able to get calamari installed but ran into trouble with diamond.

First issue: diamond dependency python-support is not available in 16.04 repos.

> The following packages have unmet dependencies:
> diamond : Depends: python-support (>= 0.90.0) but it is not installable

Workaround:
`wget http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb`
`sudo dpkg -i python-support_1.0.15_all.deb`

Second issue: systemd cannot start service without upstart

> sudo journalctl -xeu diamond
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com systemd[1]: Starting diamond.service...
> -- Subject: Unit diamond.service has begun [start-up
> -- Defined-By: systemd
> -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
> -- Unit diamond.service has begun starting up.
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: Rather than invoking init scripts through /etc/init.d, use the service(8
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: utility, e.g. service diamond start
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: initctl: Unable to connect to Upstart: Failed to connect to socket /com/
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: Since the script you are attempting to invoke has been converted to an
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: Upstart job, you may also use the start(8) utility, e.g. start diamond
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com diamond[210760]: start: Unable to connect to Upstart: Failed to connect to socket /com/ub
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com systemd[1]: diamond.service: Control process exited, code=exited status=1
> Jun 21 14:21:03 ceph-mon01.phx.coredial.com systemd[1]: Failed to start diamond.service.
> -- Subject: Unit diamond.service has failed

Workaround: My first thought was to convert it to a systemd unit file... but then I hit..

Third issue: Diamond fails to start

> sudo /usr/bin/diamond -l -f
> [2016-06-21 14:24:22,573] [MainThread] Changed UID: 0 () GID: 0 ().
> [2016-06-21 14:24:22,581] [MainThread] Unhandled exception: 'ConfigObj' object has no attribute 'startswith'
> [2016-06-21 14:24:22,581] [MainThread] traceback: Traceback (most recent call last):
> File "/usr/bin/diamond", line 324, in main
> server.run()
> File "/home/cdeng/.local/lib/python2.7/site-packages/diamond/server.py", line 71, in run
> self.config = load_config(self.configfile)
> File "/home/cdeng/.local/lib/python2.7/site-packages/diamond/utils/config.py", line 29, in load_config
> configfile = os.path.abspath(configfile)
> File "/usr/lib/python2.7/posixpath.py", line 360, in abspath
> if not isabs(path):
> File "/usr/lib/python2.7/posixpath.py", line 54, in isabs
> return s.startswith('/')
> AttributeError: 'ConfigObj' object has no attribute 'startswith'

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the diamond startup path shown in /usr/bin/diamond, diamond/server.py, and diamond/utils/config.py, then examine the reported python-support dependency and service behavior under Ubuntu 16.04 systemd. Reproduce the three failures and define done as successful installation and startup without the reported ConfigObj traceback.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, ubuntu
Domain
devops, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.