Skip to content

Conversation

@bengland2
Copy link
Contributor

@bengland2 bengland2 commented Sep 15, 2016

This PR addresses issue #381 . The first commit adds a --cache-drop-script option to pbench-fio. I made a decision not to try to pass a cache dropping command in its entirety in this option because of the potential for syntax mayhem in parsing quoted strings within quoted strings, etc. Instead the user just passes the pathname of an executable script file, which is responsible for knowing which hosts to drop cache on and how to do that. ok?

The 2nd commit is an example of a cache dropping script for a Ceph (ceph-ansible-based) cluster. It uses ansible to fire cache dropping command on all OSD hosts. It is there for documentation purposes but does not have to be put in the RPM. It has been tested.

@portante portante added this to the V0.40 milestone Sep 15, 2016
@ndokos
Copy link
Member

ndokos commented Sep 15, 2016

We had a short discussion: the script is completely arbitrary, so the name of the option is a misnomer: maybe --per-iteration-callout-script? It can certainly be used for cache-dropping purposes, but it's not limited to that.

@bengland2
Copy link
Contributor Author

@ndokos is --pre-iteration-script ok (little shorter)? Also, @portante where is the documentation that needs to be updated? @atheurer any objections?

@ndokos
Copy link
Member

ndokos commented Sep 15, 2016

Shorter name is fine with me. Should it be --pre-iteration-script or --per-iteration-script? The former might imply that there is a --post-iteration-script as well: do we want to go there?

Also, changing the doc currently involves some voodoo. If you give me a block of text, I'll splice it in.

@atheurer
Copy link
Contributor

I am fine with --pre-iteration-script. So this will run on only the system calling pbench-fio? Did you want to have code in pbench-fio to accept a list of host names, and it do the ssh part? For example, you could have --pre-iteration-hosts, and use the same host list as your clients (only if you wanted to have the clients drop cache or something else), or a list of ceph servers.

@bengland2
Copy link
Contributor Author

The above implementation just runs the specified script on the local system. The example script uses ansible to drop cache on all Ceph servers in parallel. But for something like an NFS server with only one host targeted, a simple ssh command in the script would be enough. Changing to --pre-iteration-script now.

@ndokos ndokos merged commit cb69700 into distributed-system-analysis:master Sep 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants