124
124
# build out the topology using the state managers
125
125
self.provider = dummy.MachineProvider("dummy", self.config)
126
126
client = yield self.provider.connect()
127
service_manager = ServiceStateManager(client)
128
machine_manager = MachineStateManager(client)
129
relation_manager = RelationStateManager(client)
131
128
# setup machines for mapping to the services
132
129
# yield self.provider.start_machine({"machine-id": "unit-0000000000",
133
130
# "external-dns": "one.test.com"})
134
131
# yield self.provider.start_machine({"machine-id": "unit-0000000001",
135
132
# "external-dns": "two.test.com"})
136
m1 = yield machine_manager.add_machine_state()
137
m2 = yield machine_manager.add_machine_state()
139
wordpress = yield self.add_service("wordpress")
140
mysql = yield self.add_service("mysql")
142
r1 = yield self.add_relation("client-server",
143
[wordpress, "app", "client"])
144
r2 = yield self.add_relation("client-server",
145
[mysql, "db", "server"])
133
m1 = yield self.machine_state_manager.add_machine_state()
134
m2 = yield self.machine_state_manager.add_machine_state()
135
m3 = yield self.machine_state_manager.add_machine_state()
137
yield m1.set_instance_id("alpha")
138
yield m2.set_instance_id("beta")
139
yield m3.set_instance_id("gamma")
141
wordpress = yield self.add_service_from_formula("wordpress")
142
mysql = yield self.add_service_from_formula("mysql")
144
yield self.add_relation("client-server",
145
(wordpress, "app", "client"),
146
(mysql, "db", "server"))
147
148
wpu = yield wordpress.add_unit_state()
148
149
myu = yield mysql.add_unit_state()
150
myu2 = yield mysql.add_unit_state()
150
152
yield wpu.assign_to_machine(m1)
151
153
yield myu.assign_to_machine(m2)
154
yield myu2.assign_to_machine(m3)
153
156
def test_filter_names(self):
154
157
names = ("alpha-1", "alpha-2", "beta-0", "beta-1", "gamma-0")
251
254
fp = open("/tmp/ens.svg", "w")
252
255
fp.write(self.output.getvalue())
258
self.output = StringIO()
259
yield status.status(self.config, environment, [],
260
status.render_dot, self.output)
261
fp = open("/tmp/ens.dot", "w")
262
fp.write(self.output.getvalue())