Skip to content

added supported deployment modes using helm chart for online, offline, ui and registry - #8

Merged
redhatHameed merged 1 commit into
RHEcosystemAppEng:remote_offlinefrom
redhatHameed:feast_mode
May 31, 2024
Merged

added supported deployment modes using helm chart for online, offline, ui and registry#8
redhatHameed merged 1 commit into
RHEcosystemAppEng:remote_offlinefrom
redhatHameed:feast_mode

Conversation

@redhatHameed

@redhatHameed redhatHameed commented May 22, 2024

Copy link
Copy Markdown

added supported deployment modes using helm chart for online, offline, ui and registry

What this PR does / why we need it:

added supported deployment modes using helm chart for online, offline, ui and registry

Test the PR for example

helm install feast-feature-server infra/charts/feast-feature-server --set feature_store_yaml_base64=$(base64 < feature_store.yaml)

helm install feast-ofline-server infra/charts/feast-feature-server --set feast_mode=offline --set feature_store_yaml_base64=$(base64 < feature_store.yaml)

helm install feast-ui-server infra/charts/feast-feature-server --set feast_mode=ui --set feature_store_yaml_base64=$(base64 < feature_store.yaml)

helm install feast-registry-server infra/charts/feast-feature-server --set feast_mode=ui --set ffeature_store_yaml_base64=$(base64 < feature_store.yaml)
helm list
NAME                 	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART                      	APP VERSION
feast-feature-server 	ahameed4 	1       	2024-05-31 10:30:10.036583 -0400 EDT	deployed	feast-feature-server-0.38.0	           
feast-ofline-server  	ahameed4 	1       	2024-05-31 10:32:18.615329 -0400 EDT	deployed	feast-feature-server-0.38.0	           
feast-registry-server	ahameed4 	1       	2024-05-31 10:33:30.229271 -0400 EDT	deployed	feast-feature-server-0.38.0	           
feast-ui-server      	ahameed4 	1       	2024-05-31 10:33:08.696063 -0400 EDT	deployed	feast-feature-server-0.38.0


Screenshot 2024-05-31 at 10 38 46 AM
Screenshot 2024-05-31 at 10 38 59 AM

Which issue(s) this PR fixes:

Fixes

@tchughesiv

Copy link
Copy Markdown

what kind of service template considerations should be made between modes? if any?

@redhatHameed

Copy link
Copy Markdown
Author

what kind of service template considerations should be made between modes? if any?

agreed, we need to generate it, based on mode let me add the template for that.

Comment thread infra/charts/feast-feature-server/templates/deployment.yaml Outdated
Comment thread infra/charts/feast-feature-server/values.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/deployment.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/service.yaml Outdated
Comment thread infra/charts/feast-feature-server/values.yaml Outdated
@redhatHameed
redhatHameed requested a review from dmartinol May 23, 2024 15:48
Comment thread infra/charts/feast-feature-server/templates/service.yaml Outdated
Comment thread infra/charts/feast-feature-server/values.schema.json Outdated

@dmartinol dmartinol left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

Comment thread infra/charts/feast-feature-server/values.schema.json Outdated
Comment thread infra/charts/feast-feature-server/README.md Outdated
@tchughesiv

Copy link
Copy Markdown

i'm curious, and don't know the answer to this... should a service get created at all in offline mode?

Comment thread infra/charts/feast-feature-server/values.yaml
@redhatHameed
redhatHameed marked this pull request as ready for review May 23, 2024 18:50
Comment thread infra/charts/feast-feature-server/README.md Outdated
Comment thread infra/charts/feast-feature-server/README.md Outdated
Comment thread infra/charts/feast-feature-server/templates/service.yaml Outdated
@tchughesiv

Copy link
Copy Markdown

i'm curious, and don't know the answer to this... should a service get created at all in offline mode?

@redhatHameed thoughts on this?

@dmartinol

dmartinol commented May 23, 2024

Copy link
Copy Markdown

i'm curious, and don't know the answer to this... should a service get created at all in offline mode?

@redhatHameed thoughts on this?

All these servers need a service to provide access within the cluster, so IMO yes

Anyway, I was thinking about the deployment model we want to define.
Is it an Helm release per server or can we install all the servers in one shot? (e.g. values enable-online, enable-offline and enable-registry) In this case, we can also have a single Service with 1 port for each enabled service and use a label to match the deployments.
Otherwise, if we deploy one helm release per type of server, we need different service instances.

