Skip to content

Commit 52daf7e

Browse files
TarasPriadkacopybaranaut
authored andcommitted
Add requested replicas field to ReplicaSet and Deployment resources.
Summary: Since usually users want to know how many replicas are requested of each resource which manager replicas, add a `requested_replicas` field to rs and deployments which is taken from the spec object. This will give more visibility to the users about the state of the object. Test Plan: test that requested_replicas field is added to all steps of metadata pipeline Reviewers: philkuz, vihang, michelle Reviewed By: philkuz Signed-off-by: Taras Priadka <tpriadka@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D11993 GitOrigin-RevId: 7a6b61d
1 parent f458dad commit 52daf7e

13 files changed

Lines changed: 458 additions & 313 deletions

File tree

src/carnot/funcs/metadata/metadata_ops.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -698,6 +698,7 @@ inline types::StringValue ReplicaSetInfoToStatus(const px::md::ReplicaSetInfo* r
698698
int ready_replicas = 0;
699699
int available_replicas = 0;
700700
int observed_generation = 0;
701+
int requested_replicas = 0;
701702
std::string conditions = "";
702703

703704
if (rs_info != nullptr) {
@@ -706,6 +707,7 @@ inline types::StringValue ReplicaSetInfoToStatus(const px::md::ReplicaSetInfo* r
706707
ready_replicas = rs_info->ready_replicas();
707708
available_replicas = rs_info->available_replicas();
708709
observed_generation = rs_info->observed_generation();
710+
requested_replicas = rs_info->requested_replicas();
709711

710712
auto rs_conditions = rs_info->conditions();
711713
for (const auto& condition : rs_info->conditions()) {
@@ -721,6 +723,7 @@ inline types::StringValue ReplicaSetInfoToStatus(const px::md::ReplicaSetInfo* r
721723
d.AddMember("fully_labeled_replicas", fully_labeled_replicas, d.GetAllocator());
722724
d.AddMember("ready_replicas", ready_replicas, d.GetAllocator());
723725
d.AddMember("available_replicas", available_replicas, d.GetAllocator());
726+
d.AddMember("requested_replicas", requested_replicas, d.GetAllocator());
724727
d.AddMember("observed_generation", observed_generation, d.GetAllocator());
725728
d.AddMember("conditions", internal::StringRef(conditions), d.GetAllocator());
726729
rapidjson::StringBuffer sb;
@@ -774,6 +777,8 @@ inline types::StringValue DeploymentInfoToStatus(const px::md::DeploymentInfo* d
774777
int available_replicas = 0;
775778
int unavailable_replicas = 0;
776779
int observed_generation = 0;
780+
int requested_replicas = 0;
781+
777782
std::string conditions = "";
778783

779784
if (dep_info != nullptr) {
@@ -783,6 +788,7 @@ inline types::StringValue DeploymentInfoToStatus(const px::md::DeploymentInfo* d
783788
available_replicas = dep_info->available_replicas();
784789
unavailable_replicas = dep_info->unavailable_replicas();
785790
observed_generation = dep_info->observed_generation();
791+
requested_replicas = dep_info->requested_replicas();
786792

787793
auto rs_conditions = dep_info->conditions();
788794
for (const auto& condition : dep_info->conditions()) {
@@ -799,6 +805,7 @@ inline types::StringValue DeploymentInfoToStatus(const px::md::DeploymentInfo* d
799805
d.AddMember("ready_replicas", ready_replicas, d.GetAllocator());
800806
d.AddMember("available_replicas", available_replicas, d.GetAllocator());
801807
d.AddMember("unavailable_replicas", unavailable_replicas, d.GetAllocator());
808+
d.AddMember("requested_replicas", requested_replicas, d.GetAllocator());
802809
d.AddMember("observed_generation", observed_generation, d.GetAllocator());
803810
d.AddMember("conditions", internal::StringRef(conditions), d.GetAllocator());
804811
rapidjson::StringBuffer sb;

src/carnot/funcs/metadata/metadata_ops_test.cc

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -899,8 +899,9 @@ TEST_F(MetadataOpsTest, replicaset_id_to_status_test) {
899899

900900
md::ReplicaSetConditions conditions_ready{{"ready", md::ConditionStatus::kTrue}};
901901
md::ReplicaSetConditions conditions_terminated{{"Terminating", md::ConditionStatus::kTrue}};
902-
md::ReplicaSetInfo rs_info_ready("", "", "", 5, 5, 3, 3, 5, conditions_ready, 101, 0);
903-
md::ReplicaSetInfo rs_info_terminating("", "", "", 0, 0, 0, 0, 5, conditions_terminated, 101, 0);
902+
md::ReplicaSetInfo rs_info_ready("", "", "", 5, 5, 3, 3, 5, 5, conditions_ready, 101, 0);
903+
md::ReplicaSetInfo rs_info_terminating("", "", "", 0, 0, 0, 0, 5, 0, conditions_terminated, 101,
904+
0);
904905

905906
udf_tester.ForInput("rs0_uid").Expect(ReplicaSetInfoToStatus(&rs_info_ready));
906907
udf_tester.ForInput("terminating_rs0_uid").Expect(ReplicaSetInfoToStatus(&rs_info_terminating));
@@ -1018,8 +1019,9 @@ TEST_F(MetadataOpsTest, replicaset_name_to_status_test) {
10181019

10191020
md::ReplicaSetConditions conditionsReady{{"ready", md::ConditionStatus::kTrue}};
10201021
md::ReplicaSetConditions conditionsTerminating{{"Terminating", md::ConditionStatus::kTrue}};
1021-
md::ReplicaSetInfo rs_info_ready("", "", "", 5, 5, 3, 3, 5, conditionsReady, 101, 0);
1022-
md::ReplicaSetInfo rs_info_terminating("", "", "", 0, 0, 0, 0, 5, conditionsTerminating, 101, 0);
1022+
md::ReplicaSetInfo rs_info_ready("", "", "", 5, 5, 3, 3, 5, 5, conditionsReady, 101, 0);
1023+
md::ReplicaSetInfo rs_info_terminating("", "", "", 0, 0, 0, 0, 5, 0, conditionsTerminating, 101,
1024+
0);
10231025

10241026
udf_tester.ForInput("pl/rs0").Expect(ReplicaSetInfoToStatus(&rs_info_ready));
10251027
udf_tester.ForInput("pl/terminating_rs").Expect(ReplicaSetInfoToStatus(&rs_info_terminating));
@@ -1120,11 +1122,11 @@ TEST_F(MetadataOpsTest, deployment_id_to_status_test) {
11201122
md::DeploymentConditions conditions_terminating{
11211123
{md::DeploymentConditionType::kAvailable, md::ConditionStatus::kFalse}};
11221124

1123-
md::DeploymentInfo dep_info_ready("", "", "", 5, 5, 4, 3, 3, 2, conditions_ready, 101, 0);
1124-
md::DeploymentInfo dep_info_terminating("", "", "", 2, 6, 5, 3, 3, 2, conditions_terminating, 123,
1125-
0);
1126-
md::DeploymentInfo dep_info_terminated("", "", "", 2, 0, 0, 0, 0, 0, conditions_terminating, 123,
1127-
150);
1125+
md::DeploymentInfo dep_info_ready("", "", "", 5, 5, 4, 3, 3, 2, 5, conditions_ready, 101, 0);
1126+
md::DeploymentInfo dep_info_terminating("", "", "", 2, 6, 5, 3, 3, 2, 0, conditions_terminating,
1127+
123, 0);
1128+
md::DeploymentInfo dep_info_terminated("", "", "", 2, 0, 0, 0, 0, 0, 0, conditions_terminating,
1129+
123, 150);
11281130

11291131
udf_tester.ForInput("deployment_uid").Expect(DeploymentInfoToStatus(&dep_info_ready));
11301132
udf_tester.ForInput("terminating_deployment_uid")
@@ -1202,11 +1204,11 @@ TEST_F(MetadataOpsTest, deployment_name_to_status_test) {
12021204
md::DeploymentConditions conditions_terminating{
12031205
{md::DeploymentConditionType::kAvailable, md::ConditionStatus::kFalse}};
12041206

1205-
md::DeploymentInfo dep_info_ready("", "", "", 5, 5, 4, 3, 3, 2, conditions_ready, 101, 0);
1206-
md::DeploymentInfo dep_info_terminating("", "", "", 2, 6, 5, 3, 3, 2, conditions_terminating, 123,
1207-
0);
1208-
md::DeploymentInfo dep_info_terminated("", "", "", 2, 0, 0, 0, 0, 0, conditions_terminating, 123,
1209-
150);
1207+
md::DeploymentInfo dep_info_ready("", "", "", 5, 5, 4, 3, 3, 2, 5, conditions_ready, 101, 0);
1208+
md::DeploymentInfo dep_info_terminating("", "", "", 2, 6, 5, 3, 3, 2, 0, conditions_terminating,
1209+
123, 0);
1210+
md::DeploymentInfo dep_info_terminated("", "", "", 2, 0, 0, 0, 0, 0, 0, conditions_terminating,
1211+
123, 150);
12101212

12111213
udf_tester.ForInput("pl/deployment1").Expect(DeploymentInfoToStatus(&dep_info_ready));
12121214
udf_tester.ForInput("pl/terminating_deployment1")

0 commit comments

Comments
 (0)