func ReleaseIPAllocation(logger *log.Entry, ipamType string, stdinData []byte) {
	logger.Info("Cleaning up IP allocations for failed ADD")
	if err := os.Setenv("CNI_COMMAND", "DEL"); err != nil {
		// Failed to set CNI_COMMAND to DEL.
		logger.Warning("Failed to set CNI_COMMAND=DEL")
	} else {
		if err := ipam.ExecDel(ipamType, stdinData); err != nil {
			// Failed to cleanup the IP allocation.
			logger.Warning("Failed to clean up IP allocations for failed ADD")
		}
	}
}
// ReleaseIPAllocation is called to cleanup IPAM allocations if something goes wrong during
// CNI ADD execution.
ReleaseIPAllocation is called to cleanup IPAM allocations if something goes wrong during
CNI ADD execution.
// ReleaseIPAllocation is called to cleanup IPAM allocations if something goes wrong during // CNI ADD execution .
func ReleaseIPAllocation(logger *log.Entry, ipamType string, stdinData []byte) {
	logger.Info("Cleaning up IP allocations for failed ADD")
	if err := os.Setenv("CNI_COMMAND", "DEL"); err != nil {
		logger.Warning("Failed to set CNI_COMMAND=DEL")
	} else {
		if err := ipam.ExecDel(ipamType, stdinData); err != nil {
			logger.Warning("Failed to clean up IP allocations for failed ADD")
		}
	}
}
func ReleaseIPAllocation ( logger * log . Entry , ipamType string , stdinData [ ] byte ) { logger . Info ( " " ) if err := os . Setenv ( " " , " " ) ; err != nil { logger . Warning ( " " ) } else { if err := ipam . ExecDel ( ipamType , stdinData ) ; err != nil { logger . Warning ( " " ) } } }
ReleaseIPAllocation is called to cleanup IPAM allocations if something goes wrong during
CNI ADD execution.
ReleaseIPAllocation is called to cleanup IPAM allocations if something goes wrong during CNI ADD execution .
// Failed to set CNI_COMMAND to DEL. // Failed to cleanup the IP allocation.