303
"deploy two services with networks",
304
addMachine{machineId: "0", job: state.JobManageEnviron},
305
startAliveMachine{"0"},
306
setMachineStatus{"0", params.StatusStarted, ""},
307
setAddresses{"0", []instance.Address{
308
instance.NewAddress("10.0.0.1"),
309
instance.NewAddress("dummyenv-0.dns"),
313
name: "networks-service",
315
withNetworks: []string{"net1", "net2"},
316
withoutNetworks: []string{"net3", "net4"},
319
name: "no-networks-service",
321
withoutNetworks: []string{"mynet"},
325
"simulate just the two services and a bootstrap node",
327
"environment": "dummyenv",
332
"networks-service": M{
333
"charm": "cs:quantal/dummy-1",
336
"enabled": L{"net1", "net2"},
337
"disabled": L{"net3", "net4"},
340
"no-networks-service": M{
341
"charm": "cs:quantal/dummy-1",
344
"disabled": L{"mynet"},
302
351
"instance with different hardware characteristics",
303
addMachine{"0", machineCons, state.JobManageEnviron},
352
addMachine{machineId: "0", cons: machineCons, job: state.JobManageEnviron},
304
353
setAddresses{"0", []instance.Address{
305
354
instance.NewAddress("10.0.0.1"),
306
355
instance.NewAddress("dummyenv-0.dns"),
327
376
"instance without addresses",
328
addMachine{"0", machineCons, state.JobManageEnviron},
377
addMachine{machineId: "0", cons: machineCons, job: state.JobManageEnviron},
329
378
startAliveMachine{"0"},
330
379
setMachineStatus{"0", params.StatusStarted, ""},
384
433
startAliveMachine{"0"},
385
434
setMachineStatus{"0", params.StatusStarted, ""},
386
435
addCharm{"dummy"},
387
addService{"dummy-service", "dummy"},
388
addService{"exposed-service", "dummy"},
436
addService{name: "dummy-service", charm: "dummy"},
437
addService{name: "exposed-service", charm: "dummy"},
390
439
"no services exposed yet",
716
764
"add a dying service",
717
765
addCharm{"dummy"},
718
addService{"dummy-service", "dummy"},
766
addService{name: "dummy-service", charm: "dummy"},
719
767
addMachine{machineId: "0", job: state.JobHostUnits},
720
768
addUnit{"dummy-service", "0"},
721
769
ensureDyingService{"dummy-service"},
757
805
addCharm{"mysql"},
758
806
addCharm{"varnish"},
760
addService{"project", "wordpress"},
808
addService{name: "project", charm: "wordpress"},
761
809
setServiceExposed{"project", true},
762
810
addMachine{machineId: "1", job: state.JobHostUnits},
763
811
setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
766
814
addAliveUnit{"project", "1"},
767
815
setUnitStatus{"project/0", params.StatusStarted, ""},
769
addService{"mysql", "mysql"},
817
addService{name: "mysql", charm: "mysql"},
770
818
setServiceExposed{"mysql", true},
771
819
addMachine{machineId: "2", job: state.JobHostUnits},
772
820
setAddresses{"2", []instance.Address{instance.NewAddress("dummyenv-2.dns")}},
775
823
addAliveUnit{"mysql", "2"},
776
824
setUnitStatus{"mysql/0", params.StatusStarted, ""},
778
addService{"varnish", "varnish"},
826
addService{name: "varnish", charm: "varnish"},
779
827
setServiceExposed{"varnish", true},
780
828
addMachine{machineId: "3", job: state.JobHostUnits},
781
829
setAddresses{"3", []instance.Address{instance.NewAddress("dummyenv-3.dns")}},
783
831
setMachineStatus{"3", params.StatusStarted, ""},
784
832
addUnit{"varnish", "3"},
786
addService{"private", "wordpress"},
834
addService{name: "private", charm: "wordpress"},
787
835
setServiceExposed{"private", true},
788
836
addMachine{machineId: "4", job: state.JobHostUnits},
789
837
setAddresses{"4", []instance.Address{instance.NewAddress("dummyenv-4.dns")}},
876
924
addCharm{"riak"},
877
925
addCharm{"wordpress"},
879
addService{"riak", "riak"},
927
addService{name: "riak", charm: "riak"},
880
928
setServiceExposed{"riak", true},
881
929
addMachine{machineId: "1", job: state.JobHostUnits},
882
930
setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
948
996
addCharm{"mysql"},
949
997
addCharm{"logging"},
951
addService{"wordpress", "wordpress"},
999
addService{name: "wordpress", charm: "wordpress"},
952
1000
setServiceExposed{"wordpress", true},
953
1001
addMachine{machineId: "1", job: state.JobHostUnits},
954
1002
setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
957
1005
addAliveUnit{"wordpress", "1"},
958
1006
setUnitStatus{"wordpress/0", params.StatusStarted, ""},
960
addService{"mysql", "mysql"},
1008
addService{name: "mysql", charm: "mysql"},
961
1009
setServiceExposed{"mysql", true},
962
1010
addMachine{machineId: "2", job: state.JobHostUnits},
963
1011
setAddresses{"2", []instance.Address{instance.NewAddress("dummyenv-2.dns")}},
966
1014
addAliveUnit{"mysql", "2"},
967
1015
setUnitStatus{"mysql/0", params.StatusStarted, ""},
969
addService{"logging", "logging"},
1017
addService{name: "logging", charm: "logging"},
970
1018
setServiceExposed{"logging", true},
972
1020
relateServices{"wordpress", "mysql"},
1160
1208
addCharm{"logging"},
1161
1209
addCharm{"monitoring"},
1163
addService{"wordpress", "wordpress"},
1211
addService{name: "wordpress", charm: "wordpress"},
1164
1212
setServiceExposed{"wordpress", true},
1165
1213
addMachine{machineId: "1", job: state.JobHostUnits},
1166
1214
setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
1169
1217
addAliveUnit{"wordpress", "1"},
1170
1218
setUnitStatus{"wordpress/0", params.StatusStarted, ""},
1172
addService{"logging", "logging"},
1220
addService{name: "logging", charm: "logging"},
1173
1221
setServiceExposed{"logging", true},
1174
addService{"monitoring", "monitoring"},
1222
addService{name: "monitoring", charm: "monitoring"},
1175
1223
setServiceExposed{"monitoring", true},
1177
1225
relateServices{"wordpress", "logging"},
1234
1282
startAliveMachine{"0"},
1235
1283
setMachineStatus{"0", params.StatusStarted, ""},
1236
1284
addCharm{"mysql"},
1237
addService{"mysql", "mysql"},
1285
addService{name: "mysql", charm: "mysql"},
1238
1286
setServiceExposed{"mysql", true},
1240
1288
addMachine{machineId: "1", job: state.JobHostUnits},
1323
1371
startAliveMachine{"1"},
1324
1372
setMachineStatus{"1", params.StatusStarted, ""},
1325
1373
addCharm{"mysql"},
1326
addService{"mysql", "mysql"},
1374
addService{name: "mysql", charm: "mysql"},
1327
1375
setServiceExposed{"mysql", true},
1328
1376
addCharmPlaceholder{"mysql", 23},
1329
1377
addAliveUnit{"mysql", "1"},
1363
1411
startAliveMachine{"1"},
1364
1412
setMachineStatus{"1", params.StatusStarted, ""},
1365
1413
addCharm{"mysql"},
1366
addService{"mysql", "mysql"},
1414
addService{name: "mysql", charm: "mysql"},
1367
1415
setServiceExposed{"mysql", true},
1368
1416
addAliveUnit{"mysql", "1"},
1369
1417
setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1405
1453
startAliveMachine{"1"},
1406
1454
setMachineStatus{"1", params.StatusStarted, ""},
1407
1455
addCharm{"mysql"},
1408
addService{"mysql", "mysql"},
1456
addService{name: "mysql", charm: "mysql"},
1409
1457
setServiceExposed{"mysql", true},
1410
1458
addAliveUnit{"mysql", "1"},
1411
1459
setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1449
1497
startAliveMachine{"1"},
1450
1498
setMachineStatus{"1", params.StatusStarted, ""},
1451
1499
addCharm{"mysql"},
1452
addService{"mysql", "mysql"},
1500
addService{name: "mysql", charm: "mysql"},
1453
1501
setServiceExposed{"mysql", true},
1454
1502
addAliveUnit{"mysql", "1"},
1455
1503
setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1621
1669
type addService struct {
1672
withNetworks []string
1673
withoutNetworks []string
1626
1676
func (as addService) step(c *gc.C, ctx *context) {
1627
1677
ch, ok := ctx.charms[as.charm]
1628
1678
c.Assert(ok, gc.Equals, true)
1629
_, err := ctx.st.AddService(as.name, "user-admin", ch)
1679
_, err := ctx.st.AddService(as.name, "user-admin", ch, as.withNetworks, as.withoutNetworks)
1630
1680
c.Assert(err, gc.IsNil)
1876
1926
actual := make(M)
1877
1927
err = format.unmarshal(stdout, &actual)
1878
1928
c.Assert(err, gc.IsNil)
1879
c.Assert(actual, gc.DeepEquals, expected)
1929
c.Assert(actual, jc.DeepEquals, expected)
1901
1951
addMachine{machineId: "0", job: state.JobManageEnviron},
1902
1952
addMachine{machineId: "1", job: state.JobHostUnits},
1903
1953
addCharm{"mysql"},
1904
addService{"mysql", "mysql"},
1954
addService{name: "mysql", charm: "mysql"},
1905
1955
addAliveUnit{"mysql", "1"},
1907
1957
ctx := s.newContext()