Awesome
Mongoose Bundle
The repo contains the automation scripts to build/test/deploy the Mongoose backward compatibility bundle. Previously the repo contained the Mongoose sources for the basic functionality and some commonly used extensions. Currently it was split into the independent repos and the corresponding components. Each component has its own documentation, CI versioning. For the mongoose documentation refer this link.
Bundle Contents
The components listed below are included in this backward compatibility bundle.
Repo | Description | Latest Release | Integration Status | Issue Tracker Link |
---|---|---|---|---|
mongoose-base | Mongoose storage performance testing tool - base functionality | BASE | ||
mongoose-load-step-pipeline | Load operations pipeline (create,delay,read-then-update, for example), extension | BASE | ||
mongoose-load-step-weighted | Weighted load extension, allowing to generate 20% write and 80% read operations, for example | BASE | ||
mongoose-storage-driver-coop | Cooperative multitasking storage driver primitive, utilizing fibers | BASE | ||
mongoose-storage-driver-netty | Netty-storage-driver-nettyd storage driver primitive, extends the cooperative multitasking storage driver primitive | BASE | ||
mongoose-storage-driver-nio | Non-blocking I/O storage driver primitive, extends the cooperative multitasking storage driver primitive | BASE | ||
mongoose-storage-driver-http | HTTP storage driver primitive, extends the Netty-storage-driver-httpd storage driver primitive | BASE | ||
mongoose-storage-driver-fs | VFS storage driver, extends the NIO storage driver primitive | FS | ||
mongoose-storage-driver-atmos | Dell EMC Atmos storage driver, extends the HTTP storage driver primitive | BASE | ||
mongoose-storage-driver-s3 | Amazon S3 storage driver, extends the HTTP storage driver primitive | S3 | ||
mongoose-storage-driver-swift | OpenStack Swift storage driver, extends the HTTP storage driver primitive | SWIFT |
Additional Extensions
The additional extension are not included in this bundle.
Repo | Description | Latest Release | Integration Status | Issue Tracker Link |
---|---|---|---|---|
mongoose-storage-driver-preempt | Preemptive multitasking storage driver primitive, using thread-per-task approach for the I/O | BASE | ||
mongoose-storage-driver-hdfs | Apache HDFS storage driver, extends the NIO storage driver primitive | HDFS | ||
mongoose-storage-driver-pravega | Pravega storage driver, extends the preemptive multitasking storage driver primitive | PRAVEGA | ||
mongoose-storage-driver-kafka | Apache Kafka storage driver, extends the preemptive multitasking storage driver primitive | KAFKA | ||
mongoose-storage-driver-pulsar | Apache Pulsar storage driver, extends the cooperative multitasking storage driver primitive | PULSAR |
Auxiliary Tools
Repo | Description | Latest Release | Integration Status | Issue Tracker Link |
---|---|---|---|---|
darzee | Mongoose GUI web application | TBD | TBD | GUI |
mongoose-helm-charts | Helm charts to easily deploy Mongoose in K8s environment | TBD | TBD | HELM |
e2e-latency-generator | The tool consuming the Mongoose's operations trace output data and producing the raw end-to-end latency data and heatmap chart | - | - | - |
scenario-converter-3to4 | This tool converts the Json-scenarios used in the Mongoose v3.* into new JavaScript-scenarios. | - | - | - |
Backward Compatibility Notes
-
The extensions are not overriding the base default options when launched from the jar file. E.g. the default storage port is 7 and the default storage driver is "dummy-mock". Override the defaults explicitly or consider using the Docker image.
-
The base Mongoose version and this bundle version may differ. The base version is used to determine the logs output path.
Example:
java -jar mongoose-bundle-<BUNDLE_VERSION>.jar \
--storage-driver-type=s3 \
--storage-net-node-port=9020
Build bundle
./gradlew clean jar
ls -l build/libs
Deploy
Bare Jar Download
https://repo.maven.apache.org/maven2/com/github/emc-mongoose/mongoose-bundle/
Docker
docker run ... emcmongoose/mongoose[:<VERSION>] ...
Dependency
The following dependency graph should be considered when running Mongoose w/o Docker and using some specific extension.
For example, using the mongoose-storage-driver-hdfs
extension will require to have the mongoose-storage-driver-coop
and mongoose-storage-driver-nio
extensions in the ~/.mongoose/<BASE_VERSION>/ext
directory (with proper versions).
mongoose-base
|___ mongoose-load-step-pipeline
|___ mongoose-load-step-weighted
|___ mongoose-storage-driver-coop
| |___ mongoose-storage-driver-netty
| | |___ mongoose-storage-driver-http
| | |___ mongoose-storage-driver-atmos
| | |___ mongoose-storage-driver-s3
| | |___ mongoose-storage-driver-swift
| |___ mongoose-storage-driver-nio
| | |___ mongoose-storage-driver-fs
| | |___ mongoose-storage-driver-hdfs
| |___ mongoose-storage-driver-pulsar
|___ mongoose-storage-driver-preempt
|___ mongoose-storage-driver-kafka
|___ mongoose-storage-driver-pravega