<div dir="ltr"><div><div><span class="gmail-im">>> I don’t know if I feel comfortable with adding this logic to the primary<br>
>> code path for deprovision. This is mostly me being conservative with adding<br>
>> configuration values that can allow things to get deleted from our storage.<br>
>><br>
</span>> The developer experience is not acceptable right now, but I have to<br>
> agree with Shawn.<br>><br></div>Agreed, the dev experience is really rough with deprovision. For instance, if you are testing your provision playbook with the broker and your deprovision playbook fails, then you can't test provision again without some manually steps. But, I think Phillip's patch is a good way to provide significant improvement to the dev experience with minimal code changes. The meat of his code is 4 lines:<br><br></div>```go<br><div><span class="gmail-blob-code-inner"><span class="gmail-pl-k">if</span> a.<span class="gmail-pl-smi">brokerConfig</span>.<span class="gmail-pl-smi">ForceDelete</span> {<br> </span><span class="gmail-blob-code-inner">log.<span class="gmail-pl-c1">Infof</span>(<span class="gmail-pl-s"><span class="gmail-pl-pds">"</span>Deprovision failed. Attempting to clean up related resources. User should ensure clean up is successful<span class="gmail-pl-pds">"</span></span>)</span><br><span class="gmail-blob-code-inner"></span><div> <span class="gmail-blob-code-inner"><span class="gmail-pl-c1">cleanupDeprovision</span>(&instance, a.<span class="gmail-pl-smi">dao</span>) // Return a 200 to the service-catlog</span><br><span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner">}<br>```<br></span></span></div><div><span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner"><br></span></span>> <span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner">Unless I missed it, let's backup and describe the high-level problem<br>
> in a proposal and<br>
> submit solutions there. That's been our approach thus far and I think<br>
> it applies here well.<br></span></span></div><div><span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner">To make this the default behaviour, I agree needs a proposal.<br><br></span></span></div><div><span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner">-Ryan<br></span></span></div><div><span class="gmail-blob-code-inner"><span class="gmail-blob-code-inner"><br></span></span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 14, 2018 at 10:32 AM, Erik Nelson <span dir="ltr"><<a href="mailto:ernelson@redhat.com" target="_blank">ernelson@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> I don’t know if I feel comfortable with adding this logic to the primary<br>
> code path for deprovision. This is mostly me being conservative with adding<br>
> configuration values that can allow things to get deleted from our storage.<br>
<br>
</span>The developer experience is not acceptable right now, but I have to<br>
agree with Shawn.<br>
<span class=""><br>
> With that said, I don’t have a well thought out alternative. Off the cuff I<br>
> would suggest that we add an API surface to delete this instance, that would<br>
> only be available if you have a configuration value set something similar to<br>
> dev_broker config.<br>
<br>
</span>Unless I missed it, let's backup and describe the high-level problem<br>
in a proposal and<br>
submit solutions there. That's been our approach thus far and I think<br>
it applies here well.<br>
<span class=""><br>
> I would also like to mention that with the CRD changes that are on the<br>
> roadmap, this is doable just by granting the correct permissions and knowing<br>
> the correct resource to delete with the oc command. This is something that<br>
> we may also want to keep in mind.<br>
<br>
</span>This should be called on on the proposal.<br>
</blockquote></div><br></div>