Compare commits
23 Commits
wallaby-eo
...
yoga-eol
| Author | SHA1 | Date | |
|---|---|---|---|
| 1bfd1bfb99 | |||
| fd63893bbe | |||
| 8057e472b8 | |||
|
|
783cc22662 | ||
|
|
20003a58ce | ||
|
|
719f4cff6a | ||
|
|
64ab6b412a | ||
|
|
85317b6773 | ||
| 6e10961c49 | |||
| 2454c59cb2 | |||
|
|
647f561532 | ||
|
|
61ef2c337e | ||
|
|
b1df2b5ccc | ||
|
|
68fd0e9e33 | ||
|
|
eb7f5e46bb | ||
|
|
0608c0527b | ||
|
|
754e06c51c | ||
|
|
d12e5a821c | ||
|
|
d2c2323bf8 | ||
|
|
67fae0ff52 | ||
|
|
73668bebb0 | ||
| dc606b1d3c | |||
| 5141971122 |
@@ -2,4 +2,4 @@
|
||||
host=review.opendev.org
|
||||
port=29418
|
||||
project=openstack/python-cloudkittyclient.git
|
||||
defaultbranch=stable/wallaby
|
||||
defaultbranch=unmaintained/yoga
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
- openstack-lower-constraints-jobs
|
||||
- check-requirements
|
||||
- openstack-cover-jobs
|
||||
- openstack-python3-wallaby-jobs
|
||||
- openstack-python3-yoga-jobs
|
||||
- openstackclient-plugin-jobs
|
||||
- publish-openstack-docs-pti
|
||||
- release-notes-jobs-python3
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
If you would like to contribute to the development of OpenStack,
|
||||
you must follow the steps in this page:
|
||||
The source repository for this project can be found at:
|
||||
|
||||
https://opendev.org/openstack/python-cloudkittyclient
|
||||
|
||||
https://docs.openstack.org/infra/manual/developers.html
|
||||
Pull requests submitted through GitHub are not monitored.
|
||||
|
||||
Once those steps have been completed, changes to OpenStack
|
||||
should be submitted for review via the Gerrit tool, following
|
||||
the workflow documented at:
|
||||
To start contributing to OpenStack, follow the steps in the contribution guide
|
||||
to set up and use Gerrit:
|
||||
|
||||
https://docs.openstack.org/infra/manual/developers.html#development-workflow
|
||||
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
|
||||
|
||||
Pull requests submitted through GitHub will be ignored.
|
||||
Bugs should be filed on Storyboard:
|
||||
|
||||
Bugs should be filed on Storyboard, not GitHub:
|
||||
https://storyboard.openstack.org/#!/project/895
|
||||
|
||||
https://storyboard.openstack.org/#!/project/openstack/python-cloudkittyclient
|
||||
For more specific information about contributing to this repository, see the
|
||||
python-cloudkittyclient contributor guide:
|
||||
|
||||
https://docs.openstack.org/python-cloudkittyclient/latest/contributor/contributing.html
|
||||
|
||||
@@ -137,7 +137,7 @@ class CkDataframesTest(base.BaseFunctionalTest):
|
||||
super(CkDataframesTest, self).tearDown()
|
||||
|
||||
def test_dataframes_add_with_no_args(self):
|
||||
self.assertRaisesRegexp(
|
||||
self.assertRaisesRegex(
|
||||
RuntimeError,
|
||||
'error: the following arguments are required: datafile',
|
||||
self.runner,
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
import collections
|
||||
from collections import abc
|
||||
from unittest import mock
|
||||
|
||||
from cloudkittyclient.tests.unit.v1 import base
|
||||
@@ -57,7 +57,7 @@ class TestReportCli(base.BaseAPIEndpointTestCase):
|
||||
|
||||
assert len(result) == 2
|
||||
assert result[0] == ('Tenant ID', )
|
||||
assert isinstance(result[1], collections.Iterable)
|
||||
assert isinstance(result[1], abc.Iterable)
|
||||
|
||||
for res in result[1]:
|
||||
assert isinstance(res, collections.Iterable)
|
||||
assert isinstance(res, abc.Iterable)
|
||||
|
||||
@@ -172,7 +172,7 @@ class HashmapManager(base.BaseManager):
|
||||
:param value: Value of the mapping
|
||||
:type value: str
|
||||
"""
|
||||
if not kwargs.get('cost'):
|
||||
if kwargs.get('cost') is None:
|
||||
raise exc.ArgumentRequired("'cost' argument is required")
|
||||
if not kwargs.get('value'):
|
||||
if not kwargs.get('service_id'):
|
||||
|
||||
@@ -36,6 +36,8 @@ class SummaryManager(base.BaseManager):
|
||||
:type begin: datetime.datetime
|
||||
:param end: End of the period to gather data from
|
||||
:type end: datetime.datetime
|
||||
:param response_format: Either 'table' or 'object' defaults to 'table'
|
||||
:type response_format: str
|
||||
"""
|
||||
if 'groupby' in kwargs.keys() and isinstance(kwargs['groupby'], list):
|
||||
kwargs['groupby'] = ','.join(kwargs['groupby'])
|
||||
@@ -46,7 +48,8 @@ class SummaryManager(base.BaseManager):
|
||||
)
|
||||
|
||||
authorized_args = [
|
||||
'offset', 'limit', 'filters', 'groupby', 'begin', 'end']
|
||||
'offset', 'limit', 'filters', 'groupby', 'begin', 'end',
|
||||
'response_format']
|
||||
|
||||
url = self.get_url(None, kwargs, authorized_args=authorized_args)
|
||||
return self.api_client.get(url).json()
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
.. include:: ../../CONTRIBUTING.rst
|
||||
47
doc/source/contributor/contributing.rst
Normal file
47
doc/source/contributor/contributing.rst
Normal file
@@ -0,0 +1,47 @@
|
||||
============================
|
||||
So You Want to Contribute...
|
||||
============================
|
||||
For general information on contributing to OpenStack, please check out the
|
||||
`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
|
||||
It covers all the basics that are common to all OpenStack projects: the accounts
|
||||
you need, the basics of interacting with our Gerrit review system, how we
|
||||
communicate as a community, etc.
|
||||
Below will cover the more project specific information you need to get started
|
||||
with python-cloudkittyclient.
|
||||
|
||||
Communication
|
||||
~~~~~~~~~~~~~
|
||||
* IRC channel #cloudkitty at `OFTC <http://oftc.net>`_
|
||||
* Mailing list (prefix subjects with ``[cloudkitty]`` for faster responses)
|
||||
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
|
||||
|
||||
Contacting the Core Team
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Please refer the `python-cloudkittyclient Core Team
|
||||
<https://review.opendev.org/admin/groups/4ac765c35f985b3ad9226da07fdcc205c1ce4fe1,members>`_ contacts.
|
||||
|
||||
New Feature Planning
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
CloudKitty features are tracked on `Storyboard <https://storyboard.openstack.org/#!/project/895>`_.
|
||||
|
||||
Task Tracking
|
||||
~~~~~~~~~~~~~
|
||||
We track our tasks in `Storyboard <https://storyboard.openstack.org/#!/project/895>`_.
|
||||
If you're looking for some smaller, easier work item to pick up and get started
|
||||
on, search for the 'low-hanging-fruit' tag.
|
||||
|
||||
Reporting a Bug
|
||||
~~~~~~~~~~~~~~~
|
||||
You found an issue and want to make sure we are aware of it? You can do so on
|
||||
`StoryBoard <https://storyboard.openstack.org/#!/project/895>`_.
|
||||
|
||||
Getting Your Patch Merged
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
All changes proposed to the python-cloudkittyclient project require one or two +2 votes
|
||||
from python-cloudkittyclient core reviewers before one of the core reviewers can approve
|
||||
patch by giving ``Workflow +1`` vote.
|
||||
|
||||
Project Team Lead Duties
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
All common PTL duties are enumerated in the `PTL guide
|
||||
<https://docs.openstack.org/project-team-guide/ptl.html>`_.
|
||||
@@ -12,10 +12,19 @@ Contents:
|
||||
|
||||
install
|
||||
usage
|
||||
contributor
|
||||
cli_reference
|
||||
api_reference/index
|
||||
|
||||
For Contributors
|
||||
================
|
||||
|
||||
* If you are a new contributor to python-cloudkittyclient please refer: :doc:`contributor/contributing`
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
contributor/contributing
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fix ``create_threshold`` method when using cost as 0.
|
||||
When using 0 as the cost, the ``create_threshold`` method
|
||||
Fix `create_threshold` method when using cost as 0.
|
||||
When using 0 as the cost, the `create_threshold` method
|
||||
throws an exception. That happens because 0 (zero) is evaluated
|
||||
to False. Therefore, we need to change the validation method to
|
||||
check if the values are None.
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes creation of hashmap mappings with a zero cost.
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Cloudkitty Release Notes documentation build configuration file.
|
||||
# CloudKitty Client Release Notes documentation build configuration file.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
# containing dir.
|
||||
@@ -42,8 +42,8 @@ source_suffix = '.rst'
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Cloudkitty Client Release Notes'
|
||||
copyright = u'2016, Cloudkitty developers'
|
||||
project = u'CloudKitty Client Release Notes'
|
||||
copyright = u'2016, CloudKitty developers'
|
||||
|
||||
# Release notes are version independent.
|
||||
# The short X.Y version.
|
||||
@@ -173,7 +173,7 @@ html_static_path = ['_static']
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'CloudkittyReleaseNotestdoc'
|
||||
htmlhelp_basename = 'CloudKittyClientReleaseNotestdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
@@ -193,8 +193,9 @@ latex_elements = {
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
('index', 'PythonCloudkitty.tex', u'Cloudkitty Release Notes Documentation',
|
||||
u'Cloudkitty developers', 'manual'),
|
||||
('index', 'PythonCloudKittyClient.tex',
|
||||
u'CloudKitty Client Release Notes Documentation',
|
||||
u'CloudKitty developers', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
@@ -224,8 +225,8 @@ latex_documents = [
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('index', 'cloudkittyclient',
|
||||
u'Cloudkitty Client Release Notes Documentation',
|
||||
[u'Cloudkitty developers'], 1)
|
||||
u'CloudKitty Client Release Notes Documentation',
|
||||
[u'CloudKitty developers'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
@@ -239,8 +240,8 @@ man_pages = [
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'cloudkittyclient',
|
||||
u'Cloudkitty Client Release Notes Documentation',
|
||||
u'Cloudkitty Client developers', 'Cloudkittyclient',
|
||||
u'CloudKitty Client Release Notes Documentation',
|
||||
u'CloudKitty Client developers', 'CloudKittyClient',
|
||||
'One line description of project.', 'Miscellaneous'),
|
||||
]
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Welcome to Cloudkitty Client Release Notes documentation!
|
||||
Welcome to CloudKitty Client Release Notes documentation!
|
||||
=========================================================
|
||||
|
||||
Contents
|
||||
@@ -8,6 +8,8 @@ Contents
|
||||
:maxdepth: 2
|
||||
|
||||
unreleased
|
||||
xena
|
||||
wallaby
|
||||
victoria
|
||||
ussuri
|
||||
train
|
||||
|
||||
6
releasenotes/source/wallaby.rst
Normal file
6
releasenotes/source/wallaby.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
============================
|
||||
Wallaby Series Release Notes
|
||||
============================
|
||||
|
||||
.. release-notes::
|
||||
:branch: stable/wallaby
|
||||
6
releasenotes/source/xena.rst
Normal file
6
releasenotes/source/xena.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
=========================
|
||||
Xena Series Release Notes
|
||||
=========================
|
||||
|
||||
.. release-notes::
|
||||
:branch: stable/xena
|
||||
@@ -1,12 +1,12 @@
|
||||
[metadata]
|
||||
name = python-cloudkittyclient
|
||||
summary = API client of cloudkitty, Rating as a Service project.
|
||||
description-file =
|
||||
description_file =
|
||||
README.rst
|
||||
author = OpenStack
|
||||
author-email = openstack-discuss@lists.openstack.org
|
||||
home-page = https://docs.openstack.org/python-cloudkittyclient/latest/
|
||||
python-requires = >=3.6
|
||||
author_email = openstack-discuss@lists.openstack.org
|
||||
home_page = https://docs.openstack.org/python-cloudkittyclient/latest/
|
||||
python_requires = >=3.6
|
||||
classifier =
|
||||
Environment :: OpenStack
|
||||
Intended Audience :: Information Technology
|
||||
@@ -20,6 +20,7 @@ classifier =
|
||||
Programming Language :: Python :: 3.6
|
||||
Programming Language :: Python :: 3.7
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
|
||||
[files]
|
||||
packages =
|
||||
|
||||
12
tox.ini
12
tox.ini
@@ -1,6 +1,6 @@
|
||||
[tox]
|
||||
minversion = 3.1.1
|
||||
envlist = py36,py38,pep8
|
||||
minversion = 3.18.0
|
||||
envlist = py3,pep8
|
||||
skipsdist = True
|
||||
ignore_basepython_conflict = True
|
||||
|
||||
@@ -45,13 +45,15 @@ commands = flake8
|
||||
commands = {posargs}
|
||||
|
||||
[testenv:docs]
|
||||
deps = -r{toxinidir}/doc/requirements.txt
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga}
|
||||
-r{toxinidir}/doc/requirements.txt
|
||||
commands = sphinx-build --keep-going -b html doc/source doc/build/html
|
||||
|
||||
[testenv:pdf-docs]
|
||||
envdir = {toxworkdir}/docs
|
||||
deps = {[testenv:docs]deps}
|
||||
whitelist_externals =
|
||||
allowlist_externals =
|
||||
make
|
||||
commands =
|
||||
sphinx-build --keep-going -b latex doc/source doc/build/pdf
|
||||
@@ -70,7 +72,7 @@ import_exceptions = cloudkittyclient.i18n
|
||||
|
||||
[testenv:releasenotes]
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/wallaby}
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga}
|
||||
-r{toxinidir}/doc/requirements.txt
|
||||
commands =
|
||||
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
|
||||
|
||||
Reference in New Issue
Block a user