]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: Integrate Rook client generation
authorSebastian Wagner <sebastian.wagner@suse.com>
Mon, 13 Jan 2020 12:00:41 +0000 (13:00 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Thu, 13 Feb 2020 10:33:55 +0000 (11:33 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
CMakeLists.txt
ceph.spec.in
make-dist
src/pybind/mgr/CMakeLists.txt
src/pybind/mgr/rook/CMakeLists.txt [new file with mode: 0644]

index 2670b5ee31b6fe4fc780f1dbcc8427914490f966..a5c6f7e3697a765fe8558c8ff7e4d9135ad67d23 100644 (file)
@@ -605,6 +605,9 @@ set(DASHBOARD_FRONTEND_LANGS "" CACHE STRING
   "List of comma separated ceph-dashboard frontend languages to build. \
   Use value `ALL` to build all languages")
 
+# TODO: make this an option and set it to the same value as WITH_MGR_DASHBOARD_FRONTEND
+set(WITH_MGR_ROOK_CLIENT WITH_MGR_DASHBOARD_FRONTEND)
+
 include_directories(SYSTEM ${PROJECT_BINARY_DIR}/include)
 
 find_package(Threads REQUIRED)
index eeb88d2b7d67b0562216a2fa8ede33172ea294ff..5b392e65f00923b4f38386981120a65d6d254db0 100644 (file)
@@ -567,6 +567,7 @@ Group:          System/Filesystems
 %endif
 Requires:       ceph-mgr = %{_epoch_prefix}%{version}-%{release}
 Requires:       python%{python3_pkgversion}-kubernetes
+Requires:       python%{python3_pkgversion}-jsonpatch
 %description mgr-rook
 ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using
 a Rook backend.
index 5b9135b99905efaaa6fae33df0570990c1523470..5ec42228712efb96fa20cf97e231d915eb99b860 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -108,6 +108,11 @@ build_dashboard_frontend() {
   tar cf dashboard_frontend.tar $outfile/src/pybind/mgr/dashboard/frontend/dist
 }
 
+generate_rook_ceph_client() {
+  $outfile/src/pybind/mgr/rook/generate_rook_ceph_client.sh
+  tar cf rook_ceph_client.tar $outfile/src/pybind/mgr/rook/rook_client/*.py
+}
+
 # clean out old cruft...
 echo "cleanup..."
 rm -f $outfile*
@@ -141,10 +146,12 @@ download_boost $boost_version 59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa
                https://download.ceph.com/qa
 
 build_dashboard_frontend
+generate_rook_ceph_client
 tar --concatenate -f $outfile.all.tar $outfile.version.tar
 tar --concatenate -f $outfile.all.tar $outfile.boost.tar
 tar --concatenate -f $outfile.all.tar $outfile.tar
 tar --concatenate -f $outfile.all.tar dashboard_frontend.tar
+tar --concatenate -f $outfile.all.tar rook_ceph_client.tar
 mv $outfile.all.tar $outfile.tar
 rm $outfile
 rm -f $outfile.version.tar
index de237e29c45b374195003cb261b99d6782976b9d..f7bf96701fe01ae52041c181ba31fdd647165142 100644 (file)
@@ -2,6 +2,7 @@ if(WITH_MGR_DASHBOARD_FRONTEND)
   add_subdirectory(dashboard)
 endif()
 add_subdirectory(insights)
+add_subdirectory(rook)
 
 if(WITH_TESTS)
   include(AddCephTest)
@@ -18,6 +19,7 @@ install(DIRECTORY
   REGEX ".*\\.pyi" EXCLUDE
   REGEX "hello/.*" EXCLUDE
   REGEX "tests/.*" EXCLUDE
+  REGEX "rook/rook-client-python.*" EXCLUDE
   REGEX "osd_perf_query/.*" EXCLUDE
   REGEX "tox.ini" EXCLUDE
   REGEX "requirements.txt" EXCLUDE)
diff --git a/src/pybind/mgr/rook/CMakeLists.txt b/src/pybind/mgr/rook/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a1a6aee
--- /dev/null
@@ -0,0 +1,18 @@
+# if(WITH_MGR_DASHBOARD_FRONTEND AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
+
+if (WITH_MGR_ROOK_CLIENT)
+add_custom_command(
+  OUTPUT rook_client/__init__.py
+  COMMAND ./generate_rook_ceph_client.sh
+  DEPENDS rook_cluster.py
+  COMMENT "generating mgr/rook/rook_client"
+  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/src/pybind/mgr/rook")
+
+add_custom_target(mgr-rook-client
+  ALL
+  DEPENDS rook_client/__init__.py
+  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/src/pybind/mgr/rook"
+)
+
+add_dependencies(ceph-mgr mgr-rook-client)
+endif (WITH_MGR_ROOK_CLIENT)
\ No newline at end of file