Commit Graph

300 Commits (master)

Author SHA1 Message Date
Stephen Finucane 18138d9f09 Update CI to use unversioned jobs template
As part of the migration of this project to the independent release
model, we failed to notice that the job template was still tied to a
specific release. We've now introduced a new unversioned job template,
'openstack-python3-jobs' [1], which was can and should use. Do this.


Signed-off-by: Stephen Finucane <>
Change-Id: I6bed7c11b5060718ed20aef61bce8d248885a1ae
2022-03-15 15:12:40 +00:00
Zuul 99a15169ce Merge "setup.cfg: Replace dashes by underscores" 2022-03-08 08:53:02 +00:00
Zuul bf7c0d4f5c Merge "Migrate from testr to stestr" 2022-02-22 03:32:23 +00:00
Takashi Kajinami 1803608b5c setup.cfg: Replace dashes by underscores
Since setuptools v54.1.0[1], the parmeters with dash have been
deprecated in favor of the new parameters with underscore.

This change updates the parameters accordingly to avoid the warnings
like the example below.

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead


Change-Id: I6b50af9c7825b48e37c395466ce479e38937e094
2022-02-05 17:08:55 +00:00
Ghanshyam Mann bb65fc6402 [community goal] Update contributor documentation
This patch updates/adds the contributor documentation to follow
the guidelines of the Ussuri cycle community goal[1].


Story: #2007236
Task: #38539
Change-Id: I12ddfc0d4332ea19b5b0abab5cac61653726e3d1
2021-05-31 20:35:23 +00:00
Stephen Finucane e2dd407c76 Migrate from testr to stestr
Signed-off-by: Stephen Finucane <>
Change-Id: I9dd3a3db55fdd01d46cb7a204be46f7c5f260c4e
2021-02-11 12:33:45 +00:00
Stephen Finucane c3bda9eeb1 Switch to*
The abstract base classes previously defined in 'collections' were moved
to '' in 3.3. The aliases will be removed in 3.10.
Preempt this change now with a simple find-replace:

  $ ag -l 'collections.($TYPES)' | \
      xargs sed -i 's/\(collections\)\.\($TYPES\)/\\2/g'

Where $TYPES is the list of moved ABCs from [1].


Signed-off-by: Stephen Finucane <>
Change-Id: Ib07d778a01275d7c985e059156e95abc112e81c8
2021-02-01 11:11:27 +00:00
Stephen Finucane 4670f0949c Remove six
Signed-off-by: Stephen Finucane <>
Change-Id: I2f37e055838ea50627562d3585d6951f8d8d46aa
2021-02-01 11:11:17 +00:00
Stephen Finucane 8fcac72fd3 tox: Set 'ignore_basepython_conflict'
Ensure we run with the versions of Python we expect to. Some other
cruft is removed.

Signed-off-by: Stephen Finucane <>
Change-Id: I450c062eed1185e7e4c49a156307abb4320f6cb6
2021-02-01 10:55:35 +00:00
Dirk Mueller 0b006f0722 Replace assertItemsEqual with assertCountEqual
assertItemsEqual was removed from Python's unittest.TestCase in
Python 3.3 [1][2]. We have been able to use them since then, because
testtools required unittest2, which still included it. With testtools
removing Python 2.7 support [3][4], we will lose support for
assertItemsEqual, so we should switch to use assertCountEqual.

[1] -
[2] -
[3] - testing-cabal/testtools#286
[4] - testing-cabal/testtools#277

Change-Id: I1591e8603262d377d8e0801af152928787374e79
2020-06-11 11:55:50 +02:00
Hervé Beraud 356c9651b0 Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]


Change-Id: I042e2fd85b2255cd3be509504b8f992ad02783fa
2020-06-02 21:07:55 +02:00
Andreas Jaeger 3309e689e2 Switch to newer openstackdocstheme and reno versions
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems

Update Sphinx version as well.

Disable openstackdocs_auto_name to use 'project' variable as name.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

See also

Change-Id: I7f8c249b574213a9189e13f679179bbaaa382e28
2020-05-31 20:01:04 +02:00
Ghanshyam Mann bfc3c48685 Fix hacking min version to 3.0.1
flake8 new release 3.8.0 added new checks and gate pep8
job start failing. hacking 3.0.1 fix the pinning of flake8 to
avoid bringing in a new version with new checks.

Though it is fixed in latest hacking but 2.0 and 3.0 has cap for
flake8 as <4.0.0 which mean flake8 new version 3.9.0 can also
break the pep8 job if new check are added.

To avoid similar gate break in future, we need to bump the hacking min


Change-Id: Icf9fa58f9c9ae9e1bbe436638fe915974543dddb
2020-05-12 19:33:36 -05:00
zhurong e1eedff1e0 Cleanup py27 support
Make a few cleanups:
- Remove python 2.7 stanza from
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove obsolete sections from setup.cfg:
  * Wheel is not needed for python 3 only repo
  * Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore

Change-Id: I4b236a3b85f37358ff44a8063dfec1e4d10c036a
2020-04-07 04:48:25 -07:00
Zuul 730b701d79 Merge "Update hacking for Python3" 2020-03-31 02:36:45 +00:00
Andreas Jaeger 1f35cce0e7 Update hacking for Python3
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.

Fix problems found.

Update local hacking checks for new flake8.

Change-Id: Idffc923ac339978714001be22e3c9ef285e907f5
2020-03-30 12:00:00 +02:00
zhurong 2edd0086fc Fix docs gate
Change-Id: Ibcb463c03e60886baf2ec70728b3ac1087345c7f
2020-03-30 00:29:34 -07:00
Ghanshyam Mann 99f5b075a7 [ussuri][goal] Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

yaql is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in

Ussuri Communtiy-wide goal:

Change-Id: If9e9f5a1302d9cf7a0f8e18e6007492942765337
2019-11-16 16:38:02 +00:00
Andreas Jaeger 5799a202b3 Import docs building job
This repo had a docs building job setup in project-config repo and was
at one time publishing to readthedocs. The publishing needs a manual
change and the repo was never adapted.

Import just the docs building jobs using the build-openstack-docs-pti
If the repo wants to use publish later to readthedocs, the template
can be changed to docs-on-readthedocs as explained in

Change-Id: Idd3725fdc41728d105c1f4d526668673f28b915c
2019-09-29 18:08:52 +02:00
Corey Bryant 7385a31b9d Add Python 3 Train unit tests
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.

See the Train python3-updates goal document for details:

Change-Id: I6745e789c9b6d5a6817f58cf35695767d5f410fb
Story: #2005924
Task: #34224
2019-07-05 13:22:58 -04:00
Ghanshyam Mann 0701bdba3d Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:


Change-Id: I4bcef964d06b56228a9566248458e7bccedf824d
2019-04-23 04:15:23 +00:00
OpenDev Sysadmins 0788b6d60b OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at with any
questions you may have.
2019-04-19 19:32:57 +00:00
ZhongShengping cc20ba667b add python 3.7 unit test job
This is a mechanically generated patch to add a unit test job running
under Python 3.7.

See ML discussion here [1] for context.


Change-Id: I5ab50f8b9280e57622f385d9470995f1ab59f59f
Story: #2004073
Task: #27431
2019-02-19 17:05:50 +08:00
Zuul f975ec2d59 Merge "Removed older version of python added 3.5/3.6" 2019-01-12 07:49:58 +00:00
qingszhao 41367c141e Removed older version of python added 3.5/3.6
In setup.cfg file the python 3.5/3.6 is added

Change-Id: I48ac7e9621ca8958a7370fe41be0141f5eab8e87
Closes-Bug:  #1801855
2019-01-11 06:45:18 +00:00
Zuul 5a727ea9de Merge "Use __slots__ for more yaqltypes" 2018-12-25 08:41:24 +00:00
Zuul d39076d5a4 Merge "Update min tox version to 2.0" 2018-11-08 00:53:59 +00:00
Zuul 5eec59867f Merge "Update the documention for doc migration" 2018-11-06 01:08:34 +00:00
Vieri e3d285fbe1 Update min tox version to 2.0
The commands used by constraints need at least tox 2.0.  Update to
reflect reality, which should help with local running of constraints

Change-Id: I054b821ada343fcecb037fb11fbe49245bb46d01
2018-10-21 05:05:54 +00:00
zhurong 60408a506e Fix readme Pygments package not found
Change-Id: Ibb9dd3a73d8067c5cf50b51c598994b2d51d2682
2018-10-10 11:02:15 +08:00
Zuul 16f95722ca Merge "fix tox python3 overrides" 2018-10-06 02:48:46 +00:00
98k cc7047045d add python 3.6 unit test job
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.

See the python3-first goal document for details:

Change-Id: I03b1f432971e1ff7116008710ace312173a5b5fe
Story: #2002586
Task: #24313
2018-08-23 12:01:54 +00:00
98k 31ed1dad94 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are

See the python3-first goal document for details:

Change-Id: Id7530b461276962933f86b6c2f719ae12ec4e3d6
Story: #2002586
Task: #24313
2018-08-23 12:01:46 +00:00
huang.zhiping fe4cdefd6f fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I21480026e566b3a312d34f7e446c6ef29593feff
2018-06-10 01:17:11 +08:00
Zane Bitter 74cb81b280 Make changes to groupBy() backward-compatible
The behaviour of the groupBy() function was fixed in 1.1.2 by
3fb9178401 to pass only the list of values
to be aggregated to the aggregator function, instead of passing both the
key and the list of values (and expecting both the key and the
aggregated value to be returned). This fix was incompatible with
existing expressions that used the aggregator argument to groupBy().

