func TestAll(t *testing.T) { /* cmd := exec.Command("dd", "if=/dev/zero", "of=/tmp/x", "bs=1M", "count=100") err := cmd.Run() if err != nil { t.Fatalf("Failed to create file: %v", err) } cmd = exec.Command("/sbin/mkfs.btrfs", "/tmp/x") err = cmd.Run() if err != nil { t.Fatalf("Failed to create btrfs:%v", err) } err = os.MkdirAll("/tmp/btrfs_test", 0755) if err != nil { t.Fatalf("Failed to create mkdir: %v", err) } err = syscall.Mount("/tmp/x", "/tmp/btrfs_test", "btrfs", syscall.MS_NODEV, "") if err != nil { t.Fatalf("Failed to mount btrfs: %v", err) } */ _, err := volume.New(Name, volume.DriverParams{RootParam: "/tmp/btrfs_test"}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d, err := volume.Get(Name) if err != nil { t.Fatalf("Failed to initialize Volume Driver: %v", err) } ctx := test.NewContext(d) ctx.Filesystem = api.FsBtrfs test.Run(t, ctx) }
func TestAll(t *testing.T) { _, err := volume.New(Name, volume.DriverParams{}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d, err := volume.Get(Name) if err != nil { t.Fatalf("Failed to initialize Volume Driver: %v", err) } ctx := test.NewContext(d) ctx.Filesystem = "ext4" test.RunShort(t, ctx) }
func TestAll(t *testing.T) { testPath := "/tmp/openstorage_driver_test" _, err := volume.New(Name, volume.DriverParams{RootParam: testPath}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d, err := volume.Get(Name) if err != nil { t.Fatalf("Failed to initialize Volume Driver: %v", err) } ctx := test.NewContext(d) ctx.Filesystem = "btrfs" test.Run(t, ctx) }
func TestAll(t *testing.T) { if _, err := credentials.NewEnvCredentials().Get(); err != nil { t.Skip("No AWS credentials, skipping AWS driver test: ", err) } _, err := volume.New(Name, volume.DriverParams{}) if err != nil { t.Logf("Failed to initialize Driver: %v", err) } d, err := volume.Get(Name) if err != nil { t.Fatalf("Failed to initialize Volume Driver: %v", err) } ctx := test.NewContext(d) ctx.Filesystem = api.FSType_FS_TYPE_EXT4 test.RunShort(t, ctx) }
func TestAll(t *testing.T) { _, err := volume.New(btrfs.Name, volume.DriverParams{btrfs.RootParam: "/tmp/btrfs_test"}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } apiserver.StartDriverAPI(btrfs.Name, 9003, config.DriverAPIBase) time.Sleep(time.Second * 2) c, err := NewDriverClient(btrfs.Name) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d := c.VolumeDriver() ctx := test.NewContext(d) ctx.Filesystem = string(api.FsBtrfs) test.Run(t, ctx) }
func TestAll(t *testing.T) { err := os.MkdirAll(testPath, 0744) if err != nil { t.Fatalf("Failed to create test path: %v", err) } _, err = volume.New(Name, volume.DriverParams{"path": testPath}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d, err := volume.Get(Name) if err != nil { t.Fatalf("Failed to initialize Volume Driver: %v", err) } ctx := test.NewContext(d) ctx.Filesystem = api.FSType_FS_TYPE_NFS test.RunShort(t, ctx) }
func TestAll(t *testing.T) { err := os.MkdirAll(testPath, 0744) if err != nil { t.Fatalf("Failed to create test path: %v", err) } _, err = volume.New(nfs.Name, volume.DriverParams{"path": testPath}) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } apiserver.StartServerAPI(nfs.Name, 9003, config.DriverAPIBase) time.Sleep(time.Second * 2) c, err := NewDriverClient(nfs.Name) if err != nil { t.Fatalf("Failed to initialize Driver: %v", err) } d := c.VolumeDriver() ctx := test.NewContext(d) ctx.Filesystem = string("btrfs") test.Run(t, ctx) }
func TestAll(t *testing.T) { output, err := exec.Command("umount", btrfsFile).Output() if err != nil { t.Logf("error on umount %s (not fatal): %s %v", btrfsFile, string(output), err) } if err := os.Remove(btrfsFile); err != nil { t.Logf("error on rm %s (not fatal): %v", btrfsFile, err) } if err := os.MkdirAll(testPath, 0755); err != nil { t.Fatalf("failed on mkdir -p %s: %v", testPath, err) } file, err := os.Create(btrfsFile) if err != nil { t.Fatalf("failed to setup btrfs file at %s: %v", btrfsFile, err) } if err := file.Truncate(GiB); err != nil { t.Fatalf("failed to truncate %s 1G %v", btrfsFile, err) } output, err = exec.Command("mkfs", "-t", "btrfs", "-f", btrfsFile).Output() if err != nil { t.Fatalf("failed to format to btrfs: %s %v", string(output), err) } output, err = exec.Command("mount", btrfsFile, testPath).Output() if err != nil { t.Fatalf("failed to mount to btrfs: %s %v", string(output), err) } if _, err := volume.New(Name, volume.DriverParams{RootParam: testPath}); err != nil { t.Fatalf("failed to initialize Driver: %v", err) } volumeDriver, err := volume.Get(Name) if err != nil { t.Fatalf("failed to initialize VolumeDriver: %v", err) } ctx := test.NewContext(volumeDriver) ctx.Filesystem = "btrfs" test.Run(t, ctx) }
func start(c *cli.Context) { var cm *cluster.ClusterManager if !osdcli.DaemonMode(c) { cli.ShowAppHelp(c) return } datastores := []string{mem.Name, etcd.Name} // We are in daemon mode. file := c.String("file") if file == "" { fmt.Println("OSD configuration file not specified. Visit openstorage.org for an example.") return } cfg, err := config.Parse(file) if err != nil { fmt.Println(err) return } kvdbURL := c.String("kvdb") u, err := url.Parse(kvdbURL) scheme := u.Scheme u.Scheme = "http" kv, err := kvdb.New(scheme, "openstorage", []string{u.String()}, nil) if err != nil { fmt.Println("Failed to initialize KVDB: ", u.Scheme, err) fmt.Println("Supported datastores: ", datastores) return } err = kvdb.SetInstance(kv) if err != nil { fmt.Println("Failed to initialize KVDB: ", err) return } // Start the cluster state machine, if enabled. if cfg.Osd.ClusterConfig.NodeId != "" && cfg.Osd.ClusterConfig.ClusterId != "" { dockerClient, err := docker.NewClientFromEnv() if err != nil { fmt.Println("Failed to initialize docker client: ", err) return } cm = cluster.New(cfg.Osd.ClusterConfig, kv, dockerClient) } // Start the volume drivers. for d, v := range cfg.Osd.Drivers { fmt.Println("Starting volume driver: ", d) _, err := volume.New(d, v) if err != nil { fmt.Println("Unable to start volume driver: ", d, err) return } err = apiserver.StartServerAPI(d, 0, config.DriverAPIBase) if err != nil { fmt.Println("Unable to start volume driver: ", err) return } err = apiserver.StartPluginAPI(d, config.PluginAPIBase) if err != nil { fmt.Println("Unable to start volume plugin: ", err) return } } if cm != nil { err = cm.Start() if err != nil { fmt.Println("Unable to start cluster manager: ", err) return } } // Daemon does not exit. select {} }
func start(c *cli.Context) { var cm cluster.Cluster if !osdcli.DaemonMode(c) { cli.ShowAppHelp(c) return } datastores := []string{mem.Name, etcd.Name, consul.Name} // We are in daemon mode. file := c.String("file") if file == "" { logrus.Warn("OSD configuration file not specified. Visit openstorage.org for an example.") return } cfg, err := config.Parse(file) if err != nil { logrus.Error(err) return } kvdbURL := c.String("kvdb") u, err := url.Parse(kvdbURL) scheme := u.Scheme u.Scheme = "http" kv, err := kvdb.New(scheme, "openstorage", []string{u.String()}, nil) if err != nil { logrus.Warnf("Failed to initialize KVDB: %v (%v)", scheme, err) logrus.Warnf("Supported datastores: %v", datastores) return } err = kvdb.SetInstance(kv) if err != nil { logrus.Warnf("Failed to initialize KVDB: %v", err) return } // Start the cluster state machine, if enabled. if cfg.Osd.ClusterConfig.NodeId != "" && cfg.Osd.ClusterConfig.ClusterId != "" { logrus.Infof("OSD enabling cluster mode.") dockerClient, err := docker.NewClientFromEnv() if err != nil { logrus.Warnf("Failed to initialize docker client: %v", err) return } cm = cluster.New(cfg.Osd.ClusterConfig, kv, dockerClient) if err := server.StartClusterAPI(config.ClusterAPIBase); err != nil { logrus.Warnf("Unable to start cluster API server: %v", err) return } } // Start the volume drivers. for d, v := range cfg.Osd.Drivers { logrus.Infof("Starting volume driver: %v", d) if _, err := volume.New(d, v); err != nil { logrus.Warnf("Unable to start volume driver: %v, %v", d, err) return } if err := server.StartPluginAPI(d, config.DriverAPIBase, config.PluginAPIBase); err != nil { logrus.Warnf("Unable to start volume plugin: %v", err) return } } // Start the graph drivers. for d, _ := range cfg.Osd.GraphDrivers { logrus.Infof("Starting graph driver: %v", d) if err := server.StartGraphAPI(d, config.PluginAPIBase); err != nil { logrus.Warnf("Unable to start graph plugin: %v", err) return } } if cm != nil { if err := cm.Start(); err != nil { logrus.Warnf("Unable to start cluster manager: %v", err) return } } // Daemon does not exit. select {} }
func start(c *cli.Context) { if !osdcli.DaemonMode(c) { cli.ShowAppHelp(c) return } datastores := []string{mem.Name, etcd.Name} // We are in daemon mode. file := c.String("file") if file == "" { fmt.Println("OSD configuration file not specified. Visit openstorage.org for an example.") return } cfg, err := config.Parse(file) if err != nil { fmt.Println(err) return } kvdb_url := c.String("kvdb") u, err := url.Parse(kvdb_url) scheme := u.Scheme u.Scheme = "http" kv, err := kvdb.New(scheme, "openstorage", []string{u.String()}, nil) if err != nil { fmt.Println("Failed to initialize KVDB: ", u.Scheme, err) fmt.Println("Supported datastores: ", datastores) return } err = kvdb.SetInstance(kv) if err != nil { fmt.Println("Failed to initialize KVDB: ", err) return } // Start the volume drivers. for d, v := range cfg.Osd.Drivers { fmt.Println("Starting volume driver: ", d) _, err := volume.New(d, v) if err != nil { fmt.Println("Unable to start volume driver: ", d, err) return } err = apiserver.StartDriverAPI(d, 0, config.DriverAPIBase) if err != nil { fmt.Println("Unable to start volume driver: ", err) return } err = apiserver.StartPluginAPI(d, config.PluginAPIBase) if err != nil { fmt.Println("Unable to start volume plugin: ", err) return } } // Daemon does not exit. select {} }