-
Notifications
You must be signed in to change notification settings - Fork 120
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
Unable to update cluster with new vibe_core code. #166
Comments
Hi. What’s the output of |
@renatolfc - Here it is. |
@renatolfc - Any updates on your end? This is a blocker for me |
@renatolfc - I wrapped up my head into the logic of updating the cluster. This is how it goes
old_k3d = K3dWrapper(os_artifacts, OLD_DEFAULT_CLUSTER_NAME)
def destroy_old_registry(
os_artifacts: OSArtifacts, cluster_name: str = OLD_DEFAULT_CLUSTER_NAME
) -> bool:
container_name = f"k3d-{cluster_name}-registry.localhost"
docker = DockerWrapper(os_artifacts)
try:
result = docker.get(container_name)
if not result:
return True
docker.rm(container_name)
return True
except Exception as e:
log(f"Unable to remove old registry container: {e}", level="warning")
return False It seems like there is an assumption on how name of old registry will look like, I am running farmvibes on a VM, the Though it is expecting path like this - Of course, this gives it no image and process exit. |
@rafaspadilha / @brsilvarec - Bringing this to your attention. This thread is not getting any attention. Please look into this also |
Hey, @chetan2309. Sorry for the delay, a new release is coming in the next week and the team is all focused on that. We currently do not support adding a custom op to FarmVibes.AI. This is in our roadmap, but for now the best way to achieve what you want is through a script interacting with the FarmVibes client. Once the workflow runs are finished, iterate over the output dictionary of each run, retrieve the path to the index rasters, and upload them to your blob storage. The spectral index notebook has a few examples showing how to interact with the output and retrieve the paths. About the error that you are seeing with the As a workaround, you can stop and remove the registry container with: $ docker stop farmvibes-ai-registry
$ docker rm farmvibes-ai-registry The update command should work after that. Another option would be to destroy the old cluster and create it again with: $ farmvibes-ai local destroy
$ farmvibes-ai local setup In both cases, your data (cache) wouldn't be affected. |
@rafaspadilha - thanks for your help and suggested flow. Can you help me understand how workflow will look like.
We will be calling this process via our app/services and not through notbooks. BTW, is it necessary to have this deployed via k8s to get the public REST API? I deployed it via VM and i can't seem to have access to REST API. Thanks, |
This looks good, @chetan2309. A few things to consider: For pooling the status of a run (3):
The rest of the workflow (4) looks good. We envisioned the notebooks mostly as examples of the workflows and how to interact with our Python client. For applications, we highly recommend using it or, less so, interacting directly with the REST API. Let us know if any doubts arise during the development or if you have any feedback on how we can improve this integration. Accessing the REST API in a local VM should work fine, as long as the port is exposed and there is no network policy blocking outside connections. Could you check to see if these two are properly set up? |
If you want to expose your cluster on the local network, please pass the `--host 0.0.0.0` flag when creating your cluster.
Otherwise, the cluster will only listen on localhost.
|
Hello @renatolfc - I hope you specifically meant passing 0.0.0.0? I tried this. Cluster updated successfully but I can’t access the rest api - myvmip:31108/v0/docs |
Updating won't work. You have to destroy and recreate it. This flag only affects cluster creation. |
I ran these commands
|
In that case, what's the output of the commands:
|
|
Hello Chetan, Seems like I was mistaken in assuming docker would be using host networking. Probably, the easiest way to expose the FarmVibes.AI service would be by using a reverse proxy such as nginx. I've seen recommendations of nginx proxy manager as a tool to help you with that. Another possibility would be to use |
In which step did you encounter the bug?
Management script
Are you using a local or a remote (AKS) FarmVibes.AI cluster?
Local cluster
Bug description
Hi Team,
I am working on extending this spectral indices notebook workflow
This is what I wish to achieve:-
So, I have defined a task and an edge in indices.yaml workflow like below
and I have defined a method in upload_to_azure_op.py file to do the task.
Now, as I understand I would have to perform
to install this package and then do
to deploy this update code to cluster image
I also tried this by stopping the cluster first and then trying but no luck
Steps to reproduce the problem
farmvibes-ai local update --cluster-name mycluster
The text was updated successfully, but these errors were encountered: