New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard) #20103

Merged
merged 163 commits into from Mar 6, 2018

Conversation

@LenzGr
Contributor

LenzGr commented Jan 24, 2018

The original Ceph Manager Dashboard as shipped with Ceph "Luminous" started out as a simple read-only view into various run-time information and performance data of a Ceph cluster, without authentication or any administrative functionality.

However, there is a growing demand for adding more web-based management capabilities, to make it easier for administrators that prefer a WebUI over the command line.

This module aims at becoming a "plug-in-replacement" for the existing dashboard, to provide the foundation for creating a native, built-in web based monitoring and administration application for Ceph.

The code and architecture of this module is derived from and inspired by the openATTIC Ceph management and monitoring tool.

The WebUI implementation is built using Angular and TypeScript. See the screen shot gallery for some impressions of the look and feel of the UI.

A lof of the backend code (based on CherryPy has been ported from the original dashboard, and will be extended in the future to support more than just read-only functionality. See the HACKING.rst file for the developer documentation.

The development is actively driven by the team behind openATTIC at SUSE. The intention is to reuse existing openATTIC code where possible, while adapting it to the different environment.

This PR represents the first milestone (feature parity with the original dashboard, plus a simple authentication mechanism).

The porting and migration of the existing openATTIC and dashboard functionality will be done in future pull requests.

@jcsp jcsp changed the title from [WIP] mgr/dashboard_v2: Initial submission of a web-based management/monitoring UI to [RFC, DNM] mgr/dashboard_v2: Initial submission of a web-based management/monitoring UI Jan 24, 2018

@jcsp jcsp added mgr feature labels Jan 24, 2018

@runsisi

This comment has been minimized.

Contributor

runsisi commented Jan 25, 2018

why not merge those RESTful thing from dashboard[1] into restful[2], and then start a new React/Vue/AngularJS SPA, this way everybody could reuse the RESTful API...

i saw CherryPy[1]/Pecan[2]/Flask[3] were used by different modules, why not choose one and reduce our dependencies on different Python packages?

@liewegas @jcsp what's your opinion? thanks!

[1] https://github.com/ceph/ceph/tree/master/src/pybind/mgr/dashboard
[2] https://github.com/ceph/ceph/tree/master/src/pybind/mgr/restful
[3] https://github.com/ceph/ceph/blob/master/src/pybind/ceph_rest_api.py

@LenzGr

This comment has been minimized.

Contributor

LenzGr commented Jan 25, 2018

@runsisi thank you for your feedback. As far as I understand it, the current dashboard does not use a REST API at all, the Python backend code performs the data collection and most of rendering here.

The original ceph_rest_api.py is primarily a REST wrapper around the librados Python bindings, so it provides less functionality than what is available to a module running in the Mgr context (and what the dashboard_v2 will require).

In our case, the dashboard_v2 REST API is not intended to become an "official/stable" REST API endpoint - it's primary purpose is to serve the needs of the WebUI. Right now, we try to create a REST API that closely resembles the one used by openATTIC, in order to minimize the porting effort on our side.

The restful manager module might be an option and a future convergence point. However, as we understand it, this module is meant to be used by external consumers that need a stable API. Using restful would make it much more difficult to change our API in the future.

Regarding Flask vs CherryPy vs Pecan: AFAIR, @jcsp already commented on the subject of using different Python modules on the ceph-devel mailing list. We chose CherryPy primarily because it is used by the existing dashboard and it fits our needs.

However, we're still quite early in the process of the dashboard_v2 backend. If there are strong arguments for it, we'd be fine with switching to another framework at some point. For now and the sake of making progress, we'd rather stick to using CherryPy, though.

@tchaikov tchaikov added the DNM label Jan 25, 2018

@LenzGr LenzGr added the dashboard label Feb 27, 2018

@liewegas

This comment has been minimized.

Member

liewegas commented Feb 28, 2018

jenkins render docs

@ceph-jenkins

This comment has been minimized.

Collaborator

ceph-jenkins commented Feb 28, 2018

Doc render available at http://docs.ceph.com/ceph-prs/20103/

@LenzGr LenzGr changed the title from [RFC, DNM] mgr/dashboard_v2: Initial submission of a web-based management/monitoring UI to mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard) Mar 1, 2018

@LenzGr LenzGr added needs-review and removed DNM labels Mar 1, 2018

@LenzGr

This comment has been minimized.

Contributor

LenzGr commented Mar 1, 2018

OK, we've now concluded our first milestone (feature parity with the existing dashboard) and cleaned up the commit history by rebasing/squashing many commits. We'd be grateful for reviews/comments!

@rjfd rjfd requested review from jcsp, tchaikov, b-ranto and smithfarm Mar 1, 2018

@rjfd

This comment has been minimized.

Contributor

rjfd commented Mar 1, 2018

@smithfarm

This comment has been minimized.

Contributor

smithfarm commented Mar 1, 2018

@rdias While you're at it, can you schedule a /2000 rados run?

@alfredodeza

This comment has been minimized.

Contributor

alfredodeza commented Mar 1, 2018

I agree with @runsisi about the multiple different frameworks used, and would love to see reducing them to just 1. Most everything in the Ceph ecosystem (build services, ceph-installer, shaman, etc...) is Pecan based, which means there is a lot of know-how in our team, and I am strongly in favor of using it.

Having browsed through the initial PR, it seems unreasonable to ask for that transition from the get-go. I would eventually like to have an open discussion to understand what the framework of choice should be moving forward, and what that means for other frameworks being used in the source tree.

As an in-tree project which is choosing Angular, how would it look if another dashboard/app chooses React? There is value in uniformity of frameworks.

Again, not meaning to derail the PR moving forward. Hope the framework discussion can be picked up later!

@rjfd

This comment has been minimized.

Contributor

rjfd commented Mar 1, 2018

jenkins retest this please

@tchaikov

This comment has been minimized.

Contributor

tchaikov commented Mar 1, 2018

/usr/local/bin/node: 1: /usr/local/bin/node: Syntax error: "(" unexpected
src/pybind/mgr/dashboard_v2/CMakeFiles/mgr-dashboard_v2-frontend-deps.dir/build.make:60: recipe for target '../src/pybind/mgr/dashboard_v2/frontend/node_modules' failed
make[3]: *** [../src/pybind/mgr/dashboard_v2/frontend/node_modules] Error 2
CMakeFiles/Makefile2:4699: recipe for target 'src/pybind/mgr/dashboard_v2/CMakeFiles/mgr-dashboard_v2-frontend-deps.dir/all' failed
make[2]: *** [src/pybind/mgr/dashboard_v2/CMakeFiles/mgr-dashboard_v2-frontend-deps.dir/all] Error 2

build failure on aarch64. see https://jenkins.ceph.com/job/ceph-pull-requests-arm64/13554/console

@sebastian-philipp

This comment has been minimized.

Member

sebastian-philipp commented Mar 1, 2018

From the Jenkins job:

ImportError: dynamic module does not define module export function (PyInit_rbd)

Looks like Jenkins only builds Python 2 modules.

@rjfd

This comment has been minimized.

Contributor

rjfd commented Mar 2, 2018

@tchaikov the error is due to a run of "make check (arm64) of a prior version of this PR that left an "x86" node binary in /usr/local/bin. The reason why it's an "x86" binary is due to a bug in the node "n" package that fails to detect the system architecture and fallbacks to x86.

I'm already fixing install-deps.sh script to explicitly pass the arch type to the "n" command, but I think we need to remove the /usr/local/bin/node binary plus remove the directory /usr/local/n from the machine that performs the arm64 builds.

@dmick could you remove the file and directory that I reference above?

sebastian-philipp and others added some commits Feb 27, 2018

mgr/dashboard_v2: Integrate dashboard_v2 into `make check`
Also:

* Disabled API tests in tox.
* No longer start a vstart.sh cluster in tox.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
mgr/dashboard_v2: Add CMake target to build the frontend.
* Added new CMake flag `WITH_MGR_DASHBOARD_V2_FRONTEND`:
  Build the mgr/dashboard_v2 frontend using `npm install && npm run build`

* Set this flag to `OFF` when building packages.

* Removed creation of the frontend from `vstart.sh`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
mgr/dashboard_v2: Add mgr-dashboard_v2 frontend unittests to `ctest`
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
qa/tasks/mgr: move test initialization to setUpClass method
With this change, we avoid the disabling/enabling of the ceph-mgr module
being tested for each test function declared in each test case. Now
the ceph-mgr module being tested is disabled/enabled only once for each
test case.

