mirror of
https://github.com/gluster/glusterd2.git
synced 2026-02-05 12:45:38 +01:00
Register the Bricks hosting directory using, ``` glustercli device add <peerid> <path> --provisioner loop ``` Example: ``` glustercli device add 70d79c3f-e7af-43f6-8b65-05dff2423da1 \ /exports --provisioner loop ``` Now create the volume using, ``` glustercli volume create gv1 --size 1G \ --provisioner loop \ --replica 3 ``` Fixes: #1418 Signed-off-by: Aravinda VK <avishwan@redhat.com>
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package restclient
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"strings"
|
|
|
|
deviceapi "github.com/gluster/glusterd2/plugins/device/api"
|
|
)
|
|
|
|
// DeviceAdd registers device
|
|
func (c *Client) DeviceAdd(peerid, device, provType string) (deviceapi.AddDeviceResp, error) {
|
|
var deviceinfo deviceapi.AddDeviceResp
|
|
req := deviceapi.AddDeviceReq{
|
|
Device: device,
|
|
ProvisionerType: provType,
|
|
}
|
|
err := c.post("/v1/devices/"+peerid, req, http.StatusCreated, &deviceinfo)
|
|
return deviceinfo, err
|
|
}
|
|
|
|
// DeviceList lists the devices
|
|
func (c *Client) DeviceList(peerid, device string) ([]deviceapi.Info, error) {
|
|
var deviceList deviceapi.ListDeviceResp
|
|
url := "/v1/devices"
|
|
if peerid != "" {
|
|
url = fmt.Sprintf("%s/%s", url, peerid)
|
|
if device != "" {
|
|
url = fmt.Sprintf("%s/%s", url, strings.TrimPrefix(device, "/"))
|
|
}
|
|
}
|
|
|
|
err := c.get(url, nil, http.StatusOK, &deviceList)
|
|
return deviceList, err
|
|
}
|
|
|
|
// DeviceEdit edits device
|
|
func (c *Client) DeviceEdit(peerid, device, state string) error {
|
|
req := deviceapi.EditDeviceReq{
|
|
State: state,
|
|
}
|
|
device = strings.TrimLeft(device, "/")
|
|
url := fmt.Sprintf("/v1/devices/%s/%s", peerid, device)
|
|
err := c.post(url, req, http.StatusOK, nil)
|
|
return err
|
|
}
|