AppManager: Implement task status API
Change-Id: I70c895d7461ffe4afc45868ca6bf754d37072a0f
diff --git a/core/installer/tasks/release.go b/core/installer/tasks/release.go
index 9a99698..059d1ee 100644
--- a/core/installer/tasks/release.go
+++ b/core/installer/tasks/release.go
@@ -19,7 +19,23 @@
}
func newMonitorHelm(mon installer.HelmReleaseMonitor, h installer.Resource) Task {
- t := newLeafTask(h.Info, func() error {
+ rType := h.Annotations["dodo.cloud/resource-type"]
+ var name string
+ switch rType {
+ case "virtual-machine":
+ name = h.Annotations["dodo.cloud/resource.virtual-machine.name"]
+ case "mongodb":
+ name = h.Annotations["dodo.cloud/resource.mongodb.name"]
+ case "postgresql":
+ name = h.Annotations["dodo.cloud/resource.postgresql.name"]
+ case "volume":
+ name = h.Annotations["dodo.cloud/resource.volume.name"]
+ case "ingress":
+ name = h.Annotations["dodo.cloud/resource.ingress.host"]
+ case "service":
+ name = h.Annotations["dodo.cloud/resource.service.name"]
+ }
+ t := newResourceLeafTask(h.Info, &ResourceId{rType, name}, func() error {
for {
if ok, err := mon.IsReleased(h.Namespace, h.Name); err == nil && ok {
break