github.com/swiftstack/ProxyFS@v0.0.0-20210203235616-4017c267d62f/docs/source/architecture/uml/bimodal-put-newcontainer.uml (about) 1 @startuml 2 3 title Bimodal PUT API - New Container Case 4 5 autonumber 6 7 box "Swift WSGI" 8 participant WSGI 9 participant RPCclient 10 end box 11 box "ProxyFS" 12 participant PFSrpcsvr 13 participant PFSfs 14 participant PFSinode 15 end box 16 participant SwiftBE 17 18 ->WSGI: <URI>?Put 19 20 WSGI -> WSGI:Virtual account 21 22 WSGI -> RPCclient:<B><I>proxyfs_new_container(authUser,\n<B><I>vAccount, vNewContainer)</I></B> 23 24 RPCclient -> PFSrpcsvr:<B><I>RpcCreateContainer(authUser,\n<B><I>vAccount, vNewContainer)</I></B> 25 26 PFSrpcsvr -> PFSrpcsvr:Extract vAccount 27 28 PFSrpcsvr -> PFSrpcsvr:Get mapping of vAccount to volumeName 29 30 PFSrpcsvr -> PFSfs:If volume is not mounted for this user,\n<B><I>fs.Mount(volumeName, mountOptions, authUser)</I></B> 31 32 PFSfs -> PFSrpcsvr:Return mountId, rootInodeNumber, err 33 34 PFSrpcsvr -> PFSfs:<B><I>fs.Mkdir(mountId, rootInodeNumber, basename is vNewContainer)</I></B> 35 PFSfs -> PFSrpcsvr:Return newDirInodeNumber, err 36 37 PFSrpcsvr -> RPCclient:Return status 38 39 RPCclient -> WSGI:Return status 40 41 @enduml