Signed-off-by: Ricardo Dias <rdias@suse.com>
qa/tasks/mgr/dashboard_v2: implementation of backend API tests
We moved the dashboard_v2 test cases that required a real ceph cluster
to run into qa/tasks/mgr with the necessary adaptations.
These tests can now be run in teuthology using the cephfs_test_runner
task.

Signed-off-by: Ricardo Dias <rdias@suse.com>
qa/suites/mgr/dashboard_v2: added suite yaml for testing dashboard_v2
Signed-off-by: Ricardo Dias <rdias@suse.com>
mgr/dashboard_v2: Added smoke test.
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
mgr/dashboard_v2: added script to run backend API tests locally
Signed-off-by: Ricardo Dias <rdias@suse.com>
@smithfarm

As far as I can tell, this passed a rados suite and works as advertised.

@@ -888,6 +906,7 @@ cmake .. \
-DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \
-DWITH_MGR_DASHBOARD_V2_FRONTEND=OFF \

This comment has been minimized.

@smithfarm

smithfarm Mar 5, 2018

Contributor

why OFF, though?

This comment has been minimized.

@rjfd

rjfd Mar 5, 2018

Contributor

The frontend build requires internet access which is not available in packaging build services, such as OBS. Because of this reason we build the frontend when generating the tarball and include the result files in the tarball.

This comment has been minimized.

@tchaikov

tchaikov Mar 6, 2018

Contributor

@rjfd yeah, i have the same question. since make-dist is updated to include the generated files under src/pybind/mgr/dashboard_v2/frontend/dist , we can safely enable this option in debian/rules and ceph.spec.in, i think?

This comment has been minimized.

@rjfd

rjfd Mar 6, 2018

Contributor

the WITH_MGR_DASHBOARD_V2_FRONTEND enables/disables the frontend compilation, if we enable it during the packaging build (inside OBS, or other packaging service) it will require nodejs and npm as system dependencies, and will try to download all nodejs packages frontend dependencies when running npm install (https://github.com/ceph/ceph/pull/20103/files#diff-bb5b00ad365f9278caa7bfa071fc7ce3R15). This will fail for two reasons:

a) usually the nodejs and npm system dependencies are too old, that's why we have to upgrade node and npm in install-deps.sh
b) packaging services don't allow internet access during build and npm install will fail

This is the reason why we include the frontend compiled files in the tarball to avoid the above problems.

This comment has been minimized.

@smithfarm

smithfarm Mar 6, 2018

Contributor

It's counter-intuitive for the dashboard to be set to "OFF" in the packaging. There is an analogous situation with Boost, which is downloaded by make-dist. During the build cmake checks for the existence of a Boost-specific file, and only attempts the download if that file doesn't exist. See https://github.com/ceph/ceph/blob/master/cmake/modules/BuildBoost.cmake#L132-L159 for the implementation.

If doing that is too much trouble, could we at least rename the option to something more descriptive (and non-negative) like "-DWITH_MGR_DASHBOARD_V2_NODEJS_DEPS_IN_TARBALL=ON"

This comment has been minimized.

@sebastian-philipp

sebastian-philipp Mar 6, 2018

Member

If doing that is too much trouble, could we at least rename the option to something more descriptive (and non-negative) like "-
DWITH_MGR_DASHBOARD_V2_NODEJS_DEPS_IN_TARBALL=ON"

From a POV of cmake, this flag disables or enables the build of the frontend. Changing this cmake flag has no effect on the tarball creation.

This comment has been minimized.

@rjfd

rjfd Mar 6, 2018

Contributor

@smithfarm I agree with your concern, and I think we can even drop the cmake option, but that will require another round of build testing that takes some time. Can I open a PR after this one is merged dropping the cmake option?

This comment has been minimized.

@smithfarm

smithfarm Mar 6, 2018

Contributor

@rjfd Yes, I was going to say that this concern of mine should not block merge of this PR.

@@ -5,7 +5,7 @@ export DESTDIR=$(CURDIR)/debian/tmp
export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
extraopts += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON -DWITH_PYTHON3=ON -DWITH_EMBEDDED=OFF
extraopts += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON -DWITH_PYTHON3=ON -DWITH_EMBEDDED=OFF -DWITH_MGR_DASHBOARD_V2_FRONTEND=OFF

