# Can operator control the role allocation among FDB processes?

**URL:** <https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740>\
**Category:** Kubernetes Operator\
**Created:** [January 16, 2023, 9:42am UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740 "2023-01-16T09:42:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mengzhbj](https://avatars.discourse-cdn.com/v4/letter/m/3ab097/32.png) [@mengzhbj](https://forums.foundationdb.org/u/mengzhbj)\
**Post date:** [January 16, 2023, 9:42am UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740/1 "2023-01-16T09:42:14Z")

</div>

As we know, user can define the numbers of different FDB processes. And all the required roles will be allocated among the defined processes.  
Can operator control the role allocation right now? For example, I define a cluster with 3 proxy and 4 stateless processes. Can the “commit\_proxy” and “grv\_proxy” role only go to the proxy processes instead of any stateless process? In my testing, I found even if I have one proxy process idle, one of the stateless processes got a “grv\_proxy” role.

---

<div class="post-metadata">

**Author:** ![johscheuer](https://avatars.discourse-cdn.com/v4/letter/j/f475e1/32.png) [@johscheuer](https://forums.foundationdb.org/u/johscheuer)\
**Post date:** [January 16, 2023, 12:45pm UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740/2 "2023-01-16T12:45:11Z")

</div>

The operator is not doing the actual assignment. The operator is only doing the configuration via. the configure command and the assignment is done by FDB itself. Based on [foundationdb/Locality.cpp at 7.1.25 · apple/foundationdb · GitHub](https://github.com/apple/foundationdb/blob/7.1.25/fdbrpc/Locality.cpp#L70) it looks like what you are trying to achieve should be supported.

Do you mind to share some more information like FDB version (I assume 7.1, since you’re using commit and grv proxies), the FoundationDBCluster spec for the operator and the Foundationdb cluster status (can be fetched with `fdbcli --exec ‘status json’ inside a Pod).

Is there a reason you want to separate the stateless processes and the proxies?

---

<div class="post-metadata">

**Author:** ![tangerine](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/tangerine/32/1084_2.png) [@tangerine](https://forums.foundationdb.org/u/tangerine)\
**Post date:** [January 16, 2023, 8:23pm UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740/3 "2023-01-16T20:23:56Z")

</div>

The issue seems to be that in 7.1, the role of proxy split into two. Thus, what used to be asking for 3 proxy hosts will need to change to grv\_proxies and commit\_proxies. The thing is, the proxy is also needed for communication and how to identify the proxy pod that is open for communication?

---

<div class="post-metadata">

**Author:** ![mengzhbj](https://avatars.discourse-cdn.com/v4/letter/m/3ab097/32.png) [@mengzhbj](https://forums.foundationdb.org/u/mengzhbj)\
**Post date:** [January 18, 2023, 3:43am UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740/4 "2023-01-18T03:43:19Z")

</div>

We have added creating LoadBalancer to enable remote access to FDB cluster in cloud. Since external service IP is limited resource, we just create LB for those needed by remote visit. So we didn’t create LB for stateless processes while we did for proxy ones. Now in FDB 7.1, proxy are split into commit\_proxy and grv\_proxy and seems grv\_proxy prefer stateless process instead of proxy process, we need to think about which processes need LB.

---

<div class="post-metadata">

**Author:** ![johscheuer](https://avatars.discourse-cdn.com/v4/letter/j/f475e1/32.png) [@johscheuer](https://forums.foundationdb.org/u/johscheuer)\
**Post date:** [January 18, 2023, 10:47am UTC](https://forums.foundationdb.org/t/can-operator-control-the-role-allocation-among-fdb-processes/3740/5 "2023-01-18T10:47:56Z")

</div>

> We have added creating LoadBalancer to enable remote access to FDB cluster in cloud. Since external service IP is limited resource, we just create LB for those needed by remote visit. So we didn’t create LB for stateless processes while we did for proxy ones. Now in FDB 7.1, proxy are split into commit\_proxy and grv\_proxy and seems grv\_proxy prefer stateless process instead of proxy process, we need to think about which processes need LB.

Based on the code I shared above it should work. Like I said if you could share you configuration that would be useful.
