Skip to content
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

[WIP] Skeleton for building VStatefulSet controller #9

Closed
wants to merge 10 commits into from

Conversation

codyjrivera
Copy link
Collaborator

No description provided.

@codyjrivera codyjrivera self-assigned this May 29, 2024
@codyjrivera codyjrivera changed the title Skeleton for building VStatefulSet controller [WIP] Skeleton for building VStatefulSet controller May 29, 2024
@@ -24,7 +25,8 @@ if [ "$registry" != "remote" ] && [ "$registry" != "local" ]; then
exit 2
fi

if cd deploy/$1 && kubectl apply -f crd.yaml && kubectl apply -f rbac.yaml && kubectl apply -f deploy_$registry.yaml; then
## use imperative management for CRDs since metadata for PodTemplateSpec is too long.
if cd deploy/$1 && kubectl create -f crd.yaml && kubectl apply -f rbac.yaml && kubectl apply -f deploy_$registry.yaml; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codyjrivera just curious, why use create rather than apply here?

Copy link
Collaborator Author

@codyjrivera codyjrivera May 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The template: PodTemplateSpec field of the VStatefulSet spec makes the resulting CRD file too large to work with the declarative kubectl apply. I admit that using the imperative kubectl create is a cheap workaround. Is there a better way of doing this?

Copy link
Member

@marshtompsxd marshtompsxd May 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codyjrivera can you change vstatefulset to v_stateful_set?

Copy link
Collaborator Author

@codyjrivera codyjrivera May 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I will update the naming to be consistent with this scheme.

deploy.sh Outdated
@@ -14,7 +14,8 @@ NC='\033[0m'
app=$1
registry=$2

if [ "$app" != "zookeeper" ] && [ "$app" != "rabbitmq" ] && [ "$app" != "fluent" ]; then
if [ "$app" != "zookeeper" ] && [ "$app" != "rabbitmq" ] && [ "$app" != "fluent" ]\
&& [ "$app" != "vstatefulset" ]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you change vstatefulset to v_stateful_set?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you change vstatefulset/vstatefulset.yaml to v_stateful_set/v_stateful_set.yaml?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similarly, can you change this to v_stateful_set_controller.rs?

Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
Remove some TLA proof rules that are redundant. Also, make some other
proof rules private, as they don't need to be exposed to users.

---------

Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
The prototype replica set controller implements the basic scaling
up/down functionality. It lists all the pods in the same namespace,
filters out the pods that do not match the replica set object's
selector, and them create/delete pods to make sure there are `replicas`
number of matched pods.

The replica set controller is not verified yet, and there are still more
features to implement, such as claiming orphan pods.

---------

Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
The code is written by @utaal . The goal is to build a macro that takes
the exec controller code and outputs its spec version that can be
directly used in the proof, so that we do not have to write the
controller model each time.

Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
Signed-off-by: Xudong Sun <xudongs3@illinois.edu>
Signed-off-by: Cody Rivera <codyjr3@illinois.edu>
Signed-off-by: Cody Rivera <codyjr3@illinois.edu>
Signed-off-by: Cody Rivera <codyjr3@illinois.edu>
@codyjrivera
Copy link
Collaborator Author

Stale pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants