Commit Graph

64 Commits

Author SHA1 Message Date
Avan Thakkar
88a8732215 mgr/dashboard: make modified API endpoints backward compatible
Fixes: https://tracker.ceph.com/issues/52480
Signed-off-by: Avan Thakkar <athakkar@redhat.com>

Introducing APIVersion class to handle versioning for API-endpints and making
them backward compatible.
2021-09-24 18:48:35 +05:30
Sebastian Wagner
1f6b4744b5 qa: Upgrade to mypy 0.901
mypy 0.9 now requires stub packages

Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
2021-06-09 12:53:21 +02:00
Sage Weil
6f6792cf51 qa/tasks/mgr/dashboard: add wear_level to devices schema
Signed-off-by: Sage Weil <sage@newdream.net>
2021-02-22 10:32:29 -06:00
Aashish Sharma
f5dd0195cd mgr/dashboard:minimize console log traces of Dashboard backend API tests
Changed log levels in some files to reduce console log traces

Fixes: https://tracker.ceph.com/issues/45822
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2020-12-23 11:32:43 +05:30
Aashish Sharma
3c72dc3099 mgr/dashboard: Use secure cookies to store JWT Token
This PR intends to store the jwt token in secure cookies instead of local storage

Fixes: https://tracker.ceph.com/issues/44591

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit 36703c63381e6723fff57266235f8230e6af1d92)
2020-12-18 19:33:50 +05:30
Alfonso Martínez
5d7ee7c1f0 mgr/dashboard: CLI commands: read passwords from file
Fixes: https://tracker.ceph.com/issues/48355

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2020-12-17 08:36:57 +01:00
Christopher Odom
dcac50e322 mgr/dashboard: Added Versioning to the REST API
Versioning is handled by the RESTContoller decorators.
It works by adding a version attribute to the endpoint object,
which will be checked by the _request_wrapper against the requested
version before the controller method is dispatched.

This commit also updates all of the testing to support
version vendor mime types, as well as adding an http
interceptor to add versioned mime types to all frontend
requests.

Fixes: https://tracker.ceph.com/issues/40909
Signed-off-by: Avan Thakkar  <athakkar@redhat.com>
2020-10-28 19:33:39 +05:30
Tatjana Dehler
1b67691492 mgr/dashboard/qa: add pylint check
Fixes: https://tracker.ceph.com/issues/47757
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
2020-10-22 14:12:14 +02:00
Tatjana Dehler
1474259b65 mgr/dashboard/qa: add isort check
Add isort check to the QA test files and
fix issues.

Fixes: https://tracker.ceph.com/issues/47757
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
2020-10-22 14:12:14 +02:00
Tatjana Dehler
bc3d1997bd mgr/dashboard/qa: add flake8 linting
Add flake8 linting to the QA test files and
fix issues.

Fixes: https://tracker.ceph.com/issues/47757
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
2020-10-22 14:12:14 +02:00
Rishabh Dave
f07ccd64d4 qa/mgr: revert a patch from commit 04ed58f
mds_cluster.mds_fail() runs command "mds fail" not "fs fail". The reason
for failure was PR #32581 which accidentally changed the return code
from 0 to EINVAL. Since this was reversed in PR #37159, the change
introduced by 04ed58f is not only incorrect but also redundant.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-18 16:33:41 +05:30
Rishabh Dave
04ed58fec2 qa/cephfs: modify delete_all_filesystems() in filesystem.py
Modify filesystem.Filesystem.delete_all_filesystems() method to make it
more succinct, move it to class MDSCluster instead and update every call
to it accordingly.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-10 23:56:59 +05:30
Alfonso Martínez
28ecbbde65 mgr/dashboard: fix API tests: Invalid URL: None/api/auth
Fixes: https://tracker.ceph.com/issues/47052
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2020-08-21 17:22:21 +02:00
Kefu Chai
6048c0320f
Merge pull request #36198 from tchaikov/wip-test-drop-py2
rpm,deb,qa,python-common,test: drop python2 support

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
2020-07-22 17:38:01 +08:00
Kefu Chai
877a0cd871 qa/tasks/mgr/dashboard: drop python2 support
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-22 11:55:49 +08:00
Ernesto Puerta
cd9f680b11
mgr/dashboard/api: increase API health timeout
Fixes: https://tracker.ceph.com/issues/46601
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2020-07-17 15:21:55 +02:00
Ernesto Puerta
b4a9dc17a3
mgr/dashboard: fix pool usage calculation
Currently Dashboard Pool usage calculation does not match the output of
'ceph df' command.

Fixes: https://tracker.ceph.com/issues/45185
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2020-07-09 14:11:59 +02:00
Kefu Chai
947a74349d qa: import with full path
to be py3 compatible

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-24 18:27:55 +08:00
Lenz Grimmer
108cc47c49
Merge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot
mgr/dashboard: Allow deletion of RBD with snapshots

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2020-03-11 10:56:01 +01:00
Tiago Melo
5627919c01 mgr/dashboard: Allow removing RBD with snapshots
Fixes: https://tracker.ceph.com/issues/36404

Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-03-06 13:18:15 -01:00
Volker Theile
4cc2e1a15b mgr/dashboard: Refactor and cleanup tasks.mgr.dashboard.test_user
* Improve @DashboardTestCase.RunAs decorator
* Use command line to create the test user in the 'test_pwd_expiration_date_update' test case.
* Test return codes of various REST API calls.

Fixes: https://tracker.ceph.com/issues/43869

Signed-off-by: Volker Theile <vtheile@suse.com>
2020-03-06 09:24:16 +01:00
Kefu Chai
7d262db114 qa/tasks: call super class's setUp()
to address the regression introduced by
8729281121

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-15 12:39:08 +08:00
Volker Theile
6f0b3179b9 mgr/dashboard: Check password complexity in Dashboard CLI commands
- Refactor parts of the existing password complexity code.
- Check password complexity when setting password via Dashboard CLI commands.
- Add ability to force setting a password via CLI. This is useful in vstart environments or wherever it is necessary to disable the password complexity check.

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-11-29 11:12:55 +01:00
Sage Weil
70367de903 qa: change mon_status calls to quorum_status or tell commands
The tests were doing logs of 'ceph mon_status'; change that to
quorum_status or tell.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-12 12:05:36 -05:00
Volker Theile
9397a581c6 mgr/dashboard: CephFS snapshots/quota REST API
This PR will introduce new endpoints for the CephFS REST API controller:
* ls_dir
* mk_dirs
* rm_dir
* mk_snapshot
* rm_snapshot
* get_quotas
* set_quotas

Fixes: https://tracker.ceph.com/issues/38288

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-09-23 13:59:07 +02:00
Volker Theile
86f47f6bfd mgr/dashboard: Add separate option to config SSL port
There is a need to introduce this new config option because the MgrModule::get_module_option() and MgrModule::get_localized_module_option() method will be refactored soon and will not support the default parameter anymore. Instead the default value must be configured in the MODULE_OPTIONS. Currently we misuse the server_port depending on if SSL is enabled or not.

Fixes: https://tracker.ceph.com/issues/38331

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-03-13 13:50:14 +01:00
Volker Theile
b9177e43c0 mgr/dashboard: Add UI to configure the telemetry mgr plugin
Fixes: tracker.ceph.com/issues/36488

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-02-12 16:36:56 +01:00
Ricardo Dias
e429afda53
qa/tasks/mgr/dashboard: NFS Ganesha tests
Signed-off-by: Ricardo Dias <rdias@suse.com>
2019-01-31 11:10:09 +00:00
Stephan Müller
19b039c28e mgr/dashboard/qa: Fix ECP creation test
The current solution fails on our CI-system as some outputs can have
more values and some parameters like 'w' can vary in different
environments.

As this was only tested before in a vstart cluster environment it
worked.

Through this commit only the given attributes we know to be there,
will be tested.

Fixes: https://tracker.ceph.com/issues/37275
Signed-off-by: Stephan Müller <smueller@suse.com>
2018-12-10 12:37:03 +01:00
James Page
20aa3ad17b Correct usage of collections.abc
Some classes should still be imported directly from collections;
only OrderedDict, Iterable and Callable (in the context of the
ceph codebase) are found in collections.abc.

The current code works due to the fallback support for Python 2.

