Skip to content
This repository has been archived by the owner on Mar 26, 2020. It is now read-only.

Commit

Permalink
Merge branch 'master' into snapshot1
Browse files Browse the repository at this point in the history
  • Loading branch information
kshlm authored May 29, 2018
2 parents 15e37ac + 98613af commit 2a3599b
Show file tree
Hide file tree
Showing 98 changed files with 2,081 additions and 809 deletions.
15 changes: 8 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ GD2CONF_INSTALL = $(DESTDIR)$(SYSCONFDIR)/$(GD2)/$(GD2_CONF)

GD2STATEDIR = $(LOCALSTATEDIR)/$(GD2)
GD2LOGDIR = $(LOGDIR)/$(GD2)
GD2RUNDIR = $(RUNDIR)/$(GD2)

DEPENV ?=

Expand All @@ -49,9 +50,9 @@ check-reqs:
@./scripts/check-reqs.sh
@echo

$(GD2_BIN): $(GD2_BUILD)
$(GD2_BIN): $(GD2_BUILD) gd2conf
$(GD2_BUILD):
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) ./scripts/build.sh glusterd2
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) BASE_PREFIX=$(BASE_PREFIX) ./scripts/build.sh glusterd2
@echo

$(CLI_BIN) cli: $(CLI_BUILD)
Expand All @@ -61,9 +62,9 @@ $(CLI_BUILD):
@./$(CLI_BASH_COMPLETION_GEN_BIN) $(CLI_BASH_COMPLETION_BUILD)
@echo

$(GD2_CONF) gd2conf: $(GD2CONF_BUILD)
$(GD2CONF_BUILD):
@GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) $(GD2CONF_BUILDSCRIPT)
$(GD2_CONF) gd2conf:
@GD2=$(GD2) GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) \
GD2RUNDIR=$(GD2RUNDIR) $(GD2CONF_BUILDSCRIPT)

install:
install -D $(GD2_BUILD) $(GD2_INSTALL)
Expand Down Expand Up @@ -92,7 +93,7 @@ release: build
@./scripts/release.sh

dist:
@./scripts/dist.sh
@DISTDIR=$(DISTDIR) SIGN=$(SIGN) ./scripts/dist.sh

dist-vendor: vendor-install
@VENDOR=yes ./scripts/dist.sh
@VENDOR=yes DISTDIR=$(DISTDIR) SIGN=$(SIGN) ./scripts/dist.sh
6 changes: 4 additions & 2 deletions doc/endpoints.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions e2e/config/1.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
workdir = "w1"
localstatedir = "w1"
logdir = "w1/log"
loglevel = "DEBUG"
rundir = "w1/run/gluster"
logfile = "w1.log"
peeraddress = "127.0.0.1:24008"
Expand Down
3 changes: 3 additions & 0 deletions e2e/config/2.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
workdir = "w2"
localstatedir = "w2"
logdir = "w2/log"
loglevel = "DEBUG"
rundir = "w2/run/gluster"
logfile = "w2.log"
peeraddress = "127.0.0.1:23008"
Expand Down
3 changes: 3 additions & 0 deletions e2e/config/3.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
workdir = "w3"
localstatedir = "w3"
logdir = "w3/log"
loglevel = "DEBUG"
rundir = "w3/run/gluster"
logfile = "w3.log"
peeraddress = "127.0.0.1:22008"
Expand Down
3 changes: 3 additions & 0 deletions e2e/config/4.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
workdir = "w4"
localstatedir = "w4"
logdir = "w4/log"
loglevel = "DEBUG"
rundir = "w4/run/gluster"
logfile = "w4.log"
peeraddress = "127.0.0.1:21008"
Expand Down
2 changes: 1 addition & 1 deletion e2e/glustershd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func TestGlusterShd(t *testing.T) {
vol1, err := client.VolumeCreate(reqVol)
r.Nil(err)

r.Nil(client.VolumeStart(vol1.Name), "volume start failed")
r.Nil(client.VolumeStart(vol1.Name, false), "volume start failed")

err = client.GlusterShdEnable(vol1.Name)
r.Nil(err)
Expand Down
52 changes: 49 additions & 3 deletions e2e/peer_ops_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"testing"
"time"

"github.com/gluster/glusterd2/pkg/api"

"github.com/stretchr/testify/require"
)

