128
128
mockShellCommand(c, &s.CleanupSuite, "apt-get")
130
err := mongo.EnsureServer(dataDir, namespace, testInfo, mongo.WithHA)
130
err := mongo.EnsureServer(dataDir, namespace, testInfo)
131
131
c.Assert(err, gc.IsNil)
133
133
testJournalDirs(dbDir, c)
159
159
s.installed = nil
160
160
// now check we can call it multiple times without error
161
err = mongo.EnsureServer(dataDir, namespace, testInfo, mongo.WithHA)
161
err = mongo.EnsureServer(dataDir, namespace, testInfo)
162
162
c.Assert(err, gc.IsNil)
163
163
assertInstalled()
195
195
s.PatchValue(&version.Current.Series, test.series)
197
err := mongo.EnsureServer(dataDir, namespace, testInfo, mongo.WithHA)
197
err := mongo.EnsureServer(dataDir, namespace, testInfo)
198
198
c.Assert(err, gc.IsNil)
200
200
cmds := getMockShellCalls(c, output)
215
func (s *MongoSuite) TestUpstartServiceWithHA(c *gc.C) {
215
func (s *MongoSuite) TestUpstartService(c *gc.C) {
216
216
dataDir := c.MkDir()
218
svc, _, err := mongo.UpstartService("", dataDir, dataDir, 1234, mongo.WithHA)
218
svc, _, err := mongo.UpstartService("", dataDir, dataDir, 1234)
219
219
c.Assert(err, gc.IsNil)
220
220
c.Assert(strings.Contains(svc.Cmd, "--replSet"), jc.IsTrue)
222
svc, _, err = mongo.UpstartService("", dataDir, dataDir, 1234, mongo.WithoutHA)
223
c.Assert(err, gc.IsNil)
224
c.Assert(strings.Contains(svc.Cmd, "--replSet"), jc.IsFalse)
227
223
func (s *MongoSuite) TestUpstartServiceWithJournal(c *gc.C) {
228
224
dataDir := c.MkDir()
230
svc, _, err := mongo.UpstartService("", dataDir, dataDir, 1234, mongo.WithHA)
226
svc, _, err := mongo.UpstartService("", dataDir, dataDir, 1234)
231
227
c.Assert(err, gc.IsNil)
232
228
journalPresent := strings.Contains(svc.Cmd, " --journal ") || strings.HasSuffix(svc.Cmd, " --journal")
233
229
c.Assert(journalPresent, jc.IsTrue)
265
261
// test that we call add-apt-repository only for quantal (and that if it
266
262
// fails, we return the error)
267
263
s.PatchValue(&version.Current.Series, "quantal")
268
err := mongo.EnsureServer(dir, "", testInfo, mongo.WithHA)
264
err := mongo.EnsureServer(dir, "", testInfo)
269
265
c.Assert(err, gc.ErrorMatches, "cannot install mongod: cannot add apt repository: exit status 1.*")
271
267
s.PatchValue(&version.Current.Series, "trusty")
272
err = mongo.EnsureServer(dir, "", testInfo, mongo.WithHA)
268
err = mongo.EnsureServer(dir, "", testInfo)
273
269
c.Assert(err, gc.IsNil)
279
275
mockShellCommand(c, &s.CleanupSuite, "apt-get")
280
276
dataDir := filepath.Join(c.MkDir(), "dir", "data")
281
err := mongo.EnsureServer(dataDir, "", testInfo, mongo.WithHA)
277
err := mongo.EnsureServer(dataDir, "", testInfo)
282
278
c.Check(err, gc.IsNil)
284
280
_, err = os.Stat(filepath.Join(dataDir, "db"))
344
340
s.PatchValue(&version.Current.Series, "quantal")
346
342
dataDir := c.MkDir()
347
err := mongo.EnsureServer(dataDir, "", testInfo, mongo.WithHA)
343
err := mongo.EnsureServer(dataDir, "", testInfo)
348
344
c.Assert(err, gc.IsNil)
350
346
c.Assert(getMockShellCalls(c, addAptRepoOut), gc.DeepEquals, [][]string{{