In the event of an error, fall back trying the previous syntax and see
if something plausible gets returned. If not, re-raise the original error.
This should mean that pre-existing expressions will continue to work,
while most outright bogus expressions should fail in a manner consistent
with the correct definition of the function.

Change-Id: Ic6c54be4ed99003fe56cf1a5329f3f1d84fd43c8
Closes-Bug: #1750032
2018-03-05 17:16:40 -05:00
Zane Bitter a3a83aba0d Use __slots__ for more yaqltypes
The change e693e6ecef added slots to the
concrete classes in yaqltypes, however the abstract parent classes
HiddenParameterType and LazyParameterType were omitted, with the result
that their derived types would still contain an __dict__ attribute.

Change-Id: I8e7335ced58b06cfd0de81ceb721dc2f8396f85f
2018-02-19 17:40:13 -05:00
Andreas Jaeger dc21a823bd Remove setting of version/release from releasenotes
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.

Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.

This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting

Change-Id: I97d760edf8c78843eef45d2207bc0295e6fdae23
2017-11-16 22:29:55 +01:00
ypbao 95e8e7c5fc Update the documention for doc migration
Change-Id: I871e46376da1fd06be6e32f0e6b661adab57a4b0
2017-07-21 15:28:23 +08:00
Xavier Hardy fafc9a17be Make the CLI YAQL engine entirely configurable
Change-Id: I982ec52f8f8046d1fb4e1a430a02b9e3631d3a8b
2017-06-27 08:47:24 +02:00
Georgy Kibardin 0c758a0e37 Get rid of Babel dependency since it is not needed
Change-Id: I805dc387ec3a40024d12583165918b92fad0cb76
2017-03-02 21:05:32 +00:00
Tony Breeds fe128f0672 Use modern PBR and hacking packages
The 2.0.0 is breaking in that it removes the use of warnerrors in

YAQL isn't using that feature, so it shoudln't break.

The cap on pbr is preventing other OpenStack projects that would like to
use pbr 2.0.0 (and sphinx 1.5.1) from doing so as it breaks
co-installability with yaql

Also hacking <0.11 had a similar issue so use a newer version of that also

Change-Id: I23e1d7aa715003250131bf5c88a438f278e4d4da
Related-Bug: 1668848
2017-03-01 16:33:56 +11:00
Jenkins 2d08340e69 Merge "Added engine options to disable input/output data conversion" 2017-02-22 17:58:19 +00:00
Jenkins 3802aa58e4 Merge "Improvements to yaql CLI" 2017-02-22 17:56:05 +00:00
Stan Lagun 38aa2c946d Improvements to yaql CLI
* now it is possible to pass one or more YAQL expressions in command line.
  This also disables interactive mode
* input file name can be specified as "-" to read from stdin
* added option to treat input as a string rather than JSON
* added option to treat input as an array (strings or JSONs)
* added option to output result in Python format rather than JSON
* removed redundant code that left from yaql v0.2
* print error messages to stderr rather than stdout

Change-Id: Ieb1037bc2ba59c2d2360edc4ac9b414e62a0cc79
2017-02-20 21:11:15 -05:00
Stan Lagun 67d58bc17f Added engine options to disable input/output data conversion
'yaql.convertInputData' and 'yaql.convertOutputData' engine
options were added.  By setting them to false one can suppress
input or output data conversion. For the input data this will prevent
yaql from converting mutable data structures (lists, dicts, sets) to
their immutable versions, which will break some of the constructs that
require hashable structures (for example set of lists, or list as a
dictionary key), for the output it will not expand produced iterators
and not convert tuples to lists. However this can greatly improve
performance in some cases

Change-Id: I240ce6646fe7dbc9522624739600b6c364bb9618
2017-02-20 19:13:32 -05:00
Jenkins acb3ef7196 Merge "Changed the home-page link" 2017-02-21 00:00:49 +00:00
Georgy Kibardin e7a7f60631 Pass re.VERBOSE explicitly
ply doesn't add re.VERBOSE flag by default anymore, so we need to pass it

Change-Id: I42b0830b7f30806ddbe42f57f54cc050a262e2e2
2017-02-03 08:19:16 +03:00
Jenkins 57cc3de6fc Merge "Customizing and extending yaql documentation" 2017-01-09 19:47:26 +00:00
Jenkins 6757922ce7 Merge "YAQL syntax documentation" 2017-01-09 19:47:20 +00:00
Stan Lagun 5f2675c6ef Customizing and extending yaql documentation
Change-Id: I11ac45341a109d8d4cd65ab67a6b162a9202d783
2016-12-13 15:16:45 -08:00