diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index c10b5a0ec93..678593a2d8b 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -281,8 +281,8 @@ stanchion = 262; riak-cs = 263; infinoted = 264; - keystone = 265; - glance = 266; + # keystone = 265; # unused, removed 2017-12-13 + # glance = 266; # unused, removed 2017-12-13 couchpotato = 267; gogs = 268; pdns-recursor = 269; @@ -551,8 +551,8 @@ stanchion = 262; riak-cs = 263; infinoted = 264; - keystone = 265; - glance = 266; + # keystone = 265; # unused, removed 2017-12-13 + # glance = 266; # unused, removed 2017-12-13 couchpotato = 267; gogs = 268; kresd = 270; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b03d9aa2fcb..8063df4334e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -749,6 +749,4 @@ ./virtualisation/vmware-guest.nix ./virtualisation/xen-dom0.nix ./virtualisation/xe-guest-utilities.nix - ./virtualisation/openstack/keystone.nix - ./virtualisation/openstack/glance.nix ] diff --git a/nixos/modules/virtualisation/nova.nix b/nixos/modules/virtualisation/nova.nix deleted file mode 100644 index c2837d0e2e2..00000000000 --- a/nixos/modules/virtualisation/nova.nix +++ /dev/null @@ -1,174 +0,0 @@ -# Module for Nova, a.k.a. OpenStack Compute. - -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.virtualisation.nova; - - nova = pkgs.nova; - - novaConf = pkgs.writeText "nova.conf" - '' - --nodaemon - --verbose - ${cfg.extraConfig} - ''; - -in - -{ - - ###### interface - - options = { - - virtualisation.nova.enableSingleNode = - mkOption { - default = false; - description = - '' - This option enables Nova, also known as OpenStack Compute, - a cloud computing system, as a single-machine - installation. That is, all of Nova's components are - enabled on this machine, using SQLite as Nova's database. - This is useful for evaluating and experimenting with Nova. - However, for a real cloud computing environment, you'll - want to enable some of Nova's services on other machines, - and use a database such as MySQL. - ''; - }; - - virtualisation.nova.extraConfig = - mkOption { - default = ""; - description = - '' - Additional text appended to nova.conf, - the main Nova configuration file. - ''; - }; - - }; - - - ###### implementation - - config = mkIf cfg.enableSingleNode { - - environment.systemPackages = [ nova pkgs.euca2ools pkgs.novaclient ]; - - environment.etc = - [ { source = novaConf; - target = "nova/nova.conf"; - } - ]; - - # Nova requires libvirtd and RabbitMQ. - virtualisation.libvirtd.enable = true; - services.rabbitmq.enable = true; - - # `qemu-nbd' required the `nbd' kernel module. - boot.kernelModules = [ "nbd" ]; - - system.activationScripts.nova = - '' - mkdir -m 755 -p /var/lib/nova - mkdir -m 755 -p /var/lib/nova/networks - mkdir -m 700 -p /var/lib/nova/instances - mkdir -m 700 -p /var/lib/nova/keys - - # Allow the CA certificate generation script (called by - # nova-api) to work. - mkdir -m 700 -p /var/lib/nova/CA /var/lib/nova/CA/private - - # Initialise the SQLite database. - ${nova}/bin/nova-manage db sync - ''; - - # `nova-api' receives and executes external client requests from - # tools such as euca2ools. It listens on port 8773 (XML) and 8774 - # (JSON). - jobs.nova_api = - { name = "nova-api"; - - description = "Nova API service"; - - startOn = "ip-up"; - - # `openssl' is required to generate the CA. `openssh' is - # required to generate key pairs. - path = [ pkgs.openssl config.programs.ssh.package pkgs.bash ]; - - respawn = false; - - exec = "${nova}/bin/nova-api --flagfile=${novaConf} --api_paste_config=${nova}/etc/nova/api-paste.ini"; - }; - - # `nova-objectstore' is a simple image server. Useful if you're - # not running the OpenStack Imaging Service (Swift). It serves - # images placed in /var/lib/nova/images/. - jobs.nova_objectstore = - { name = "nova-objectstore"; - - description = "Nova Simple Object Store Service"; - - startOn = "ip-up"; - - preStart = - '' - mkdir -m 700 -p /var/lib/nova/images - ''; - - exec = "${nova}/bin/nova-objectstore --flagfile=${novaConf}"; - }; - - # `nova-scheduler' schedules VM execution requests. - jobs.nova_scheduler = - { name = "nova-scheduler"; - - description = "Nova Scheduler Service"; - - startOn = "ip-up"; - - exec = "${nova}/bin/nova-scheduler --flagfile=${novaConf}"; - }; - - # `nova-compute' starts and manages virtual machines. - jobs.nova_compute = - { name = "nova-compute"; - - description = "Nova Compute Service"; - - startOn = "ip-up"; - - path = - [ pkgs.sudo pkgs.vlan pkgs.nettools pkgs.iptables pkgs.qemu_kvm - pkgs.e2fsprogs pkgs.utillinux pkgs.multipath-tools pkgs.iproute - pkgs.bridge-utils - ]; - - exec = "${nova}/bin/nova-compute --flagfile=${novaConf}"; - }; - - # `nova-network' manages networks and allocates IP addresses. - jobs.nova_network = - { name = "nova-network"; - - description = "Nova Network Service"; - - startOn = "ip-up"; - - path = - [ pkgs.sudo pkgs.vlan pkgs.dnsmasq pkgs.nettools pkgs.iptables - pkgs.iproute pkgs.bridge-utils pkgs.radvd - ]; - - exec = "${nova}/bin/nova-network --flagfile=${novaConf}"; - }; - - }; - -} diff --git a/nixos/modules/virtualisation/openstack/common.nix b/nixos/modules/virtualisation/openstack/common.nix deleted file mode 100644 index 2feb0a87395..00000000000 --- a/nixos/modules/virtualisation/openstack/common.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ lib }: - -with lib; - -rec { - # A shell script string helper to get the value of a secret at - # runtime. - getSecret = secretOption: - if secretOption.storage == "fromFile" - then ''$(cat ${secretOption.value})'' - else ''${secretOption.value}''; - - - # A shell script string help to replace at runtime in a file the - # pattern of a secret by its value. - replaceSecret = secretOption: filename: '' - sed -i "s/${secretOption.pattern}/${getSecret secretOption}/g" ${filename} - ''; - - # This generates an option that can be used to declare secrets which - # can be stored in the nix store, or not. A pattern is written in - # the nix store to represent the secret. The pattern can - # then be overwritten with the value of the secret at runtime. - mkSecretOption = {name, description ? ""}: - mkOption { - description = description; - type = types.submodule ({ - options = { - pattern = mkOption { - type = types.str; - default = "##${name}##"; - description = "The pattern that represent the secret."; - }; - storage = mkOption { - type = types.enum [ "fromNixStore" "fromFile" ]; - description = '' - Choose the way the password is provisionned. If - fromNixStore is used, the value is the password and it is - written in the nix store. If fromFile is used, the value - is a path from where the password will be read at - runtime. This is generally used with - deployment keys of Nixops. - '';}; - value = mkOption { - type = types.str; - description = '' - If the storage is fromNixStore, the value is the password itself, - otherwise it is a path to the file that contains the password. - ''; - }; - };}); - }; - - databaseOption = name: { - host = mkOption { - type = types.str; - default = "localhost"; - description = '' - Host of the database. - ''; - }; - - name = mkOption { - type = types.str; - default = name; - description = '' - Name of the existing database. - ''; - }; - - user = mkOption { - type = types.str; - default = name; - description = '' - The database user. The user must exist and has access to - the specified database. - ''; - }; - password = mkSecretOption { - name = name + "MysqlPassword"; - description = "The database user's password";}; - }; -} diff --git a/nixos/modules/virtualisation/openstack/glance.nix b/nixos/modules/virtualisation/openstack/glance.nix deleted file mode 100644 index 7862409a65e..00000000000 --- a/nixos/modules/virtualisation/openstack/glance.nix +++ /dev/null @@ -1,245 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; with import ./common.nix {inherit lib;}; - -let - cfg = config.virtualisation.openstack.glance; - commonConf = '' - [database] - connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}" - notification_driver = noop - - [keystone_authtoken] - auth_url = ${cfg.authUrl} - auth_plugin = password - project_name = service - project_domain_id = default - user_domain_id = default - username = ${cfg.serviceUsername} - password = ${cfg.servicePassword.pattern} - - [glance_store] - default_store = file - filesystem_store_datadir = /var/lib/glance/images/ - ''; - glanceApiConfTpl = pkgs.writeText "glance-api.conf" '' - ${commonConf} - - [paste_deploy] - flavor = keystone - config_file = ${cfg.package}/etc/glance-api-paste.ini - ''; - glanceRegistryConfTpl = pkgs.writeText "glance-registry.conf" '' - ${commonConf} - - [paste_deploy] - config_file = ${cfg.package}/etc/glance-registry-paste.ini - ''; - glanceApiConf = "/var/lib/glance/glance-api.conf"; - glanceRegistryConf = "/var/lib/glance/glance-registry.conf"; - -in { - options.virtualisation.openstack.glance = { - package = mkOption { - type = types.package; - default = pkgs.glance; - defaultText = "pkgs.glance"; - description = '' - Glance package to use. - ''; - }; - - enable = mkOption { - default = false; - type = types.bool; - description = '' - This option enables Glance as a single-machine - installation. That is, all of Glance's components are - enabled on this machine. This is useful for evaluating and - experimenting with Glance. Note we are currently not - providing any configurations for a multi-node setup. - ''; - }; - - authUrl = mkOption { - type = types.str; - default = http://localhost:5000; - description = '' - Complete public Identity (Keystone) API endpoint. Note this is - unversionned. - ''; - }; - - serviceUsername = mkOption { - type = types.str; - default = "glance"; - description = '' - The Glance service username. This user is created if bootstrap - is enable, otherwise it has to be manually created before - starting this service. - ''; - }; - - servicePassword = mkSecretOption { - name = "glanceAdminPassword"; - description = '' - The Glance service user's password. - ''; - }; - - database = databaseOption "glance"; - - bootstrap = { - enable = mkOption { - default = false; - type = types.bool; - description = '' - Bootstrap the Glance service by creating the service tenant, - an admin account and a public endpoint. This option provides - a ready-to-use glance service. This is only done at the - first Glance execution by the systemd post start section. - The keystone admin account is used to create required - Keystone resource for the Glance service. - - This option is a helper for setting up - development or testing environments. - ''; - }; - - endpointPublic = mkOption { - type = types.str; - default = "http://localhost:9292"; - description = '' - The public image endpoint. The link - create endpoint provides more informations - about that. - ''; - }; - - keystoneAdminUsername = mkOption { - type = types.str; - default = "admin"; - description = '' - The keystone admin user name used to create the Glance account. - ''; - }; - - keystoneAdminPassword = mkSecretOption { - name = "keystoneAdminPassword"; - description = '' - The keystone admin user's password. - ''; - }; - - keystoneAdminTenant = mkOption { - type = types.str; - default = "admin"; - description = '' - The keystone admin tenant used to create the Glance account. - ''; - }; - keystoneAuthUrl = mkOption { - type = types.str; - default = "http://localhost:5000/v2.0"; - description = '' - The keystone auth url used to create the Glance account. - ''; - }; - }; - }; - - config = mkIf cfg.enable { - users.extraUsers = [{ - name = "glance"; - group = "glance"; - uid = config.ids.gids.glance; - - }]; - users.extraGroups = [{ - name = "glance"; - gid = config.ids.gids.glance; - }]; - - systemd.services.glance-registry = { - description = "OpenStack Glance Registry Daemon"; - after = [ "network.target"]; - path = [ pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -m 775 -p /var/lib/glance/{images,scrubber,image_cache} - chown glance:glance /var/lib/glance/{images,scrubber,image_cache} - - # Secret file managment - cp ${glanceRegistryConfTpl} ${glanceRegistryConf}; - chown glance:glance ${glanceRegistryConf}; - chmod 640 ${glanceRegistryConf} - ${replaceSecret cfg.database.password glanceRegistryConf} - ${replaceSecret cfg.servicePassword glanceRegistryConf} - - cp ${glanceApiConfTpl} ${glanceApiConf}; - chown glance:glance ${glanceApiConf}; - chmod 640 ${glanceApiConf} - ${replaceSecret cfg.database.password glanceApiConf} - ${replaceSecret cfg.servicePassword glanceApiConf} - - # Initialise the database - ${cfg.package}/bin/glance-manage --config-file=${glanceApiConf} --config-file=${glanceRegistryConf} db_sync - ''; - postStart = '' - set -eu - export OS_AUTH_URL=${cfg.bootstrap.keystoneAuthUrl} - export OS_USERNAME=${cfg.bootstrap.keystoneAdminUsername} - export OS_PASSWORD=${getSecret cfg.bootstrap.keystoneAdminPassword} - export OS_TENANT_NAME=${cfg.bootstrap.keystoneAdminTenant} - - # Wait until the keystone is available for use - count=0 - while ! keystone user-get ${cfg.bootstrap.keystoneAdminUsername} > /dev/null - do - if [ $count -eq 30 ] - then - echo "Tried 30 times, giving up..." - exit 1 - fi - - echo "Keystone not yet started. Waiting for 1 second..." - count=$((count++)) - sleep 1 - done - - # If the service glance doesn't exist, we consider glance is - # not initialized - if ! keystone service-get glance - then - keystone service-create --type image --name glance - ID=$(keystone service-get glance | awk '/ id / { print $4 }') - keystone endpoint-create --region RegionOne --service $ID --internalurl http://localhost:9292 --adminurl http://localhost:9292 --publicurl ${cfg.bootstrap.endpointPublic} - - keystone user-create --name ${cfg.serviceUsername} --tenant service --pass ${getSecret cfg.servicePassword} - keystone user-role-add --tenant service --user ${cfg.serviceUsername} --role admin - fi - ''; - serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root - TimeoutStartSec = "600"; # 10min for initial db migrations - User = "glance"; - Group = "glance"; - ExecStart = "${cfg.package}/bin/glance-registry --config-file=${glanceRegistryConf}"; - }; - }; - systemd.services.glance-api = { - description = "OpenStack Glance API Daemon"; - after = [ "glance-registry.service" "network.target"]; - requires = [ "glance-registry.service" "network.target"]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root - User = "glance"; - Group = "glance"; - ExecStart = "${cfg.package}/bin/glance-api --config-file=${glanceApiConf}"; - }; - }; - }; - -} diff --git a/nixos/modules/virtualisation/openstack/keystone.nix b/nixos/modules/virtualisation/openstack/keystone.nix deleted file mode 100644 index e32c5a4cae1..00000000000 --- a/nixos/modules/virtualisation/openstack/keystone.nix +++ /dev/null @@ -1,220 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; with import ./common.nix {inherit lib;}; - -let - cfg = config.virtualisation.openstack.keystone; - keystoneConfTpl = pkgs.writeText "keystone.conf" '' - [DEFAULT] - admin_token = ${cfg.adminToken.pattern} - policy_file=${cfg.package}/etc/policy.json - - [database] - - connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}" - - [paste_deploy] - config_file = ${cfg.package}/etc/keystone-paste.ini - - ${cfg.extraConfig} - ''; - keystoneConf = "/var/lib/keystone/keystone.conf"; - -in { - options.virtualisation.openstack.keystone = { - package = mkOption { - type = types.package; - example = literalExample "pkgs.keystone"; - description = '' - Keystone package to use. - ''; - }; - - enable = mkOption { - default = false; - type = types.bool; - description = '' - Enable Keystone, the OpenStack Identity Service - ''; - }; - - extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Additional text appended to keystone.conf, - the main Keystone configuration file. - ''; - }; - - adminToken = mkSecretOption { - name = "adminToken"; - description = '' - This is the admin token used to boostrap keystone, - ie. to provision first resources. - ''; - }; - - bootstrap = { - enable = mkOption { - default = false; - type = types.bool; - description = '' - Bootstrap the Keystone service by creating the service - tenant, an admin account and a public endpoint. This options - provides a ready-to-use admin account. This is only done at - the first Keystone execution by the systemd post start. - - Note this option is a helper for setting up development or - testing environments. - ''; - }; - - endpointPublic = mkOption { - type = types.str; - default = "http://localhost:5000/v2.0"; - description = '' - The public identity endpoint. The link - create keystone endpoint provides more informations - about that. - ''; - }; - - adminUsername = mkOption { - type = types.str; - default = "admin"; - description = '' - A keystone admin username. - ''; - }; - - adminPassword = mkSecretOption { - name = "keystoneAdminPassword"; - description = '' - The keystone admin user's password. - ''; - }; - - adminTenant = mkOption { - type = types.str; - default = "admin"; - description = '' - A keystone admin tenant name. - ''; - }; - }; - - database = { - host = mkOption { - type = types.str; - default = "localhost"; - description = '' - Host of the database. - ''; - }; - - name = mkOption { - type = types.str; - default = "keystone"; - description = '' - Name of the existing database. - ''; - }; - - user = mkOption { - type = types.str; - default = "keystone"; - description = '' - The database user. The user must exist and has access to - the specified database. - ''; - }; - password = mkSecretOption { - name = "mysqlPassword"; - description = "The database user's password";}; - }; - }; - - config = mkIf cfg.enable { - # Note: when changing the default, make it conditional on - # ‘system.stateVersion’ to maintain compatibility with existing - # systems! - virtualisation.openstack.keystone.package = mkDefault pkgs.keystone; - - users.extraUsers = [{ - name = "keystone"; - group = "keystone"; - uid = config.ids.uids.keystone; - }]; - users.extraGroups = [{ - name = "keystone"; - gid = config.ids.gids.keystone; - }]; - - systemd.services.keystone-all = { - description = "OpenStack Keystone Daemon"; - after = [ "network.target"]; - path = [ cfg.package pkgs.mysql pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -m 755 -p /var/lib/keystone - - cp ${keystoneConfTpl} ${keystoneConf}; - chown keystone:keystone ${keystoneConf}; - chmod 640 ${keystoneConf} - - ${replaceSecret cfg.database.password keystoneConf} - ${replaceSecret cfg.adminToken keystoneConf} - - # Initialise the database - ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} db_sync - # Set up the keystone's PKI infrastructure - ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} pki_setup --keystone-user keystone --keystone-group keystone - ''; - postStart = optionalString cfg.bootstrap.enable '' - set -eu - # Wait until the keystone is available for use - count=0 - while ! curl --fail -s http://localhost:35357/v2.0 > /dev/null - do - if [ $count -eq 30 ] - then - echo "Tried 30 times, giving up..." - exit 1 - fi - - echo "Keystone not yet started. Waiting for 1 second..." - count=$((count++)) - sleep 1 - done - - # We use the service token to create a first admin user - export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0 - export OS_SERVICE_TOKEN=${getSecret cfg.adminToken} - - # If the tenant service doesn't exist, we consider - # keystone is not initialized - if ! keystone tenant-get service - then - keystone tenant-create --name service - keystone tenant-create --name ${cfg.bootstrap.adminTenant} - keystone user-create --name ${cfg.bootstrap.adminUsername} --tenant ${cfg.bootstrap.adminTenant} --pass ${getSecret cfg.bootstrap.adminPassword} - keystone role-create --name admin - keystone role-create --name Member - keystone user-role-add --tenant ${cfg.bootstrap.adminTenant} --user ${cfg.bootstrap.adminUsername} --role admin - keystone service-create --type identity --name keystone - ID=$(keystone service-get keystone | awk '/ id / { print $4 }') - keystone endpoint-create --region RegionOne --service $ID --publicurl ${cfg.bootstrap.endpointPublic} --adminurl http://localhost:35357/v2.0 --internalurl http://localhost:5000/v2.0 - fi - ''; - serviceConfig = { - PermissionsStartOnly = true; # preStart must be run as root - TimeoutStartSec = "600"; # 10min for initial db migrations - User = "keystone"; - Group = "keystone"; - ExecStart = "${cfg.package}/bin/keystone-all --config-file=${keystoneConf}"; - }; - }; - }; -} diff --git a/nixos/release.nix b/nixos/release.nix index 426a5eef34a..b7ec97bcf82 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -267,7 +267,6 @@ in rec { tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; }); #tests.gitlab = callTest tests/gitlab.nix {}; tests.gitolite = callTest tests/gitolite.nix {}; - tests.glance = callTest tests/glance.nix {}; tests.gocd-agent = callTest tests/gocd-agent.nix {}; tests.gocd-server = callTest tests/gocd-server.nix {}; tests.gnome3 = callTest tests/gnome3.nix {}; @@ -293,7 +292,6 @@ in rec { tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {}; tests.kernel-latest = callTest tests/kernel-latest.nix {}; tests.kernel-lts = callTest tests/kernel-lts.nix {}; - tests.keystone = callTest tests/keystone.nix {}; tests.kubernetes = hydraJob (import tests/kubernetes/default.nix { system = "x86_64-linux"; }); tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; tests.ldap = callTest tests/ldap.nix {}; diff --git a/nixos/tests/glance.nix b/nixos/tests/glance.nix deleted file mode 100644 index 992b77227a4..00000000000 --- a/nixos/tests/glance.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ system ? builtins.currentSystem }: - -with import ../lib/testing.nix { inherit system; }; -with pkgs.lib; - -let - glanceMysqlPassword = "glanceMysqlPassword"; - glanceAdminPassword = "glanceAdminPassword"; - - createDb = pkgs.writeText "db-provisionning.sql" '' - create database keystone; - GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; - GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; - - create database glance; - GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '${glanceMysqlPassword}'; - GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '${glanceMysqlPassword}'; - ''; - - image = - (import ../lib/eval-config.nix { - inherit system; - modules = [ ../../nixos/modules/virtualisation/nova-image.nix ]; - }).config.system.build.novaImage; - - # The admin keystone account - adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=keystone OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; - -in makeTest { - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ lewo ]; - }; - machine = - { config, pkgs, ... }: - { - services.mysql.enable = true; - services.mysql.package = pkgs.mysql; - services.mysql.initialScript = createDb; - - virtualisation = { - openstack.keystone = { - enable = true; - database.password = { value = "keystone"; storage = "fromNixStore"; }; - adminToken = { value = "adminToken"; storage = "fromNixStore"; }; - bootstrap.enable = true; - bootstrap.adminPassword = { value = "keystone"; storage = "fromNixStore"; }; - }; - - openstack.glance = { - enable = true; - database.password = { value = glanceMysqlPassword; storage = "fromNixStore"; }; - servicePassword = { value = glanceAdminPassword; storage = "fromNixStore"; }; - - bootstrap = { - enable = true; - keystoneAdminPassword = { value = "keystone"; storage = "fromNixStore"; }; - }; - }; - - memorySize = 2096; - diskSize = 4 * 1024; - }; - - environment.systemPackages = with pkgs.pythonPackages; with pkgs; [ - openstackclient - ]; - }; - - testScript = - '' - $machine->waitForUnit("glance-api.service"); - - # Since Glance api can take time to start, we retry until success - $machine->waitUntilSucceeds("${adminOpenstackCmd} image create nixos --file ${image}/nixos.img --disk-format qcow2 --container-format bare --public"); - $machine->succeed("${adminOpenstackCmd} image list") =~ /nixos/ or die; - ''; -} diff --git a/nixos/tests/keystone.nix b/nixos/tests/keystone.nix deleted file mode 100644 index 358e352f776..00000000000 --- a/nixos/tests/keystone.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ system ? builtins.currentSystem }: - -with import ../lib/testing.nix { inherit system; }; -with pkgs.lib; - -let - keystoneMysqlPassword = "keystoneMysqlPassword"; - keystoneMysqlPasswordFile = "/var/run/keystoneMysqlPassword"; - keystoneAdminPassword = "keystoneAdminPassword"; - - createKeystoneDb = pkgs.writeText "create-keystone-db.sql" '' - create database keystone; - GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${keystoneMysqlPassword}'; - GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${keystoneMysqlPassword}'; - ''; - # The admin keystone account - adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=${keystoneAdminPassword} OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; - # The created demo keystone account - demoOpenstackCmd = "OS_TENANT_NAME=demo OS_USERNAME=demo OS_PASSWORD=demo OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; - -in makeTest { - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ lewo ]; - }; - machine = - { config, pkgs, ... }: - { - # This is to simulate nixops deployment process. - # https://nixos.org/nixops/manual/#opt-deployment.keys - boot.postBootCommands = "echo ${keystoneMysqlPassword} > ${keystoneMysqlPasswordFile}"; - - services.mysql.enable = true; - services.mysql.initialScript = createKeystoneDb; - - virtualisation = { - - openstack.keystone = { - enable = true; - # Check if we can get the secret from a file - database.password = { - value = keystoneMysqlPasswordFile; - storage = "fromFile"; - }; - adminToken = { - value = "adminToken"; - storage = "fromNixStore"; - }; - - bootstrap.enable = true; - # Check if we can get the secret from the store - bootstrap.adminPassword = { - value = keystoneAdminPassword; - storage = "fromNixStore"; - }; - }; - - memorySize = 2096; - diskSize = 4 * 1024; - }; - - environment.systemPackages = with pkgs.pythonPackages; with pkgs; [ - openstackclient - ]; - }; - - testScript = - '' - $machine->waitForUnit("keystone-all.service"); - - # Verify that admin ccount is working - $machine->succeed("${adminOpenstackCmd} token issue"); - - # Try to create a new user - $machine->succeed("${adminOpenstackCmd} project create --domain default --description 'Demo Project' demo"); - $machine->succeed("${adminOpenstackCmd} user create --domain default --password demo demo"); - $machine->succeed("${adminOpenstackCmd} role create user"); - $machine->succeed("${adminOpenstackCmd} role add --project demo --user demo user"); - - # Verify this new account is working - $machine->succeed("${demoOpenstackCmd} token issue"); - ''; -} diff --git a/pkgs/applications/virtualization/openstack/glance.nix b/pkgs/applications/virtualization/openstack/glance.nix deleted file mode 100644 index 21cb4906d03..00000000000 --- a/pkgs/applications/virtualization/openstack/glance.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ stdenv, fetchurl, python2Packages, sqlite, which, strace }: - -python2Packages.buildPythonApplication rec { - name = "glance-${version}"; - version = "11.0.0"; - namePrefix = ""; - - PBR_VERSION = "${version}"; - - src = fetchurl { - url = "https://github.com/openstack/glance/archive/${version}.tar.gz"; - sha256 = "05rz1lmzdmpnw8sf87vvi0l6q9g6s840z934zyinw17yfcvmqrdg"; - }; - - # https://github.com/openstack/glance/blob/stable/liberty/requirements.txt - propagatedBuildInputs = with python2Packages; [ - pbr sqlalchemy anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate - httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste - jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python - WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile - - # oslo componenets - oslo-config oslo-context oslo-concurrency oslo-service oslo-utils oslo-db - oslo-i18n oslo-log oslo-messaging oslo-middleware oslo-policy oslo-serialization - MySQL_python - ]; - - buildInputs = with python2Packages; [ - Babel coverage fixtures mox3 mock oslosphinx requests testrepository pep8 - testresources testscenarios testtools psutil_1 oslotest psycopg2 - sqlite which strace - ]; - - patchPhase = '' - # it's not a test, but a class mixin - sed -i 's/ImageCacheTestCase/ImageCacheMixin/' glance/tests/unit/test_image_cache.py - - # these require network access, see https://bugs.launchpad.net/glance/+bug/1508868 - sed -i 's/test_get_image_data_http/noop/' glance/tests/unit/common/scripts/test_scripts_utils.py - sed -i 's/test_set_image_data_http/noop/' glance/tests/unit/common/scripts/image_import/test_main.py - sed -i 's/test_create_image_with_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py - sed -i 's/test_upload_image_http_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py - - # TODO: couldn't figure out why this test is failing - sed -i 's/test_all_task_api/noop/' glance/tests/integration/v2/test_tasks_api.py - ''; - - postInstall = '' - # check all binaries don't crash - for i in $out/bin/*; do - case "$i" in - *glance-artifacts) # https://bugs.launchpad.net/glance/+bug/1508879 - : - ;; - *) - $i --help - esac - done - - cp etc/*-paste.ini $out/etc/ - ''; - - meta = with stdenv.lib; { - homepage = http://glance.openstack.org/; - description = "Services for discovering, registering, and retrieving virtual machine images"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/virtualization/openstack/keystone.nix b/pkgs/applications/virtualization/openstack/keystone.nix deleted file mode 100644 index 39c54f0d204..00000000000 --- a/pkgs/applications/virtualization/openstack/keystone.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ stdenv, fetchurl, python2Packages, xmlsec, which, openssl }: - -python2Packages.buildPythonApplication rec { - name = "keystone-${version}"; - version = "8.0.0"; - namePrefix = ""; - - PBR_VERSION = "${version}"; - - src = fetchurl { - url = "https://github.com/openstack/keystone/archive/${version}.tar.gz"; - sha256 = "1xbrs7xgwjzrs07zyxxcl2lq18dh582gd6lx1zzzji8c0qmffy0z"; - }; - - # remove on next version bump - patches = [ ./remove-oslo-policy-tests.patch ]; - - # https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt - propagatedBuildInputs = with python2Packages; [ - pbr webob eventlet greenlet PasteDeploy paste routes cryptography six - sqlalchemy sqlalchemy_migrate stevedore passlib keystoneclient memcached - keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack - xmlsec MySQL_python - - # oslo - oslo-cache oslo-concurrency oslo-config oslo-context oslo-messaging oslo-db - oslo-i18n oslo-log oslo-middleware oslo-policy oslo-serialization oslo-service - oslo-utils - ]; - - buildInputs = with python2Packages; [ - coverage fixtures mock subunit tempest-lib testtools testrepository - ldap ldappool webtest requests oslotest pep8 pymongo which - ]; - - makeWrapperArgs = ["--prefix PATH : '${openssl.bin}/bin:$PATH'"]; - - postInstall = '' - # install .ini files - mkdir -p $out/etc - cp etc/* $out/etc - - # check all binaries don't crash - for i in $out/bin/*; do - $i --help - done - ''; - - meta = with stdenv.lib; { - homepage = http://keystone.openstack.org/; - description = "Authentication, authorization and service discovery mechanisms via HTTP"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/virtualization/openstack/neutron-iproute-4.patch b/pkgs/applications/virtualization/openstack/neutron-iproute-4.patch deleted file mode 100644 index d7a2caa2bde..00000000000 --- a/pkgs/applications/virtualization/openstack/neutron-iproute-4.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 3aefdf4de76fdcdc02093bc631e339f9ecd4c707 Mon Sep 17 00:00:00 2001 -From: James Page -Date: Fri, 18 Sep 2015 16:38:47 +0100 -Subject: Add compatibility with iproute2 >= 4.0 - -The ip netns list command adds additional id data in more recent -versions of iproute2 of the format: - - qdhcp-35fc068a-750d-4add-b1d2-af392dbd8790 (id: 1) - -Update parsing to deal with old and new formats. - -Change-Id: I0d3fc4262284172f5ad31e4f2f78ae1fb33b4228 -Closes-Bug: 1497309 ---- - neutron/agent/linux/ip_lib.py | 6 +++--- - neutron/tests/functional/agent/test_l3_agent.py | 2 +- - neutron/tests/unit/agent/linux/test_ip_lib.py | 15 +++++++++++++++ - 3 files changed, 19 insertions(+), 4 deletions(-) - -diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py -index 551341a..a717bf6 100644 ---- a/neutron/agent/linux/ip_lib.py -+++ b/neutron/agent/linux/ip_lib.py -@@ -208,7 +208,7 @@ class IPWrapper(SubProcessBase): - @classmethod - def get_namespaces(cls): - output = cls._execute([], 'netns', ('list',)) -- return [l.strip() for l in output.split('\n')] -+ return [l.split()[0] for l in output.splitlines()] - - - class IPDevice(SubProcessBase): -@@ -819,8 +819,8 @@ class IpNetnsCommand(IpCommandBase): - output = self._parent._execute( - ['o'], 'netns', ['list'], - run_as_root=cfg.CONF.AGENT.use_helper_for_ns_read) -- for line in output.split('\n'): -- if name == line.strip(): -+ for line in [l.split()[0] for l in output.splitlines()]: -+ if name == line: - return True - return False - -diff --git a/neutron/tests/functional/agent/test_l3_agent.py b/neutron/tests/functional/agent/test_l3_agent.py -index ffa20e6..84b16df 100644 ---- a/neutron/tests/functional/agent/test_l3_agent.py -+++ b/neutron/tests/functional/agent/test_l3_agent.py -@@ -790,7 +790,7 @@ class L3HATestFramework(L3AgentTestFramework): - get_ns_name = mock.patch.object( - namespaces.RouterNamespace, '_get_ns_name').start() - get_ns_name.return_value = "%s%s%s" % ( -- namespaces.RouterNamespace._get_ns_name(router_info['id']), -+ 'qrouter-' + router_info['id'], - self.NESTED_NAMESPACE_SEPARATOR, self.agent.host) - router1 = self.manage_router(self.agent, router_info) - -diff --git a/neutron/tests/unit/agent/linux/test_ip_lib.py b/neutron/tests/unit/agent/linux/test_ip_lib.py -index 2de408d..bdfc9d7 100644 ---- a/neutron/tests/unit/agent/linux/test_ip_lib.py -+++ b/neutron/tests/unit/agent/linux/test_ip_lib.py -@@ -27,6 +27,11 @@ NETNS_SAMPLE = [ - 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb', - 'cccccccc-cccc-cccc-cccc-cccccccccccc'] - -+NETNS_SAMPLE_IPROUTE2_4 = [ -+ '12345678-1234-5678-abcd-1234567890ab (id: 1)', -+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb (id: 0)', -+ 'cccccccc-cccc-cccc-cccc-cccccccccccc (id: 2)'] -+ - LINK_SAMPLE = [ - '1: lo: mtu 16436 qdisc noqueue state UNKNOWN \\' - 'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0', -@@ -279,6 +284,16 @@ class TestIpWrapper(base.BaseTestCase): - - self.execute.assert_called_once_with([], 'netns', ('list',)) - -+ def test_get_namespaces_iproute2_4(self): -+ self.execute.return_value = '\n'.join(NETNS_SAMPLE_IPROUTE2_4) -+ retval = ip_lib.IPWrapper.get_namespaces() -+ self.assertEqual(retval, -+ ['12345678-1234-5678-abcd-1234567890ab', -+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb', -+ 'cccccccc-cccc-cccc-cccc-cccccccccccc']) -+ -+ self.execute.assert_called_once_with([], 'netns', ('list',)) -+ - def test_add_tuntap(self): - ip_lib.IPWrapper().add_tuntap('tap0') - self.execute.assert_called_once_with([], 'tuntap', --- -cgit v0.11.2 - diff --git a/pkgs/applications/virtualization/openstack/neutron.nix b/pkgs/applications/virtualization/openstack/neutron.nix deleted file mode 100644 index 9ee586cf040..00000000000 --- a/pkgs/applications/virtualization/openstack/neutron.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ stdenv, fetchurl, python2Packages, xmlsec, which, dnsmasq }: - -python2Packages.buildPythonApplication rec { - name = "neutron-${version}"; - version = "7.0.0"; - namePrefix = ""; - - PBR_VERSION = "${version}"; - - src = fetchurl { - url = "https://github.com/openstack/neutron/archive/${version}.tar.gz"; - sha256 = "02ll081xly7zfjmgkal81fy3aplbnn5zgx8xfy3yy1nv3kfnyi40"; - }; - - # https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt - propagatedBuildInputs = with python2Packages; [ - pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests - jinja2 keystonemiddleware netaddr retrying sqlalchemy webob alembic six - stevedore pecan ryu networking-hyperv MySQL_python - - # clients - keystoneclient neutronclient novaclient - - # oslo components - oslo-concurrency oslo-config oslo-context oslo-db oslo-i18n oslo-log oslo-messaging - oslo-middleware oslo-policy oslo-rootwrap oslo-serialization oslo-service oslo-utils - oslo-versionedobjects - ]; - - # make sure we include migrations - prePatch = '' - echo "graft neutron" >> MANIFEST.in - substituteInPlace etc/neutron/rootwrap.d/dhcp.filters --replace "/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" - ''; - patches = [ ./neutron-iproute-4.patch ]; - - buildInputs = with python2Packages; [ - cliff coverage fixtures mock subunit requests-mock oslosphinx testrepository - testtools testresources testscenarios webtest oslotest os-testr tempest-lib - ddt pep8 - ]; - - postInstall = '' - # requires extra optional dependencies - # TODO: package networking_mlnx, networking_vsphere, bsnstacklib, XenAPI - rm $out/bin/{neutron-mlnx-agent,neutron-ovsvapp-agent,neutron-restproxy-agent,neutron-rootwrap-xen-dom0} - - # check all binaries don't crash - for i in $out/bin/*; do - case "$i" in - *neutron-pd-notify|*neutron-rootwrap-daemon|*neutron-rootwrap) - : - ;; - *) - $i --help - esac - done - ''; - - meta = with stdenv.lib; { - homepage = http://neutron.openstack.org/; - description = "Virtual network service for Openstack"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.linux; - # Marked as broken due to needing an update for security issues. - # See: https://github.com/NixOS/nixpkgs/issues/18856 - broken = true; - }; -} diff --git a/pkgs/applications/virtualization/openstack/nova.nix b/pkgs/applications/virtualization/openstack/nova.nix deleted file mode 100644 index ef3eb2fb084..00000000000 --- a/pkgs/applications/virtualization/openstack/nova.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ stdenv, fetchurl, python2Packages, openssl, openssh }: - -python2Packages.buildPythonApplication rec { - name = "nova-${version}"; - version = "12.0.0"; - namePrefix = ""; - - PBR_VERSION = "${version}"; - - src = fetchurl { - url = "https://github.com/openstack/nova/archive/${version}.tar.gz"; - sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w"; - }; - - # otherwise migrate.cfg is not installed - patchPhase = '' - echo "graft nova" >> MANIFEST.in - - # remove transient error test, see http://hydra.nixos.org/build/40203534 - rm nova/tests/unit/compute/test_{shelve,compute_utils}.py - ''; - - # https://github.com/openstack/nova/blob/stable/liberty/requirements.txt - propagatedBuildInputs = with python2Packages; [ - pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography - webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr - netifaces paramiko Babel iso8601 jsonschema keystoneclient requests six - stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql - keystonemiddleware MySQL_python - - # oslo components - oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context - oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging - oslo-concurrency oslo-versionedobjects - - # clients - cinderclient neutronclient glanceclient - ]; - - buildInputs = with python2Packages; [ - coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx - oslotest testrepository testresources testtools tempest-lib bandit - oslo-vmware pep8 barbicanclient ironicclient openssl openssh - ]; - - postInstall = '' - cp -prvd etc $out/etc - - # check all binaries don't crash - for i in $out/bin/*; do - case "$i" in - *nova-dhcpbridge*) - : - ;; - *nova-rootwrap*) - : - ;; - *) - $i --help - ;; - esac - done - ''; - - meta = with stdenv.lib; { - homepage = http://nova.openstack.org/; - description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/virtualization/openstack/remove-oslo-policy-tests.patch b/pkgs/applications/virtualization/openstack/remove-oslo-policy-tests.patch deleted file mode 100644 index 3cdc27a2d2a..00000000000 --- a/pkgs/applications/virtualization/openstack/remove-oslo-policy-tests.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 6016d017004acaae288312b196ef07ea98e9962d Mon Sep 17 00:00:00 2001 -From: Brant Knudson -Date: Mon, 12 Oct 2015 15:12:45 -0500 -Subject: [PATCH] Remove oslo.policy implementation tests from keystone - -oslo.policy 0.12.0 contains a change to use requests to do the http -check rather than urllib. This change caused keystone tests to fail -because the keystone tests were mocking urllib, making assumptions -about how oslo.policy is implemented. Keystone doesn't need to test -internal features of oslo.policy, so these tests are removed. - -Change-Id: I9d6e4950b9fe75cbb94100c8effdcec002642027 -Closes-Bug: 1505374 ---- - keystone/tests/unit/test_policy.py | 24 ------------------------ - 1 file changed, 24 deletions(-) - -diff --git a/keystone/tests/unit/test_policy.py b/keystone/tests/unit/test_policy.py -index b2f0e52..686e2b7 100644 ---- a/keystone/tests/unit/test_policy.py -+++ b/keystone/tests/unit/test_policy.py -@@ -16,10 +16,8 @@ - import json - import os - --import mock - from oslo_policy import policy as common_policy - import six --from six.moves.urllib import request as urlrequest - from testtools import matchers - - from keystone import exception -@@ -118,28 +116,6 @@ def test_enforce_good_action(self): - action = "example:allowed" - rules.enforce(self.credentials, action, self.target) - -- def test_enforce_http_true(self): -- -- def fakeurlopen(url, post_data): -- return six.StringIO("True") -- -- action = "example:get_http" -- target = {} -- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen): -- result = rules.enforce(self.credentials, action, target) -- self.assertTrue(result) -- -- def test_enforce_http_false(self): -- -- def fakeurlopen(url, post_data): -- return six.StringIO("False") -- -- action = "example:get_http" -- target = {} -- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen): -- self.assertRaises(exception.ForbiddenAction, rules.enforce, -- self.credentials, action, target) -- - def test_templatized_enforcement(self): - target_mine = {'project_id': 'fake'} - target_not_mine = {'project_id': 'another'} diff --git a/pkgs/development/python-modules/fix_swiftclient_mocking.patch b/pkgs/development/python-modules/fix_swiftclient_mocking.patch deleted file mode 100644 index 027ef56b317..00000000000 --- a/pkgs/development/python-modules/fix_swiftclient_mocking.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f37947a7e083532676a9f2ed079dff6bdc19a8e9 Mon Sep 17 00:00:00 2001 -From: Sabari Kumar Murugesan -Date: Tue, 15 Sep 2015 14:22:11 -0700 -Subject: [PATCH] Fix swift store tests for latest swiftclient - -The latest swiftclient (2.6.0) breaks some of the swift store -tests as a mock function's parameters got changed. - -Change-Id: I36512fbe642f4f12cf1382fdf0e37eccbf1acba4 ---- - glance_store/tests/unit/test_swift_store.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glance_store/tests/unit/test_swift_store.py b/glance_store/tests/unit/test_swift_store.py -index f738cf9..3fe4699 100644 ---- a/glance_store/tests/unit/test_swift_store.py -+++ b/glance_store/tests/unit/test_swift_store.py -@@ -92,7 +92,7 @@ def fake_head_container(url, token, container, **kwargs): - def fake_put_container(url, token, container, **kwargs): - fixture_containers.append(container) - -- def fake_post_container(url, token, container, headers, http_conn=None): -+ def fake_post_container(url, token, container, headers, **kwargs): - for key, value in six.iteritems(headers): - fixture_container_headers[key] = value - diff --git a/pkgs/development/python-modules/keystoneauth1/default.nix b/pkgs/development/python-modules/keystoneauth1/default.nix deleted file mode 100644 index 7405f7f74cd..00000000000 --- a/pkgs/development/python-modules/keystoneauth1/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ buildPythonPackage, isPyPy, fetchPypi, python -, pbr, testtools, testresources, testrepository, mock -, pep8, fixtures, mox3, requests-mock -, iso8601, requests, six, stevedore, webob, oslo-config -, pyyaml, betamax, oauthlib -}: - -buildPythonPackage rec { - pname = "keystoneauth1"; - version = "3.2.0"; - name = "${pname}-${version}"; - disabled = isPyPy; # a test fails - - src = fetchPypi { - inherit pname version; - sha256 = "0rg3harfyvai34lrjiqnl1crmvswjvj8nsviasnz4b9pcvp3d03n"; - }; - - buildInputs = [ pbr ]; - checkInputs = [ pyyaml betamax oauthlib testtools testresources - testrepository mock pep8 fixtures mox3 requests-mock ]; - propagatedBuildInputs = [ iso8601 requests six stevedore webob ]; - - doCheck = true; - # 1. oslo-config - # 2. oslo-utils - # 3. requests-kerberos - preCheck = '' - rm keystoneauth1/tests/unit/loading/test_{session,conf,adapter}.py - rm keystoneauth1/tests/unit/access/test_v{2,3}_access.py - rm keystoneauth1/tests/unit/extras/kerberos/test_fedkerb_loading.py - ''; - postPatch = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - substituteInPlace requirements.txt --replace "argparse" "" - ''; -} diff --git a/pkgs/development/python-modules/keystoneclient/default.nix b/pkgs/development/python-modules/keystoneclient/default.nix deleted file mode 100644 index a856f4db793..00000000000 --- a/pkgs/development/python-modules/keystoneclient/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub, python - -, pbr, testtools, testresources, testrepository -, requests-mock, fixtures, openssl, oslotest, pep8 - -, oslo-serialization, oslo-config, oslo-i18n, oslo-utils -, Babel, prettytable, requests, six, iso8601, stevedore -, netaddr, debtcollector, bandit, webob, mock, pycrypto -}: - -buildPythonPackage rec { - pname = "keystoneclient"; - version = "1.8.1"; - name = pname + "-" + version; - - src = fetchFromGitHub { - owner = "openstack"; - repo = "python-keystoneclient"; - rev = version; - sha256 = "0yayn1hb3mncqb0isy8vy6d519xya7mhf5pcbn60fzdqjrkj2prq"; - }; - - PBR_VERSION = "${version}"; - - buildInputs = [ - pbr testtools testresources testrepository requests-mock fixtures openssl - oslotest pep8 - ]; - propagatedBuildInputs = [ - oslo-serialization oslo-config oslo-i18n oslo-utils - Babel prettytable requests six iso8601 stevedore - netaddr debtcollector bandit webob mock pycrypto - ]; - - postPatch = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - sed -ie '/argparse/d' requirements.txt - ''; - - doCheck = false; # The checkPhase below is broken - - checkPhase = '' - patchShebangs run_tests.sh - ./run_tests.sh - ''; - - meta = with stdenv.lib; { - homepage = https://github.com/openstack/python-novaclient/; - description = "Client library and command line tool for the OpenStack Nova API"; - license = licenses.asl20; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/python-modules/os-testr/default.nix b/pkgs/development/python-modules/os-testr/default.nix deleted file mode 100644 index baafc44d10d..00000000000 --- a/pkgs/development/python-modules/os-testr/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, buildPythonPackage, fetchPypi, python, - pbr, Babel, testrepository, subunit, testtools, - coverage, oslosphinx, oslotest, testscenarios, six, ddt -}: -buildPythonPackage rec { - version = "0.8.2"; - pname = "os-testr"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "d8a60bd56c541714a5cab4d1996c8ddfdb5c7c35393d55be617803048c170837"; - }; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - sed -i 's@python@${python.interpreter}@' os_testr/tests/files/testr-conf - ''; - - checkPhase = '' - export PATH=$PATH:$out/bin - ${python.interpreter} setup.py test - ''; - - propagatedBuildInputs = [ pbr Babel testrepository subunit testtools ]; - buildInputs = [ coverage oslosphinx oslotest testscenarios six ddt ]; - - meta = with stdenv.lib; { - description = "A testr wrapper to provide functionality for OpenStack projects"; - homepage = http://docs.openstack.org/developer/os-testr/; - license = licenses.asl20; - }; -} diff --git a/pkgs/development/python-modules/oslo-config/default.nix b/pkgs/development/python-modules/oslo-config/default.nix deleted file mode 100644 index de91a507f17..00000000000 --- a/pkgs/development/python-modules/oslo-config/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, pbr, six, netaddr, stevedore, mock, -debtcollector, rfc3986, pyyaml, oslo-i18n }: - -buildPythonPackage rec { - pname = "oslo.config"; - version = "4.13.2"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "882e5f1dcc0e5b0d7af877b2df0e2692113c5975db8cbbbf0dd3d2b905aefc0b"; - }; - - propagatedBuildInputs = [ pbr six netaddr stevedore debtcollector rfc3986 pyyaml oslo-i18n ]; - buildInputs = [ mock ]; - - # TODO: circular import on oslo-i18n - doCheck = false; - - postPatch = '' - substituteInPlace requirements.txt --replace "argparse" "" - ''; - - meta = with lib; { - description = "Oslo Configuration API"; - homepage = "https://docs.openstack.org/oslo.config/latest/"; - license = licenses.asl20; - maintainers = with maintainers; [ makefu ]; - }; - - -} diff --git a/pkgs/development/python-modules/pyrax/default.nix b/pkgs/development/python-modules/pyrax/default.nix deleted file mode 100644 index 1337b3c32ad..00000000000 --- a/pkgs/development/python-modules/pyrax/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, buildPythonPackage, fetchurl, requests, novaclient, keyring, - rackspace-novaclient, six, isPy3k, pytest, glibcLocales }: -buildPythonPackage rec { - pname = "pyrax"; - version = "1.9.8"; - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://pypi/p/pyrax/${name}.tar.gz"; - sha256 = "1x98jzyxnvha81pgx3jpfixljhs7zik89yfp8q06kwpx8ws99nz9"; - }; - - # no good reason given in commit why limited, and seems to work - patchPhase = '' - substituteInPlace "setup.py" \ - --replace "python-novaclient==2.27.0" "python-novaclient" - ''; - - disabled = isPy3k; - propagatedBuildInputs = [ requests novaclient keyring rackspace-novaclient six ]; - - LC_ALL = "en_US.UTF-8"; - buildInputs = [ pytest glibcLocales ]; - - checkPhase = '' - py.test tests/unit - ''; - - meta = { - homepage = https://github.com/rackspace/pyrax; - license = lib.licenses.asl20; - description = "Python API to interface with Rackspace"; - maintainers = with lib.maintainers; [ teh ]; - }; -} diff --git a/pkgs/development/python-modules/rackspace-novaclient/default.nix b/pkgs/development/python-modules/rackspace-novaclient/default.nix deleted file mode 100644 index 3993503e956..00000000000 --- a/pkgs/development/python-modules/rackspace-novaclient/default.nix +++ /dev/null @@ -1,166 +0,0 @@ -{ buildPythonPackage, fetchurl, isPy3k, requests, novaclient, six, lib }: -let -os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec { - pname = "os_virtual_interfacesv2_python_novaclient_ext"; - version = "0.20"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/o/os-virtual-interfacesv2-python-novaclient-ext/${name}.tar.gz"; - sha256 = "17a4r8psxmfikgmzh709absbn5jsh1005whibmwhysj9fi0zyfbd"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://github.com/rackerlabs/os_virtual_interfacesv2_ext; - license = lib.licenses.asl20; - description = "Adds Virtual Interfaces support to python-novaclient"; - }; -}; - -ip-associations-python-novaclient-ext = buildPythonPackage rec { - pname = "ip_associations_python_novaclient_ext"; - version = "0.2"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/i/ip_associations_python_novaclient_ext/${name}.tar.gz"; - sha256 = "0dxfkfjhzskafmb01y8hzbcpvc4cd6fas1s50dzcmg29w4z6qmz4"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://github.com/rackerlabs/ip_associations_python_novaclient_ext; - license = lib.licenses.asl20; - description = "Adds Rackspace ip_associations support to python-novaclient"; - }; -}; - -rackspace-auth-openstack = buildPythonPackage rec { - pname = "rackspace-auth-openstack"; - version = "1.3"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/r/rackspace-auth-openstack/${name}.tar.gz"; - sha256 = "1kaiyvgwmavw2mh0s32yjk70xsziynjdhi01qn9a8kljn7p6kh64"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://pypi.python.org/pypi/rackspace-auth-openstack; - license = lib.licenses.asl20; - description = "Rackspace Auth Plugin for OpenStack Clients."; - }; -}; -rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec { - pname = "rax_default_network_flags_python_novaclient_ext"; - version = "0.4.0"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/r/rax_default_network_flags_python_novaclient_ext/${name}.tar.gz"; - sha256 = "00b0csb58k6rr1is68bkkw358mms8mmb898bm8bbr8g7j2fz8aw5"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://pypi.python.org/simple/rax-default-network-flags-python-novaclient-ext; - license = lib.licenses.asl20; - description = "Novaclient Extension for Instance Default Network Flags"; - }; -}; -os-networksv2-python-novaclient-ext = buildPythonPackage rec { - pname = "os_networksv2_python_novaclient_ext"; - version = "0.26"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/o/os_networksv2_python_novaclient_ext/${name}.tar.gz"; - sha256 = "06dzqmyrwlq7hla6dk699z18c8v27qr1gxqknimwxlwqdlhpafk1"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://pypi.python.org/pypi/os_networksv2_python_novaclient_ext; - license = lib.licenses.asl20; - description = "Adds rackspace networks support to python-novaclient"; - }; -}; - -rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec { - pname = "rax_scheduled_images_python_novaclient_ext"; - version = "0.3.1"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/r/rax_scheduled_images_python_novaclient_ext/${name}.tar.gz"; - sha256 = "1nvwjgrkp1p1d27an393qf49pszm1nvqa2ychhbqmp0bnabwyw7i"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://pypi.python.org/pypi/rax_scheduled_images_python_novaclient_ext; - license = lib.licenses.asl20; - description = "Extends python-novaclient to use RAX-SI, the Rackspace Nova API Scheduled Images extension"; - }; -}; - -os-diskconfig-python-novaclient-ext = buildPythonPackage rec { - pname = "os_diskconfig_python_novaclient_ext"; - version = "0.1.3"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/o/os_diskconfig_python_novaclient_ext/${name}.tar.gz"; - sha256 = "0xayy5nlkgl9yr0inqkwirlmar8pv1id29r59lj70g5plwrr5lg7"; - }; - - propagatedBuildInputs = [ six novaclient ]; - - meta = { - homepage = https://pypi.python.org/pypi/os_diskconfig_python_novaclient_ext; - license = lib.licenses.asl20; - description = "Disk Config extension for python-novaclient"; - }; -}; - -in -buildPythonPackage rec { - pname = "rackspace-novaclient"; - version = "2.1"; - name = pname + "-" + version; - - src = fetchurl { - url = "mirror://pypi/r/rackspace-novaclient/${name}.tar.gz"; - sha256 = "1rzaa328hzm8hs9q99gvjr64x47fmcq4dv4656rzxq5s4gv49z12"; - }; - - disabled = isPy3k; - propagatedBuildInputs = [ - requests - novaclient - six - # extensions - ip-associations-python-novaclient-ext - os-diskconfig-python-novaclient-ext - os-networksv2-python-novaclient-ext - os-virtual-interfacesv2-python-novaclient-ext - rackspace-auth-openstack - rax-default-network-flags-python-novaclient-ext - rax-scheduled-images-python-novaclient-ext - ]; - - meta = { - homepage = https://pypi.python.org/pypi/rackspace-novaclient/; - license = lib.licenses.asl20; - description = "Metapackage to install python-novaclient and Rackspace extensions"; - maintainers = with lib.maintainers; [ teh ]; - }; -} diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix index 258f84e8c72..c2e454d08cd 100644 --- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix +++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix @@ -1,20 +1,25 @@ -{ stdenv, buildPythonPackage, fetchurl, python, - unittest2, scripttest, pytz, pylint, tempest-lib, mock, testtools, - pbr, tempita, decorator, sqlalchemy, six, sqlparse +{ stdenv, buildPythonPackage, fetchPypi, python +, unittest2, scripttest, pytz, pylint, mock +, testtools, pbr, tempita, decorator, sqlalchemy +, six, sqlparse, testrepository }: buildPythonPackage rec { pname = "sqlalchemy-migrate"; - name = "${pname}-${version}"; version = "0.11.0"; - src = fetchurl { - url = "mirror://pypi/s/sqlalchemy-migrate/${name}.tar.gz"; + src = fetchPypi { + inherit pname version; sha256 = "0ld2bihp9kmf57ykgzrfgxs4j9kxlw79sgdj9sfn47snw3izb2p6"; }; - checkInputs = [ unittest2 scripttest pytz pylint mock testtools tempest-lib ]; + checkInputs = [ unittest2 scripttest pytz pylint mock testtools testrepository ]; propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ]; + prePatch = '' + sed -i -e /tempest-lib/d \ + -e /testtools/d \ + test-requirements.txt + ''; checkPhase = '' export PATH=$PATH:$out/bin echo sqlite:///__tmp__ > test_db.cfg diff --git a/pkgs/development/python-modules/stevedore/default.nix b/pkgs/development/python-modules/stevedore/default.nix index 1955320fd26..326282a39c3 100644 --- a/pkgs/development/python-modules/stevedore/default.nix +++ b/pkgs/development/python-modules/stevedore/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, oslosphinx, pbr, six, argparse }: +{ stdenv, buildPythonPackage, fetchPypi, pbr, six, argparse }: buildPythonPackage rec { pname = "stevedore"; @@ -12,7 +12,6 @@ buildPythonPackage rec { doCheck = false; - buildInputs = [ oslosphinx ]; propagatedBuildInputs = [ pbr six argparse ]; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97452fe38ed..8812bf05ef0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16128,12 +16128,6 @@ with pkgs; notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { }; - # Open Stack - nova = callPackage ../applications/virtualization/openstack/nova.nix { }; - keystone = callPackage ../applications/virtualization/openstack/keystone.nix { }; - neutron = callPackage ../applications/virtualization/openstack/neutron.nix { }; - glance = callPackage ../applications/virtualization/openstack/glance.nix { }; - nova-filters = callPackage ../applications/audio/nova-filters { }; nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 715e1ccd8fe..c5877ed5673 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3047,105 +3047,6 @@ in { curtsies = callPackage ../development/python-modules/curtsies { }; - oslo-vmware = buildPythonPackage rec { - name = "oslo.vmware-${version}"; - version = "1.22.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.vmware/${name}.tar.gz"; - sha256 = "1119q3x2y3hjz3p784byr13aqay75pbj4cb8v43gjq5piqlpp16x"; - }; - - propagatedBuildInputs = with self; [ - pbr stevedore netaddr iso8601 six oslo-i18n oslo-utils Babel pyyaml eventlet - requests urllib3 oslo-concurrency suds-jurko - ]; - buildInputs = with self; [ - bandit oslosphinx coverage testtools testscenarios testrepository mock - - ]; - }; - - barbicanclient = buildPythonPackage rec { - name = "barbicanclient-${version}"; - version = "3.3.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-barbicanclient/python-barbicanclient-${version}.tar.gz"; - sha256 = "1kxnxiijvkkc8ahlfbkslpzxcbah7y5pi86hvkyac62xzda87inm"; - }; - - propagatedBuildInputs = with self; [ - pbr argparse requests six keystoneclient cliff oslo-i18n oslo-serialization - oslo-utils - ]; - buildInputs = with self; [ - oslosphinx oslotest requests-mock - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - - ironicclient = buildPythonPackage rec { - name = "ironicclient-${version}"; - version = "0.9.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-ironicclient/python-ironicclient-${version}.tar.gz"; - sha256 = "16kaixrmnx6a32mfv281w22h8lavjh0k9yiqikmwc986ydh85s4d"; - }; - - propagatedBuildInputs = with self; [ - six keystoneclient prettytable oslo-utils oslo-i18n lxml httplib2 cliff - dogpile_cache appdirs anyjson pbr openstackclient - ]; - buildInputs = with self; [ - httpretty - ]; - - meta = with stdenv.lib; { - description = "Python bindings for the Ironic API"; - homepage = "http://www.openstack.org/"; - }; - }; - - novaclient = buildPythonPackage rec { - name = "novaclient-${version}"; - version = "2.31.0"; - - src = pkgs.fetchurl { - url = "https://github.com/openstack/python-novaclient/archive/${version}.tar.gz"; - sha256 = "0cd49yz9qhpv1srg6wwjnivyb3i8zjxda0h439158qv9w6bfqhdf"; - }; - - PBR_VERSION = "${version}"; - - buildInputs = with self; [ - pbr testtools testscenarios testrepository requests-mock fixtures ]; - propagatedBuildInputs = with self; [ - Babel argparse prettytable requests simplejson six iso8601 - keystoneclient tempest-lib ]; - - # TODO: check if removing this test is really harmless - preCheck = '' - substituteInPlace novaclient/tests/unit/v2/test_servers.py --replace "test_get_password" "noop" - ''; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - meta = { - homepage = https://github.com/openstack/python-novaclient/; - description = "Client library and command line tool for the OpenStack Nova API"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.linux; - }; - }; - tablib = buildPythonPackage rec { name = "tablib-${version}"; version = "0.10.0"; @@ -3164,27 +3065,6 @@ in { }; - cliff-tablib = buildPythonPackage rec { - name = "cliff-tablib-${version}"; - version = "1.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/c/cliff-tablib/cliff-tablib-${version}.tar.gz"; - sha256 = "0fa1qw41lwda5ac3z822qhzbilp51y6p1wlp0h76vrvqcqgxi3ja"; - }; - - propagatedBuildInputs = with self; [ - argparse pyyaml pbr six cmd2 tablib unicodecsv prettytable stevedore pyparsing cliff - ]; - buildInputs = with self; [ - - ]; - - meta = with stdenv.lib; { - homepage = "https://github.com/dreamhost/cliff-tablib"; - }; - }; - openant = buildPythonPackage rec { name = "openant-unstable-2017-02-11"; @@ -3228,33 +3108,6 @@ in { openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {}; - openstackclient = buildPythonPackage rec { - name = "openstackclient-${version}"; - version = "1.7.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-openstackclient/python-openstackclient-${version}.tar.gz"; - sha256 = "0h1jkrwx06l32k50zq5gs9iba132q2x2jjb3z5gkxxlcd3apk8y9"; - }; - - propagatedBuildInputs = with self; [ - pbr six Babel cliff os-client-config oslo-config oslo-i18n oslo-utils - glanceclient keystoneclient novaclient cinderclient neutronclient requests - stevedore cliff-tablib - ]; - buildInputs = with self; [ - requests-mock - ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - meta = with stdenv.lib; { - homepage = "http://wiki.openstack.org/OpenStackClient"; - }; - }; - - idna = buildPythonPackage rec { pname = "idna"; @@ -12708,357 +12561,11 @@ in { }; }; - oslosphinx = buildPythonPackage rec { - name = "oslosphinx-3.3.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslosphinx/${name}.tar.gz"; - sha256 = "1rjiiahw2y7pg5rl15fvhmfyh26vm433000nwp7c94khx7w85w75"; - }; - - doCheck = false; - - propagatedBuildInputs = with self; [ - pbr requests sphinx_1_2 - ]; - }; - - tempest-lib = buildPythonPackage rec { - name = "tempest-lib-${version}"; - version = "0.10.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tempest-lib/${name}.tar.gz"; - sha256 = "0x842a67k9f7yk3zr6755s4qldkfngljqy5whd4jb553y4hn5lyj"; - }; - - patchPhase = '' - substituteInPlace tempest_lib/tests/cli/test_execute.py --replace "/bin/ls" "${pkgs.coreutils}/bin/ls" - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - buildInputs = with self; [ testtools testrepository subunit oslotest ]; - propagatedBuildInputs = with self; [ - pbr six paramiko httplib2 jsonschema iso8601 fixtures Babel oslo-log - os-testr ]; - - }; - - os-testr = callPackage ../development/python-modules/os-testr { }; - - bandit = buildPythonPackage rec { - name = "bandit-${version}"; - version = "0.16.1"; - disabled = isPy33; - doCheck = !isPyPy; # a test fails - - src = pkgs.fetchurl { - url = "mirror://pypi/b/bandit/${name}.tar.gz"; - sha256 = "0qd9kxknac5n5xfl5zjnlmk6jr94krkcx29zgyna8p9lyb828hsk"; - }; - - propagatedBuildInputs = with self; [ pbr six pyyaml appdirs stevedore ]; - buildInputs = with self; [ beautifulsoup4 oslosphinx testtools testscenarios - testrepository fixtures mock ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - oslo-serialization = buildPythonPackage rec { - pname = "oslo.serialization"; - version = "2.20.0"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "00j8hn8f0shk4anzb6zwn8w1sfxcil9a3jgxljwalq6ma2rzp9pw"; - }; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - propagatedBuildInputs = with self; [ pbr Babel six iso8601 pytz oslo-utils msgpack netaddr ]; - buildInputs = with self; [ oslotest mock coverage simplejson oslo-i18n ]; - }; - rfc3986 = callPackage ../development/python-modules/rfc3986 { }; - pycadf = buildPythonPackage rec { - name = "pycadf-${version}"; - version = "1.1.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/pycadf/pycadf-1.1.0.tar.gz"; - sha256 = "0lv9nhbvj1pa8qgn3qvyk9k4q8f7w541074n1rhdjnjkinh4n4dg"; - }; - - propagatedBuildInputs = with self; [ - oslo-i18n argparse six wrapt oslo-utils pbr oslo-config Babel netaddr - monotonic iso8601 pytz stevedore oslo-serialization msgpack - debtcollector netifaces - ]; - buildInputs = with self; [ - oslosphinx testtools testrepository oslotest - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - meta = with stdenv.lib; { - homepage = https://launchpad.net/pycadf; - }; - }; - - - oslo-utils = buildPythonPackage rec { - pname = "oslo.utils"; - version = "3.29.0"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "0l90ijw96czjd6z8bw88983rsnq5753iw86rhk1wi064w4rs19ig"; - }; - - propagatedBuildInputs = with self; [ pbr Babel six iso8601 pytz netaddr netifaces - monotonic oslo-i18n wrapt debtcollector ]; - buildInputs = with self; [ oslotest mock coverage oslosphinx ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - oslo-middleware = buildPythonPackage rec { - name = "oslo.middleware-${version}"; - version = "2.9.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.middleware/${name}.tar.gz"; - sha256 = "14acinchdpmc1in39mz9kh1h2rd1ygwg3zdhbwzrlhy8wbzzi4w9"; - }; - - propagatedBuildInputs = with self; [ - oslo-i18n six oslo-utils pbr oslo-config Babel oslo-context stevedore - jinja2 webob debtcollector - ]; - buildInputs = with self; [ - coverage testtools oslosphinx oslotest - ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - sed -i '/ordereddict/d' requirements.txt - ''; - - meta = with stdenv.lib; { - homepage = "http://wiki.openstack.org/wiki/Oslo#oslo.middleware"; - }; - }; - - oslo-versionedobjects = buildPythonPackage rec { - name = "oslo.versionedobjects-${version}"; - version = "0.11.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.versionedobjects/${name}.tar.gz"; - sha256 = "1ddcb2zf7a3544ay4sxw200a4mz7p0n1f7826h3vibfdqjlc80y7"; - }; - - propagatedBuildInputs = with self; [ - six Babel oslo-concurrency oslo-config oslo-context oslo-messaging - oslo-serialization oslo-utils iso8601 oslo-log oslo-i18n webob - ]; - buildInputs = with self; [ - oslo-middleware cachetools_1 oslo-service futurist anyjson oslosphinx - testtools oslotest - ]; - - meta = with stdenv.lib; { - homepage = "http://launchpad.net/oslo"; - }; - }; - cachetools_1 = callPackage ../development/python-modules/cachetools/1.nix {}; cachetools = callPackage ../development/python-modules/cachetools {}; - futurist = buildPythonPackage rec { - name = "futurist-${version}"; - version = "0.7.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/f/futurist/${name}.tar.gz"; - sha256 = "0wf0k9xf5xzmi79418xq8zxwr7w7a4g4alv3dds9afb2l8bh9crg"; - }; - - patchPhase = '' - sed -i "s/test_gather_stats/noop/" futurist/tests/test_executors.py - ''; - - propagatedBuildInputs = with self; [ - contextlib2 pbr six monotonic futures eventlet - ]; - buildInputs = with self; [ - testtools testscenarios testrepository oslotest subunit - ]; - - # breaks in sandboxing - doCheck = false; - }; - - oslo-messaging = buildPythonPackage rec { - name = "oslo.messaging-${version}"; - version = "2.7.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.messaging/${name}.tar.gz"; - sha256 = "1af7l4ri3xfjcnjp2yhngz34h3ls00yyj1x8i64dxb86ryy43kd1"; - }; - - propagatedBuildInputs = with self; [ - pbr oslo-config oslo-context oslo-log oslo-utils oslo-serialization - oslo-i18n stevedore six eventlet greenlet webob pyyaml kombu_3 trollius - aioeventlet cachetools_1 oslo-middleware futurist redis oslo-service - eventlet pyzmq - ]; - - buildInputs = with self; [ - oslotest mock mox3 subunit testtools testscenarios testrepository - fixtures oslosphinx - ]; - - preBuild = '' - # transient failure https://bugs.launchpad.net/oslo.messaging/+bug/1510481 - sed -i 's/test_send_receive/noop/' oslo_messaging/tests/drivers/test_impl_rabbit.py - ''; - }; - - os-brick = buildPythonPackage rec { - name = "os-brick-${version}"; - version = "0.5.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/os-brick/${name}.tar.gz"; - sha256 = "1q05yk5hada470rwsv3hfjn7pdp9n7pprmnslm723l7cfhf7cgm6"; - }; - - propagatedBuildInputs = with self; [ - six retrying oslo-utils oslo-service oslo-i18n oslo-serialization oslo-log - oslo-concurrency eventlet Babel pbr - ]; - buildInputs = with self; [ - testtools testscenarios testrepository requests - ]; - - checkPhase = '' - ${python.interpreter} -m subunit.run discover -t ./ . - ''; - - meta = with stdenv.lib; { - homepage = "http://www.openstack.org/"; - }; - }; - - oslo-reports = buildPythonPackage rec { - name = "oslo.reports-${version}"; - version = "0.6.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.reports/${name}.tar.gz"; - sha256 = "0j27mbsa5y1fn9lxn98xs7p9vipcig47srm5sgbgma0ilv125b65"; - }; - - propagatedBuildInputs = with self; [ - oslo-i18n oslo-utils oslo-serialization six psutil_1 Babel jinja2 pbr psutil_1 - ]; - buildInputs = with self; [ - coverage greenlet eventlet oslosphinx oslotest - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - cinderclient = buildPythonPackage rec { - name = "cinderclient-${version}"; - version = "1.4.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-cinderclient/python-cinderclient-${version}.tar.gz"; - sha256 = "1vfcjljfad3034bfhfcrfhphym1ik6qk42nrxzl0gqb9408n6k3l"; - }; - - propagatedBuildInputs = with self; [ - six Babel simplejson requests keystoneclient prettytable argparse pbr - ]; - buildInputs = with self; [ - testrepository requests-mock - ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - meta = with stdenv.lib; { - description = "Python bindings to the OpenStack Cinder API"; - homepage = "http://www.openstack.org/"; - broken = true; - }; - }; - - neutronclient = buildPythonPackage rec { - name = "neutronclient-${version}"; - version = "3.1.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-neutronclient/python-neutronclient-${version}.tar.gz"; - sha256 = "0g96x5b8lz407in70j6v7jbj613y6sd61b21j1y03x06b2rk5i02"; - }; - - propagatedBuildInputs = with self; [ - pbr six simplejson keystoneclient requests oslo-utils oslo-serialization - oslo-i18n netaddr iso8601 cliff argparse - ]; - buildInputs = with self; [ - tempest-lib mox3 oslotest requests-mock - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - # test fails on py3k - ${if isPy3k then "substituteInPlace neutronclient/tests/unit/test_cli20_port.py --replace 'test_list_ports_with_fixed_ips_in_csv' 'noop'" else ""} - ''; - - meta = with stdenv.lib; { - description = "Python bindings to the Neutron API"; - homepage = "http://www.openstack.org/"; - }; - }; - - cliff = buildPythonPackage rec { - name = "cliff-${version}"; - version = "1.15.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/c/cliff/${name}.tar.gz"; - sha256 = "1rrbq1nvc84x417hbfm9sc1scia16nilr8nm8ycm8iq5jkh6zfpm"; - }; - - propagatedBuildInputs = with self; [ - argparse pyyaml pbr six cmd2 stevedore unicodecsv prettytable pyparsing - ]; - buildInputs = with self; [ - httplib2 oslosphinx coverage mock nose tempest-lib - ]; - - meta = with stdenv.lib; { - homepage = "https://launchpad.net/python-cliff"; - # requires an update, incompatible with current dependencies (pbr) - broken = true; - }; - }; - cmd2 = buildPythonPackage rec { name = "cmd2-${version}"; version = "0.7.7"; @@ -13083,80 +12590,6 @@ in { }; }; - - oslo-db = buildPythonPackage rec { - name = "oslo.db-${version}"; - version = "3.0.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.db/${name}.tar.gz"; - sha256 = "0jjimsfl53wigzf92dhns813n65qcwilcqlj32m86rxrcz0pjgph"; - }; - - propagatedBuildInputs = with self; [ - six stevedore sqlalchemy_migrate sqlalchemy oslo-utils oslo-context - oslo-config oslo-i18n iso8601 Babel alembic pbr psycopg2 - ]; - buildInputs = with self; [ - tempest-lib testresources mock oslotest - ]; - }; - - oslo-rootwrap = buildPythonPackage rec { - name = "oslo.rootwrap-${version}"; - version = "2.4.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.rootwrap/${name}.tar.gz"; - sha256 = "1711rlmykizw675ihbaqmk3ph6ah0njbygxr9lrdnacy6yrlmbd5"; - }; - - # https://bugs.launchpad.net/oslo.rootwrap/+bug/1519839 - patchPhase = '' - substituteInPlace oslo_rootwrap/filters.py \ - --replace "/bin/cat" "${pkgs.coreutils}/bin/cat" \ - --replace "/bin/kill" "${pkgs.coreutils}/bin/kill" - ''; - - buildInputs = with self; [ eventlet mock oslotest ]; - propagatedBuildInputs = with self; [ - six pbr - ]; - - # way too many assumptions - doCheck = false; - }; - - glanceclient = buildPythonPackage rec { - name = "glanceclient-${version}"; - version = "1.1.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-glanceclient/python-glanceclient-${version}.tar.gz"; - sha256 = "0ppjafsmf29ps23jsw6g2xm66pdi5jdzpywglqqm28b8fj931zsr"; - }; - - propagatedBuildInputs = with self; [ - oslo-i18n oslo-utils six requests keystoneclient prettytable Babel pbr - argparse warlock - ]; - buildInputs = with self; [ - tempest-lib requests-mock - ]; - - checkPhase = '' - ${python.interpreter} -m subunit.run discover -t ./ . - ''; - - meta = with stdenv.lib; { - description = "Python bindings to the OpenStack Images API"; - homepage = "http://www.openstack.org/"; - - # requires an update, incompatible with current dependencies (pbr) - broken = true; - }; - }; - warlock = buildPythonPackage rec { name = "warlock-${version}"; version = "1.2.0"; @@ -13179,57 +12612,6 @@ in { }; - oslo-service = buildPythonPackage rec { - pname = "oslo.service"; - version = "1.26.0"; - - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "083q7z6nrska5fq12vnd70blphxscd7ivca2d78jk84d99h0m5n5"; - }; - - propagatedBuildInputs = with self; [ - repoze_lru PasteDeploy Babel oslo-context debtcollector - oslo-concurrency wrapt eventlet six oslo-serialization greenlet paste - oslo-config monotonic iso8601 oslo-log pytz routes msgpack - oslo-i18n argparse oslo-utils pbr enum34 netaddr stevedore netifaces - pyinotify webob retrying pyinotify oslo-log ]; - buildInputs = with self; [ - oslosphinx oslotest pkgs.procps mock mox3 fixtures subunit testrepository - testtools testscenarios - ]; - - ## cannot import eventlet due to: - # _proto_tcp = socket.getprotobyname('tcp') - doCheck = false; - - meta = with stdenv.lib; { - homepage = "http://wiki.openstack.org/wiki/Oslo#oslo.service"; - }; - }; - - oslo-cache = buildPythonPackage rec { - name = "oslo.cache-${version}"; - version = "0.9.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.cache/${name}.tar.gz"; - sha256 = "0dzvm5xkfj1alf469d7v3syig9f91kjh4p55k57ykgaww3y4cdjp"; - }; - - propagatedBuildInputs = with self; [ - Babel dogpile_cache six oslo-config oslo-i18n oslo-log oslo-utils - ]; - buildInputs = with self; [ - oslosphinx oslotest memcached pymongo - ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - pecan = callPackage ../development/python-modules/pecan { }; kaitaistruct = callPackage ../development/python-modules/kaitaistruct { }; @@ -13252,31 +12634,6 @@ in { }; }; - ryu = buildPythonPackage rec { - name = "ryu-${version}"; - version = "3.26"; - - propagatedBuildInputs = with self; [ - pbr paramiko lxml - ]; - buildInputs = with self; [ - webtest routes oslo-config msgpack eventlet FormEncode - ]; - - preCheck = '' - # we don't really need linters - sed -i '/pylint/d' tools/test-requires - sed -i '/pep8/d' tools/test-requires - ''; - - src = pkgs.fetchurl { - url = "mirror://pypi/r/ryu/${name}.tar.gz"; - sha256 = "1fhriqi7qnvvx9mbvlfm94i5drh920lg204zy3v0qjz43sinkih6"; - }; - - meta.broken = true; - }; - WSME = buildPythonPackage rec { name = "WSME-${version}"; version = "0.8.0"; @@ -13305,118 +12662,6 @@ in { ]; }; - taskflow = buildPythonPackage rec { - name = "taskflow-${version}"; - version = "1.23.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/taskflow/${name}.tar.gz"; - sha256 = "15np1rc6g9vksgdj0y930ysx5wbmhvc082g264j5zbj6c479g8qa"; - }; - - propagatedBuildInputs = with self; [ - pbr futures enum34 debtcollector cachetools_1 oslo-serialization oslo-utils - jsonschema monotonic stevedore networkx futurist pbr automaton fasteners - ]; - buildInputs = with self; [ - oslosphinx pymysql psycopg2 alembic redis eventlet kazoo zake kombu - testscenarios testtools mock oslotest - ]; - - preBuild = '' - # too many transient failures - rm taskflow/tests/unit/test_engines.py - ''; - - checkPhase = '' - sed -i '/doc8/d' test-requirements.txt - ${python.interpreter} setup.py test - ''; - }; - - glance_store = buildPythonPackage rec { - name = "glance_store-${version}"; - version = "0.9.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/g/glance_store/${name}.tar.gz"; - sha256 = "16az3lq9szl0ixna9rd82dmn4sfxqyivhn4z3z79vk8qdfip1sr9"; - }; - - # remove on next version bump - patches = [ - ../development/python-modules/fix_swiftclient_mocking.patch - ]; - - propagatedBuildInputs = with self; [ - oslo-config oslo-i18n oslo-serialization oslo-utils oslo-concurrency stevedore - enum34 eventlet six jsonschema swiftclient httplib2 pymongo - ]; - buildInputs = with self; [ - mock fixtures subunit requests-mock testrepository testscenarios testtools - oslotest oslosphinx boto oslo-vmware - ]; - - meta = with stdenv.lib; { - description = "Glance Store Library"; - homepage = "http://www.openstack.org/"; - }; - }; - - swiftclient = buildPythonPackage rec { - name = "swiftclient-${version}"; - version = "2.6.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-swiftclient/python-swiftclient-${version}.tar.gz"; - sha256 = "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"; - }; - - propagatedBuildInputs = with self; [ - pbr requests futures six - ]; - buildInputs = with self; [ - testtools testrepository mock - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - meta = with stdenv.lib; { - description = "Python bindings to the OpenStack Object Storage API"; - homepage = "http://www.openstack.org/"; - }; - }; - - - castellan = buildPythonPackage rec { - name = "castellan-${version}"; - version = "0.2.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/c/castellan/${name}.tar.gz"; - sha256 = "1im9b4qzq4yhn17jjc8927b3hn06h404vsx8chddw2jfp0v4ryfj"; - }; - - propagatedBuildInputs = with self; [ - pbr Babel cryptography oslo-config oslo-context oslo-log oslo-policy - oslo-serialization oslo-utils - ]; - buildInputs = with self; [ - subunit barbicanclient oslosphinx oslotest testrepository testtools - testscenarios - ]; - - preCheck = '' - # uses /etc/castellan/castellan-functional.conf - rm castellan/tests/functional/key_manager/test_barbican_key_manager.py - ''; - - meta = with stdenv.lib; { - homepage = "https://github.com/yahoo/Zake"; - }; - }; zake = buildPythonPackage rec { name = "zake-${version}"; @@ -13438,53 +12683,6 @@ in { }; }; - automaton = buildPythonPackage rec { - name = "automaton-${version}"; - version = "0.8.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/automaton/${name}.tar.gz"; - sha256 = "040rw7w92mp34a15vzvbfvhv1cg8zf81s9jbdd9rmwxr0gmgp2ya"; - }; - - propagatedBuildInputs = with self; [ - wrapt pbr Babel six pytz prettytable debtcollector - ]; - buildInputs = with self; [ - testtools testscenarios testrepository - ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - networking-hyperv = buildPythonPackage rec { - name = "networking-hyperv-${version}"; - version = "2015.1.0"; - disabled = isPy3k; # failing tests - - src = pkgs.fetchurl { - url = "mirror://pypi/n/networking-hyperv/${name}.tar.gz"; - sha256 = "04wfkl8rffxp6gp7qvhhc8y80cy0akmh3z7k7y2sj6savg9q7jdj"; - }; - - propagatedBuildInputs = with self; [ - pbr Babel oslo-config oslo-i18n oslo-serialization oslo-utils oslo-log - ]; - buildInputs = with self; [ - testtools testscenarios testrepository oslotest oslosphinx subunit eventlet - fixtures mock - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - # it has pinned pbr<1.0 - sed -i '/pbr/d' requirements.txt - # https://github.com/openstack/networking-hyperv/commit/56d66fc012846620a60cb8f18df5a1c889fe0e26 - sed -i 's/from oslo import i18n/import oslo_i18n as i18n/' hyperv/common/i18n.py - ''; - }; - kazoo = buildPythonPackage rec { name = "kazoo-${version}"; version = "2.2.1"; @@ -13519,29 +12717,6 @@ in { }; }; - osprofiler = buildPythonPackage rec { - name = "osprofiler-${version}"; - version = "0.3.0"; - disabled = isPyPy; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/osprofiler/${name}.tar.gz"; - sha256 = "01rjym49nn4ry1pr2n8fyal1hf17jqhp2yihg8gr15nfjc5iszkx"; - }; - - propagatedBuildInputs = with self; [ - pbr six webob - ]; - buildInputs = with self; [ - oslosphinx coverage mock subunit testrepository testtools - ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - substituteInPlace requirements.txt --replace "argparse" "" - ''; - }; - FormEncode = callPackage ../development/python-modules/FormEncode { }; pycountry = buildPythonPackage rec { @@ -13580,23 +12755,6 @@ in { }; }; - oslo-policy = buildPythonPackage rec { - name = "oslo.policy-${version}"; - version = "0.12.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.policy/${name}.tar.gz"; - sha256 = "06apaj6fwg7f2g5psmxzr5a9apj2l4k2y8kl1hqzyssykblij8ss"; - }; - - propagatedBuildInputs = with self; [ - requests oslo-config oslo-i18n oslo-serialization oslo-utils six - ]; - buildInputs = with self; [ - oslosphinx httpretty oslotest - ]; - }; - ldappool = buildPythonPackage rec { name = "ldappool-${version}"; version = "1.0"; @@ -13632,34 +12790,6 @@ in { }; }; - - oslo-concurrency = buildPythonPackage rec { - pname = "oslo.concurrency"; - version = "3.22.0"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "0nh1ycc2s6w05g5w63bsmmda0gw7qsrwlax3as8a0piai99z4m51"; - }; - - propagatedBuildInputs = with self; [ - oslo-i18n argparse six wrapt oslo-utils pbr enum34 Babel netaddr monotonic - iso8601 oslo-config pytz netifaces stevedore debtcollector retrying fasteners - eventlet - ]; - buildInputs = with self; [ - oslosphinx fixtures coverage oslotest - ] ++ (optional (!isPy3k) futures); - - # too much magic in tests - doCheck = false; - - meta = with stdenv.lib; { - homepage = http://launchpad.net/oslo; - }; - }; - retrying = buildPythonPackage rec { name = "retrying-${version}"; version = "1.3.3"; @@ -13729,100 +12859,6 @@ in { olefile = callPackage ../development/python-modules/olefile { }; - oslo-log = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "oslo.log"; - version = "3.31.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "1w08cl98n8592pvb2gw01mqlwi8nnnpg1zy10mvj6xdpvfk2yqzz"; - }; - - propagatedBuildInputs = with self; [ - pbr Babel six iso8601 debtcollector dateutil - oslo-utils oslo-i18n oslo-config oslo-serialization oslo-context - ] ++ stdenv.lib.optional stdenv.isLinux pyinotify; - buildInputs = with self; [ oslotest oslosphinx ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - oslo-context = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "oslo.context"; - version = "2.18.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "1sc7qrwffsm15m91c17k0xiglv6bxh9sbksvxvrrgja82m57mgh6"; - }; - - propagatedBuildInputs = with self; [ pbr Babel ]; - buildInputs = with self; [ oslotest coverage oslosphinx ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - oslo-i18n = buildPythonPackage rec { - name = "oslo.i18n-${version}"; - version = "3.18.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslo.i18n/${name}.tar.gz"; - sha256 = "19w6wil588fgppc7d42fqkrjs0y81ap62svzbij8hlb3w2d4a91n"; - }; - - propagatedBuildInputs = with self; [ pbr Babel six ]; - buildInputs = with self; [ mock coverage oslotest ]; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - oslo-config = callPackage ../development/python-modules/oslo-config { }; - - oslotest = buildPythonPackage rec { - name = "oslotest-${version}"; - version = "2.18.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/oslotest/${name}.tar.gz"; - sha256 = "0a0zhpb4yp7g6d290jk7a4pfci4ciwhsrqzhbwbl2szi50gp7km1"; - }; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - propagatedBuildInputs = with self; [ pbr fixtures subunit six testrepository - os-client-config debtcollector testscenarios testtools mock mox3 os-client-config ]; - }; - - os-client-config = buildPythonPackage rec { - name = "os-client-config-${version}"; - version = "1.28.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/o/os-client-config/${name}.tar.gz"; - sha256 = "1f7q384b9drp3fqcg0w8aihv9k4idaay8vr3an187zjpgbx9rgp5"; - }; - - # requires oslotest but is a dependency of that package ... - doCheck = false; - - buildInputs = with self; [ pbr testtools testscenarios testrepository fixtures jsonschema ]; - propagatedBuildInputs = with self; [ appdirs pyyaml keystoneauth1 requestsexceptions ]; - - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - }; - - keystoneauth1 = callPackage ../development/python-modules/keystoneauth1 {}; - requests-mock = buildPythonPackage rec { name = "requests-mock-${version}"; version = "1.3.0"; @@ -13861,25 +12897,6 @@ in { propagatedBuildInputs = with self; [ pbr fixtures ]; }; - debtcollector = buildPythonPackage rec { - name = "debtcollector-${version}"; - version = "1.17.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/d/debtcollector/${name}.tar.gz"; - sha256 = "0rh47fd5kgjcdv9dxr7xf0x308cvfic3h2zk03ifvb4pdc5kbqvi"; - }; - patchPhase = '' - sed -i 's@python@${python.interpreter}@' .testr.conf - ''; - - buildInputs = with self; [ pbr ]; - propagatedBuildInputs = with self; [ wrapt Babel six doc8 ] ++ - (optional (isPy26 || isPy27) funcsigs); - checkInputs = with self; [ pbr Babel six wrapt testtools testscenarios - testrepository subunit coverage ]; - }; - doc8 = callPackage ../development/python-modules/doc8 { }; wrapt = buildPythonPackage rec { @@ -16382,12 +15399,6 @@ in { doCheck = false; }; - rackspace-novaclient = callPackage ../development/python-modules/rackspace-novaclient { }; - - pyrax = callPackage ../development/python-modules/pyrax { - glibcLocales = pkgs.glibcLocales; - }; - pyreport = buildPythonPackage (rec { name = "pyreport-0.3.4c"; disabled = isPy3k; @@ -19237,31 +18248,6 @@ in { }; }; - keystoneclient = callPackage ../development/python-modules/keystoneclient { }; - - keystonemiddleware = buildPythonPackage rec { - name = "keystonemiddleware-${version}"; - version = "2.4.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/k/keystonemiddleware/${name}.tar.gz"; - sha256 = "0avrn1f897rnam9wfdanpdwsmn8is3ncfh3nnzq3d1m31b1yqqr6"; - }; - - buildInputs = with self; [ - fixtures mock pycrypto oslosphinx oslotest stevedore testrepository - testresources testtools bandit requests-mock memcached - pkgs.openssl - ]; - propagatedBuildInputs = with self; [ - pbr Babel oslo-config oslo-context oslo-i18n oslo-serialization oslo-utils - requests six webob keystoneclient pycadf oslo-messaging - ]; - - # lots of "unhashable type" errors - doCheck = false; - }; - testscenarios = buildPythonPackage rec { name = "testscenarios-${version}"; version = "0.4";