Skip to content

Commit

Permalink
Merge branch 'release-1.16.2' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
Ed McClanahan committed Jul 1, 2020
2 parents d7abbe4 + bbc8988 commit 2e1f659
Show file tree
Hide file tree
Showing 129 changed files with 6,574 additions and 1,936 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,7 @@ nodes/

# IDE-related stuff
.idea

# pfs-jrpc cache

pfs-jrpc.env
11 changes: 10 additions & 1 deletion CONFIGURING.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ For each of the keys supported, the following table will list whether or not its
| | ChunkedConnectionPoolSize | Yes | | Yes | No |
| | NonChunkedConnectionPoolSize | Yes | | Yes | No |
| | ChecksumChunkedPutChunks | No | false | Yes | Yes |
| | SwiftReconNoWriteThreshold | No | 80 | Yes | Yes |
| | SwiftReconNoWriteErrno | No | ENOSPC | Yes | Yes |
| | SwiftReconReadOnlyThreshold | No | 90 | Yes | Yes |
| | SwiftReconReadOnlyErrno | No | EROFS | Yes | Yes |
| | SwiftConfDir | No | /etc/swift | Yes | Yes |
| | SwiftReconChecksPerConfCheck | No | 10 | Yes | Yes |
| FSGlobals | VolumeGroupList | Yes | | Yes | Yes |
| | CheckpointHeaderConsensusAttempts | No | 5 | Yes | No |
| | MountRetryLimit | No | 6 | Yes | No |
Expand Down Expand Up @@ -191,7 +197,10 @@ For each of the keys supported, the following table will list whether or not its
| | RetryRPCTTLCompleted | No | 10m | Yes | No |
| | RetryRPCAckTrim | No | 100ms | Yes | No |
| | RetryRPCDeadlineIO | No | 60s | Yes | No |
| | RetryRPCKEEPALIVEPeriod | No | 60s | Yes | No |
| | RetryRPCKeepAlivePeriod | No | 60s | Yes | No |
| | MinLeaseDuration | No | 250ms | Yes | No |
| | LeaseInterruptInterval | No | 250ms | Yes | No |
| | LeaseInterruptLimit | No | 20 | Yes | No |
| Logging | LogFilePath | No | <i>None</i> | Yes | No |
| | LogToConsole | No | false | Yes | No |
| | TraceLevelLogging | No | <i>None</i> | Yes | No |
Expand Down
9 changes: 8 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ gobinsubdirs = \
inodeworkout \
pfs-crash \
pfs-fsck \
pfs-jrpc \
pfs-restart-test \
pfs-stress \
pfs-swift-load \
Expand Down Expand Up @@ -91,7 +92,9 @@ else
minimal: pre-generate generate install
endif

.PHONY: all all-deb-builder bench c-build c-clean c-install c-install-deb-builder c-test ci clean cover fmt generate install pre-generate python-test test version
pfsagent: pre-generate generate pfsagent-install

.PHONY: all all-deb-builder bench c-build c-clean c-install c-install-deb-builder c-test ci clean cover fmt generate install pfsagent pfsagent-install pre-generate python-test test version

bench:
@set -e; \
Expand Down Expand Up @@ -177,6 +180,10 @@ install:
$(MAKE) --no-print-directory -C $$gosubdir install; \
done

pfsagent-install:
$(MAKE) --no-print-directory -C pfsagentd install
$(MAKE) --no-print-directory -C pfsagentd/pfsagentd-swift-auth-plugin install

