Skip to content

midoblgsm/ubiquity

 
 

Repository files navigation

Ubiquity Storage Service for Container Ecosystems

Build Status GoDoc Coverage Status License Go Report Card

The Ubiquity project enables persistent storage for CSI compliant container frameworks. It is a pluggable framework available for different storage systems. The framework interfaces with the storage systems, using their plugins. The Available Storage Systems section describes the storage system configuration and deployment options. Different container frameworks can use Ubiquity concurrently, allowing access to different storage systems.

Ubiquity Overview

Ubiquity supports the Kubernetes and Docker frameworks, using the following plugins:

The code is provided as is, without warranty. Any issue will be handled on a best-effort basis.

Installing the Ubiquity service

Prerequisites

  • Install golang (>=1.6).
  • Install git.
  • Configure go. GOPATH environment variable must be set correctly before starting the build process. Create a new directory and set it as GOPATH.

Download and build source code

  • Build Ubiquity service from source.
mkdir -p $HOME/workspace
export GOPATH=$HOME/workspace
mkdir -p $GOPATH/src/github.com/midoblgsm
cd $GOPATH/src/github.com/midoblgsm
git clone git@github.com:midoblgsm/ubiquity.git
cd ubiquity
./scripts/run_glide_up
./scripts/build

The built binary will be in the bin directory inside the repository folder. To run it you need to setup ubiquity configuration in ubiquity-server.conf. After that start the server:

./bin/ubiquity

Running unit tests for ubiquity-csi

Install these go packages to test Ubiquity:

# Install ginkgo
go install github.com/onsi/ginkgo/ginkgo
# Install gomega
go install github.com/onsi/gomega

Run the tests:

./scripts/run_units.sh

Configuring the Ubiquity service for storage other then localhost

Before running the Ubiquity service, you must create and configure the /etc/ubiquity/ubiquity-server.conf file, according to your storage system type. Follow the configuration procedures detailed in the Available Storage Systems section.

Running the Ubiquity service

  • Run the service.
./bin/ubiquity

Installing Ubiquity plugins for CSI

To use the active Ubiquity service, install Ubiquity CSI plugin.

Contribution

To contribute, follow the guidelines in Contribution guide

Troubleshooting

  • Review the Ubiquity logs for any issues:
    • [logPath]/ubiquity.log ([logPath] configured in the ubiquity-server.conf)
    • /var/log/messages

Support

For any questions, suggestions, or issues, use github.