func (zk *zkf) StopServiceInstance(poolID, hostID, stateID string) error { conn, err := zzk.GetLocalConnection(zzk.GeneratePoolPath(poolID)) if err != nil { return err } return zkservice.StopServiceInstance(conn, hostID, stateID) }
func (l *VirtualIPListener) stopInstances(ip string) { glog.Infof("Stopping service instances using ip %s on host %s", ip, l.hostID) rss, err := zkservice.LoadRunningServicesByHost(l.conn, l.hostID) if err != nil { glog.Errorf("Could not load running instances on host %s: %s", l.hostID, err) return } for _, rs := range rss { if rs.IPAddress == ip { if err := zkservice.StopServiceInstance(l.conn, l.hostID, rs.ID); err != nil { glog.Warningf("Could not stop service instance %s on host %s: %s", rs.ID, l.hostID, err) } } } }
func (this *ControlPlaneDao) StopRunningInstance(request dao.HostServiceRequest, unused *int) error { myHost, err := this.facade.GetHost(datastore.Get(), request.HostID) if err != nil { glog.Errorf("Unable to get host %v: %v", request.HostID, err) return err } if myHost == nil { return fmt.Errorf("Host %s does not exist", request.HostID) } poolBasedConn, err := zzk.GetLocalConnection(zzk.GeneratePoolPath(myHost.PoolID)) if err != nil { glog.Errorf("Error in getting a connection based on pool %v: %v", myHost.PoolID, err) return err } if err := zkservice.StopServiceInstance(poolBasedConn, request.HostID, request.ServiceStateID); err != nil { glog.Errorf("zkservice.StopServiceInstance failed (conn: %+v hostID: %v serviceStateID: %v): %v", poolBasedConn, request.HostID, request.ServiceStateID, err) return err } return nil }