Expand All @@ -26,14 +28,23 @@ func TestAddRemovePeer(t *testing.T) {
r.True(g3.IsRunning())

client := initRestclient(g1.ClientAddress)

_, err2 := client.PeerAdd(g2.PeerAddress)
peerAddReq := api.PeerAddReq{
Addresses: []string{g2.PeerAddress},
Metadata: map[string]string{
"owner": "gd2test",
},
}
_, err2 := client.PeerAdd(peerAddReq)
r.Nil(err2)

time.Sleep(6 * time.Second)

// add peer: ask g1 to add g3 as peer
_, err3 := client.PeerAdd(g3.PeerAddress)
peerAddReq = api.PeerAddReq{
Addresses: []string{g3.PeerAddress},
}

_, err3 := client.PeerAdd(peerAddReq)
r.Nil(err3)

time.Sleep(6 * time.Second)
Expand All @@ -43,6 +54,41 @@ func TestAddRemovePeer(t *testing.T) {
r.Nil(err4)
r.Len(peers, 3)

var matchingQueries []map[string]string
var nonMatchingQueries []map[string]string

matchingQueries = append(matchingQueries, map[string]string{
"key": "owner",
"value": "gd2test",
})
matchingQueries = append(matchingQueries, map[string]string{
"key": "owner",
})
matchingQueries = append(matchingQueries, map[string]string{
"value": "gd2test",
})
for _, filter := range matchingQueries {
peers, err := client.Peers(filter)
r.Nil(err)
r.Len(peers, 1)
}

nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"key": "owner",
"value": "gd2-test",
})
nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"key": "owners",
})
nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"value": "gd2tests",
})
for _, filter := range nonMatchingQueries {
peers, err := client.Peers(filter)
r.Nil(err)
r.Len(peers, 0)
}

// remove peer: ask g1 to remove g2 as peer
err5 := client.PeerRemove(g2.PeerID())
r.Nil(err5)
Expand Down
2 changes: 1 addition & 1 deletion e2e/quota_enable.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func testQuotaEnable(t *testing.T) {
vol1, err := client.VolumeCreate(reqVol)
r.Nil(err)

r.Nil(client.VolumeStart(vol1.Name), "volume start failed")
r.Nil(client.VolumeStart(vol1.Name, false), "volume start failed")

err = client.QuotaEnable(volname)
r.Nil(err)
Expand Down
124 changes: 116 additions & 8 deletions e2e/volume_ops_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ func TestVolume(t *testing.T) {

// Create the volume
t.Run("Create", testVolumeCreate)

// Expand the volume
t.Run("Expand", testVolumeExpand)

Expand Down Expand Up @@ -100,31 +99,107 @@ func testVolumeCreate(t *testing.T) {
},
},
},
Metadata: map[string]string{
"owner": "gd2test",
},
Force: true,
}
_, err := client.VolumeCreate(createReq)
r.Nil(err)

//invalid volume name
createReq.Name = "##@@#@!#@!!@#"
_, err = client.VolumeCreate(createReq)
r.NotNil(err)

}

func testVolumeCreateWithFlags(t *testing.T) {
r := require.New(t)

var brickPaths []string

for i := 1; i <= 4; i++ {
brickPaths = append(brickPaths, fmt.Sprintf(baseWorkdir+t.Name()+"/b/%d", i))
}

flags := make(map[string]bool)
//set flags to allow rootdir
flags["allow-root-dir"] = true
//set flags create brick dir
flags["create-brick-dir"] = true

createReqBrick := api.VolCreateReq{
Name: t.Name(),
Subvols: []api.SubvolReq{
{
ReplicaCount: 2,
Type: "replicate",
Bricks: []api.BrickReq{
{PeerID: gds[0].PeerID(), Path: brickPaths[0]},
{PeerID: gds[1].PeerID(), Path: brickPaths[1]},
},
},
{
Type: "replicate",
ReplicaCount: 2,
Bricks: []api.BrickReq{
{PeerID: gds[0].PeerID(), Path: brickPaths[2]},
{PeerID: gds[1].PeerID(), Path: brickPaths[3]},
},
},
},
Flags: flags,
}

_, err := client.VolumeCreate(createReqBrick)
r.Nil(err)

//delete volume
r.Nil(client.VolumeDelete(t.Name()))

createReqBrick.Name = t.Name()
//set reuse-brick flag
flags["reuse-bricks"] = true
createReqBrick.Flags = flags

_, err = client.VolumeCreate(createReqBrick)
r.Nil(err)

r.Nil(client.VolumeDelete(t.Name()))

//recreate deleted volume
_, err = client.VolumeCreate(createReqBrick)
r.Nil(err)

//delete volume
r.Nil(client.VolumeDelete(t.Name()))

}
func testVolumeExpand(t *testing.T) {
r := require.New(t)

var brickPaths []string
for i := 1; i <= 4; i++ {
brickPath, err := ioutil.TempDir(tmpDir, "brick")
r.Nil(err)
brickPaths = append(brickPaths, brickPath)
brickPaths = append(brickPaths, fmt.Sprintf(fmt.Sprintf(baseWorkdir+t.Name()+"/b/%d/", i)))
}

flags := make(map[string]bool)
//set flags to allow rootdir and create brick dir
flags["create-brick-dir"] = true
flags["allow-root-dir"] = true

expandReq := api.VolExpandReq{
Bricks: []api.BrickReq{
{PeerID: gds[0].PeerID(), Path: brickPaths[0]},
{PeerID: gds[1].PeerID(), Path: brickPaths[1]},
{PeerID: gds[0].PeerID(), Path: brickPaths[2]},
{PeerID: gds[1].PeerID(), Path: brickPaths[3]},
},
Force: true,
Flags: flags,
}

//expand with new brick dir which is not created
_, err := client.VolumeExpand(volname, expandReq)
r.Nil(err)
}
Expand All @@ -136,8 +211,7 @@ func testVolumeDelete(t *testing.T) {

func testVolumeStart(t *testing.T) {
r := require.New(t)

r.Nil(client.VolumeStart(volname), "volume start failed")
r.Nil(client.VolumeStart(volname, false), "volume start failed")
}

func testVolumeStop(t *testing.T) {
Expand All @@ -148,6 +222,40 @@ func testVolumeStop(t *testing.T) {

func testVolumeList(t *testing.T) {
r := require.New(t)
var matchingQueries []map[string]string
var nonMatchingQueries []map[string]string

matchingQueries = append(matchingQueries, map[string]string{
"key": "owner",
"value": "gd2test",
})
matchingQueries = append(matchingQueries, map[string]string{
"key": "owner",
})
matchingQueries = append(matchingQueries, map[string]string{
"value": "gd2test",
})
for _, filter := range matchingQueries {
volumes, err := client.Volumes("", filter)
r.Nil(err)
r.Len(volumes, 1)
}

nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"key": "owner",
"value": "gd2-test",
})
nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"key": "owners",
})
nonMatchingQueries = append(nonMatchingQueries, map[string]string{
"value": "gd2tests",
})
for _, filter := range nonMatchingQueries {
volumes, err := client.Volumes("", filter)
r.Nil(err)
r.Len(volumes, 0)
}

volumes, err := client.Volumes("")
r.Nil(err)
Expand Down Expand Up @@ -391,7 +499,7 @@ func testDisperse(t *testing.T) {
_, err := client.VolumeCreate(createReq)
r.Nil(err)

r.Nil(client.VolumeStart(disperseVolName), "disperse volume start failed")
r.Nil(client.VolumeStart(disperseVolName, true), "disperse volume start failed")

mntPath, err := ioutil.TempDir(tmpDir, "mnt")
r.Nil(err)
Expand Down
14 changes: 10 additions & 4 deletions extras/make/paths.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,20 @@
# https://fedoraproject.org/wiki/Packaging:RPMMacros?rd=Packaging/RPMMacros

PREFIX ?= /usr/local

BASE_PREFIX = $(PREFIX)
ifeq ($(PREFIX), /usr)
BASE_PREFIX = ""
endif

EXEC_PREFIX ?= $(PREFIX)

BINDIR ?= $(EXEC_PREFIX)/bin
SBINDIR ?= $(EXEC_PREFIX)/sbin

DATADIR ?= $(PREFIX)/share
LOCALSTATEDIR ?= $(PREFIX)/var/lib
LOGDIR ?= $(PREFIX)/var/log

SYSCONFDIR ?= $(PREFIX)/etc
LOCALSTATEDIR ?= $(BASE_PREFIX)/var/lib
LOGDIR ?= $(BASE_PREFIX)/var/log

SYSCONFDIR ?= $(BASE_PREFIX)/etc
RUNDIR ?= $(BASE_PREFIX)/var/run
Loading

0 comments on commit 2a3599b

Please sign in to comment.