"""This profile demonstrates how to add some extra *remote* disk space on your node. This is sometimes useful if you need more disk space then is available locally. This type of disk space is **temporary**; the data is deleted when your experiment is terminated. The space is located on a remote ISCSI disk and will of course not be as fast as local disk space, but for many applications is adequate. Instructions: Log into your node, your **temporary** file system in mounted at `/mydata`. Be sure to measure the disk read/write times if your experimental results are depending on specific performance. """ # Import the Portal object. import geni.portal as portal # Import the ProtoGENI library. import geni.rspec.pg as pg # Import the emulab extensions library. import geni.rspec.emulab # Create a portal context. pc = portal.Context() # Create a Request object to start building the RSpec. request = pc.makeRequestRSpec() # Add a node to the request. node = request.RawPC("node") # We need a link to talk to the remote file system, so make an interface. iface = node.addInterface() # The remote file system is represented by special node. fsnode = request.RemoteBlockstore("fsnode", "/mydata") # Set the size you would like. fsnode.size = "30GB" # Now we add the link between the node and the special node fslink = request.Link("fslink") fslink.addInterface(iface) fslink.addInterface(fsnode.interface) # Special attributes for this link that we must use. fslink.best_effort = True fslink.vlan_tagging = True # Print the RSpec to the enclosing page. pc.printRequestRSpec(request)