pre-generate:
@set -e; \
go install github.com/swiftstack/ProxyFS/vendor/golang.org/x/tools/cmd/stringer; \
Expand Down
5 changes: 0 additions & 5 deletions bin/autodoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,6 @@ PROJECTS = {
'dir': ['../swift', 'saio'],
'container': 'doc',
},
'swift-specs': {
'root': '/vagrant/swift-specs/doc/',
'dir': ['../'],
'container': 'specs',
},
'swiftclient': {
'root': '/vagrant/python-swiftclient/doc/',
'dir': [],
Expand Down
3 changes: 2 additions & 1 deletion blunder/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ const (
NotPermError FsError = FsError(int(unix.EPERM)) // Operation not permitted
NotFoundError FsError = FsError(int(unix.ENOENT)) // No such file or directory
IOError FsError = FsError(int(unix.EIO)) // I/O error
ReadOnlyError FsError = FsError(int(unix.EROFS)) // Read-only file system
TooBigError FsError = FsError(int(unix.E2BIG)) // Argument list too long
TooManyArgsError FsError = FsError(int(unix.E2BIG)) // Arg list too long
BadFileError FsError = FsError(int(unix.EBADF)) // Bad file number
Expand All @@ -81,7 +82,6 @@ const (
FileTooLargeError FsError = FsError(int(unix.EFBIG)) // File too large
NoSpaceError FsError = FsError(int(unix.ENOSPC)) // No space left on device
BadSeekError FsError = FsError(int(unix.ESPIPE)) // Illegal seek
ReadOnlyError FsError = FsError(int(unix.EROFS)) // Read-only file system
TooManyLinksError FsError = FsError(int(unix.EMLINK)) // Too many links
OutOfRangeError FsError = FsError(int(unix.ERANGE)) // Math result not representable
NameTooLongError FsError = FsError(int(unix.ENAMETOOLONG)) // File name too long
Expand All @@ -97,6 +97,7 @@ const (
// Errors that map to constants already defined above
const (
NotActiveError FsError = NotFoundError
BadLeaseRequest FsError = InvalidArgError
BadMountIDError FsError = InvalidArgError
BadMountVolumeError FsError = InvalidArgError
NotFileError FsError = IsDirError
Expand Down
2 changes: 0 additions & 2 deletions ci/ansible/chef_files/ci.attribs.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
"swiftclient_repo_branch": "master",
"swift_bench_repo": "git://github.com/openstack/swift-bench.git",
"swift_bench_repo_branch": "master",
"swift_specs_repo": "git://github.com/openstack/swift-specs.git",
"swift_specs_repo_branch": "master",
"extra_key": "",
"source_root": "/home/swiftstack/provisioning",
"use_swiftstack_packages": false
Expand Down
2 changes: 0 additions & 2 deletions ci/ansible/chef_files/runway.attribs.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
"swiftclient_repo_branch": "master",
"swift_bench_repo": "git://github.com/openstack/swift-bench.git",
"swift_bench_repo_branch": "master",
"swift_specs_repo": "git://github.com/openstack/swift-specs.git",
"swift_specs_repo_branch": "master",
"extra_key": "",
"source_root": "/home/swift/code/ProxyFS",
"use_swiftstack_packages": false,
Expand Down
2 changes: 0 additions & 2 deletions ci/ansible/chef_files/runway_ss.attribs.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
"swiftclient_repo_branch": "master",
"swift_bench_repo": "git://github.com/openstack/swift-bench.git",
"swift_bench_repo_branch": "master",
"swift_specs_repo": "git://github.com/openstack/swift-specs.git",
"swift_specs_repo_branch": "master",
"extra_key": "",
"source_root": "/home/swift/code/ProxyFS",
"use_swiftstack_packages": true,
Expand Down
2 changes: 0 additions & 2 deletions ci/ansible/chef_files/vagrant.attribs.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
"swiftclient_repo_branch": "master",
"swift_bench_repo": "git://github.com/openstack/swift-bench.git",
"swift_bench_repo_branch": "master",
"swift_specs_repo": "git://github.com/openstack/swift-specs.git",
"swift_specs_repo_branch": "master",
"extra_key": "",
"source_root": "/vagrant",
"use_swiftstack_packages": false
Expand Down
2 changes: 0 additions & 2 deletions ci/chef.attribs.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
"swiftclient_repo_branch": "master",
"swift_bench_repo": "git://github.com/openstack/swift-bench.git",
"swift_bench_repo_branch": "master",
"swift_specs_repo": "git://github.com/openstack/swift-specs.git",
"swift_specs_repo_branch": "master",
"extra_key": "",
"source_root": "/home/swiftstack/provisioning"
}
61 changes: 41 additions & 20 deletions confgen/sample-proxyfs-configuration/proxyfs.conf
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,48 @@ PublicIPAddr: 192.168.18.222
PrivateIPAddr: 192.168.18.222
ReadCacheQuotaFraction: 0.20


# Identifies what "peers" make up the cluster and which one "we" are
[Cluster]
WhoAmI: c67631b5-cb88-11e9-99da-0248604d6797
Peers: c63edaae-cb88-11e9-b49f-020e05f0ad07 c67631b5-cb88-11e9-99da-0248604d6797 c6e8e18f-cb88-11e9-92db-02a727b377d1
Arbiters: c63edaae-cb88-11e9-b49f-020e05f0ad07 c67631b5-cb88-11e9-99da-0248604d6797 c6e8e18f-cb88-11e9-92db-02a727b377d1
ServerGuid: c67631b5-cb88-11e9-99da-0248604d6797
AcctHash: de374096638e77912ff8ebf617b98fc7
PrivateClusterUDPPort: 8123
UDPPacketSendSize: 1400
UDPPacketRecvSize: 1500
UDPPacketCapPerMessage: 5
HeartBeatDuration: 1s
HeartBeatMissLimit: 3
MessageQueueDepthPerPeer: 4
MaxRequestDuration: 1s
LivenessCheckRedundancy: 2
LogLevel: 0
ConfigVersion: 1570666863

# Specifies the path particulars to the "NoAuth" WSGI pipeline
[SwiftClient]
NoAuthIPAddr: 127.0.0.1
NoAuthTCPPort: 8090
Timeout: 10000ms
ChunkedConnectionPoolSize: 1000
NonChunkedConnectionPoolSize: 100
RetryLimit: 11
RetryDelay: 1000ms

RetryDelay: 1s
RetryExpBackoff: 1.5
RetryLimitObject: 8
RetryDelayObject: 1000ms
RetryLimit: 11

RetryDelayObject: 1s
RetryExpBackoffObject: 1.95
RetryLimitObject: 8

ChunkedConnectionPoolSize: 512
NonChunkedConnectionPoolSize: 128

SwiftReconNoWriteThreshold: 80
SwiftReconNoWriteErrno: ENOSPC
SwiftReconReadOnlyThreshold: 90
SwiftReconReadOnlyErrno: EROFS
SwiftConfDir: /etc/swift
SwiftReconChecksPerConfCheck: 10


# A set of storage policies into which the chunks of files and directories will go

Expand All @@ -50,17 +70,20 @@ ContainerNamePrefix: Standard-Replica_
ContainersPerPeer: 1000
MaxObjectsPerContainer: 1000000






# RPC path from file system clients (both Samba and "normal" WSGI stack)... needs to be shared with them
[JSONRPCServer]
TCPPort: 12345
FastTCPPort: 32345
Debug: False
DataPathLogging: False
TCPPort: 12345
FastTCPPort: 32345
DataPathLogging: false
Debug: false
RetryRPCPort: 32356
RetryRPCTTLCompleted: 10m
RetryRPCAckTrim: 100ms
RetryRPCDeadlineIO: 60s
RetryRPCKeepAlivePeriod: 60s
MinLeaseDuration: 250ms
LeaseInterruptInterval: 250ms
LeaseInterruptLimit: 20

[RPC] # Note: This is very soon to be deprecated... so just hard-code these values until then
NoAuthTCPSocket=true
Expand Down Expand Up @@ -105,8 +128,6 @@ EtcdEnabled: true
EtcdAutoSyncInterval: 60000ms
EtcdDialTimeout: 10000ms
EtcdOpTimeout: 20000ms
.include ./proxyfs-etcd-endpoints.conf



.include ./proxyfs-etcd-endpoints.conf
.include ./proxyfs-shares.conf
13 changes: 0 additions & 13 deletions cookbooks/swift/recipes/source.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,6 @@
action :run
end

execute "git swift-specs" do
cwd "#{node['source_root']}"
command "sudo -u #{node['swift_user']} git clone -b #{node['swift_specs_repo_branch']} #{node['swift_specs_repo']}"
creates "#{node['source_root']}/swift-specs"
action :run
end

execute "fix semantic_version error from testtools" do
command "pip install --upgrade testtools"
end
Expand Down Expand Up @@ -86,12 +79,6 @@
action :run
end

execute "swift-specs-install" do
cwd "#{node['source_root']}/swift-specs"
command "pip install -r requirements.txt"
action :run
end

execute "install tox" do
command "pip install tox==3.5.3"
if not node['full_reprovision']
Expand Down
3 changes: 3 additions & 0 deletions dlm/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ func (dummy *globalsStruct) ServeVolume(confMap conf.ConfMap, volumeName string)
func (dummy *globalsStruct) UnserveVolume(confMap conf.ConfMap, volumeName string) (err error) {
return nil
}
func (dummy *globalsStruct) VolumeToBeUnserved(confMap conf.ConfMap, volumeName string) (err error) {
return nil
}
func (dummy *globalsStruct) SignaledStart(confMap conf.ConfMap) (err error) {
return nil
}
Expand Down
3 changes: 3 additions & 0 deletions evtlog/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ func (dummy *globalsStruct) ServeVolume(confMap conf.ConfMap, volumeName string)
func (dummy *globalsStruct) UnserveVolume(confMap conf.ConfMap, volumeName string) (err error) {
return nil
}
func (dummy *globalsStruct) VolumeToBeUnserved(confMap conf.ConfMap, volumeName string) (err error) {
return nil
}
func (dummy *globalsStruct) SignaledStart(confMap conf.ConfMap) (err error) {
return nil
}
Expand Down
20 changes: 6 additions & 14 deletions fs/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import (
"github.com/swiftstack/ProxyFS/utils"
)

type MountID uint64

// ReadRangeIn is the ReadPlan range requested
//
// Either Offset or Len can be omitted, but not both. Those correspond
Expand Down Expand Up @@ -97,12 +95,6 @@ type FlockStruct struct {
Pid uint64
}

type MountOptions uint64

const (
MountReadOnly MountOptions = 1 << iota
)

type StatKey uint64

const (
Expand Down Expand Up @@ -153,19 +145,19 @@ type JobHandle interface {
Info() (info []string)
}

// Mount handle interface
// Volume handle interface

func MountByAccountName(accountName string, mountOptions MountOptions) (mountHandle MountHandle, err error) {
mountHandle, err = mountByAccountName(accountName, mountOptions)
func FetchVolumeHandleByAccountName(accountName string) (volumeHandle VolumeHandle, err error) {
volumeHandle, err = fetchVolumeHandleByAccountName(accountName)
return
}

func MountByVolumeName(volumeName string, mountOptions MountOptions) (mountHandle MountHandle, err error) {
mountHandle, err = mountByVolumeName(volumeName, mountOptions)
func FetchVolumeHandleByVolumeName(volumeName string) (volumeHandle VolumeHandle, err error) {
volumeHandle, err = fetchVolumeHandleByVolumeName(volumeName)
return
}

type MountHandle interface {
type VolumeHandle interface {
Access(userID inode.InodeUserID, groupID inode.InodeGroupID, otherGroupIDs []inode.InodeGroupID, inodeNumber inode.InodeNumber, accessMode inode.InodeMode) (accessReturn bool)
CallInodeToProvisionObject() (pPath string, err error)
Create(userID inode.InodeUserID, groupID inode.InodeGroupID, otherGroupIDs []inode.InodeGroupID, dirInodeNumber inode.InodeNumber, basename string, filePerm inode.InodeMode) (fileInodeNumber inode.InodeNumber, err error)
Expand Down
Loading

0 comments on commit 2e1f659

Please sign in to comment.