Project

General

Profile

Feature #6439

BE: identify package dependencies for Calamari, find upstreams

Added by Dan Mick almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:

Description

We need to list all the packages that we need for Calamari that are not available in
RHEL6, in preparation for creating our own packages in the ceph-extras repo, so that the
Calamari packages can install given those extras. For the most part, this is all
backend stuff; the frontend will all be in the Calamari packages proper. So things like

Django
Graphite/Carbon
PostGRESQL
etc.

We should also investigate whether .spec's exist for the upstreams, and clone the repos
into github/ceph or github/inktankstorage so that any tweaks can be applied locally.

History

#1 Updated by Dan Mick almost 8 years ago

  • Tracker changed from Bug to Feature

#2 Updated by Dan Mick almost 8 years ago

  • Target version set to v1.0rc-1

#3 Updated by Dan Mick almost 8 years ago

  • translation missing: en.field_story_points set to 3.00

#4 Updated by Noah Watkins almost 8 years ago

TODO
  • Check with Sandon that my changes to /etc/yum.conf.d/ reflect the actual stock RHEL repos.

Dependencies from `bootstrap.sh` that do not appear to be available through yum:

  • python-virtualenv
  • mod_python (NOTE: probably not needed... using mod_wsgi)
  • python-sqlite2 (NOTE: probably not needed with python2.6)
  • bitmapbitmap-fonts
  • zlib-static
  • python-pip
  • bitmap-fonts

Django/Calamari

  • Django
  • django-tagging
  • argparse==1.2.1
  • django-filter==0.6
  • django-jsonfield==0.9.10
  • djangorestframework==2.3.6
  • requests==1.2.3
  • wsgiref==0.1.2

Graphite --- Graphite has a number of additional third-party Python dependencies. When we create and host our own installable package, I suspect we'll need the um, i dunno what to call it, transitive clousure of all these dependencies, too. However, if our packaging primarily looks like a "zipped up virtual-env", this should be easier than if we must create separate packages for each of the dependencies.

  • whisper
  • carbon
  • graphite-web

#5 Updated by Ian Colle almost 8 years ago

  • Status changed from 12 to In Progress

#6 Updated by Dan Mick almost 8 years ago

  • Target version changed from v1.0rc-1 to v1.0rc-2

#7 Updated by Dan Mick almost 8 years ago

filling out the package dependencies now; need clean answers for these. Why are there more listed than bootstrap.sh installs?...

#8 Updated by Noah Watkins almost 8 years ago

Dan Mick wrote:

filling out the package dependencies now; need clean answers for these. Why are there more listed than bootstrap.sh installs?...

Some are dependencies listed in `requirements.txt` of Django and Graphite (carbon, whisper, graphite-web). Is it the case that all of the previously pip-installed dependencies will just be bundled into the packages that we manage externally to the RHEL repos and don't need to be listed here?

#9 Updated by Dan Mick almost 8 years ago

Yet to be determined, I guess

#10 Updated by Noah Watkins almost 8 years ago

Dependencies installed via `yum`, and not available on RHEL 6 (apparently.. tried several different yum searches for each).

  • bitmapbitmap-fonts
  • zlib-static
  • bitmap-fonts
  • Django (system wide, used by Graphite. Can avoid this if we use virtualenv like Calamari)

Python virtualenv and pip are likely not needed for an installation, but rather may be dependencies for the build machine.

  • python-virtualenv
  • python-pip

Dependencies installed via `pip`. It may not be necessary to actually host all of these, but rather package Calamari as a virtualenv with all of these dependencies in the same package. None of these are available via `yum`.

  • Calamari
  • django (1.5 used by Calamari)
  • django-tagging
  • argparse==1.2.1
  • django-filter==0.6
  • django-jsonfield==0.9.10
  • djangorestframework==2.3.6
  • requests==1.2.3
  • wsgiref==0.1.2
  • Graphite
  • Django>=1.4
  • Twisted==11.1.0 (twisted available via yum, but is version 8.2; too old)
  • python-memcached==1.47 (version in yum is old: 1.43)
  • txAMQP==0.4
  • gunicorn
  • pytz (available in Yum)
  • pyparsing==1.5.7
  • http://cairographics.org/releases/py2cairo-1.8.10.tar.gz
  • mocker==1.1.1

These dependencies can be ignored if we assume >python2.5.

  • python-sqlite2 (apparently not needed as long as we are above python2.5)
  • simplejson==2.1.6 (version in yum is old: 2.0.9)

#11 Updated by Dan Mick almost 8 years ago

wsgiref is also part of Python

Does graphite really use gunicorn? That seems really strange, and I can't find it mentioned in
my local pip-installed /opt/graphite at all.

pyparsing seems to be included with graphite?

can't find any mention of mocker in the graphite tree either

#12 Updated by Dan Mick almost 8 years ago

  • Assignee changed from Noah Watkins to Dan Mick

#13 Updated by Dan Mick almost 8 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF