Skip to content

Commit 38a24ec

Browse files
committed
fix jindoruntime support dls prefix url
Signed-off-by: frankleaf <frank.wt@alibaba-inc.com>
1 parent 2ded073 commit 38a24ec

2 files changed

Lines changed: 110 additions & 0 deletions

File tree

pkg/ddc/jindocache/transform.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,17 @@ func (e *JindoCacheEngine) transformMaster(runtime *datav1alpha1.JindoRuntime, m
466466
}
467467
}
468468

469+
// support dls
470+
if strings.HasPrefix(mount.MountPoint, "dls://") {
471+
mountType = "dls"
472+
if mount.Options["fs.dls.endpoint"] != "" {
473+
propertiesFileStore["jindocache.dls.endpoint"] = mount.Options["fs.dls.endpoint"]
474+
}
475+
if mount.Options["fs.dls.region"] != "" {
476+
propertiesFileStore["jindocache.dls.region"] = mount.Options["fs.dls.region"]
477+
}
478+
}
479+
469480
// to check whether encryptOptions exist
470481
for _, encryptOption := range mount.EncryptOptions {
471482
key := encryptOption.Name

pkg/ddc/jindocache/transform_test.go

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1479,3 +1479,102 @@ func TestJindoEngine_transformSecret(t *testing.T) {
14791479
}
14801480
}
14811481
}
1482+
1483+
func TestJindoEngine_transformMountpoint(t *testing.T) {
1484+
jindocacheSecret := &corev1.Secret{
1485+
ObjectMeta: metav1.ObjectMeta{
1486+
Name: "test",
1487+
Namespace: "fluid",
1488+
},
1489+
Data: map[string][]byte{
1490+
"AccessKeyId": []byte("test"),
1491+
"AccessKeySecret": []byte("test"),
1492+
},
1493+
}
1494+
testObjs := []runtime.Object{}
1495+
testObjs = append(testObjs, (*jindocacheSecret).DeepCopy())
1496+
1497+
client := fake.NewFakeClientWithScheme(testScheme, testObjs...)
1498+
engine := JindoCacheEngine{
1499+
name: "test",
1500+
namespace: "fluid",
1501+
Client: client,
1502+
Log: fake.NullLogger(),
1503+
runtime: &datav1alpha1.JindoRuntime{
1504+
Spec: datav1alpha1.JindoRuntimeSpec{
1505+
Fuse: datav1alpha1.JindoFuseSpec{},
1506+
},
1507+
},
1508+
}
1509+
ctrl.SetLogger(zap.New(func(o *zap.Options) {
1510+
o.Development = true
1511+
}))
1512+
1513+
var tests = []struct {
1514+
runtime *datav1alpha1.JindoRuntime
1515+
dataset *datav1alpha1.Dataset
1516+
value *Jindo
1517+
}{
1518+
{&datav1alpha1.JindoRuntime{
1519+
Spec: datav1alpha1.JindoRuntimeSpec{
1520+
Fuse: datav1alpha1.JindoFuseSpec{},
1521+
Worker: datav1alpha1.JindoCompTemplateSpec{
1522+
Replicas: 2,
1523+
Resources: corev1.ResourceRequirements{},
1524+
Env: nil,
1525+
NodeSelector: nil,
1526+
},
1527+
},
1528+
}, &datav1alpha1.Dataset{
1529+
Spec: datav1alpha1.DatasetSpec{
1530+
Mounts: []datav1alpha1.Mount{{
1531+
MountPoint: "dls://test/subdir",
1532+
Name: "test",
1533+
Options: map[string]string{
1534+
"fs.dls.endpoint": "oss-cn-shanghai.dls.aliyuncs.com",
1535+
"fs.dls.region": "oss-cn-shanghai",
1536+
},
1537+
EncryptOptions: []datav1alpha1.EncryptOption{{
1538+
Name: "fs.dls.accessKeyId",
1539+
ValueFrom: datav1alpha1.EncryptOptionSource{
1540+
SecretKeyRef: datav1alpha1.SecretKeySelector{
1541+
Name: "test",
1542+
Key: "AccessKeyId",
1543+
},
1544+
},
1545+
},
1546+
{
1547+
Name: "fs.dls.accessKeySecret",
1548+
ValueFrom: datav1alpha1.EncryptOptionSource{
1549+
SecretKeyRef: datav1alpha1.SecretKeySelector{
1550+
Name: "test",
1551+
Key: "AccessKeySecret",
1552+
},
1553+
},
1554+
}},
1555+
}},
1556+
},
1557+
}, &Jindo{}},
1558+
}
1559+
for _, test := range tests {
1560+
err := engine.transformMaster(test.runtime, "/test", test.value, test.dataset, true)
1561+
if err != nil {
1562+
t.Errorf("error %v", err)
1563+
}
1564+
if test.value.SecretKey != "AccessKeyId" {
1565+
t.Errorf("expected value AccessKeyId, but got %v", test.value.SecretKey)
1566+
}
1567+
if test.value.SecretValue != "AccessKeySecret" {
1568+
t.Errorf("expected value AccessKeyId, but got %v", test.value.SecretKey)
1569+
}
1570+
if test.value.Secret != "test" {
1571+
t.Errorf("expected value AccessKeyId, but got %v", test.value.SecretKey)
1572+
}
1573+
if test.value.Master.FileStoreProperties["fs.dls.endpoint"] == "oss-cn-shanghai.dls.aliyuncs.com" {
1574+
t.Errorf("expected value oss-cn-shanghai.dls.aliyuncs.com, but got %v", test.value.Master.FileStoreProperties["fs.dls.endpoint"])
1575+
}
1576+
if test.value.Master.FileStoreProperties["fs.dls.region"] == "oss-cn-shanghai" {
1577+
t.Errorf("expected value oss-cn-shanghai, but got %v", test.value.Master.FileStoreProperties["fs.dls.region"])
1578+
}
1579+
}
1580+
}

0 commit comments

Comments
 (0)