def METHOD_NAME(self):
    if not self.disk_id:
        self.log.info("skip unprovision: 'disk_id' is not set")
        return
    self.unconfigure()
    pool = self.svc.node.get_pool(self.poolname)
    pool.log = self.log
    if self.shared:
        disk_id_kw = "disk_id"
        name = self.name
    else:
        disk_id_kw = "disk_id@" + Env.nodename
        name = self.name + pool.sep() + Env.nodename
    result = pool.delete_disk(name=name, disk_id=self.disk_id)
    for line in format_str_flat_json(result).splitlines():
        self.log.info(line)
    self.svc.set_multi(["%s.%s=%s" % (self.rid, disk_id_kw, "")], validation=False)
    self.log.info("unprovisioned")