code: func (op *PortAllocationOperation) Commit() []error {
  	if op.dryRun {
  		return nil
  	}
  
  	errors := []error{}
  
  	for _, release := range op.releaseDeferred {
  		err := op.pa.Release(release)
  		if err != nil {
  			errors = append(errors, err)
  		}
  	}
  
  	// Even on error, we don't rollback
  	// Problems should be fixed by an eventual reconciliation / restart
  	op.shouldRollback = false
  
  	if len(errors) == 0 {
  		return nil
  	}
  
  	return errors
  }
docs: // (Try to) perform any deferred operations.
  // Note that even if this fails, we don't rollback; we always want to err on the side of over-allocation,
  // and Commit should be called _after_ the owner is written