Moving to Liberty cycle (0.5)
Transitioned from deprecated oslo namespace to newer ones. Updated requirements. Updated configuration. Change-Id: Ic395878a21564ceed6febe85179523efd9956eb9
This commit is contained in:
parent
cfa7f0b44c
commit
1039e44ee6
|
@ -19,7 +19,7 @@ import logging
|
|||
import os
|
||||
from wsgiref import simple_server
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log
|
||||
from paste import deploy
|
||||
import pecan
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
import decimal
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from wsme import types as wtypes
|
||||
|
||||
from cloudkitty.api.v1 import types as cktypes
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.utils import uuidutils
|
||||
from oslo_utils import uuidutils
|
||||
from wsme import types as wtypes
|
||||
|
||||
from cloudkitty.i18n import _LE
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from stevedore import extension
|
||||
|
||||
from cloudkitty import config # noqa
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
from cloudkitty.common import rpc
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from stevedore import driver
|
||||
|
||||
from cloudkitty import config # noqa
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
from __future__ import print_function
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from oslo_utils import importutils as i_utils
|
||||
from stevedore import driver
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
import abc
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
|
||||
import cloudkitty.utils as ck_utils
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# @author: Stéphane Albert
|
||||
#
|
||||
from ceilometerclient import client as cclient
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
|
||||
from cloudkitty import collector
|
||||
from cloudkitty import utils as ck_utils
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
import csv
|
||||
import json
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
|
||||
from cloudkitty import collector
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
# Borrowed from cinder (cinder/policy.py)
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from oslo_policy import policy
|
||||
import six
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
import oslo_messaging as messaging
|
||||
|
||||
TRANSPORT = None
|
||||
|
|
|
@ -15,12 +15,9 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo.db import options as db_options # noqa
|
||||
try:
|
||||
from oslo_messaging import opts # noqa
|
||||
except ImportError:
|
||||
from oslo.messaging import opts # noqa
|
||||
from oslo_config import cfg
|
||||
from oslo_db import options as db_options # noqa
|
||||
from oslo_messaging import opts # noqa
|
||||
|
||||
|
||||
state_opts = [
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo.db.sqlalchemy import session
|
||||
from oslo_config import cfg
|
||||
from oslo_db.sqlalchemy import session
|
||||
|
||||
_FACADE = None
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
#
|
||||
import abc
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo.db import api as db_api
|
||||
from oslo_config import cfg
|
||||
from oslo_db import api as db_api
|
||||
import six
|
||||
|
||||
_BACKEND_MAPPING = {'sqlalchemy': 'cloudkitty.db.sqlalchemy.api'}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo.db.sqlalchemy import utils
|
||||
from oslo_config import cfg
|
||||
from oslo_db.sqlalchemy import utils
|
||||
from oslo_log import log as logging
|
||||
import sqlalchemy
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.db.sqlalchemy import models
|
||||
from oslo_db.sqlalchemy import models
|
||||
import sqlalchemy
|
||||
from sqlalchemy.ext import declarative
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo import i18n # noqa
|
||||
import oslo_i18n as i18n # noqa
|
||||
|
||||
_translators = i18n.TranslatorFactory(domain='cloudkitty')
|
||||
i18n.enable_lazy()
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
import decimal
|
||||
|
||||
import eventlet
|
||||
from oslo.config import cfg
|
||||
from oslo_concurrency import lockutils
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
import oslo_messaging as messaging
|
||||
import six
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
#
|
||||
import abc
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo.db import api as db_api
|
||||
from oslo_config import cfg
|
||||
from oslo_db import api as db_api
|
||||
import six
|
||||
|
||||
_BACKEND_MAPPING = {'sqlalchemy': 'cloudkitty.rating.hash.db.sqlalchemy.api'}
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.db import exception
|
||||
from oslo.db.sqlalchemy import utils
|
||||
from oslo.utils import uuidutils
|
||||
from oslo_db import exception
|
||||
from oslo_db.sqlalchemy import utils
|
||||
from oslo_log import log as logging
|
||||
from oslo_utils import uuidutils
|
||||
import six
|
||||
import sqlalchemy
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.db.sqlalchemy import models
|
||||
from oslo_db.sqlalchemy import models
|
||||
import sqlalchemy
|
||||
from sqlalchemy.ext import declarative
|
||||
from sqlalchemy import orm
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
import socket
|
||||
import sys
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
import abc
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
from stevedore import driver
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
import json
|
||||
|
||||
from oslo.db.sqlalchemy import utils
|
||||
from oslo_db.sqlalchemy import utils
|
||||
import sqlalchemy
|
||||
|
||||
from cloudkitty import db
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#
|
||||
import json
|
||||
|
||||
from oslo.db.sqlalchemy import models
|
||||
from oslo_db.sqlalchemy import models
|
||||
import sqlalchemy
|
||||
from sqlalchemy.ext import declarative
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#
|
||||
import abc
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
|
||||
fetchers_opts = [
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#
|
||||
import csv
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
|
||||
from cloudkitty import tenant_fetcher
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
# @author: Stéphane Albert
|
||||
#
|
||||
from keystoneclient.v2_0 import client as kclient
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
|
||||
from cloudkitty import tenant_fetcher
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Gauvain Pocentek
|
||||
#
|
||||
from oslo.config import fixture as config_fixture
|
||||
from oslo_config import fixture as config_fixture
|
||||
from oslotest import base
|
||||
import testscenarios
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ import copy
|
|||
import decimal
|
||||
|
||||
import mock
|
||||
from oslo.utils import uuidutils
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from cloudkitty.rating import hash
|
||||
from cloudkitty.rating.hash.db import api
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# @author: Stéphane Albert
|
||||
#
|
||||
import mock
|
||||
from oslo.utils import uuidutils
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from cloudkitty.tenant_fetcher import keystone
|
||||
from cloudkitty import tests
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# @author: Stéphane Albert
|
||||
#
|
||||
import mock
|
||||
from oslo.messaging import conffixture
|
||||
from oslo_messaging import conffixture
|
||||
from stevedore import extension
|
||||
|
||||
from cloudkitty import orchestrator
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"""
|
||||
Time calculations functions
|
||||
|
||||
We're mostly using oslo.utils for time calculations but we're encapsulating it
|
||||
We're mostly using oslo_utils for time calculations but we're encapsulating it
|
||||
to ease maintenance in case of library modifications.
|
||||
"""
|
||||
import calendar
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#
|
||||
# @author: Stéphane Albert
|
||||
#
|
||||
from oslo.config import cfg
|
||||
from oslo_config import cfg
|
||||
from stevedore import named
|
||||
|
||||
from cloudkitty import state
|
||||
|
|
|
@ -42,7 +42,7 @@ Requires: %{name}-processor = %{version}-%{release}
|
|||
%setup -q -n %{full_release}
|
||||
|
||||
# make doc build compatible with python-oslo-sphinx RPM
|
||||
sed -i 's/oslosphinx/oslo.sphinx/' doc/source/conf.py
|
||||
sed -i 's/oslosphinx/oslo_sphinx/' doc/source/conf.py
|
||||
|
||||
# Remove the requirements file so that pbr hooks don't add it
|
||||
# to distutils requires_dist config
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
# From oslo.messaging
|
||||
#
|
||||
|
||||
# Size of RPC connection pool. (integer value)
|
||||
# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
|
||||
#rpc_conn_pool_size = 30
|
||||
|
||||
# ZeroMQ bind address. Should be a wildcard (*), an ethernet
|
||||
# interface, or IP. The "host" option should point or resolve to this
|
||||
# address. (string value)
|
||||
|
@ -57,10 +61,12 @@
|
|||
# Heartbeat time-to-live. (integer value)
|
||||
#matchmaker_heartbeat_ttl = 600
|
||||
|
||||
# Size of RPC thread pool. (integer value)
|
||||
#rpc_thread_pool_size = 64
|
||||
# Size of executor thread pool. (integer value)
|
||||
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
|
||||
#executor_thread_pool_size = 64
|
||||
|
||||
# Driver or drivers to handle sending notifications. (multi valued)
|
||||
# The Drivers(s) to handle sending notifications. Possible values are
|
||||
# messaging, messagingv2, routing, log, test, noop (multi valued)
|
||||
#notification_driver =
|
||||
|
||||
# AMQP topic used for OpenStack notifications. (list value)
|
||||
|
@ -333,7 +339,7 @@
|
|||
#memcache_pool_maxsize = 10
|
||||
|
||||
# (Optional) Socket timeout in seconds for communicating with a
|
||||
# memcache server. (integer value)
|
||||
# memcached server. (integer value)
|
||||
#memcache_pool_socket_timeout = 3
|
||||
|
||||
# (Optional) Number of seconds a connection to memcached is held
|
||||
|
@ -341,10 +347,10 @@
|
|||
#memcache_pool_unused_timeout = 60
|
||||
|
||||
# (Optional) Number of seconds that an operation will wait to get a
|
||||
# memcache client connection from the pool. (integer value)
|
||||
# memcached client connection from the pool. (integer value)
|
||||
#memcache_pool_conn_get_timeout = 10
|
||||
|
||||
# (Optional) Use the advanced (eventlet safe) memcache client pool.
|
||||
# (Optional) Use the advanced (eventlet safe) memcached client pool.
|
||||
# The advanced pool will only work under python 2.x. (boolean value)
|
||||
#memcache_use_advanced_pool = false
|
||||
|
||||
|
@ -496,8 +502,7 @@
|
|||
# Deprecated group/name - [amqp1]/trace
|
||||
#trace = false
|
||||
|
||||
# CA certificate PEM file for verifing server certificate (string
|
||||
# value)
|
||||
# CA certificate PEM file to verify server certificate (string value)
|
||||
# Deprecated group/name - [amqp1]/ssl_ca_file
|
||||
#ssl_ca_file =
|
||||
|
||||
|
@ -527,6 +532,7 @@
|
|||
#
|
||||
|
||||
# Use durable queues in AMQP. (boolean value)
|
||||
# Deprecated group/name - [DEFAULT]/amqp_durable_queues
|
||||
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
|
||||
#amqp_durable_queues = false
|
||||
|
||||
|
@ -534,9 +540,16 @@
|
|||
# Deprecated group/name - [DEFAULT]/amqp_auto_delete
|
||||
#amqp_auto_delete = false
|
||||
|
||||
# Size of RPC connection pool. (integer value)
|
||||
# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
|
||||
#rpc_conn_pool_size = 30
|
||||
# Send a single AMQP reply to call message. The current behaviour
|
||||
# since oslo-incubator is to send two AMQP replies - first one with
|
||||
# the payload, a second one to ensure the other have finish to send
|
||||
# the payload. We are going to remove it in the N release, but we must
|
||||
# keep backward compatible at the same time. This option provides such
|
||||
# compatibility - it defaults to False in Liberty and can be turned on
|
||||
# for early adopters with a new installations or for testing. Please
|
||||
# note, that this option will be removed in the Mitaka release.
|
||||
# (boolean value)
|
||||
#send_single_reply = false
|
||||
|
||||
# Qpid broker hostname. (string value)
|
||||
# Deprecated group/name - [DEFAULT]/qpid_hostname
|
||||
|
@ -595,6 +608,7 @@
|
|||
#
|
||||
|
||||
# Use durable queues in AMQP. (boolean value)
|
||||
# Deprecated group/name - [DEFAULT]/amqp_durable_queues
|
||||
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
|
||||
#amqp_durable_queues = false
|
||||
|
||||
|
@ -602,9 +616,16 @@
|
|||
# Deprecated group/name - [DEFAULT]/amqp_auto_delete
|
||||
#amqp_auto_delete = false
|
||||
|
||||
# Size of RPC connection pool. (integer value)
|
||||
# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
|
||||
#rpc_conn_pool_size = 30
|
||||
# Send a single AMQP reply to call message. The current behaviour
|
||||
# since oslo-incubator is to send two AMQP replies - first one with
|
||||
# the payload, a second one to ensure the other have finish to send
|
||||
# the payload. We are going to remove it in the N release, but we must
|
||||
# keep backward compatible at the same time. This option provides such
|
||||
# compatibility - it defaults to False in Liberty and can be turned on
|
||||
# for early adopters with a new installations or for testing. Please
|
||||
# note, that this option will be removed in the Mitaka release.
|
||||
# (boolean value)
|
||||
#send_single_reply = false
|
||||
|
||||
# SSL version to use (valid only if SSL enabled). Valid values are
|
||||
# TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be
|
||||
|
@ -630,6 +651,11 @@
|
|||
# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
|
||||
#kombu_reconnect_delay = 1.0
|
||||
|
||||
# How long to wait before considering a reconnect attempt to have
|
||||
# failed. This value should not be longer than rpc_response_timeout.
|
||||
# (integer value)
|
||||
#kombu_reconnect_timeout = 60
|
||||
|
||||
# The RabbitMQ broker address where a single node is used. (string
|
||||
# value)
|
||||
# Deprecated group/name - [DEFAULT]/rabbit_host
|
||||
|
@ -683,10 +709,9 @@
|
|||
#rabbit_ha_queues = false
|
||||
|
||||
# Number of seconds after which the Rabbit broker is considered down
|
||||
# if heartbeat's keep-alive fails (0 disables the heartbeat, >0
|
||||
# enables it. Enabling heartbeats requires kombu>=3.0.7 and
|
||||
# amqp>=1.4.0). EXPERIMENTAL (integer value)
|
||||
#heartbeat_timeout_threshold = 0
|
||||
# if heartbeat's keep-alive fails (0 disable the heartbeat).
|
||||
# EXPERIMENTAL (integer value)
|
||||
#heartbeat_timeout_threshold = 60
|
||||
|
||||
# How often times during the heartbeat_timeout_threshold we check the
|
||||
# heartbeat. (integer value)
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
pbr>=0.6,!=0.7,<1.0
|
||||
eventlet>=0.16.1,!=0.17.0
|
||||
keystonemiddleware>=1.5.0,<1.6.0
|
||||
python-ceilometerclient>=1.0.13,<1.1.0
|
||||
python-keystoneclient>=1.1.0,<1.4.0
|
||||
pbr<2.0,>=1.6
|
||||
eventlet>=0.17.4
|
||||
keystonemiddleware>=2.0.0
|
||||
python-ceilometerclient>=1.0.13
|
||||
python-keystoneclient>=1.6.0
|
||||
iso8601>=0.1.9
|
||||
PasteDeploy>=1.5.0
|
||||
posix_ipc
|
||||
pecan>=0.8.0
|
||||
WSME>=0.6
|
||||
oslo.config>=1.9.3,<1.10.0 # Apache-2.0
|
||||
oslo.context>=0.2.0,<0.3.0 # Apache-2.0
|
||||
oslo.concurrency>=1.8.0,<1.9.0 # Apache-2.0
|
||||
oslo.db>=1.7.0,<1.8.0 # Apache-2.0
|
||||
oslo.i18n>=1.5.0,<1.6.0 # Apache-2.0
|
||||
oslo.log>=1.0.0,<1.1.0 # Apache-2.0
|
||||
oslo.messaging>=1.8.0,<1.9.0 # Apache-2.0
|
||||
oslo.middleware>=1.0.0,<1.1.0 # Apache-2.0
|
||||
oslo.policy>=0.3.1,<0.4.0 # Apache-2.0
|
||||
oslo.utils>=1.4.0,<1.5.0 # Apache-2.0
|
||||
SQLAlchemy>=0.9.7,<=0.9.99
|
||||
posix-ipc
|
||||
pecan>=1.0.0
|
||||
WSME>=0.7
|
||||
oslo.config>=2.3.0 # Apache-2.0
|
||||
oslo.context>=0.2.0 # Apache-2.0
|
||||
oslo.concurrency>=2.3.0 # Apache-2.0
|
||||
oslo.db>=2.4.1 # Apache-2.0
|
||||
oslo.i18n>=1.5.0 # Apache-2.0
|
||||
oslo.log>=1.8.0 # Apache-2.0
|
||||
oslo.messaging!=1.17.0,!=1.17.1,>=1.16.0 # Apache-2.0
|
||||
oslo.middleware>=2.6.1 # Apache-2.0
|
||||
oslo.policy>=0.5.0 # Apache-2.0
|
||||
oslo.utils>=2.0.0 # Apache-2.0
|
||||
SQLAlchemy<1.1.0,>=0.9.7
|
||||
six>=1.9.0
|
||||
stevedore>=1.3.0,<1.4.0 # Apache-2.0
|
||||
stevedore>=1.5.0 # Apache-2.0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[metadata]
|
||||
name = cloudkitty
|
||||
version = 0.4.1
|
||||
version = 0.5
|
||||
summary = Rating as a Service component for OpenStack
|
||||
description-file =
|
||||
README.rst
|
||||
|
|
3
setup.py
3
setup.py
|
@ -1,4 +1,3 @@
|
|||
#!/usr/bin/env python
|
||||
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -26,5 +25,5 @@ except ImportError:
|
|||
pass
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['pbr'],
|
||||
setup_requires=['pbr>=1.3'],
|
||||
pbr=True)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
hacking>=0.9.2,<0.10
|
||||
hacking<0.10,>=0.9.2
|
||||
coverage>=3.6
|
||||
discover
|
||||
testscenarios>=0.4
|
||||
testrepository>=0.0.18
|
||||
mock>=1.0
|
||||
sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
|
||||
oslosphinx>=2.5.0,<2.6.0 # Apache-2.0
|
||||
oslotest>=1.5.1,<1.6.0 # Apache-2.0
|
||||
mock>=1.2
|
||||
sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
|
||||
oslosphinx>=2.5.0 # Apache-2.0
|
||||
oslotest>=1.10.0 # Apache-2.0
|
||||
sphinxcontrib-httpdomain
|
||||
sphinxcontrib-pecanwsme>=0.8
|
||||
|
|
Loading…
Reference in New Issue