cloudfoundry / eirini

Pluggable container orchestration for Cloud Foundry, and a Kubernetes backend
Apache License 2.0
115 stars 30 forks source link

Add ability to List/Get a Task #107

Closed tcdowney closed 3 years ago

tcdowney commented 4 years ago

Description

The CF API <--> Eirini tasks sync loop doesn't work right now (see https://github.com/cloudfoundry/cf-for-k8s/issues/412) because the process is unable to list all tasks that Eirini knows about and is unable to get a single task back from Eirini.

Steps to reproduce

This manifests via the Tasks Sync loop not being able to reconcile tasks. The user-facing reproduction steps are described in https://github.com/cloudfoundry/cf-for-k8s/issues/412. Essentially if a task completion callback doesn't successfully reach the CF API the corresponding task will be stuck in the RUNNING state forever.

Suggested fix

Implement the List/Get Task endpoints and the the CF API team can implement the corresponding changes on the Cloud Controller's OPI Task Client.

Additional information (optional)

cf-gitbot commented 4 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/174606309

The labels on this github issue will be updated when the story is started.

tcdowney commented 4 years ago

Also today I learned about the Task CRD (https://github.com/cloudfoundry-incubator/eirini-release/blob/master/helm/eirini/templates/task-crd.yaml), maybe this is something that would be better solved by that.

mnitchev commented 4 years ago

Hey @tcdowney,

Yes the Task CRD would solve this, provided Cloud Controller consumes our CRDs, but we're not 100% ready to make the switch from our HTTP API to the CRD one. In the meantime we have identified this exact issue and we've created a story to implement the list/get here for our HTTP API. The story is still in the icebox, since our PM has been out the past two weeks, but it should get scheduled soon. cc @herrjulz