Kinetic / kinetic-java

Kinetic Java Library and Simulator.
25 stars 17 forks source link

Java API and Simulator for the Kinetic Open Storage Platform.

Overview

Project components:

Suggested development environment

Quick start

Download and build

  cd ~/workspace
  git clone https://github.com/Kinetic/kinetic-java.git
  mvn clean package

  # By default, simulator uses "USER-HOME/kinetic" as its data store folder.
  # To build, the "workspace" must be located in a separate folder as the data store folder.

Start the simulator

Start with simulator jar:

  cd ~/workspace
  java -jar kinetic-simulator/target/kinetic-simulator-"Version"-SNAPSHOT-jar-with-dependencies.jar    

where "Version" above is the build version number (such as 3.0.7).

Start with script (If configuring tcp_port, tls_port and Kinetic_home, type script -help for usage help):

  cd ~/workspace
  ./bin/startSimulator.sh

Ping the simulator

cd ~/workspace

# ping <device-ip>, 
# e.g.:
./bin/ping.sh 127.0.0.1 

Run test suite against a remote instance

  1. Run the integration tests against the simulator with specified max memory: mvn test -DargLine="-Xmx500M"
  2. Run the integration tests against the remote instance at a particular host: mvn test -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=1.2.3.4

Admin client command usage

  1. Download, build, and start simulator as described in Quick Start section above
  2. Run admin CLI
   cd ~/workspace
   ./bin/kineticadmin.sh -help

Erase data in the Simulator

  ./bin/kineticadmin.sh -instanterase

Simulator and Java API examples

Examples are located at the following directory.

"workspace"/kinetic-test/src/test/java/com/seagate/kinetic/example

Kinetic Java API Javadoc location

To browse Javadoc: http://kinetic.github.io/kinetic-java/

kinetic-java runtime on maven central

Run smoke tests against a remote instance

  1. Download, build, and start simulator as described in Quick Start section above
  2. cd "workspace"/bin
  3. sh runSmokeTests.sh [-host host_ip] [-port port] [-tlsport tlsport] [-home kinetic_home]

Kinetic tools and console

The kinetic tools and console provide tools to discover, setup, configure, and monitor Kinetic devices.

[https://github.com/Seagate/kinetic-java-tools] (https://github.com/Seagate/kinetic-java-tools)