I would vote for single helm for all servers, but not sure if this is the right solution for the operator.

@redhatHameed

Copy link
Copy Markdown
Author

i'm curious, and don't know the answer to this... should a service get created at all in offline mode?

@redhatHameed thoughts on this?

i'm curious, and don't know the answer to this... should a service get created at all in offline mode?

@redhatHameed thoughts on this?

All these servers need a service to provide access within the cluster, so IMO yes
@dmartinol we need to test this part - let's suppose the offline server is deployed how the client will call using route ?

Anyway, I was thinking about the deployment model we want to define. Is it an Helm release per server or can we install all the servers in one shot? (e.g. values enable-online, enable-offline and enable-registry) In this case, we can also have a single Service with 1 port for each enabled service and use a label to match the deployments. Otherwise, if we deploy one helm release per type of server, we need different service instances.

@tchughesiv

Copy link
Copy Markdown

@dmartinol i'll leave that up to you guys... i could def. see the benefits of that type of implementation

@dmartinol

Copy link
Copy Markdown

@dmartinol i'll leave that up to you guys... i could def. see the benefits of that type of implementation

@redhatHameed what about raising the architectural question to the community? e.g. the RH Feast channel or the community channel

Comment thread infra/charts/feast-feature-server/values.yaml Outdated
Comment thread infra/charts/feast-feature-server/values.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/deployment.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/deployment.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/deployment.yaml Outdated
Comment thread infra/charts/feast-feature-server/templates/service.yaml Outdated
@dmartinol

Copy link
Copy Markdown

@dmartinol i'll leave that up to you guys... i could def. see the benefits of that type of implementation

@redhatHameed what about raising the architectural question to the community? e.g. the RH Feast channel or the community channel

@tokoko could you pls share your thoughts on this point? quick recap for your convenience (long thread)
we're extending the helm chart to include the capability to install any of the available (python) servers. Since they all run the same container image with different command (feast serve,feast ui, feast serve_offline and feast serve_registry), it doesn't make much sense to have separate charts when a single one can be configured to install what is needed.
That said, which approach do you think is more suitable:

  1. Having a single chart that can deploy multiple servers in the same Helm release (e.g., adding options like enable-online, enable-ui, enable-offline, and enable-registry).
  2. Or having each release deploy a configured server (e.g., adding an option feast-mode with values like online, ui, offline, and registry).

@tokoko

tokoko commented May 27, 2024

Copy link
Copy Markdown

I'd definitely go with the first approach, although I'm not sure I'm on board with simple enable-online, enable-offline params. Something like this makes more sense to me:

common:
    featurestoreyaml: ...

online:
    enabled: true/false
    featurestoreyaml: ... (only specified if want to override)

offline:
    enabled: true/false

ui:
    enabled: true/false

@redhatHameed
redhatHameed marked this pull request as draft May 28, 2024 13:13

@tchughesiv tchughesiv left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

otherwise, lgtm

Comment thread infra/charts/feast-feature-server/README.md Outdated

@tchughesiv tchughesiv left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

it looks like the branch as been merged with some other changes?

@redhatHameed
redhatHameed marked this pull request as ready for review May 30, 2024 18:03
Comment thread infra/charts/feast-feature-server/README.md Outdated
Comment thread infra/charts/feast-feature-server/templates/deployment.yaml
Comment thread infra/charts/feast-feature-server/templates/service.yaml

@tchughesiv tchughesiv left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@redhatHameed we need to run make build-helm-docs. otherwise, lgtm.

on a mac, first install helm-docs -
brew install helm-docs

@redhatHameed

Copy link
Copy Markdown
Author

@redhatHameed we need to run make build-helm-docs. otherwise, lgtm.

on a mac, first install helm-docs - brew install helm-docs

Thanks updated

@tchughesiv tchughesiv left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

Comment thread infra/charts/feast-feature-server/templates/deployment.yaml
…), offline, ui and registry

Signed-off-by: Abdul Hameed <ahameed@redhat.com>

@dmartinol dmartinol left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

~lgtm

@redhatHameed
redhatHameed merged commit 853f1e2 into RHEcosystemAppEng:remote_offline May 31, 2024
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.

4 participants