-
Notifications
You must be signed in to change notification settings - Fork 313
How to Run Containerized OpenSDS for Testing Work
Leon Wang edited this page Feb 6, 2018
·
19 revisions
Before you start, some configurations are required:
export BackendType="sample" # 'sample' is the default option, currently also support 'lvm'
mkdir -p /etc/opensds && sudo cat > /etc/opensds/opensds.conf <<OPENSDS_GLOABL_CONFIG_DOC
[osdslet]
api_endpoint = 0.0.0.0:50040
graceful = True
log_file = /var/log/opensds/osdslet.log
socket_order = inc
[osdsdock]
api_endpoint = 0.0.0.0:50050
log_file = /var/log/opensds/osdsdock.log
# Enabled backend types, such as 'sample', 'lvm', 'ceph', 'cinder', etc.
enabled_backends = ${BackendType}
[sample]
name = sample
description = Sample backend for testing
driver_name = default
[database]
# Enabled database types, such as etcd, mysql, fake, etc.
driver = etcd
endpoint = 127.0.0.1:2379,127.0.0.1:2380
OPENSDS_GLOABL_CONFIG_DOC
If you choose lvm
as backend, you need to make sure physical volume and volume group existed. Besides, you need to configure lvm driver.
sudo pvdisplay # Check if physical volume existed
sudo vgdisplay # Check if volume group existed
mkdir -p /etc/opensds/driver && sudo cat > /etc/opensds/driver/lvm.yaml <<OPENSDS_DRIVER_CONFIG_DOC
tgtBindIp: 0.0.0.0
pool:
"vg001":
diskType: SSD
AZ: defaul
OPENSDS_DRIVER_CONFIG_DOC
If you are a lazy one, just like me, you probably want to do this:(docker-compose
required)
wget https://raw.githubusercontent.com/opensds/opensds/master/docker-compose.yml
docker-compose up
Or you can do this:
docker run -d --net=host -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:latest
docker run -d --net=host -v /etc/opensds:/etc/opensds opensdsio/opensds-controller:latest
docker run -d --net=host --privileged=true -v /etc/opensds:/etc/opensds opensdsio/opensds-dock:latest
If you are a smart guy, you probably need to configure your service ip and database endpoint:
export HostIP="your_real_ip"
docker run -d --net=host -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:latest \
-name etcd0 \
-advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://${HostIP}:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster etcd0=http://${HostIP}:2380 \
-initial-cluster-state new
docker run -d --net=host -v /etc/opensds:/etc/opensds opensdsio/opensds-controller:latest /usr/bin/osdslet --api-endpoint=0.0.0.0:50040 --db-endpoint=${HostIP}:2379,${HostIP}:2380
docker run -d --net=host --privileged=true -v /etc/opensds:/etc/opensds opensdsio/opensds-dock:latest /usr/bin/osdsdock --api-endpoint=0.0.0.0:50050 --db-endpoint=${HostIP}:2379,${HostIP}:2380
curl -sSL https://raw.githubusercontent.com/opensds/opensds/master/osdsctl/bin/osdsctl | mv osdsctl /usr/local/bin/
export OPENSDS_ENDPOINT=http://127.0.0.1:50040
osdsctl pool list
osdsctl profile create '{"name": "default", "description": "default policy"}'
osdsctl volume create 1 --name=test-001
osdsctl volume list
osdsctl volume delete <your_volume_id>
After this is done, just enjoy it!