Skip to content

Commit

Permalink
Merge pull request #281 from IBM/release_v2.0.0
Browse files Browse the repository at this point in the history
Release v2.0.0 merge to master
  • Loading branch information
shay-berman committed Dec 19, 2018
2 parents eef6f1d + 81950e3 commit e031aec
Show file tree
Hide file tree
Showing 67 changed files with 4,678 additions and 6,616 deletions.
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ COPY . .
RUN CGO_ENABLED=1 GOOS=linux go build -tags netgo -v -a --ldflags '-w -linkmode external -extldflags "-static"' -installsuffix cgo -o ubiquity main.go


FROM alpine:3.7
RUN apk --no-cache add ca-certificates=20171114-r0 openssl=1.0.2o-r1
FROM alpine:3.8
RUN apk --no-cache add ca-certificates=20171114-r3 openssl=1.0.2q-r0
WORKDIR /root/
COPY --from=0 /go/src/github.com/IBM/ubiquity/ubiquity .
COPY --from=0 /go/src/github.com/IBM/ubiquity/LICENSE .
Expand All @@ -22,6 +22,7 @@ ENV PATH=/root:$PATH \
UBIQUITY_SERVER_CERT_PRIVATE=/var/lib/ubiquity/ssl/private/ubiquity.key \
UBIQUITY_SERVER_CERT_PUBLIC=/var/lib/ubiquity/ssl/private/ubiquity.crt \
UBIQUITY_SERVER_VERIFY_SCBE_CERT=/var/lib/ubiquity/ssl/public/scbe-trusted-ca.crt \
UBIQUITY_SERVER_VERIFY_SPECTRUMSCALE_CERT=/var/lib/ubiquity/ssl/public/spectrumscale-trusted-ca.crt \
UBIQUITY_DB_SSL_ROOT_CERT=/var/lib/ubiquity/ssl/public/ubiquity-db-trusted-ca.crt \
SSL_MODE=verify-full

Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ Ubiquity supports the Kubernetes and Docker frameworks, using the following plug
- [Ubiquity plugin for Kubernetes](https://github.com/IBM/ubiquity-k8s) (Dynamic Provisioner and FlexVolume)
- [Ubiquity Docker volume plugin](https://github.com/IBM/ubiquity-docker-plugin), for testing only.

Currently, the following storage systems use Ubiquity:
The IBM official solution for Kubernetes, based on the Ubiquity project, is referred to as IBM Storage Enabler for Containers. You can download the installation package and its documentation from [IBM Fix Central](http://www.ibm.com/support/fixcentral/swg/quickorder?parent=Software%20defined%20storage&product=ibm/StorageSoftware/IBM+Storage+Enabler+for+Containers&release=All&platform=All&function=all&source=fc).

Ubiquity supports the following storage systems:
* IBM block storage.

The IBM block storage is supported for Kubernetes via IBM Spectrum Connect. Ubiquity communicates with the IBM storage systems through Spectrum Connect. Spectrum Connect creates a storage profile (for example, gold, silver or bronze) and makes it available for Kubernetes. For details about supported storage systems, refer to the latest Spectrum Connect release notes.
IBM block storage is supported for Kubernetes via IBM Spectrum Connect. Ubiquity communicates with the IBM storage systems through Spectrum Connect. Spectrum Connect creates a storage profile (for example, gold, silver or bronze) and makes it available for Kubernetes.

The IBM official solution for Kubernetes, based on the Ubiquity project, is referred to as IBM Storage Enabler for Containers. You can download the installation package and its documentation from [IBM Fix Central](https://www.ibm.com/support/fixcentral/swg/selectFixes?parent=Software%2Bdefined%2Bstorage&product=ibm/StorageSoftware/IBM+Spectrum+Connect&release=All&platform=Linux&function=all). For details on the IBM Storage Enabler for Containers, see the relevant sections in the Spectrum Connect user guide.
* IBM Spectrum Scale

* IBM Spectrum Scale, for testing only.
IBM Spectrum Scale file storage is supported for Kubernetes. Ubiquity communicates with IBM Spectrum Scale system directly via IBM Spectrum Scale management API v2.

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

Expand All @@ -30,7 +32,7 @@ The code is provided as is, without warranty. Any issue will be handled on a bes

Description of Ubiquity Kubernetes deployment:
* Ubiquity Kubernetes Dynamic Provisioner (ubiquity-k8s-provisioner) runs as a Kubernetes deployment with replica=1.
* Ubiquity Kubernetes FlexVolume (ubiquity-k8s-flex) runs as a Kubernetes daemonset on all the worker and master nodes.
* Ubiquity Kubernetes FlexVolume (ubiquity-k8s-flex) runs as a Kubernetes daemonset in all the worker and master nodes.
* Ubiquity (ubiquity) runs as a Kubernetes deployment with replica=1.
* Ubiquity database (ubiquity-db) runs as a Kubernetes deployment with replica=1.

Expand Down
18 changes: 10 additions & 8 deletions database/migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,33 +18,35 @@ package database

import (
"fmt"
"sync"
"github.com/IBM/ubiquity/utils/logs"
)

var migrations = make(map[string]interface{})
var migrations = new(sync.Map)

func RegisterMigration(obj interface{}) {
defer logs.GetLogger().Trace(logs.DEBUG)()

migrations[fmt.Sprintf("%v", obj)] = obj
migrations.Store(fmt.Sprintf("%v", obj), obj)
}

func UnregisterAllMigrations() {
defer logs.GetLogger().Trace(logs.DEBUG)()

migrations = make(map[string]interface{})
migrations = new(sync.Map)
}

func doMigrations(connection Connection) error {
defer logs.GetLogger().Trace(logs.DEBUG)()

logger := logs.GetLogger()
for k, v := range migrations {

migrations.Range(func(k, v interface{}) bool {
logger.Info("migrating", logs.Args{{"migration", k}})
if err := connection.GetDb().AutoMigrate(v).Error; err != nil {
logger.ErrorRet(err, "failed")
}
delete(migrations, k)
}
migrations.Delete(k)
return true
})

return nil
}
82 changes: 0 additions & 82 deletions fakes/fake_SpectrumDataModel.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 13 additions & 13 deletions fakes/fake_block_device_mounter_utils.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e031aec

Please sign in to comment.