OpenStack CI now uses tox4 by default.
- Drop "skipsdist = True".
When skipsdist=True is specified, a target application is not
installed into a tox env, but there seems no reason to do so.
In various other OpenStack projects, a target applicatin needs
to be installed into a tox vnev, for example, in docs and/or
linter jobs and it causes failures with tox4. So dropping it
would avoid potential future failures.
- whitelist_externals replaced with allowlist_externals since
tox 3.18.0
whitelist_externals option has been deprecated in
favor of the new allowlist_externals option[1].
[1] https://github.com/tox-dev/tox/blob/legacy/docs/changelog.rst#v3180-2020-07-23
Change-Id: I478545d83231119fda0661f800246be7680e5190
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg
- Update requirements, no need for python_version anymore
- Use newer openstackdocstheme version
- Remove install_command from tox.ini, the default is fine
- Use TOX_CONSTRAINTS_FILE instead of UPPER_CONSTRAINTS_FILE since
the later is obsolete
- Increase lower constraints to fullfill package requests
Change-Id: I7126c2646f272b3f8c568630293a194bc5ba98a9
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.
This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.
Change-Id: Iaf0aa105ced0f8d5a0dabf8fc25bd7252c602c92
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
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.
Remove hacking and friends from lower-constraints, it's not needed
there for co-installing.
Change-Id: I3d250ba82cc14f163f4295381b9b9c232486ac9f
Django 1.11 ends its extended support in April 2020 (which is before
Ussuri release), so horizon drops Django 1.11 support in Ussuri.
tox envs for non-primary Django versions are no longer needed in tox.ini
as testing environments for non-primary Django versions are setup in
the zuul jobs now.
horizon>=17.1.0 is required to use Django 2.2. requirements.txt and
lower-constraints.txt are updated accordingly. for more info. please
refer [1].
Depends-On: https://review.opendev.org/#/c/700733/
[1] https://etherpad.openstack.org/p/Enable_Django22_support_in_Horizon_Plugin
Change-Id: I5ddd9d5ba23634f110927e385550d97b66fd2542
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train. The correct zuul jobs are
already in place so this change just limits default 'tox' calls to py37
to save developers time.
See the Train python3-updates goal document for details:
https://governance.openstack.org/tc/goals/train/python3-updates.html
Change-Id: Idc3c4be93f8c01e3b88b00f863bfba90a3f9d4e4
Story: #2005924
Task: #34244
Since Rocky, horizon depends on Django 2.0 when Python 3 is used.
The old sahara-dashboard-tox-py35dj20 and the py35dj20 tox environments
are thus no longer needed.
Add few more jobs:
- the py36 and py37 jobs and the related tox environments;
- a py3/django 1.11 job and tox environment, and set is a voting
like its Horizon counterpart;
- the tox environment for a django 2.1 job (Horizon provides one as well.)
Finally, don't require the last version of horizon for the py3/django 1.11,
but relies on the stable version (which should provide the proper library
interface, as it happen with the other unit test jobs.)
Change-Id: Ic76b454f36d81a25b40e91a88d131f20a8df12f9
- create a native Zuul v3 job, and move it to experimental
until it works;
- install libav-utils on dpkg systems and enable the capture
of the video;
- adapt to the changes in OverviewPage:
* go_to_system_flavorspage -> go_to_admin_compute_flavorspage
* go_to_compute_imagespage -> go_to_project_compute_imagespage
The job is failing right now, but apart the increased running time,
at least the tests are now executed.
Story: 2001686
Task: 8662
Change-Id: I311203779bd3e6c6660cfe1b84e89c7dc0825c98
- devstack plugin: run manage.py using $PYTHON (defined by devstack,
it points to the Python interpreter used by DevStack;
- add an explicit envlist for py36;
- add the classifier for Python 3.6 to setup.cfg;
- bump the minumum tox version to 2.0, which is the de-facto
minimum version.
Change-Id: I2bce1562b9ac49abf2e80efd3d6df392e40328b1
nose is not actively maintained now and Django default test runner
seems to have enough features.
* Horizon test setting no longer depends on nose and related stuffs.
This commit cleans up nose related dependencies.
The change was made in horizon Rocky-3,
so horizon 14.0.0.0b3 is required at least.
* Integraion tests is marked via django.test.tag mechanism which is
introduced in Django 1.10.
* Rename filename of test files to names starting with 'test_'
so that the django test runner can find tests expectedly.
* run_tests.sh is no longer called from tox.ini, so it can be dropped.
Note that the similar run_tests.sh in horizon was dropped long ago.
Change-Id: I1e5471078cc95031e8819f01100319a9ee2a3a73
It was broken for a long while, since the migration
of the dashboard code into Horizon, and then back
into this repository, as .testr.conf was removed.
Use coverage directly instead of testrepository,
the same way as Horizon does. We should port
the normal test runner to the Django test runner too,
instead of the custom run_tests.sh script, but
that's for another (future) review.
Change-Id: I08966ddc7e891156a1c934bb115ce8a02f77ec83
Python 3.6 is installed by default in Ubuntu 18.04 LTS.
Therefore, according to transition plan [1],
we should have py36 testenv ready for it.
[1] https://wiki.ubuntu.com/Python/Python36Transition
Change-Id: I41723a6fed6946af11dc5c639f2529e8c12972be
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: Ie09277286885f22f7021d401c55830be32d7624a
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.
Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.
Add openstack-tox-lower-constraints job to the zuul configuration.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
---
sahara-dashboard specific changes:
- sahara-dashboard uses django.urls module which is only available in
Django 1.11 or later, so the Django min version needs to be bumped to 1.11.
Horizon Rocky bumped the Django min version
to >=1.11
- django-babel needs to bumped to 0.6.2 to support Django 1.11 and 2.0.
- nose-exclude needs to bumped to 0.5.0 to run all existing unit tests.
https://review.openstack.org/555402 allows us to bump lower requirements.
Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: I6cc5d973ea0e586e6fbe2ab4ba1345857722d008
Depends-On: https://review.openstack.org/555034
Depends-On: https://review.openstack.org/555402
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Signed-off-by: Akihiro Motoki <amotoki@gmail.com>
Instead of using tox-install.sh, we can install
horizon now directly from pypi - or use the current branch in CI system
using tox-siblings.
Create doc/requirements.txt for doc requirements as well, it's use
currently only for releasenotes. Remove obsolete oslosphinx requirement.
Remove docs environment - this project has no docs, only releasenotes.
Update tox.ini for this change and add horizon to requirements
file.
Change-Id: I72a942149a88183a32afc0440ead7b927bdc93b5
Horizon in Rocky will only support Django 1.11 and 2.0.
Also, Horizon is trying to be more compatible with Python 3.
See: https://blueprints.launchpad.net/horizon/+spec/django2-support
This require few changes (for master only):
- remove the jobs and the tox entry points for unit tests
with Django < 1.11 (which started to fail anyway after some
recent changes in Horizon);
- add a tox target and a corresponding non-voting job which runs
the unit tests using Django 2.0 with Python 3;
- create a basic job for all non-standard unit tests jobs (even if
there is just one right now) which improves the set of irrelevant
files (translations, release notes, documentation).
Change-Id: I8d87fb3bcdb1baa221246ca4fc5edf8ae14f0cb2
The tox_install.sh here behaves a bit differently than the others, which
is causing some problems when trying to rework some of the shared gate
jobs.
Align it to the form used in other repos.
Change-Id: I93d14b522b2c55e8988c6586e4b5c32cbd151e56
That specific testenv was added before the release of Django 1.10,
so the pip line was not capped and without this change tox installs
the last version (currently 1.11).
Change-Id: Icb669a9e999118f4d4302449d1b0d0ce2abb8c2c
Some of the available checks are disabled by default, like:
[H106] Don’t put vim configuration in source files
[H203] Use assertIs(Not)None to check for None
Change-Id: Icd0162ac6bef12b2303c41bc11c917901c6dcade
Due to Tox override mechanism, both py27 and py35 envs do not pass
env variables defined in testenv to tox_install.sh script. Hence,
BRANCH_NAME is not defined and master code of Horizon is always
installed. While it's not critical for sahara-dashboard master branch,
it's crucial for stable branches, especially stable/newton where running
tox -e py27 fails due to fresh Horizon and old its dependencies.
This patch adds inheritance for py27 and py35 envs, so the env variables
defined in testenv will be also defined in these both envs.
Change-Id: I246049d29024b64b50dcdc153a809c9649716287
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: Ic28c0a6e8db6d6360c00ec834e474826cc3ada27
According to [1], we can passing a "-t" argument to
oslo_debug_helper to indicate the directory where tests
are located. This will solves ImportError exception.
[1] https://docs.openstack.org/developer/oslotest/features.html
Change-Id: I4c9bb211efddbad4f3a8e63c3779f3d62112cd32
Closes-Bug: #1666560
Adding constraints support to libraries is slightly more complex than
services as the libraries themselves are listed in upper-constraints.txt
which leads to errors that you can't install a specific version and a
constrained version.
This change adds constraints support by also adding a helper script to
edit the constraints to remove sahara-dashboard.
As sahara-dashboard also uses run_tests.sh I've modified that code in
line with the horizon change I9bf85adb5aa2c85d8c0f0f22ac9efe5cac3646c0
Change-Id: Ieb8afdef1e9649b18a4394620e52b9f6ac3d997b
The Oslo team has moved all previously incubated code from
the 'openstack/oslo-incubator' repository into separate library
repositories and released those libraries to the Python Package,
so the directory should be removed.
Change-Id: I9b86db737a8b98cf172c5fdf532ebe483b98b7f5
Now that there is a passing gate job, we can claim support for Python 3.5
in the classifier. This patch also adds the convenience py35 py34 venv.
Change-Id: I75cae6b3a810a955b4d81dcda9c9bf920f9e6bd7
Add an other-requirements.txt file containing a cross-platform list
of dependencies needed for running included tox-based tests. Also
include a tox environment for convenience calling the bindep[*]
utility to list any missing system requirements.
This change is self-testing.
For other-requirements.txt see also
http://docs.openstack.org/infra/manual/drivers.html#package-requirements
[*] http://docs.openstack.org/infra/bindep/
Change-Id: Ic0be913d29684a2c825267a023ba70934acb430c
This patch introduces a pip install wrapper script which
checks horizon is installed and installs it from efficient way
(try zuul-cloner first and then use the horizon git repo).
This can also avoid a problem reported in bug 1540328.
When run_tests.sh is used, horizon is installed by
the customized install_venv.py now.
run_tests.sh is not directly used in our gate jobs,
so we can always install horizon using git repo.
This idea is borrowed from neutron subpurojects.
Change-Id: Ice304957823ac1d2c63f7c417c0dc9bb9c1fa757
Related-Bug: #1540328
Looking at sahara dashboard as model for possibly adding
integration tests to the app-catalog. Noticed that the
screen shots were not being saved. Adding the +e to the
script allows the screenshot copy to actually work.
The logs from patch set 7 show this working. In that patch
set I forced a screenshot even tho the test was successful.
Change-Id: Iee393a40e8a29943203cb59f6ed669db8f570d4a
This plugin moves the current content from the horizon repo to this
plugin repo. The code has been tested in a devstack install using the
following steps:
1. packaging the plugin: "python setup.cfg sdist"
2. pip installing the tar.gz in the resulting dist directory
3. a. (temporary step) remove existing sahara enabled files from
horizon
"rm openstack_dashboard/enabled/_18*.py"
b. finding the install location and changing to it
"cp sahara_dashboard/enabled/* /opt/stack/horizon/local/enabled"
4. in /opt/stack/horizon
a. python manage.py collectstatic
b. python manage.py compress
5. restarting the horizon server
Additionally, you can run the unit tests by:
./run_tests.sh
Note: added script to programmatically remove the old configuration
files from the targeted horizon install, either in venv or system
install.
Known issues:
1. running tests locally emits missing neutron service messages.
2. plugin code for devstack needs to be added
3. README is inadequate
4. integration tests are still in horizon repo
5. local copy of run_tests is heavy weight, but a better solution is
not available currently.
6. localization tooling and strings
Change-Id: Icdce2d3e945e612d368556dd5cea1930194c7b67
Clearing out all of the old code from the Sahara
dashboard repo in preparation for bringing the new
code back into the repo for the Mitaka release.
Change-Id: I83cb932c35987ea80ac9233bd355355398b9164b
Thoas checks are also enabled in Horizon and should be enabled here as well.
* E226 missing whitespace around arithmetic operator
* E251 unexpected spaces around keyword / parameter equals
* E265 block comment should start with '# '
Change-Id: Ib44fd1b327c23752acfc5b98cd468881b781c816
* Added hacking>=0.9.1,<0.10 according to change
I4e5f370607936144c11585453f3b1db7a26eff9c
* Ignored all pep8 errors to work with new version
Change-Id: Ia99d1bbcbacd686d6d9de5aeacc13e6066bf49cc
* Renaming savannadashboard directory to saharadashboard which
also includes updating all of the places where that package
is referenced.
* Also including some renaming in the documentation.
* Changing the name of the top level panel to Sahara
* Changing the name of the top level Dashboard class to SaharaDashboard
Partial-Implements: blueprint savanna-renaming-dashboard
Change-Id: If51b85d22ec7798c214c56189359260198e69374