nova: 2011.2 -> 12.0.0

This commit is contained in:
Domen Kožar 2015-10-15 15:01:05 +02:00
parent 3225c34dcc
commit 24cbc374cf
7 changed files with 1206 additions and 249 deletions

View File

@ -1,21 +0,0 @@
{ fetchurl, pythonPackages }:
pythonPackages.buildPythonPackage rec {
name = "novaclient-2012.1";
namePrefix = "";
src = fetchurl {
url = "http://pypi.python.org/packages/source/p/python-novaclient/python-${name}.tar.gz";
md5 = "8f53a308e08b2af4645281917be77ffc";
};
pythonPath = [ pythonPackages.prettytable pythonPackages.argparse pythonPackages.httplib2 ];
buildInputs = [ pythonPackages.mock pythonPackages.nose ];
meta = {
homepage = https://github.com/rackspace/python-novaclient;
description = "Client library and command line tool for the OpenStack Nova API";
broken = true;
};
}

View File

@ -1,95 +1,63 @@
{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, novaclient }: { stdenv, fetchurl, pythonPackages, intltool, libvirt, curl, openssl, openssh }:
with stdenv.lib; pythonPackages.buildPythonPackage rec {
let version = "2011.2"; in
stdenv.mkDerivation rec {
name = "nova-${version}"; name = "nova-${version}";
version = "12.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl { src = fetchurl {
url = "http://launchpad.net/nova/cactus/${version}/+download/nova-${version}.tar.gz"; url = "https://github.com/openstack/nova/archive/${version}.tar.gz";
sha256 = "1s2w0rm332y9x34ngjz8sys9sbldg857rx9d6r3nb1ik979fx8p7"; sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w";
}; };
patches = # https://github.com/openstack/nova/blob/stable/liberty/requirements.txt
[ ./convert.patch ]; propagatedBuildInputs = with pythonPackages; [
pbr sqlalchemy_1_0 boto decorator eventlet jinja2 lxml routes cryptography
webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr
netifaces paramiko Babel iso8601 jsonschema keystoneclient requests2 six
stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql
keystonemiddleware
pythonPath = with pythonPackages; # oslo components
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context
paste_deploy m2crypto ipy twisted sqlalchemy_migrate oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging
distutils_extra simplejson readline glance cheetah lockfile httplib2 oslo-concurrency oslo-versionedobjects
# !!! should libvirt be a build-time dependency? Note that
# libxml2Python is a dependency of libvirt.py. # clients
libvirt libxml2Python cinderclient neutronclient glanceclient
novaclient
]; ];
buildInputs = buildInputs = with pythonPackages; [
[ pythonPackages.python coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx
pythonPackages.wrapPython oslotest testrepository testresources testtools tempest-lib bandit
pythonPackages.mox oslo-vmware pep8 barbicanclient ironicclient openssl openssh
intltool ];
] ++ pythonPath;
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
preConfigure =
''
# Set the built-in state location to something sensible.
sed -i nova/flags.py \
-e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|"
substituteInPlace nova/virt/images.py --replace /usr/bin/curl ${curl}/bin/curl
substituteInPlace nova/api/ec2/cloud.py \
--replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
'';
buildPhase = "python setup.py build";
installPhase =
''
p=$(toPythonPath $out)
export PYTHONPATH=$p:$PYTHONPATH
mkdir -p $p
python setup.py install --prefix=$out
# Nova doesn't like to be called ".nova-foo-wrapped" because it
# computes some stuff from its own argv[0]. So put the wrapped
# programs in $out/libexec under their original names.
mkdir -p $out/libexec/nova
wrapProgram() {
local prog="$1"
local hidden=$out/libexec/nova/$(basename "$prog")
mv $prog $hidden
makeWrapper $hidden $prog "$@"
}
wrapPythonPrograms
postInstall = ''
cp -prvd etc $out/etc cp -prvd etc $out/etc
# Nova makes some weird assumptions about where to find its own # check all binaries don't crash
# programs relative to the Python directory. for i in $out/bin/*; do
ln -sfn $out/bin $out/lib/${pythonPackages.python.libPrefix}/site-packages/bin case "$i" in
*nova-dhcpbridge*)
# Install the certificate generation script. :
cp nova/CA/genrootca.sh $out/libexec/nova/ ;;
cp nova/CA/openssl.cnf.tmpl $out/libexec/nova/ *nova-rootwrap*)
:
# Allow nova-manage etc. to find the proper configuration file. ;;
ln -s /etc/nova/nova.conf $out/libexec/nova/nova.conf *)
$i --help
;;
esac
done
''; '';
doCheck = false; # !!! fix meta = with stdenv.lib; {
checkPhase = "python setup.py test";
meta = {
homepage = http://nova.openstack.org/; homepage = http://nova.openstack.org/;
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller"; description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
broken = true; license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -19,7 +19,7 @@ buildPythonPackage rec {
propagatedBuildInputs = propagatedBuildInputs =
[ eventlet greenlet gflags netaddr sqlalchemy carrot routes [ eventlet greenlet gflags netaddr sqlalchemy carrot routes
paste_deploy m2crypto ipy twisted sqlalchemy_migrate PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glance cheetah lockfile httplib2 distutils_extra simplejson readline glance cheetah lockfile httplib2
urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
libvirt libxml2Python ipaddr vte libosinfo libvirt libxml2Python ipaddr vte libosinfo

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
pythonPath = with pythonPackages; pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
paste_deploy m2crypto ipy twisted sqlalchemy_migrate PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glance cheetah lockfile httplib2 distutils_extra simplejson readline glance cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that # !!! should libvirt be a build-time dependency? Note that
# libxml2Python is a dependency of libvirt.py. # libxml2Python is a dependency of libvirt.py.

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
shortName = "setuptools-${version}"; shortName = "setuptools-${version}";
name = "${python.executable}-${shortName}"; name = "${python.executable}-${shortName}";
version = "18.2"; version = "18.4";
src = fetchurl { src = fetchurl {
url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz"; url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz";
sha256 = "07avbdc26yl2a46s76fc7m4vg611g8sh39l26x9dr9byya6sb509"; sha256 = "07qigmdgm6pard6gwlgj5n7cm0f43nk271ymacsdhjhbwsc51snd";
}; };
buildInputs = [ python wrapPython distutils-cfg ]; buildInputs = [ python wrapPython distutils-cfg ];

View File

@ -12447,10 +12447,9 @@ let
sphinx = pythonPackages.sphinx; sphinx = pythonPackages.sphinx;
}; };
# Open Stack
nova = callPackage ../applications/virtualization/nova { }; nova = callPackage ../applications/virtualization/nova { };
novaclient = callPackage ../applications/virtualization/nova/client.nix { };
nova-filters = callPackage ../applications/audio/nova-filters { }; nova-filters = callPackage ../applications/audio/nova-filters { };
nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {}; nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {};

File diff suppressed because it is too large Load Diff