diff --git a/pkg/hns/endpoint_windows.go b/pkg/hns/endpoint_windows.go index 3392fafef..b0c462854 100644 --- a/pkg/hns/endpoint_windows.go +++ b/pkg/hns/endpoint_windows.go @@ -282,6 +282,16 @@ func RemoveHcnEndpoint(epName string) error { } return errors.Annotatef(err, "failed to find HostComputeEndpoint %s", epName) } + epNamespace, err := hcn.GetNamespaceByID(hcnEndpoint.HostComputeNamespace) + if err != nil && !hcn.IsNotFoundError(err) { + return errors.Annotatef(err, "failed to get HostComputeNamespace %s", epName) + } + if epNamespace != nil { + err = hcn.RemoveNamespaceEndpoint(hcnEndpoint.HostComputeNamespace, hcnEndpoint.Id) + if err != nil && !hcn.IsNotFoundError(err) { + return errors.Annotatef(err,"error removing endpoint: %s from namespace", epName) + } + } err = hcnEndpoint.Delete() if err != nil {