├── .agignore ├── icert ├── .gitignore ├── icertpkg │ └── Makefile ├── dummy_test.go ├── Makefile └── README.md ├── imgr ├── .gitignore ├── imgrpkg │ ├── Makefile │ └── impl.go ├── dummy_test.go ├── Makefile ├── mkmount.sh ├── dev.conf ├── imgr.conf └── main.go ├── iswift ├── .gitignore ├── iswiftpkg │ ├── Makefile │ └── api.go ├── dummy_test.go ├── Makefile ├── iswift.conf └── main.go ├── docs ├── source │ ├── _static │ │ ├── .gitignore │ │ ├── ProxyFS-components.png │ │ ├── ProxyFS-file-object.png │ │ └── ProxyFS-log-segments.png │ ├── theme │ │ └── swiftopensource │ │ │ ├── static │ │ │ ├── fonts │ │ │ │ ├── .gitkeep │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── loading.gif │ │ │ │ ├── play-button.png │ │ │ │ ├── search-icon.png │ │ │ │ ├── register-arrow.png │ │ │ │ ├── marketplace-icons.png │ │ │ │ └── OpenStack_Project_Swift_horizontal.png │ │ │ └── js │ │ │ │ └── navigation.js │ │ │ ├── theme.conf │ │ │ ├── localtoc.html │ │ │ ├── license_cc.html │ │ │ ├── sidebartoc.html │ │ │ ├── css.html │ │ │ ├── titlerow.html │ │ │ ├── search.html │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ └── layout.html │ ├── architecture │ │ ├── uml │ │ │ ├── png │ │ │ │ ├── read.png │ │ │ │ ├── flush.png │ │ │ │ ├── write.png │ │ │ │ ├── bimodal-get.png │ │ │ │ ├── checkpoint.png │ │ │ │ ├── create-file.png │ │ │ │ ├── file-write-new.png │ │ │ │ ├── file-write-old.png │ │ │ │ ├── bimodal-put-newfile.png │ │ │ │ ├── samba-create-write.png │ │ │ │ └── bimodal-put-newcontainer.png │ │ │ ├── README │ │ │ ├── bimodal-put-newcontainer.uml │ │ │ ├── checkpoint.uml │ │ │ ├── file-write-new.uml │ │ │ ├── retryrpc-send.uml │ │ │ ├── create-file.uml │ │ │ ├── bimodal-get.uml │ │ │ └── file-write-old.uml │ │ ├── uml-references.rst │ │ ├── log-structured-intro.rst │ │ └── access.rst │ └── index.rst └── Makefile ├── iclient ├── .gitignore ├── README.md ├── iclientpkg │ ├── Makefile │ └── impl.go ├── dummy_test.go ├── Makefile ├── dev2.conf ├── dev3.conf ├── iclient.sh ├── dev.conf ├── iclient.conf └── main.go ├── idestroy ├── .gitignore ├── dummy_test.go └── Makefile ├── bin ├── .gitignore ├── resetswift ├── remakerings ├── reinstallswift ├── vmspace.sh ├── cleanswift ├── rebuildswift ├── vtox ├── space.sh ├── profile-proxyfsd.py └── proxyfsd-getprofile ├── iauth ├── iauth-swift │ ├── .gitignore │ ├── Makefile │ ├── plugin_test.go │ ├── README.md │ └── iauth-swift.go ├── Makefile ├── dummy_test.go ├── api.go └── README.md ├── version ├── .gitignore ├── static-data.go ├── dummy_test.go ├── Makefile └── static-data │ └── make_static_data.go ├── COPYRIGHT ├── ihtml ├── make-static-content │ ├── .gitignore │ ├── dummy_test.go │ └── Makefile ├── static-content │ ├── open-iconic │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── utils.js │ └── styles.css ├── dummy_test.go ├── .gitignore ├── Makefile └── static-content.go ├── ickpt ├── .gitignore ├── ickptpkg │ ├── Makefile │ └── dummy_test.go ├── dummy_test.go ├── Makefile ├── dev.conf ├── ickpt.conf └── main.go ├── cookbooks ├── swift │ ├── files │ │ └── default │ │ │ ├── etc │ │ │ ├── swift │ │ │ │ ├── container-sync-realms.conf │ │ │ │ ├── object-expirer.conf.d │ │ │ │ │ └── 20_settings.conf │ │ │ │ ├── proxy-server │ │ │ │ │ ├── proxy-noauth.conf.d │ │ │ │ │ │ └── 20_settings.conf │ │ │ │ │ └── proxy-server.conf.d │ │ │ │ │ │ └── 20_settings.conf │ │ │ │ ├── account-server │ │ │ │ │ └── default.conf-template │ │ │ │ ├── container-reconciler.conf.d │ │ │ │ │ └── 20_settings.conf │ │ │ │ ├── container-server │ │ │ │ │ └── default.conf-template │ │ │ │ ├── dispersion.conf │ │ │ │ ├── test.conf │ │ │ │ └── bench.conf │ │ │ ├── apt │ │ │ │ └── sources.list.d │ │ │ │ │ └── fkrull-deadsnakes-trusty.list │ │ │ └── init │ │ │ │ └── swift.upstart │ │ │ └── usr │ │ │ └── lib │ │ │ └── systemd │ │ │ └── system │ │ │ └── swift.service │ ├── templates │ │ └── default │ │ │ └── etc │ │ │ ├── swift │ │ │ ├── base.conf-template.erb │ │ │ ├── object-server │ │ │ │ ├── settings.conf.erb │ │ │ │ └── default.conf-template.erb │ │ │ ├── account-server │ │ │ │ └── settings.conf.erb │ │ │ ├── container-server │ │ │ │ └── settings.conf.erb │ │ │ ├── swift.conf.erb │ │ │ └── proxy-server │ │ │ │ └── default.conf-template.erb │ │ │ ├── rsyncd.conf.erb │ │ │ └── default │ │ │ └── rsyncd.erb │ └── recipes │ │ ├── default.rb │ │ ├── data.rb │ │ └── source.rb ├── proxyfs_swift │ ├── templates │ │ └── default │ │ │ └── etc │ │ │ ├── swift │ │ │ ├── base.conf-template.erb │ │ │ └── proxy-server │ │ │ │ └── default.conf-template.erb │ │ │ ├── rsyncd.conf.erb │ │ │ └── default │ │ │ └── rsyncd.erb │ └── files │ │ └── default │ │ ├── etc │ │ ├── swift │ │ │ └── proxy-server │ │ │ │ └── proxy-noauth.conf.d │ │ │ │ └── 20_settings.conf │ │ └── init │ │ │ └── swift.upstart │ │ └── usr │ │ └── lib │ │ └── systemd │ │ └── system │ │ └── swift.service ├── proxyfs │ ├── files │ │ └── default │ │ │ ├── etc │ │ │ ├── yum.repos.d │ │ │ │ └── swiftstack-controller.repo │ │ │ ├── pki │ │ │ │ └── rpm-gpg │ │ │ │ │ └── RPM-GPG-KEY-swiftstack-controller │ │ │ └── init │ │ │ │ └── proxyfsd.upstart │ │ │ └── usr │ │ │ ├── lib │ │ │ └── systemd │ │ │ │ └── system │ │ │ │ ├── nmb.service │ │ │ │ ├── smb.service │ │ │ │ ├── pfsagentd.service │ │ │ │ └── proxyfsd.service │ │ │ └── bin │ │ │ ├── detect_s3 │ │ │ ├── start_swift_only │ │ │ ├── set_up_swift3 │ │ │ ├── disable_s3 │ │ │ ├── enable_s3 │ │ │ ├── stop_proxyfsd_only │ │ │ ├── start_proxyfsd_only │ │ │ ├── unmount_and_stop_pfs │ │ │ └── set_up_s3api │ └── templates │ │ └── default │ │ └── root │ │ └── .gdbinit.erb ├── meta_middleware │ └── recipes │ │ └── default.rb ├── pfs_middleware │ └── recipes │ │ └── default.rb └── README-UNITTEST.txt ├── conf └── Makefile ├── logger └── Makefile ├── utils └── Makefile ├── ilayout └── Makefile ├── retryrpc ├── Makefile ├── perfrpc │ ├── Makefile │ ├── dummy_test.go │ ├── perfrpc.go │ ├── README.md │ ├── ping_perf.go │ └── tls.go ├── client_tracking.go └── ping_test.go ├── bucketstats ├── Makefile ├── atomic_darwin.go ├── atomic_linux_amd64.go └── atomic_linux_arm.go ├── ci ├── ansible │ ├── chef_files │ │ ├── vagrant.cfg │ │ ├── runway.cfg │ │ ├── ci.cfg │ │ ├── packages │ │ │ ├── debian.json │ │ │ └── rhel.json │ │ ├── vagrant.attribs.json │ │ ├── ci.attribs.json │ │ └── runway.attribs.json │ ├── vars │ │ ├── vagrant.yml │ │ ├── runway.yml │ │ └── ci.yml │ ├── tasks │ │ ├── templates │ │ │ └── usr │ │ │ │ └── bin │ │ │ │ └── reprovision_proxyfs.template │ │ ├── files │ │ │ ├── usr │ │ │ │ └── bin │ │ │ │ │ ├── resetswift │ │ │ │ │ ├── disable_core_dumps │ │ │ │ │ └── enable_core_dumps │ │ │ └── etc │ │ │ │ ├── systemd │ │ │ │ └── system │ │ │ │ │ └── etcd.service │ │ │ │ └── etcd │ │ │ │ └── etcd.conf │ │ └── modify_logging_rate_limit.yml │ ├── install_proxyfs.sh │ └── check_pinned_packages ├── chef.cfg └── chef.attribs.json ├── test └── container │ └── launch.sh ├── DEBUG.md ├── .github └── workflows │ ├── run-unit-tests.sh │ └── run-unit-tests.yml ├── go.mod ├── GoMakefile ├── enmesh_in_gopath.sh ├── GoPlugInMakefile ├── run_docker_tests.sh ├── CONTRIBUTORS.md ├── .gitignore ├── SECURITY.md └── benchmark.fio /.agignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | -------------------------------------------------------------------------------- /icert/.gitignore: -------------------------------------------------------------------------------- 1 | icert 2 | -------------------------------------------------------------------------------- /imgr/.gitignore: -------------------------------------------------------------------------------- 1 | imgr 2 | -------------------------------------------------------------------------------- /iswift/.gitignore: -------------------------------------------------------------------------------- 1 | iswift 2 | -------------------------------------------------------------------------------- /docs/source/_static/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /iclient/.gitignore: -------------------------------------------------------------------------------- 1 | iclient 2 | -------------------------------------------------------------------------------- /idestroy/.gitignore: -------------------------------------------------------------------------------- 1 | idestroy 2 | -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | pfs-swift-load-plot 2 | -------------------------------------------------------------------------------- /iauth/iauth-swift/.gitignore: -------------------------------------------------------------------------------- 1 | *.so 2 | -------------------------------------------------------------------------------- /version/.gitignore: -------------------------------------------------------------------------------- 1 | proxyfs_version.go 2 | -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ihtml/make-static-content/.gitignore: -------------------------------------------------------------------------------- 1 | make-static-content 2 | -------------------------------------------------------------------------------- /iclient/README.md: -------------------------------------------------------------------------------- 1 | # iclient 2 | 3 | A FUSE presentation of a ProxyFS Volume. 4 | -------------------------------------------------------------------------------- /ickpt/.gitignore: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | ickpt 5 | -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/read.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/read.png -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/container-sync-realms.conf: -------------------------------------------------------------------------------- 1 | [test] 2 | key = realm1key 3 | cluster_saio = http://saio:8080/v1/ 4 | -------------------------------------------------------------------------------- /docs/source/_static/ProxyFS-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/_static/ProxyFS-components.png -------------------------------------------------------------------------------- /docs/source/_static/ProxyFS-file-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/_static/ProxyFS-file-object.png -------------------------------------------------------------------------------- /docs/source/_static/ProxyFS-log-segments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/_static/ProxyFS-log-segments.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/flush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/flush.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/write.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/write.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/bimodal-get.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/bimodal-get.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/checkpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/checkpoint.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/create-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/create-file.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/file-write-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/file-write-new.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/file-write-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/file-write-old.png -------------------------------------------------------------------------------- /cookbooks/swift/templates/default/etc/swift/base.conf-template.erb: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | user = <%= @swift_user %> 3 | eventlet_debug = true 4 | log_level = DEBUG 5 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/favicon.ico -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/bimodal-put-newfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/bimodal-put-newfile.png -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/samba-create-write.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/samba-create-write.png -------------------------------------------------------------------------------- /cookbooks/proxyfs_swift/templates/default/etc/swift/base.conf-template.erb: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | user = <%= @swift_user %> 3 | eventlet_debug = true 4 | log_level = DEBUG 5 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/loading.gif -------------------------------------------------------------------------------- /ihtml/static-content/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/ihtml/static-content/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /ihtml/static-content/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/ihtml/static-content/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /ihtml/static-content/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/ihtml/static-content/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /docs/source/architecture/uml/png/bimodal-put-newcontainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/architecture/uml/png/bimodal-put-newcontainer.png -------------------------------------------------------------------------------- /ihtml/static-content/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/ihtml/static-content/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/play-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/play-button.png -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/search-icon.png -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/register-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/register-arrow.png -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/marketplace-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/marketplace-icons.png -------------------------------------------------------------------------------- /conf/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/conf 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /iauth/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iauth 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /logger/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/logger 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /utils/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/utils 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /ilayout/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/ilayout 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /retryrpc/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/retryrpc 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /bucketstats/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/bucketstats 5 | 6 | include ../GoMakefile 7 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /imgr/imgrpkg/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/imgr/imgrpkg 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /icert/icertpkg/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/icert/icertpkg 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /ickpt/ickptpkg/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/ickpt/ickptpkg 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /iswift/iswiftpkg/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iswift/iswiftpkg 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /retryrpc/perfrpc/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/retryrpc/perfrpc 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/static/images/OpenStack_Project_Swift_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NVIDIA/proxyfs/HEAD/docs/source/theme/swiftopensource/static/images/OpenStack_Project_Swift_horizontal.png -------------------------------------------------------------------------------- /iclient/iclientpkg/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iclient/iclientpkg 5 | 6 | include ../../GoMakefile 7 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/apt/sources.list.d/fkrull-deadsnakes-trusty.list: -------------------------------------------------------------------------------- 1 | deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 2 | deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 3 | -------------------------------------------------------------------------------- /icert/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /ickpt/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /imgr/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /version/static-data.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package version 5 | 6 | //go:generate go run static-data/make_static_data.go version proxyfs_version.go 7 | -------------------------------------------------------------------------------- /iauth/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package iauth 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /iclient/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /idestroy/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /ihtml/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package ihtml 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /imgr/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/imgr 5 | 6 | generatedfiles := \ 7 | imgr 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /iswift/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /version/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package version 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = css/basic.css 4 | pygments_style = native 5 | 6 | [options] 7 | sidebar_mode = toctree 8 | display_toc = True 9 | theme_display_toc = True 10 | -------------------------------------------------------------------------------- /icert/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/icert 5 | 6 | generatedfiles := \ 7 | icert 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /ickpt/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/ickpt 5 | 6 | generatedfiles := \ 7 | ickpt 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /ci/ansible/chef_files/vagrant.cfg: -------------------------------------------------------------------------------- 1 | file_cache_path "/home/vagrant/chef" 2 | cookbook_path "/vagrant/src/github.com/NVIDIA/proxyfs/cookbooks" 3 | json_attribs "/vagrant/src/github.com/NVIDIA/proxyfs/ci/ansible/chef_files/vagrant.attribs.json" 4 | -------------------------------------------------------------------------------- /ci/ansible/vars/vagrant.yml: -------------------------------------------------------------------------------- 1 | --- 2 | proxyfs_user: "vagrant" 3 | proxyfs_group: "vagrant" 4 | source_root: "/vagrant" 5 | REPO_CLONE_PARENT_DIR: "{{ source_root }}/src/github.com/NVIDIA" 6 | PROXYFS_SRC_DIR: "{{ REPO_CLONE_PARENT_DIR }}/proxyfs" 7 | -------------------------------------------------------------------------------- /ci/chef.cfg: -------------------------------------------------------------------------------- 1 | file_cache_path "/home/swiftstack/chef" 2 | cookbook_path "/home/swiftstack/provisioning/src/github.com/NVIDIA/proxyfs/cookbooks" 3 | json_attribs "/home/swiftstack/provisioning/src/github.com/NVIDIA/proxyfs/ci/chef.attribs.json" 4 | -------------------------------------------------------------------------------- /ickpt/ickptpkg/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package ickptpkg 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /iclient/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iclient 5 | 6 | generatedfiles := \ 7 | iclient 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /iclient/dev2.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | .include ./dev.conf 5 | 6 | [ICLIENT] 7 | MountPointDirPath: /mnt2 8 | HTTPServerPort: 15348 9 | -------------------------------------------------------------------------------- /iclient/dev3.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | .include ./dev.conf 5 | 6 | [ICLIENT] 7 | MountPointDirPath: /mnt3 8 | HTTPServerPort: 15349 9 | -------------------------------------------------------------------------------- /iswift/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iswift 5 | 6 | generatedfiles := \ 7 | iswift 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /retryrpc/perfrpc/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /iauth/iauth-swift/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/iauth/iauth-swift 5 | plugin := iauth-swift.so 6 | 7 | include ../../GoPlugInMakefile 8 | -------------------------------------------------------------------------------- /idestroy/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/idestroy 5 | 6 | generatedfiles := \ 7 | idestroy 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /ihtml/make-static-content/dummy_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | package main 5 | 6 | import ( 7 | "testing" 8 | ) 9 | 10 | func TestDummy(t *testing.T) { 11 | } 12 | -------------------------------------------------------------------------------- /version/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/version 5 | 6 | generatedfiles := \ 7 | proxyfs_version.go 8 | 9 | include ../GoMakefile 10 | -------------------------------------------------------------------------------- /ci/ansible/chef_files/runway.cfg: -------------------------------------------------------------------------------- 1 | file_cache_path "/home/swift/chef" 2 | cookbook_path "/home/swift/code/proxyfs/src/github.com/NVIDIA/proxyfs/cookbooks" 3 | json_attribs "/home/swift/code/proxyfs/src/github.com/NVIDIA/proxyfs/ci/ansible/chef_files/runway.attribs.json" 4 | -------------------------------------------------------------------------------- /ci/ansible/vars/runway.yml: -------------------------------------------------------------------------------- 1 | --- 2 | proxyfs_user: "swift" 3 | proxyfs_group: "swift" 4 | source_root: "/home/{{ proxyfs_user }}/code/proxyfs" 5 | REPO_CLONE_PARENT_DIR: "{{ source_root }}/src/github.com/NVIDIA" 6 | PROXYFS_SRC_DIR: "{{ REPO_CLONE_PARENT_DIR }}/proxyfs" 7 | -------------------------------------------------------------------------------- /cookbooks/swift/templates/default/etc/swift/object-server/settings.conf.erb: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | devices = <%= @srv_path %> 3 | bind_ip = <%= @bind_ip %> 4 | bind_port = <%= @bind_port %> 5 | log_name = object-<%= @bind_port %> 6 | recon_cache_path = <%= @recon_cache_path %> 7 | -------------------------------------------------------------------------------- /ci/ansible/vars/ci.yml: -------------------------------------------------------------------------------- 1 | --- 2 | proxyfs_user: "swiftstack" 3 | proxyfs_group: "swiftsatck" 4 | source_root: "/home/{{ proxyfs_user }}/provisioning" 5 | REPO_CLONE_PARENT_DIR: "{{ source_root }}/src/github.com/NVIDIA" 6 | PROXYFS_SRC_DIR: "{{ REPO_CLONE_PARENT_DIR }}/proxyfs" 7 | -------------------------------------------------------------------------------- /cookbooks/swift/templates/default/etc/swift/account-server/settings.conf.erb: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | devices = <%= @srv_path %> 3 | bind_ip = <%= @bind_ip %> 4 | bind_port = <%= @bind_port %> 5 | log_name = account-<%= @bind_port %> 6 | recon_cache_path = <%= @recon_cache_path %> 7 | -------------------------------------------------------------------------------- /cookbooks/swift/templates/default/etc/swift/container-server/settings.conf.erb: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | devices = <%= @srv_path %> 3 | bind_ip = <%= @bind_ip %> 4 | bind_port = <%= @bind_port %> 5 | log_name = container-<%= @bind_port %> 6 | recon_cache_path = <%= @recon_cache_path %> 7 | -------------------------------------------------------------------------------- /ci/ansible/chef_files/ci.cfg: -------------------------------------------------------------------------------- 1 | file_cache_path "/home/swiftstack/chef" 2 | cookbook_path "/home/swiftstack/provisioning/src/github.com/NVIDIA/proxyfs/cookbooks" 3 | json_attribs "/home/swiftstack/provisioning/src/github.com/NVIDIA/proxyfs/ci/ansible/chef_files/ci.attribs.json" 4 | -------------------------------------------------------------------------------- /ci/ansible/tasks/templates/usr/bin/reprovision_proxyfs.template: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | /usr/bin/unmount_and_stop_pfs 5 | cd $GOPATH/src/github.com/NVIDIA/proxyfs 6 | ci/ansible/install_proxyfs.sh {{ env_arg }} {{ active_golang_version }} 7 | /usr/bin/start_and_mount_pfs "$@" 8 | -------------------------------------------------------------------------------- /ihtml/make-static-content/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | gosubdir := github.com/NVIDIA/proxyfs/ihtml/make-static-content 5 | 6 | generatedfiles := \ 7 | make-static-content 8 | 9 | include ../../GoMakefile 10 | -------------------------------------------------------------------------------- /bin/resetswift: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | /vagrant/bin/cleanswift 7 | cd /tmp/vagrant-chef*/ && sudo chef-solo -c solo.rb -j dna.json -o swift::data 8 | sudo service rsyslog restart 9 | sudo service memcached restart 10 | -------------------------------------------------------------------------------- /ci/ansible/tasks/files/usr/bin/resetswift: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | /usr/bin/unmount_and_stop_pfs 5 | echo "Resetting Swift drives..." 6 | rm -rf /srv/?/node/d?/* 7 | echo "Resetting Swift logs..." 8 | sudo find /var/log/swift -type f -exec truncate {} --size 0 \; 9 | /usr/bin/start_and_mount_pfs "$@" 10 | -------------------------------------------------------------------------------- /bin/remakerings: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | rm -f /etc/swift/*.builder /etc/swift/*.ring.gz \ 7 | /etc/swift/backups/*.builder /etc/swift/backups/*.ring.gz 8 | 9 | cd /tmp/vagrant-chef*/ && sudo chef-solo -c solo.rb -j dna.json -o swift::rings 10 | -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/localtoc.html: -------------------------------------------------------------------------------- 1 | {%- if theme_sidebar_mode == 'toctree' and theme_display_toc and display_toc %} 2 |
8 | {%- endif %} 9 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/object-expirer.conf.d/20_settings.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | 3 | [object-expirer] 4 | 5 | [pipeline:main] 6 | pipeline = catch_errors cache proxy-server 7 | 8 | [app:proxy-server] 9 | use = egg:swift#proxy 10 | 11 | [filter:cache] 12 | use = egg:swift#memcache 13 | 14 | [filter:catch_errors] 15 | use = egg:swift#catch_errors 16 | -------------------------------------------------------------------------------- /iswift/iswift.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | [ISWIFT] 5 | SwiftProxyIPAddr: 127.0.0.1 6 | SwiftProxyTCPPort: 8080 7 | 8 | MaxAccountNameLength: 256 9 | MaxContainerNameLength: 256 10 | MaxObjectNameLength: 1024 11 | AccountListingLimit: 10000 12 | ContainerListingLimit: 10000 13 | -------------------------------------------------------------------------------- /bin/reinstallswift: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | set -e 7 | cd /tmp/vagrant-chef*/ 8 | sed 's/"full_reprovision": false/"full_reprovision": true/g' dna.json > reload.json 9 | sudo chef-solo -c solo.rb -j reload.json -o swift::source 10 | swift-init restart main 11 | echo "READY!" 12 | -------------------------------------------------------------------------------- /cookbooks/proxyfs/files/default/etc/yum.repos.d/swiftstack-controller.repo: -------------------------------------------------------------------------------- 1 | [swiftstack-controller] 2 | name=swiftstack-controller 3 | baseurl=https://demo.swiftstack.com:443/yum_repos/el7 4 | enabled=1 5 | metadata_expire=7d 6 | gpgcheck=1 7 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-swiftstack-controller 8 | exclude=ss-swift ss-python-gateway ss-python-fusepy ss-python-cloudfiles 9 | -------------------------------------------------------------------------------- /cookbooks/proxyfs/templates/default/root/.gdbinit.erb: -------------------------------------------------------------------------------- 1 | # Don't auto-load .gdbinit if its found in the current directory 2 | # (probably not a good idea; definitely not good if we're root). 3 | # 4 | set auto-load local-gdbinit off 5 | 6 | # Use the same .gdbinit as user swift (who is probably doing 7 | # "sudo gdb -p ...". 8 | # 9 | source /home/<%= @proxyfs_user %>/.gdbinit 10 | -------------------------------------------------------------------------------- /ci/ansible/tasks/files/etc/systemd/system/etcd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=etcd 3 | Documentation=https://github.com/coreos/etcd 4 | Conflicts=etcd2.service 5 | 6 | [Service] 7 | Restart=always 8 | RestartSec=5s 9 | LimitNOFILE=40000 10 | TimeoutStartSec=0 11 | 12 | ExecStart=/usr/local/bin/etcd --config-file /etc/etcd/etcd.conf 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /ickpt/dev.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | [ICKPT] 5 | IPAddr: dev 6 | Port: 33123 7 | CertFilePath: 8 | KeyFilePath: 9 | CACertFilePath: 10 | DataBasePath: /tmp/ickptDB 11 | SwiftTimeout: 10m 12 | SwiftConnectionPoolSize: 128 13 | TransactionTimeout: 10s 14 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/proxy-server/proxy-noauth.conf.d/20_settings.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | bind_ip = 127.0.0.1 3 | bind_port = 8090 4 | 5 | [pipeline:main] 6 | pipeline = catch_errors healthcheck proxy-logging cache list-endpoints bulk tempurl slo dlo proxy-logging proxy-server 7 | 8 | [filter:list-endpoints] 9 | use = egg:swift#list_endpoints 10 | default_response_version = v2 11 | -------------------------------------------------------------------------------- /ci/ansible/chef_files/packages/debian.json: -------------------------------------------------------------------------------- 1 | { 2 | "proxyfs_packages": [ 3 | ["libjson-c-dev"], 4 | ["fuse"] 5 | ], 6 | "wireshark_packages": [ 7 | ["wireshark"], 8 | ["libcap2-bin"] 9 | ], 10 | "ssh_packages": [ 11 | ["sshpass"] 12 | ], 13 | "gdb_packages": [ 14 | ["gdb"] 15 | ], 16 | "utils_packages": [ 17 | ["atop"], 18 | ["vim-common"] 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /ci/ansible/chef_files/packages/rhel.json: -------------------------------------------------------------------------------- 1 | { 2 | "proxyfs_packages": [ 3 | ["json-c-devel"], 4 | ["fuse"] 5 | ], 6 | "wireshark_packages": [ 7 | ["wireshark"], 8 | ["libcap"] 9 | ], 10 | "ssh_packages": [ 11 | ["sshpass"] 12 | ], 13 | "gdb_packages": [ 14 | ["gdb"], 15 | ["yum-utils"] 16 | ], 17 | "utils_packages": [ 18 | ["atop"], 19 | ["vim-common"] 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /bin/vmspace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | # Output: 7 | # VmSize (kB) sum for all smbd and proxyfsd processes on this node 8 | 9 | vmsize=$(pidof proxyfsd smbd | xargs -n 1 | awk '{print "/proc/"$1"/status"}' | xargs -n 1 grep VmSize | awk '{print $2}' | awk '{sum +=1 $1} END {print sum}') 10 | 11 | echo "smbd/proxyfsd-VmSize(KB) $vmsize" 12 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/account-server/default.conf-template: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | mount_check = false 3 | disable_fallocate = true 4 | workers = 1 5 | 6 | [pipeline:main] 7 | pipeline = recon account-server 8 | 9 | [app:account-server] 10 | use = egg:swift#account 11 | 12 | [filter:recon] 13 | use = egg:swift#recon 14 | 15 | [account-replicator] 16 | # vm_test_mode = yes 17 | 18 | [account-auditor] 19 | 20 | [account-reaper] 21 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/container-reconciler.conf.d/20_settings.conf: -------------------------------------------------------------------------------- 1 | [container-reconciler] 2 | 3 | [pipeline:main] 4 | pipeline = catch_errors proxy-logging cache proxy-server 5 | 6 | [app:proxy-server] 7 | use = egg:swift#proxy 8 | 9 | [filter:cache] 10 | use = egg:swift#memcache 11 | 12 | [filter:proxy-logging] 13 | use = egg:swift#proxy_logging 14 | 15 | [filter:catch_errors] 16 | use = egg:swift#catch_errors 17 | 18 | -------------------------------------------------------------------------------- /ihtml/.gitignore: -------------------------------------------------------------------------------- 1 | bootstrap_dot_min_dot_css_.go 2 | bootstrap_dot_min_dot_js_.go 3 | jquery_dot_min_dot_js_.go 4 | jquery_underline_3_dot_2_dot_1_dot_min_dot_js_.go 5 | jsontree_dot_js_.go 6 | open_iconic_bootstrap_dot_css_.go 7 | open_iconic_dot_eot_.go 8 | open_iconic_dot_otf_.go 9 | open_iconic_dot_svg_.go 10 | open_iconic_dot_ttf_.go 11 | open_iconic_dot_woff_.go 12 | popper_dot_min_dot_js_.go 13 | styles_dot_css_.go 14 | utils_dot_js_.go 15 | -------------------------------------------------------------------------------- /bin/cleanswift: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | swift-init all stop 7 | find /var/log/swift -type f -delete 8 | find /var/cache/swift* -type f -name *.recon -delete 9 | sudo umount /mnt/swift-disk 10 | sudo rm -r /srv/node* 11 | sudo rm -f /var/lib/swift/disk 12 | sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog 13 | sudo service rsyslog restart 14 | -------------------------------------------------------------------------------- /bin/rebuildswift: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | /vagrant/bin/cleanswift 7 | rm -fr /etc/swift/* 8 | rm -f /etc/swift/*.builder /etc/swift/*.ring.gz \ 9 | /etc/swift/backups/*.builder /etc/swift/backups/*.ring.gz 10 | cd /tmp/vagrant-chef*/ 11 | sed 's/"full_reprovision": false/"full_reprovision": true/g' dna.json > reload.json 12 | sudo chef-solo -c solo.rb -j reload.json 13 | -------------------------------------------------------------------------------- /cookbooks/meta_middleware/recipes/default.rb: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | execute "Check setuptools is installed" do 5 | command "pip install setuptools" 6 | end 7 | 8 | # install middleware in development mode 9 | execute 'meta_middleware - setup.py develop' do 10 | command "python setup.py develop" 11 | cwd "#{node['source_root']}/src/github.com/NVIDIA/proxyfs/meta_middleware" 12 | end 13 | -------------------------------------------------------------------------------- /docs/source/architecture/uml/README: -------------------------------------------------------------------------------- 1 | The `uml` directory contains .uml files that are used as input to 2 | PlantUML (http://plantuml.com). PlantUML produces .png files which 3 | can then be displayed. The .png files illustrate the architecture 4 | of certain operations such as a bimodal PUT operation. 5 | 6 | Then do something like: 7 | 8 | # java -jar plantuml.jar read.uml 9 | 10 | This will produce a correspondingly named .png file you can display. 11 | 12 | -------------------------------------------------------------------------------- /ickpt/ickpt.conf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2022, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | [ICKPT] 5 | IPAddr: ickpt 6 | Port: 33123 7 | CertFilePath: ickpt_cert.pem 8 | KeyFilePath: ickpt_key.pem 9 | CACertFilePath: ca_cert.pem 10 | DataBasePath: /tmp/ickptDB 11 | SwiftTimeout: 10m 12 | SwiftConnectionPoolSize: 128 13 | TransactionTimeout: 10s 14 | -------------------------------------------------------------------------------- /ci/ansible/tasks/files/etc/etcd/etcd.conf: -------------------------------------------------------------------------------- 1 | name: runway 2 | data-dir: /var/lib/etcd 3 | wal-dir: /var/etcd/wal 4 | 5 | initial-advertise-peer-urls: http://localhost:2380 6 | listen-peer-urls: http://localhost:2380 7 | listen-client-urls: http://localhost:2379 8 | advertise-client-urls: http://localhost:2379 9 | 10 | initial-cluster: runway=http://localhost:2380 11 | initial-cluster-token: etcd-cluster-1 12 | initial-cluster-state: new 13 | 14 | election-timeout: 10000 15 | -------------------------------------------------------------------------------- /cookbooks/proxyfs_swift/files/default/etc/swift/proxy-server/proxy-noauth.conf.d/20_settings.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | bind_ip = 127.0.0.1 3 | bind_port = 8090 4 | log_facility = LOG_LOCAL1 5 | log_name = noauth-proxy-server 6 | 7 | [pipeline:main] 8 | pipeline = catch_errors healthcheck proxy-logging cache list-endpoints bulk tempurl slo dlo proxy-logging proxy-server 9 | 10 | [filter:list-endpoints] 11 | use = egg:swift#list_endpoints 12 | default_response_version = v2 13 | -------------------------------------------------------------------------------- /cookbooks/pfs_middleware/recipes/default.rb: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | execute "Check setuptools & tox is installed" do 5 | command "pip install setuptools tox==3.5.3" 6 | end 7 | 8 | # install middleware in development mode 9 | execute 'pfs_middleware - setup.py develop' do 10 | command "python setup.py develop" 11 | cwd "#{node['source_root']}/src/github.com/NVIDIA/proxyfs/pfs_middleware" 12 | end 13 | -------------------------------------------------------------------------------- /cookbooks/proxyfs/files/default/usr/lib/systemd/system/nmb.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Samba NMB Daemon 3 | After=syslog.target network.target 4 | 5 | [Service] 6 | Environment=KRB5CCNAME=FILE:/run/samba/krb5cc_samba 7 | Type=notify 8 | NotifyAccess=all 9 | PIDFile=/run/nmbd.pid 10 | EnvironmentFile=-/opt/ss/etc/sysconfig/samba 11 | ExecStart=/opt/ss/sbin/nmbd $NMBDOPTIONS 12 | ExecReload=/usr/bin/kill -HUP $MAINPID 13 | LimitCORE=infinity 14 | 15 | [Install] 16 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /docs/source/theme/swiftopensource/license_cc.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 | Except where otherwise noted, this document is licensed under 6 | Creative Commons 7 | Attribution 3.0 License. See all 8 | OpenStack Legal Documents. 9 |
10 | -------------------------------------------------------------------------------- /test/container/launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | set -e 7 | set -x 8 | 9 | # Build ProxyFS and run tests 10 | cd $GOPATH/src/github.com/NVIDIA/proxyfs 11 | make ci 12 | # $COVERALLS_TOKEN must be configured in the CI/CD environment 13 | if [ -n "$COVERALLS_TOKEN" ] && [ -n "$GIT_BRANCH" ]; then 14 | goveralls -coverprofile coverage.coverprofile -service travis-ci -repotoken $COVERALLS_TOKEN || true 15 | fi 16 | -------------------------------------------------------------------------------- /cookbooks/swift/files/default/etc/swift/container-server/default.conf-template: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | mount_check = false 3 | disable_fallocate = true 4 | workers = 1 5 | 6 | [pipeline:main] 7 | pipeline = recon container-server 8 | 9 | [app:container-server] 10 | use = egg:swift#container 11 | allow_versions = true 12 | 13 | [filter:recon] 14 | use = egg:swift#recon 15 | 16 | [container-replicator] 17 | # vm_test_mode = yes 18 | 19 | [container-updater] 20 | 21 | [container-auditor] 22 | 23 | [container-sync] 24 | -------------------------------------------------------------------------------- /cookbooks/proxyfs/files/default/usr/lib/systemd/system/smb.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Samba SMB Daemon 3 | After=syslog.target network.target nmb.service 4 | 5 | [Service] 6 | Environment=KRB5CCNAME=FILE:/run/samba/krb5cc_samba 7 | Type=notify 8 | NotifyAccess=all 9 | PIDFile=/run/smbd.pid 10 | LimitNOFILE=16384 11 | EnvironmentFile=-/opt/ss/etc/sysconfig/samba 12 | ExecStart=/opt/ss/sbin/smbd $SMBDOPTIONS 13 | ExecReload=/usr/bin/kill -HUP $MAINPID 14 | LimitCORE=infinity 15 | 16 | [Install] 17 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /cookbooks/proxyfs/files/default/usr/bin/detect_s3: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2015-2021, NVIDIA CORPORATION. 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | #set -e 7 | #set -x 8 | 9 | PROXYSERVERCONF=/etc/swift/proxy-server.conf 10 | 11 | grep "s3api tempauth" $PROXYSERVERCONF > /dev/null 2>&1 12 | if [ $? -eq 0 ]; then 13 | echo "s3api" 14 | exit 0 15 | fi 16 | 17 | grep "swift3 tempauth" $PROXYSERVERCONF > /dev/null 2>&1 18 | if [ $? -eq 0 ]; then 19 | echo "swift3" 20 | exit 0 21 | fi 22 | 23 | exit 1 24 | -------------------------------------------------------------------------------- /DEBUG.md: -------------------------------------------------------------------------------- 1 | # Debugging proxyfsd 2 | 3 | ## Logging 4 | Logs from proxyfsd are output to `proxyfsd.log`. 5 | 6 | ## Kill with trace data 7 | Find the daemon's pid: `ps -eaf | grep proxyfsd` 8 | 9 | Kill the process and get golang stack traces: `kill -ABRT19 | {% trans %}Please activate JavaScript to enable the search 20 | functionality.{% endtrans %} 21 |
22 |24 | {% trans %}To search the documentation for {{ project }}, type your query into the 25 | box below and press Enter.{% endtrans %} 26 |
27 |