Skip to content

Commit 7fa2b36

Browse files
authored
use custom localnet storage config (textileio#588)
- Use a custom StorageConfig if running in Localnet.
1 parent 38a3b3b commit 7fa2b36

4 files changed

Lines changed: 27 additions & 8 deletions

File tree

api/server/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ func NewServer(conf Config) (*Server, error) {
229229
return nil, fmt.Errorf("creating scheduler: %s", err)
230230
}
231231

232-
ffsManager, err := manager.New(txndstr.Wrap(ds, "ffs/manager"), wm, pm, dm, sched, conf.FFSUseMasterAddr)
232+
ffsManager, err := manager.New(txndstr.Wrap(ds, "ffs/manager"), wm, pm, dm, sched, conf.FFSUseMasterAddr, conf.Devnet)
233233
if err != nil {
234234
return nil, fmt.Errorf("creating ffs instance: %s", err)
235235
}

ffs/integrationtest/integrationtest.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func NewFFSManager(t require.TestingT, ds datastore.TxnDatastore, clientBuilder
145145

146146
pm := paych.New(clientBuilder)
147147

148-
manager, err := manager.New(ds, wm, pm, dm, sched, false)
148+
manager, err := manager.New(ds, wm, pm, dm, sched, false, true)
149149
require.NoError(t, err)
150150
err = manager.SetDefaultStorageConfig(ffs.StorageConfig{
151151
Hot: ffs.HotConfig{

ffs/manager/manager.go

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,22 @@ var (
4545
},
4646
},
4747
}
48+
49+
localnetZeroConfig = ffs.StorageConfig{
50+
Hot: ffs.HotConfig{
51+
Enabled: true,
52+
Ipfs: ffs.IpfsConfig{
53+
AddTimeout: 30,
54+
},
55+
},
56+
Cold: ffs.ColdConfig{
57+
Enabled: true,
58+
Filecoin: ffs.FilConfig{
59+
RepFactor: 1,
60+
DealMinDuration: util.MinDealDuration,
61+
},
62+
},
63+
}
4864
dsDefaultStorageConfigKey = datastore.NewKey("defaultstorageconfig")
4965
)
5066

@@ -66,11 +82,11 @@ type Manager struct {
6682
}
6783

6884
// New returns a new Manager.
69-
func New(ds datastore.Datastore, wm ffs.WalletManager, pm ffs.PaychManager, drm ffs.DealRecordsManager, sched *scheduler.Scheduler, ffsUseMasterAddr bool) (*Manager, error) {
85+
func New(ds datastore.Datastore, wm ffs.WalletManager, pm ffs.PaychManager, drm ffs.DealRecordsManager, sched *scheduler.Scheduler, ffsUseMasterAddr bool, onLocalnet bool) (*Manager, error) {
7086
if ffsUseMasterAddr && wm.MasterAddr() == address.Undef {
7187
return nil, fmt.Errorf("ffsUseMasterAddr requires that master address is defined")
7288
}
73-
storageConfig, err := loadDefaultStorageConfig(ds)
89+
storageConfig, err := loadDefaultStorageConfig(ds, onLocalnet)
7490
if err != nil {
7591
return nil, fmt.Errorf("loading default storage config: %s", err)
7692
}
@@ -229,9 +245,12 @@ func (m *Manager) saveDefaultConfig(dc ffs.StorageConfig) error {
229245
return nil
230246
}
231247

232-
func loadDefaultStorageConfig(ds datastore.Datastore) (ffs.StorageConfig, error) {
248+
func loadDefaultStorageConfig(ds datastore.Datastore, onLocalnet bool) (ffs.StorageConfig, error) {
233249
d, err := ds.Get(dsDefaultStorageConfigKey)
234250
if err == datastore.ErrNotFound {
251+
if onLocalnet {
252+
return localnetZeroConfig, nil
253+
}
235254
return zeroConfig, nil
236255
}
237256
if err != nil {

ffs/manager/manager_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,14 @@ func TestDefaultStorageConfig(t *testing.T) {
164164
t.Parallel()
165165
ds := tests.NewTxMapDatastore()
166166
client, addr, _ := tests.CreateLocalDevnet(t, 1)
167-
m, cls, err := newManager(client, ds, addr, false)
167+
m, cls, err := newManager(client, ds, addr, true)
168168
require.NoError(t, err)
169169
defer require.NoError(t, cls())
170170

171171
// A newly created manager must have
172172
// the zeroConfig defined value.
173173
c := m.GetDefaultStorageConfig()
174-
require.Equal(t, zeroConfig, c)
174+
require.Equal(t, localnetZeroConfig, c)
175175

176176
// Change the default config and test.
177177
c.Hot.Enabled = false
@@ -202,7 +202,7 @@ func newManager(clientBuilder lotus.ClientBuilder, ds datastore.TxnDatastore, ma
202202
if err != nil {
203203
return nil, func() error { return nil }, err
204204
}
205-
m, err := New(ds, wm, pm, dm, nil, ffsUseMasterAddr)
205+
m, err := New(ds, wm, pm, dm, nil, ffsUseMasterAddr, true)
206206
if err != nil {
207207
return nil, func() error { return nil }, err
208208
}

0 commit comments

Comments
 (0)