func copyConfigFile(instance *redis.Instance, repo *redis.LocalRepository, logger lager.Logger) { err := repo.EnsureDirectoriesExist(instance) if err != nil { logger.Fatal("Error creating instance directories", err, lager.Data{ "instance": instance.ID, }) } err = repo.WriteConfigFile(instance) if err != nil { logger.Fatal("Error writing redis config", err, lager.Data{ "instance": instance.ID, }) } }
func writeInstance(instance *redis.Instance, repo *redis.LocalRepository) { err := repo.EnsureDirectoriesExist(instance) Ω(err).NotTo(HaveOccurred()) err = repo.WriteConfigFile(instance) Ω(err).NotTo(HaveOccurred()) file, err := os.Create(filepath.Join(repo.InstanceBaseDir(instance.ID), "monitor")) Ω(err).NotTo(HaveOccurred()) pid := []byte("1234") err = ioutil.WriteFile(repo.InstancePidFilePath(instance.ID), pid, 0644) Ω(err).NotTo(HaveOccurred()) file.Close() }
func ensureRunning(instance *redis.Instance, repo *redis.LocalRepository, processController *redis.OSProcessController, logger lager.Logger) { configPath := repo.InstanceConfigPath(instance.ID) instanceDataDir := repo.InstanceDataDir(instance.ID) pidfilePath := repo.InstancePidFilePath(instance.ID) logfilePath := repo.InstanceLogFilePath(instance.ID) err := processController.EnsureRunning(instance, configPath, instanceDataDir, pidfilePath, logfilePath) if err != nil { logger.Fatal("Error starting instance", err, lager.Data{ "instance": instance.ID, }) } }
func writeInstance(instance *redis.Instance, repo *redis.LocalRepository) { err := repo.EnsureDirectoriesExist(instance) Ω(err).NotTo(HaveOccurred()) err = repo.WriteConfigFile(instance) Ω(err).NotTo(HaveOccurred()) file, err := os.Create(filepath.Join(repo.InstanceBaseDir(instance.ID), "monitor")) Ω(err).NotTo(HaveOccurred()) file.Close() }
func ensureRunningIfNotLocked(instance *redis.Instance, repo *redis.LocalRepository, processController *redis.OSProcessController, logger lager.Logger) { _, err := os.Stat(filepath.Join(repo.InstanceBaseDir(instance.ID), "lock")) if err != nil { ensureRunning(instance, repo, processController, logger) } }
"os" "path" "path/filepath" "code.google.com/p/go-uuid/uuid" "github.com/pivotal-cf/cf-redis-broker/brokerconfig" "github.com/pivotal-cf/cf-redis-broker/redis" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Local Repository", func() { var instanceID string var repo *redis.LocalRepository var tmpInstanceDataDir string = "/tmp/repotests/data" var tmpInstanceLogDir string = "/tmp/repotests/log" var defaultConfigFilePath string = "/tmp/default_config_path" var defaultConfigFileContents string = "daemonize yes" BeforeEach(func() { instanceID = uuid.NewRandom().String() // set up default conf file file, createFileErr := os.Create(defaultConfigFilePath) Ω(createFileErr).ToNot(HaveOccurred()) _, fileWriteErr := file.WriteString(defaultConfigFileContents) Ω(fileWriteErr).ToNot(HaveOccurred())
"sort" "github.com/pborman/uuid" "github.com/pivotal-golang/lager/lagertest" "github.com/pivotal-cf/cf-redis-broker/brokerconfig" "github.com/pivotal-cf/cf-redis-broker/redis" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/onsi/gomega/gbytes" ) var _ = Describe("Local Repository", func() { var instanceID string var repo *redis.LocalRepository var logger *lagertest.TestLogger var tmpInstanceDataDir string = "/tmp/repotests/data" var tmpInstanceLogDir string = "/tmp/repotests/log" var tmpPidFileDir string = "/tmp/pidfiles" var defaultConfigFilePath string = "/tmp/default_config_path" var defaultConfigFileContents string = "daemonize yes" BeforeEach(func() { instanceID = uuid.NewRandom().String() logger = lagertest.NewTestLogger("local-repo") // set up default conf file file, createFileErr := os.Create(defaultConfigFilePath) Ω(createFileErr).ToNot(HaveOccurred())