summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2019-01-04 11:20:31 +0000
committerPaul Bütow <pbuetow@mimecast.com>2020-01-22 20:17:04 +0000
commitef0797de245a61e0f92788bc8ff14f84ca82d45e (patch)
tree13f912c31540ae0b43258801d271de8830b08a3b
parent3205485b522083df47c1ebe6b301576fe12882f1 (diff)
Release of I/O Riot 0.5.10.5.1
-rw-r--r--.gitignore4
-rw-r--r--CODE_OF_CONDUCT.md81
-rw-r--r--CONTRIBUTING.md79
-rw-r--r--Makefile11
-rw-r--r--README.md24
-rw-r--r--doc/doxygen.conf (renamed from docs/doxygen.conf)2
-rw-r--r--doc/ioriot.pngbin0 -> 27656 bytes
-rw-r--r--doc/ioriot_small.pngbin0 -> 12508 bytes
-rw-r--r--doc/markdown/installation.md (renamed from docs/markdown/installation.md)0
-rw-r--r--doc/markdown/usage.md (renamed from docs/markdown/usage.md)0
-rw-r--r--ioriot/src/defaults.h4
11 files changed, 194 insertions, 11 deletions
diff --git a/.gitignore b/.gitignore
index 1646026..0463e6b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
*.ko
*.o
-docs/html/
-docs/latex/
+doc/html/
+doc/latex/
ioriot/ioriot
ioriot/tags
systemtap/downloads/
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..fa046e4
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,81 @@
+Code of Conduct
+===============
+
+Our Pledge
+----------
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+nationality, personal appearance, race, religion, or sexual identity and
+orientation.
+
+
+Our Standards
+-------------
+Examples of behaviour that contributes to creating a positive environment
+include:
+
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
+
+Examples of unacceptable behaviour by participants include:
+
+- The use of sexualized language or imagery and unwelcome sexual attention or
+advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+
+Our Responsibilities
+--------------------
+Project maintainers are responsible for clarifying the standards of acceptable
+behaviour and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behaviour.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviours that they deem inappropriate,
+threatening, offensive, or harmful.
+
+
+Scope
+-----
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+
+Enforcement
+-----------
+Instances of abusive, harassing, or otherwise unacceptable behaviour may be
+reported by contacting the project team on our [mailing list][mailinglist].
+All complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+
+Attribution
+-----------
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
+[mailinglist]: mailto:opensource@mimecast.com
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..fa78660
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,79 @@
+Contributing
+============
+Contributions of any kind (bug fixes, new features...) are welcome!
+This is a development tool and as such it may not be perfect and may be lacking in some areas.
+
+Certain future functionalities are marked with TODO comments throughout the code.
+This however does not mean they will be given priority or ever be done.
+
+
+Reporting bugs
+--------------
+- Ensure the bug was not already reported by searching on GitHub under
+[Issues][githubissues].
+
+- If you're unable to find an open issue addressing the problem,
+[open a new one][githubnewissue]. Be sure to include a **title and clear description**,
+as much relevant information as possible, and a **code sample** or an **executable test case**
+demonstrating the expected behaviour that is not occurring.
+
+
+Writing a patch
+---------------
+- Open a new GitHub pull request with the patch.
+
+- Ensure the PR description clearly describes the problem and solution.
+Include the relevant issue number if applicable.
+
+- Before submitting a merge request please run a comprehensive code quality analysis
+
+- When you feel that a certain code quality rule is not applicable, make sure to limit your
+warning suppression is as strict as possible to not supress other rules that should apply.
+
+- Please ensure your merge request aligns to existing coding style and naming conventions for consistency.
+
+
+Cosmetic changes
+----------------
+- Changes that are cosmetic in nature and do not add anything substantial to the stability,
+functionality, or testability will generally not be accepted.
+
+
+New features
+------------
+
+- Suggest your change(s) to our [mailing list][mailinglist] before writing code.
+This will allow us to ensure we do not have a race condition with other contributors.
+
+- Do not open an issue on GitHub until you have collected positive feedback about the change.
+GitHub issues are primarily intended for bug reports and fixes.
+
+
+Questions
+---------
+
+- Email any question to our [mailing list][mailinglist].
+We will endeavour to answer, but please excuse us if we don't.
+The support for this project is dependent on the availability of spare time for our staff.
+
+
+Documentation
+-------------
+
+- I/O Riot's code is documented to a large extent and additional usage documentation is provided
+in this project's [doc/](doc/) directory.
+
+- If you feel that certain areas are lacking and wish to contribute please follow the
+**writing a patch** instructions.
+
+
+Thank you
+---------
+
+Thank you for showing interest in I/O Riot!
+
+Mimecast Team
+
+[githubissues]: https://github.com/mimecast/ioriot/issues
+[githubnewissue]: https://github.com/mimecast/ioriot/issues/new
+[mailinglist]: mailto:opensource@mimecast.com
diff --git a/Makefile b/Makefile
index 8775b78..9ffb536 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ astyle:
loc:
wc -l ./systemtap/src/*.stp ./ioriot/src/*.{h,c} ./ioriot/src/*/*.{h,c} | tail -n 1
doxygen:
- doxygen ./docs/doxygen.conf
+ doxygen ./doc/doxygen.conf
test:
$(MAKE) -C ioriot test
dockerbuild:
@@ -31,4 +31,11 @@ dockerbuild:
docker run -v $(PWD)/docker/opt:/opt -e 'KERNEL=$(KERNEL)' -it ioriot:$(KERNEL) make all test install
dockerclean:
bash -c 'test -d $(PWD)/docker && rm -Rfv $(PWD)/docker; exit 0'
-jenkins: dockerbuild
+jenkins:
+ bash -c 'test ! -d $(PWD)/docker/opt/ && mkdir -p $(PWD)/docker/opt/; exit 0'
+ bash -c 'test -f /etc/fedora-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
+ bash -c 'test -f /etc/centos-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
+ bash -c 'test -f /etc/redhat-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
+ sed s/KERNEL/$(KERNEL)/ Dockerfile.in > Dockerfile
+ docker build . -t ioriot:latest
+ docker run -v $(PWD)/docker/opt:/opt -e 'KERNEL=$(KERNEL)' -it ioriot:latest make all test install
diff --git a/README.md b/README.md
index d39ed58..e164685 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,9 @@
## Overview
-I/O Riot is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
+<img src=doc/ioriot_small.png align=right />
+
+...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
I/O Riot is operated in 5 steps:
@@ -49,11 +51,11 @@ Future work will also include file hole support and I/O support for memory mappe
# How to install I/O Riot
-I/O Riot depends on SystemTap and a compatible version of the Linux Kernel. To get started have a read through the [installation guide](docs/markdown/installation.md).
+I/O Riot depends on SystemTap and a compatible version of the Linux Kernel. To get started have a read through the [installation guide](doc/markdown/installation.md).
# How to use I/O Riot
-Check out the [I/O Riot usage guide](docs/markdown/usage.md) for a full usage workflow demonstration.
+Check out the [I/O Riot usage guide](doc/markdown/usage.md) for a full usage workflow demonstration.
# Appendix
@@ -122,4 +124,18 @@ exit_group - To detect process termination (closing all open file handles)
## Source code documentation
-The documentation of the source code can be generated via the Doxygen Framework. To install doxygen run ``sudo yum install doxygen`` and to generate the documentation run ``make doxygen`` in the top level source directory. Once done, the resulting documentation can be found in the ``docs/html`` subfolder of the project. It is worthwhile to start from ``ioriot/src/main.c`` and read your way through. Functions are generally documented in the header files. Exceptions are static functions which don't have any separate declarations.
+The documentation of the source code can be generated via the Doxygen Framework. To install doxygen run ``sudo yum install doxygen`` and to generate the documentation run ``make doxygen`` in the top level source directory. Once done, the resulting documentation can be found in the ``doc/html`` subfolder of the project. It is worthwhile to start from ``ioriot/src/main.c`` and read your way through. Functions are generally documented in the header files. Exceptions are static functions which don't have any separate declarations.
+
+More
+====
+
+* [How to contribute](CONTRIBUTING.md)
+* [Code of conduct](CODE_OF_CONDUCT.md)
+* [License](LICENSE)
+
+Credits
+=======
+
+* I/O Riot was created by **Paul Buetow** *<pbuetow@mimecast.com>*
+
+* Thank you to **Vlad-Marian Marian** for creating the I/O Riot logo.
diff --git a/docs/doxygen.conf b/doc/doxygen.conf
index 0485dab..518809b 100644
--- a/docs/doxygen.conf
+++ b/doc/doxygen.conf
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
-OUTPUT_DIRECTORY = ./docs
+OUTPUT_DIRECTORY = ./doc
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
diff --git a/doc/ioriot.png b/doc/ioriot.png
new file mode 100644
index 0000000..41c7bd6
--- /dev/null
+++ b/doc/ioriot.png
Binary files differ
diff --git a/doc/ioriot_small.png b/doc/ioriot_small.png
new file mode 100644
index 0000000..818b14f
--- /dev/null
+++ b/doc/ioriot_small.png
Binary files differ
diff --git a/docs/markdown/installation.md b/doc/markdown/installation.md
index d38f8d0..d38f8d0 100644
--- a/docs/markdown/installation.md
+++ b/doc/markdown/installation.md
diff --git a/docs/markdown/usage.md b/doc/markdown/usage.md
index 17e1131..17e1131 100644
--- a/docs/markdown/usage.md
+++ b/doc/markdown/usage.md
diff --git a/ioriot/src/defaults.h b/ioriot/src/defaults.h
index 9e5e125..b79e026 100644
--- a/ioriot/src/defaults.h
+++ b/ioriot/src/defaults.h
@@ -28,9 +28,9 @@
/** Controls how many tasks can be queued and buffered per worker thread */
#define TASK_BUFFER_PER_THREAD 512
/** Version of I/O Riot */
-#define IORIOT_VERSION "0.5"
+#define IORIOT_VERSION "0.5.1"
/** Copyright information */
-#define IORIOT_COPYRIGHT "(c) Mimecast 2018"
+#define IORIOT_COPYRIGHT "(c) Mimecast 2018, 2020"
/** Max open files resource user limit */
#define SET_RLIMIT_NOFILE 369216
/** Max processes resource user limit */