Closed cariaso closed 8 years ago
Thanks for contributing!
Thanks for keeping an awesome project alive and growing.
@cariaso Thanks for writing the plugin. I had to make a couple of changes to get the plugin to work. Please see the comments in the code for the pull request.
@vasisht Thanks for the review. I just fixed vanilla_improvements.
@FinchPowers I've created a new pull request 52 with some more minor fixes that help in a "vanilla" enviroment.
https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-cmd-general.html suggests the mount should probably be changed to
cmd = 'mount -t nfs4 -ominorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 %s:/ %s' % (efs_dns,
self.mount_point)
and that there should probably be an optional extra param, so that you can chose to replace it with sync and other options as well.
I've been thinking about how best to set it up within the plugin structure. Maybe we can pass all these additional options as a dict to the EFSplugin. The current plugin architecture doesn't seem to allow for **kwargs style arguments. Any suggestions?
On Tue, Aug 30, 2016 at 2:10 AM, cariaso notifications@github.com wrote:
https://docs.aws.amazon.com/efs/latest/ug/mounting-fs- mount-cmd-general.html suggests the mount should probably be changed to
cmd = 'mount -t nfs4 -ominorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 %s:/ %s' % (efs_dns, self.mount_point)
and that there should probably be an optional extra param, so that you can chose to replace it with sync and other options as well.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/datacratic/StarCluster/pull/51#issuecomment-243342384, or mute the thread https://github.com/notifications/unsubscribe-auth/ABq0Ys-gmXYl-_JPYy_U4vFBqNqg1h2Qks5qk8k5gaJpZM4JOLIx .
Pour trouver les limites du possible il faut tenter l'impossible.
This is what I had in mind
[plugin efs]
SETUP_CLASS = efs.EFSPlugin
mount_point = /mnt/myefs
fs_id = fs-1234abcd
gets a well chosen default
or
[plugin efs]
SETUP_CLASS = efs.EFSPlugin
mount_point = /mnt/myefs
mount_options = minorversion=2,rsize=12345678,wsize=1234,hard,timeo=123,retrans=4
fs_id = fs-1234abcd
gets whatever it explicitly requests.
And code like this does the job
if mount_options is None:
mount_options = 'minorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2'
cmd = 'mount -t nfs4 -o%s %s:/ %s' % (mount_options, efs_dns, self.mount_point)
but would probably be stored in a self.mount_options
I think your approach is more straightforward to parse a string as options rather than use a dict and leave it to the user to get the options right.
On Wed, Sep 14, 2016 at 12:09 PM, cariaso notifications@github.com wrote:
This is what I had in mind
[plugin efs] SETUP_CLASS = efs.EFSPlugin mount_point = /mnt/myefs fs_id = fs-1234abcd
or
[plugin efs] SETUP_CLASS = efs.EFSPlugin mount_point = /mnt/myefs mount_options = minorversion=2,rsize=12345678,wsize=1234,hard,timeo=123,retrans=4 fs_id = fs-1234abcd
if mount_options is None: mount_options = 'minorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2'
cmd = 'mount -t nfs4 -o%s %s:/ %s' % (mount_options, efs_dns, self.mount_point)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/datacratic/StarCluster/pull/51#issuecomment-247065873, or mute the thread https://github.com/notifications/unsubscribe-auth/ABq0YmK-_A3ILxez8gJgFV5xQvHNYE9Bks5qqBxPgaJpZM4JOLIx .
Pour trouver les limites du possible il faut tenter l'impossible.
I submitted a pull request https://github.com/datacratic/StarCluster/pull/60 with the mount_options as an additional option. I've tested it out in my enviroment and it does seem to have better I/O performance.
On Wed, Sep 14, 2016 at 1:18 PM, Vasisht Tadigotla vasishtreddy@gmail.com wrote:
I think your approach is more straightforward to parse a string as options rather than use a dict and leave it to the user to get the options right.
On Wed, Sep 14, 2016 at 12:09 PM, cariaso notifications@github.com wrote:
This is what I had in mind
[plugin efs] SETUP_CLASS = efs.EFSPlugin mount_point = /mnt/myefs fs_id = fs-1234abcd
or
[plugin efs] SETUP_CLASS = efs.EFSPlugin mount_point = /mnt/myefs mount_options = minorversion=2,rsize=12345678,wsize=1234,hard,timeo=123,retrans=4 fs_id = fs-1234abcd
if mount_options is None: mount_options = 'minorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2'
cmd = 'mount -t nfs4 -o%s %s:/ %s' % (mount_options, efs_dns, self.mount_point)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/datacratic/StarCluster/pull/51#issuecomment-247065873, or mute the thread https://github.com/notifications/unsubscribe-auth/ABq0YmK-_A3ILxez8gJgFV5xQvHNYE9Bks5qqBxPgaJpZM4JOLIx .
Pour trouver les limites du possible il faut tenter l'impossible.
Pour trouver les limites du possible il faut tenter l'impossible.
updated plugin is working well for me. Doesn't create the efs from scratch, but will allow you to associate an existing efs with your starcluster. Performance is considerably improved from standard nfs, and the master no longer works hard serving nfs and can instead do regular work.