Skip to content

Commit c5c4d34

Browse files
committed
fixup
1 parent f2c26a5 commit c5c4d34

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

rootfs/helmbroker/tasks.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import yaml
44

55
from .utils import command, get_plan_path, get_chart_path, get_cred_value
6-
from .meta import dump_instance_meta, dump_binding_meta
6+
from .meta import dump_instance_meta, dump_binding_meta, load_instance_meta
77
from openbrokerapi.service_broker import *
88

99

@@ -18,7 +18,7 @@ def provision(instance_id: str, details: ProvisionDetails):
1818
},
1919
"last_operation": {
2020
"state": OperationState.IN_PROGRESS,
21-
"description": "%s in progress at %s" % (instance_id, time.time())
21+
"description": "provision %s in progress at %s" % (instance_id, time.time())
2222
}
2323
}
2424
dump_instance_meta(instance_id, data)
@@ -40,10 +40,10 @@ def provision(instance_id: str, details: ProvisionDetails):
4040
status, output = command("helm", *args)
4141
if status != 0:
4242
data["last_operation"]["state"] = OperationState.FAILED
43-
data["last_operation"]["description"] = output
43+
data["last_operation"]["description"] = "provision error:\n%s" % output
4444
else:
4545
data["last_operation"]["state"] = OperationState.SUCCEEDED
46-
data["last_operation"]["description"] = "succeeded at %s" % time.time()
46+
data["last_operation"]["description"] = "provision succeeded at %s" % time.time()
4747

4848

4949
def bind(instance_id: str,
@@ -97,4 +97,21 @@ def bind(instance_id: str,
9797

9898

9999
def deprovision(instance_id: str, details: DeprovisionDetails):
100-
pass
100+
data = load_instance_meta(instance_id)
101+
data["last_operation"]["state"] = OperationState.IN_PROGRESS
102+
data["last_operation"]["description"] = "deprovision %s in progress at %s" % (instance_id, time.time())
103+
dump_instance_meta(instance_id)
104+
command(
105+
"helm",
106+
"uninstall",
107+
data["details"]["context"]["instance_name"],
108+
"--namespace",
109+
data["details"]["context"]["namespace"],
110+
)
111+
status, output = command("kubectl", "delete", "ns", data["details"]["context"]["namespace"])
112+
if status != 0:
113+
data["last_operation"]["state"] = OperationState.FAILED
114+
data["last_operation"]["description"] = "deprovision error:\n%s" % output
115+
else:
116+
data["last_operation"]["state"] = OperationState.SUCCEEDED
117+
data["last_operation"]["description"] = "deprovision succeeded at %s" % time.time()

0 commit comments

Comments
 (0)