Signed-off-by: James Page <james.page@ubuntu.com>
2018-11-29 09:48:43 +00:00
Zack Cerza
a90b5ac7c7 Allow specifying a schema for unknown JObj keys
Signed-off-by: Zack Cerza <zack@redhat.com>
2018-11-27 12:47:26 -07:00
Sebastian Wagner
4fe1344696 qa/mgr/dashboard: Fix type annotation error.
Also removed unused import

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-11-27 11:45:22 +01:00
Sage Weil
630a36a509 Merge PR #24798 into master
* refs/pull/24798/head:
	fix python collections module warning for v3.7 and above

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-11-26 11:25:19 -06:00
Lenz Grimmer
3ba874004e
Merge pull request #24489 from ricardoasmarques/wip-saml2
mgr/dashboard: SSO - SAML 2.0 support

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-11-09 13:11:22 +01:00
Ricardo Marques
04f4d5053e mgr/dashboard: SAML 2.0 support
Fixes: https://tracker.ceph.com/issues/24268

Signed-off-by: Ricardo Dias <rdias@suse.com>
Signed-off-by: Ricardo Marques <rimarques@suse.com>
2018-11-08 15:27:37 +00:00
Volker Theile
e6f130d470 mgr/dashboard: backend api tests: tasks.mgr.dashboard.test_osd.OsdTest failures
- Fix bug in Dashboard QA unit test framework. Don't set the application type header manually, this is done by the requests library if required.
- Enhance QA unit test helper: Print the response of the API request if it fails. This should help to identify the problem more easily.
- Fix bug in the OSD controller. A parameter needs to be converted to integer.
- Take care that the params of the request object are not modified.

The issue was introduced by PR https://github.com/ceph/ceph/pull/24475. The CherryPy json_in plugin disclosed the errorneous unit test helper implementation.

Fixes: https://tracker.ceph.com/issues/36708

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-11-07 17:36:53 +01:00
Lenz Grimmer
88719afc73
Merge pull request #22833 from rjfd/wip-dashboard-jwt
mgr/dashboard: JWT authentication

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-10-30 10:50:20 +01:00
Ricardo Dias
2f5e7c3392
mgr/dashboard: backend: JWT based authentication
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-10-29 15:47:14 +00:00
Ganesh Maharaj Mahalingam
625868974b fix python collections module warning for v3.7 and above
Python 3.7 now shows a warning as below.

/usr/bin/ceph:128: DeprecationWarning: Using or importing the ABCs from
'collections' instead of from 'collections.abc' is deprecated, and in
3.8 it will stop working
  import rados

This patch addresses the that particular issue.

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-10-28 23:32:22 -07:00
Zack Cerza
bd09bc0462 DashboardTestCase: add assertHeaders()
Signed-off-by: Zack Cerza <zack@redhat.com>
2018-10-24 16:04:37 -06:00
Patrick Nawracay
0f0de0ce2a mgr/dashboard: Add type hints to QA helper
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
2018-10-08 10:42:14 +02:00
Ricardo Marques
731dcefbeb mgr/dashboard: Check content-type before decode json response
Signed-off-by: Ricardo Marques <rimarques@suse.com>
2018-10-01 11:47:38 +01:00
Patrick Nawracay
8daffe86a6 mgr/dashboard: Fix for some dashboard timing issues
Specifically fixes the recurringly occurring `test_osd.py` error on the
`test_scrub` method. But this change should also prevent other issues of
the same kind. Issues of "same kind" are issues which occurr due to
tests which do not immediately result in a clean cluster status and
aren't manually programmed to wait for it.

Fixes: http://tracker.ceph.com/issues/36107

Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
2018-09-21 16:01:24 +02:00
Ricardo Dias
47a50eeba5
Merge pull request #21881 from sebastian-philipp/dashboard-pool-patch
mgr/dashboard: Add Pool update endpoint 

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2018-08-01 10:00:10 +01:00
Ricardo Marques
c4a1fe6b3b mgr/dashboard: Add asserError helper method
Signed-off-by: Ricardo Marques <rimarques@suse.com>
2018-07-25 16:16:50 +01:00
Sebastian Wagner
80106bcbc0 mgr/dashboard: Add Pool update endpoint
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-07-24 16:20:04 +02:00
Ricardo Dias
01a1a1ff84
qa/tasks/mgr/dashboard: Adapted tests to work with new authentication system
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-06-26 12:28:54 +01:00
Sebastian Wagner
3a34bae0fe mgr/dashboard: Applied Exception handling to RBDs
* DashboardTestCase: Removed waiter-thread

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-05-08 16:46:47 +02:00
Sebastian Wagner
a49f39f60e mgr/dashboard: Change to Status Code 400 by default.
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-05-08 16:39:51 +02:00
John Spray
b7a5da8bf0 qa: update dashboard tests for https://
Signed-off-by: John Spray <john.spray@redhat.com>
2018-04-27 09:58:47 -04:00