示例#1
0
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()
}
示例#3
0
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()
}
示例#5
0
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())