create volume
diff --git a/acceptance/openstack/blockstorage_test.go b/acceptance/openstack/blockstorage_test.go
new file mode 100644
index 0000000..ad40590
--- /dev/null
+++ b/acceptance/openstack/blockstorage_test.go
@@ -0,0 +1,70 @@
+// +build acceptance
+
+package openstack
+
+import (
+ "fmt"
+ blockstorage "github.com/rackspace/gophercloud/openstack/blockstorage/v1"
+ "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes"
+ "github.com/rackspace/gophercloud/openstack/identity"
+ "github.com/rackspace/gophercloud/openstack/utils"
+ "os"
+ "testing"
+)
+
+func getClient() (*blockstorage.Client, error) {
+ ao, err := utils.AuthOptions()
+ if err != nil {
+ return nil, err
+ }
+
+ r, err := identity.Authenticate(ao)
+ if err != nil {
+ return nil, err
+ }
+
+ sc, err := identity.GetServiceCatalog(r)
+ if err != nil {
+ return nil, err
+ }
+
+ ces, err := sc.CatalogEntries()
+ if err != nil {
+ return nil, err
+ }
+
+ var eps []identity.Endpoint
+ for _, ce := range ces {
+ if ce.Type == "volume" {
+ eps = ce.Endpoints
+ }
+ }
+
+ region := os.Getenv("OS_REGION_NAME")
+ rep := ""
+ for _, ep := range eps {
+ if ep.Region == region {
+ rep = ep.PublicURL
+ }
+ }
+
+ client := blockstorage.NewClient(rep, r, ao)
+
+ return client, nil
+
+}
+
+func TestVolumes(t *testing.T) {
+ client, err := getClient()
+ if err != nil {
+ t.Error(err)
+ return
+ }
+ v, err := volumes.Create(client, volumes.CreateOpts{
+ Size: 1,
+ })
+ if err != nil {
+ t.Error(err)
+ return
+ }
+}