func newRethinkClient(address string, databaseName string) (*rethinkClient, error) { session, err := gorethink.Connect(gorethink.ConnectOpts{Address: address}) if err != nil { return nil, err } return &rethinkClient{ session, databaseName, timing.NewSystemTimer(), gorethink.DB(databaseName).Table(pfsCommitMappingsTable), gorethink.DB(databaseName).Table(pipelinesTable), gorethink.DB(databaseName).Table(pipelineContainersTable), gorethink.DB(databaseName).Table(pipelineLogsTable), gorethink.DB(databaseName).Table(pipelineRunsTable), gorethink.DB(databaseName).Table(pipelineRunStatusesTable), gorethink.DB(databaseName).Table(pipelineSourcesTable), }, nil }
func runTest( t *testing.T, f func(t *testing.T, apiClient pps.ApiClient), ) { containerClient, err := getContainerClient() require.NoError(t, err) storeClient, err := getRethinkClient() require.NoError(t, err) pfstesting.RunTest( t, func(t *testing.T, apiClient pfs.ApiClient, internalApiClient pfs.InternalApiClient, cluster pfstesting.Cluster) { prototest.RunT( t, testNumServers, func(servers map[string]*grpc.Server) { for _, server := range servers { pps.RegisterApiServer(server, newAPIServer(apiClient, containerClient, storeClient, timing.NewSystemTimer())) } }, func(t *testing.T, clientConns map[string]*grpc.ClientConn) { var clientConn *grpc.ClientConn for _, c := range clientConns { clientConn = c break } f( t, pps.NewApiClient( clientConn, ), ) }, ) }, ) }
func do(appEnvObj interface{}) error { appEnv := appEnvObj.(*appEnv) logrus.Register() containerClient, err := getContainerClient(appEnv.DockerHost) if err != nil { return err } rethinkClient, err := getRethinkClient(appEnv.DatabaseAddress, appEnv.DatabaseName) if err != nil { return err } pfsAddress := appEnv.PachydermPfsd1Port if pfsAddress == "" { pfsAddress = appEnv.PfsAddress } else { pfsAddress = strings.Replace(pfsAddress, "tcp://", "", -1) } clientConn, err := grpc.Dial(pfsAddress, grpc.WithInsecure()) if err != nil { return err } // TODO(pedge): no! trace.AuthRequest = func(_ *http.Request) (bool, bool) { return true, true } return protoserver.Serve( uint16(appEnv.Port), func(s *grpc.Server) { pps.RegisterApiServer(s, server.NewAPIServer(pfs.NewApiClient(clientConn), containerClient, rethinkClient, timing.NewSystemTimer())) }, protoserver.ServeOptions{ DebugPort: uint16(appEnv.DebugPort), Version: pachyderm.Version, }, ) }