diff options
| author | zousar <[email protected]> | 2025-04-22 15:57:02 -0600 |
|---|---|---|
| committer | zousar <[email protected]> | 2025-04-22 15:57:02 -0600 |
| commit | 6646a12bbffd349ad234a4265e339797e815493b (patch) | |
| tree | 6227d1e13b14526b91b5e728a2b3e03980521173 /src | |
| parent | Fix list-container positional args to remove query-path (diff) | |
| download | zen-6646a12bbffd349ad234a4265e339797e815493b.tar.xz zen-6646a12bbffd349ad234a4265e339797e815493b.zip | |
Replace container with namespaces
Diffstat (limited to 'src')
| -rw-r--r-- | src/zen/cmds/builds_cmd.cpp | 28 | ||||
| -rw-r--r-- | src/zen/cmds/builds_cmd.h | 7 | ||||
| -rw-r--r-- | src/zenutil/filebuildstorage.cpp | 5 | ||||
| -rw-r--r-- | src/zenutil/include/zenutil/buildstorage.h | 2 | ||||
| -rw-r--r-- | src/zenutil/jupiter/jupiterbuildstorage.cpp | 39 |
5 files changed, 46 insertions, 35 deletions
diff --git a/src/zen/cmds/builds_cmd.cpp b/src/zen/cmds/builds_cmd.cpp index 40cd8fa74..bdf349888 100644 --- a/src/zen/cmds/builds_cmd.cpp +++ b/src/zen/cmds/builds_cmd.cpp @@ -8913,20 +8913,26 @@ BuildsCommand::BuildsCommand() m_Options.positional_help("verb"); // list-container - AddSystemOptions(m_ListContainerOptions); - AddCloudOptions(m_ListContainerOptions); - AddFileOptions(m_ListContainerOptions); - AddOutputOptions(m_ListContainerOptions); - AddZenFolderOptions(m_ListContainerOptions); - m_ListContainerOptions.add_options()("h,help", "Print help"); - m_ListContainerOptions.add_option("", + AddSystemOptions(m_ListNamespacesOptions); + AddCloudOptions(m_ListNamespacesOptions); + AddFileOptions(m_ListNamespacesOptions); + AddOutputOptions(m_ListNamespacesOptions); + AddZenFolderOptions(m_ListNamespacesOptions); + m_ListNamespacesOptions.add_options()("h,help", "Print help"); + m_ListNamespacesOptions.add_option("", + "", + "recursive", + "Enable fetch of buckets within namespaces also", + cxxopts::value(m_ListNamespacesRecursive), + "<recursive>"); + m_ListNamespacesOptions.add_option("", "", "result-path", "Path to json or compactbinary to write query result to", cxxopts::value(m_ListResultPath), "<result-path>"); - m_ListContainerOptions.parse_positional({"result-path"}); - m_ListContainerOptions.positional_help("result-path"); + m_ListNamespacesOptions.parse_positional({"result-path"}); + m_ListNamespacesOptions.positional_help("result-path"); // list AddSystemOptions(m_ListOptions); @@ -9612,7 +9618,7 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) try { - if (SubOption == &m_ListContainerOptions) + if (SubOption == &m_ListNamespacesOptions) { if (!m_ListResultPath.empty()) { @@ -9636,7 +9642,7 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) StorageInstance Storage = CreateBuildStorage(StorageStats, StorageCacheStats, ZenTempFolderPath(ZenFolderPath)); - CbObject Response = Storage.BuildStorage->ListContainers(); + CbObject Response = Storage.BuildStorage->ListNamespaces(m_ListNamespacesRecursive); ZEN_ASSERT(ValidateCompactBinary(Response.GetView(), CbValidateMode::All) == CbValidateError::None); if (m_ListResultPath.empty()) { diff --git a/src/zen/cmds/builds_cmd.h b/src/zen/cmds/builds_cmd.h index 3da1922c9..f44e758ae 100644 --- a/src/zen/cmds/builds_cmd.h +++ b/src/zen/cmds/builds_cmd.h @@ -84,8 +84,9 @@ private: std::string m_Verb; // list, upload, download - cxxopts::Options m_ListContainerOptions{"list-container", "List available build containers"}; - std::string m_ListContainerResultPath; + cxxopts::Options m_ListNamespacesOptions{"list-namespaces", "List available build namespaces"}; + std::string m_ListNamespacesResultPath; + bool m_ListNamespacesRecursive = false; cxxopts::Options m_ListOptions{"list", "List available builds"}; std::string m_ListQueryPath; @@ -117,7 +118,7 @@ private: cxxopts::Options m_MultiTestDownloadOptions{"multi-test-download", "Test multiple sequenced downloads with verify"}; std::vector<std::string> m_BuildIds; - cxxopts::Options* m_SubCommands[9] = {&m_ListContainerOptions, + cxxopts::Options* m_SubCommands[9] = {&m_ListNamespacesOptions, &m_ListOptions, &m_UploadOptions, &m_DownloadOptions, diff --git a/src/zenutil/filebuildstorage.cpp b/src/zenutil/filebuildstorage.cpp index b77eb1d11..badfb4840 100644 --- a/src/zenutil/filebuildstorage.cpp +++ b/src/zenutil/filebuildstorage.cpp @@ -35,9 +35,10 @@ public: virtual ~FileBuildStorage() {} - virtual CbObject ListContainers() override + virtual CbObject ListNamespaces(bool bRecursive) override { - ZEN_TRACE_CPU("FileBuildStorage::ListContainers"); + ZEN_TRACE_CPU("FileBuildStorage::ListNamespaces"); + ZEN_UNUSED(bRecursive); SimulateLatency(0, 0); diff --git a/src/zenutil/include/zenutil/buildstorage.h b/src/zenutil/include/zenutil/buildstorage.h index 0785acd62..5422c837c 100644 --- a/src/zenutil/include/zenutil/buildstorage.h +++ b/src/zenutil/include/zenutil/buildstorage.h @@ -25,7 +25,7 @@ public: virtual ~BuildStorage() {} - virtual CbObject ListContainers() = 0; + virtual CbObject ListNamespaces(bool bRecursive = false) = 0; virtual CbObject ListBuilds(CbObject Query) = 0; virtual CbObject PutBuild(const Oid& BuildId, const CbObject& MetaData) = 0; virtual CbObject GetBuild(const Oid& BuildId) = 0; diff --git a/src/zenutil/jupiter/jupiterbuildstorage.cpp b/src/zenutil/jupiter/jupiterbuildstorage.cpp index b2fabb43f..6ada72e1e 100644 --- a/src/zenutil/jupiter/jupiterbuildstorage.cpp +++ b/src/zenutil/jupiter/jupiterbuildstorage.cpp @@ -35,9 +35,9 @@ public: } virtual ~JupiterBuildStorage() {} - virtual CbObject ListContainers() override + virtual CbObject ListNamespaces(bool bRecursive) override { - ZEN_TRACE_CPU("Jupiter::ListContainers"); + ZEN_TRACE_CPU("Jupiter::ListNamespaces"); Stopwatch ExecutionTimer; auto _ = MakeGuard([&]() { m_Stats.TotalExecutionTimeUs += ExecutionTimer.GetElapsedTimeUs(); }); @@ -45,9 +45,9 @@ public: AddStatistic(ListResult); if (!ListResult.Success) { - throw std::runtime_error(fmt::format("Failed listing containers: {} ({})", ListResult.Reason, ListResult.ErrorCode)); + throw std::runtime_error(fmt::format("Failed listing namespaces: {} ({})", ListResult.Reason, ListResult.ErrorCode)); } - CbObject NamespaceResponse = PayloadToCbObject("Failed listing containers"sv, ListResult.Response); + CbObject NamespaceResponse = PayloadToCbObject("Failed listing namespaces"sv, ListResult.Response); CbObjectWriter Response; Response.BeginArray("results"sv); @@ -59,25 +59,28 @@ public: Response.BeginObject(); Response.AddString("name", Namespace); - JupiterResult BucketsResult = m_Session.ListBuildBuckets(Namespace); - AddStatistic(BucketsResult); - if (!BucketsResult.Success) + if (bRecursive) { - throw std::runtime_error( - fmt::format("Failed listing containers: {} ({})", BucketsResult.Reason, BucketsResult.ErrorCode)); - } - CbObject BucketResponse = PayloadToCbObject("Failed listing containers"sv, BucketsResult.Response); + JupiterResult BucketsResult = m_Session.ListBuildBuckets(Namespace); + AddStatistic(BucketsResult); + if (!BucketsResult.Success) + { + throw std::runtime_error( + fmt::format("Failed listing namespaces: {} ({})", BucketsResult.Reason, BucketsResult.ErrorCode)); + } + CbObject BucketResponse = PayloadToCbObject("Failed listing namespaces"sv, BucketsResult.Response); - Response.BeginArray("items"); - for (CbFieldView BucketField : BucketResponse["buckets"]) - { - std::string_view Bucket = BucketField.AsString(); - if (!Bucket.empty()) + Response.BeginArray("items"); + for (CbFieldView BucketField : BucketResponse["buckets"]) { - Response.AddString(Bucket); + std::string_view Bucket = BucketField.AsString(); + if (!Bucket.empty()) + { + Response.AddString(Bucket); + } } + Response.EndArray(); } - Response.EndArray(); Response.EndObject(); } |