code: func (n *Network) OrdererRunner(o *Orderer) *ginkgomon.Runner {
  	cmd := exec.Command(n.Components.Orderer())
  	cmd.Env = os.Environ()
  	cmd.Env = append(cmd.Env, fmt.Sprintf("FABRIC_CFG_PATH=%s", n.OrdererDir(o)))
  
  	config := ginkgomon.Config{
  		AnsiColorCode:     n.nextColor(),
  		Name:              o.ID(),
  		Command:           cmd,
  		StartCheck:        "Beginning to serve requests",
  		StartCheckTimeout: 15 * time.Second,
  	}
  
  	//After consensus-type migration, the #brokers is >0, but the type is etcdraft
  	if n.Consensus.Type == "kafka" && n.Consensus.Brokers != 0 {
  		config.StartCheck = "Start phase completed successfully"
  		config.StartCheckTimeout = 30 * time.Second
  	}
  
  	return ginkgomon.New(config)
  }
docs: // OrdererRunner returns an ifrit.Runner for the specified orderer. The runner
  // can be used to start and manage an orderer process.