This comment has been minimized.

@smithfarm

smithfarm Mar 5, 2018

Contributor

why OFF?

This comment has been minimized.

@rjfd

rjfd Mar 5, 2018

Contributor

same reason as above

@jcsp

jcsp approved these changes Mar 5, 2018

I'm happy with the vstart+qa changes + the UI code itself has already been peer reviewed.

@jcsp

This comment has been minimized.

Contributor

jcsp commented Mar 5, 2018

Installed latest centos RPMs in my test environment and it all looks good! 👍 👍 👍

@tchaikov

just skimmed through the change, lgtm in general.

@tchaikov tchaikov merged commit 23eb14d into ceph:master Mar 6, 2018

5 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
make check (arm64) make check succeeded
Details
@tchaikov

This comment has been minimized.

Contributor

tchaikov commented on src/pybind/mgr/dashboard_v2/tests/test_tools.py in 8ba6e24 Apr 8, 2018

@sebastian-philipp @rjfd the tests for detail_route fails recently could you take a look, see #21280

    def test_detail_route(self):
        self._get('/foo/default')
>       self.assertJsonBody({'detail': ['default', []]})

tests/test_tools.py:114: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/helper.py:67: in assertJsonBody
    self._handlewebError(msg)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <dashboard.tests.test_tools.RESTControllerTest testMethod=test_detail_route>
msg = 'expected body:\n{\'detail\': [\'default\', []]}\n\nactual body:\n{u\'version\': u\'13.1.0\', u\'detail\': u"The path ...   raise self\\nNotFound: (404, "The path \\\'/foo/default\\\' was not found.")\\n\', u\'status\': u\'404 Not Found\'}'
    def test_fill(self):
        sess_mock = RamSession()
        with patch('cherrypy.session', sess_mock, create=True):
            data = {'a': 'b'}
            for _ in range(5):
                self._post("/foo", data)
                self.assertJsonBody(data)
                self.assertStatus(201)
                self.assertHeader('Content-Type', 'application/json')
    
            self._get("/foo")
            self.assertStatus('200 OK')
            self.assertHeader('Content-Type', 'application/json')
            self.assertJsonBody([data] * 5)
    
            self._put('/foo/0', {'newdata': 'newdata'})
>           self.assertStatus('200 OK')

tests/test_tools.py:89: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/py27/local/lib/python2.7/site-packages/cheroot/test/webtest.py:392: in assertStatus
    self._handlewebError(msg)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <dashboard.tests.test_tools.RESTControllerTest testMethod=test_fill>
msg = 'Status 404 Not Found does not match 200 OK'

This comment has been minimized.

Member

sebastian-philipp replied Apr 8, 2018

Relates to #21239 (review)

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Aug 2, 2018

Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Aug 3, 2018

Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Aug 8, 2018

Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Aug 8, 2018

mgr/dashboard_v2: New Web-UI (v1 feature parity)
Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Aug 23, 2018

mgr/dashboard_v2: New Web-UI (v1 feature parity)
Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Sep 5, 2018

mgr/dashboard_v2: New Web-UI (v1 feature parity)
Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Sep 26, 2018

mgr/dashboard_v2: New Web-UI (v1 feature parity)
Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.

epuertat added a commit to rhcs-dashboard/ceph that referenced this pull request Oct 1, 2018

mgr/dashboard_v2: New Web-UI (v1 feature parity)
Merge pull request ceph#20103 from openattic/wip-mgr-dashboard_v2

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 23eb14d)
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>

Conflicts:
	ceph.spec.in
	install-deps.sh
	qa/tasks/mgr/mgr_test_case.py
	qa/tasks/mgr/test_prometheus.py
	src/pybind/CMakeLists.txt
	src/vstart.sh

Conflict-solving summary:
ceph.spec.in:
- Add make-check distro-conditional Python BuildRequires:
    CherryPy, tox, coverage and bcrypt.
- Add ceph-mgr package Python Requires:
    bcrypt

install-deps.sh
- Add ensure_min_npm_version

qa/tasks/mgr/mgr_test_case.py
- Pick setUpClass method from remote

qa/tasks/mgr/test_prometheus.py
- Delete

src/pybind/CMakeLists.txt
- Add add_subdirectory(mgr)

src/vstart.sh
- Bring DASH_V2_URLS and dashboard_v2 config setting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment