diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 32c226f6c00..163a6170263 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -358,263 +358,263 @@ }, { "ImportPath": "github.com/coreos/etcd/alarm", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/auth", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/auth/authpb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/client", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/clientv3", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/compactor", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/discovery", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/error", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http/httptypes", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/auth", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/membership", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/etcdserver/stats", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/integration", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/lease", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/lease/leasehttp", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/lease/leasepb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/mvcc", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/mvcc/backend", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/mvcc/mvccpb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/adt", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/contention", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/crc", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/fileutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/httputil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/idutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/ioutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/logutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/netutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/pathutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/pbutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/runtime", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/schedule", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/testutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/tlsutil", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/transport", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/types", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/pkg/wait", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/raft", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/raft/raftpb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/rafthttp", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/snap", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/snap/snappb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/store", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/version", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/wal", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/etcd/wal/walpb", - "Comment": "v3.0.12", - "Rev": "2d1e2e8e646e65f73ca0d9ee905a5343d6135a50" + "Comment": "v3.0.13", + "Rev": "c99d0d4b255f0dfc117b59555c89933192237c27" }, { "ImportPath": "github.com/coreos/go-oidc/http", diff --git a/vendor/github.com/coreos/etcd/auth/store.go b/vendor/github.com/coreos/etcd/auth/store.go index 01c6c9905c8..0c210acb0b3 100644 --- a/vendor/github.com/coreos/etcd/auth/store.go +++ b/vendor/github.com/coreos/etcd/auth/store.go @@ -603,6 +603,11 @@ func (as *authStore) isOpPermitted(userName string, key, rangeEnd []byte, permTy return false } + // root role should have permission on all ranges + if hasRootRole(user) { + return true + } + if as.isRangeOpPermitted(tx, userName, key, rangeEnd, permTyp) { return true } diff --git a/vendor/github.com/coreos/etcd/etcdserver/server.go b/vendor/github.com/coreos/etcd/etcdserver/server.go index dd232d5ef2a..d2324e57c2d 100644 --- a/vendor/github.com/coreos/etcd/etcdserver/server.go +++ b/vendor/github.com/coreos/etcd/etcdserver/server.go @@ -154,13 +154,13 @@ type Server interface { // EtcdServer is the production implementation of the Server interface type EtcdServer struct { - // r and inflightSnapshots must be the first elements to keep 64-bit alignment for atomic - // access to fields - - // count the number of inflight snapshots. - // MUST use atomic operation to access this field. - inflightSnapshots int64 - Cfg *ServerConfig + // inflightSnapshots holds count the number of snapshots currently inflight. + inflightSnapshots int64 // must use atomic operations to access; keep 64-bit aligned. + appliedIndex uint64 // must use atomic operations to access; keep 64-bit aligned. + // consistIndex used to hold the offset of current executing entry + // It is initialized to 0 before executing any entry. + consistIndex consistentIndex // must use atomic operations to access; keep 64-bit aligned. + Cfg *ServerConfig readych chan struct{} r raftNode @@ -195,10 +195,6 @@ type EtcdServer struct { // compactor is used to auto-compact the KV. compactor *compactor.Periodic - // consistent index used to hold the offset of current executing entry - // It is initialized to 0 before executing any entry. - consistIndex consistentIndex - // peerRt used to send requests (version, lease) to peers. peerRt http.RoundTripper reqIDGen *idutil.Generator @@ -212,8 +208,6 @@ type EtcdServer struct { // wg is used to wait for the go routines that depends on the server state // to exit when stopping the server. wg sync.WaitGroup - - appliedIndex uint64 } // NewServer creates a new EtcdServer from the supplied configuration. The diff --git a/vendor/github.com/coreos/etcd/mvcc/kvstore.go b/vendor/github.com/coreos/etcd/mvcc/kvstore.go index adc1fb7661e..6819c69a16d 100644 --- a/vendor/github.com/coreos/etcd/mvcc/kvstore.go +++ b/vendor/github.com/coreos/etcd/mvcc/kvstore.go @@ -408,6 +408,13 @@ func (s *store) restore() error { s.currentRev = rev } + // keys in the range [compacted revision -N, compaction] might all be deleted due to compaction. + // the correct revision should be set to compaction revision in the case, not the largest revision + // we have seen. + if s.currentRev.main < s.compactMainRev { + s.currentRev.main = s.compactMainRev + } + for key, lid := range keyToLease { if s.le == nil { panic("no lessor to attach lease") diff --git a/vendor/github.com/coreos/etcd/raft/node.go b/vendor/github.com/coreos/etcd/raft/node.go index 59d61284d89..22332be6bad 100644 --- a/vendor/github.com/coreos/etcd/raft/node.go +++ b/vendor/github.com/coreos/etcd/raft/node.go @@ -38,7 +38,7 @@ var ( // SoftState provides state that is useful for logging and debugging. // The state is volatile and does not need to be persisted to the WAL. type SoftState struct { - Lead uint64 + Lead uint64 // must use atomic operations to access; keep 64-bit aligned. RaftState StateType } diff --git a/vendor/github.com/coreos/etcd/raft/raftpb/raft.pb.go b/vendor/github.com/coreos/etcd/raft/raftpb/raft.pb.go index 664b5b8289c..e60fb88df34 100644 --- a/vendor/github.com/coreos/etcd/raft/raftpb/raft.pb.go +++ b/vendor/github.com/coreos/etcd/raft/raftpb/raft.pb.go @@ -183,9 +183,9 @@ func (x *ConfChangeType) UnmarshalJSON(data []byte) error { func (ConfChangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} } type Entry struct { - Type EntryType `protobuf:"varint,1,opt,name=Type,json=type,enum=raftpb.EntryType" json:"Type"` Term uint64 `protobuf:"varint,2,opt,name=Term,json=term" json:"Term"` Index uint64 `protobuf:"varint,3,opt,name=Index,json=index" json:"Index"` + Type EntryType `protobuf:"varint,1,opt,name=Type,json=type,enum=raftpb.EntryType" json:"Type"` Data []byte `protobuf:"bytes,4,opt,name=Data,json=data" json:"Data,omitempty"` XXX_unrecognized []byte `json:"-"` } diff --git a/vendor/github.com/coreos/etcd/raft/raftpb/raft.proto b/vendor/github.com/coreos/etcd/raft/raftpb/raft.proto index 42f10d269f0..8cd630046ef 100644 --- a/vendor/github.com/coreos/etcd/raft/raftpb/raft.proto +++ b/vendor/github.com/coreos/etcd/raft/raftpb/raft.proto @@ -15,9 +15,9 @@ enum EntryType { } message Entry { + optional uint64 Term = 2 [(gogoproto.nullable) = false]; // must be 64-bit aligned for atomic operations + optional uint64 Index = 3 [(gogoproto.nullable) = false]; // must be 64-bit aligned for atomic operations optional EntryType Type = 1 [(gogoproto.nullable) = false]; - optional uint64 Term = 2 [(gogoproto.nullable) = false]; - optional uint64 Index = 3 [(gogoproto.nullable) = false]; optional bytes Data = 4; } diff --git a/vendor/github.com/coreos/etcd/version/version.go b/vendor/github.com/coreos/etcd/version/version.go index 6934905ba05..fd3dcd5661f 100644 --- a/vendor/github.com/coreos/etcd/version/version.go +++ b/vendor/github.com/coreos/etcd/version/version.go @@ -29,7 +29,7 @@ import ( var ( // MinClusterVersion is the min cluster version this etcd binary is compatible with. MinClusterVersion = "2.3.0" - Version = "3.0.12" + Version = "3.0.13" // Git SHA Value will be set during build GitSHA = "Not provided (use ./build instead of go build)"