Service broker for EMC persistence (ScaleIO, Isilon, VMAX) in Cloud Foundry
Go Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Godeps
ci
config
docs
fixtures
libstoragewrapper
mocks
model
server
tmp
utils
vendor
.gitignore
CHANGELOG.md
README.md
main.go
manifest.yml

README.md

:hurtrealbad: :rage1: DEPRECATED :rage2: :rage3:

This service broker is no longer actively maintained. If you are using shared NFS volumes with Cloud Foundry, we recommend using nfs-volume-release. If that broker/volume driver does not meet your needs, please let us know by posting an issue or pull request to that Github repository.

CF-Persistence Service Broker Documentation Status

This service broker provides the necessarily binding to orchestrate Cloud Controller and Diego Volume Manager. By using this service broker, Cloud Foundry applications can gain access to persistence service as if using a local filesystem. The orchestration uses RexRay and libstorage internally. In theory, the service broker should be able to orchestrate all types of persistence provided by RexRay when configured correctly. We have tested orchestrating EMC ScaleIO and are currently in process of testing EMC Isilon and VMAX. Please check out our documentations and blog for more updates.

Setup

When starting the Service Broker you need to set a username and password. This is done by setting the environment variables BROKER_USERNAME and BROKER_PASSWORD.

This is an example of how we do this on CF.

cf set-env persist BROKER_USERNAME broker
cf set-env persist BROKER_PASSWORD broker

Configuration

CF Persistence Service broker requires configuration to enable communication with libstorage. It can be configured using environment variables or a configuration file. Specify a configuration file using -config path/to/file.yml. Here is an example configuration file:

libstorage:
  host: tcp://file_fake_host:9000
  storage:
    driver: scaleio

scaleio:
  endpoint:             https://file_fake_endpoint/api
  insecure:             true
  useCerts:             false
  userName:             file_fake_user
  password:             file_fake_password
  systemID:             file_fake_sys_id
  systemName:           file_fake_sys_name
  protectionDomainID:   file_fake_protection_domain_id
  protectionDomainName: file_fake_protection_domain_name
  storagePoolName:      file_fake_storage_pool_name
  thinOrThick:          ThinProvisioned
  version:              2.0

Alternatively, you can specify values using environment variables. The variables should be named as follows:

LIBSTORAGE_URI=tcp://file_fake_host:9000
LIBSTORAGE_STORAGE_DRIVER=scaleio
SCALEIO_ENDPOINT=https://file_fake_endpoint/api
SCALEIO_INSECURE=true
SCALEIO_USE_CERTS=false
SCALEIO_USERNAME=username
SCALEIO_PASSWORD=password
SCALEIO_SYSTEM_ID=systemId
SCALEIO_SYSTEM_NAME=systemName
SCALEIO_PROTECTION_DOMAIN_ID=scaleIOProtectionDomainID
SCALEIO_PROTECTION_DOMAIN_NAME=scaleIOProtectionDomainName
SCALEIO_STORAGE_POOL_NAME=scaleIOStoragePoolName
SCALEIO_THIN_OR_THICK=scaleIOThinOrThick
SCALEIO_VERSION=2.0

About

More documentation coming soon.

Contact