本文整理汇总了Golang中github.com/juju/juju/worker/firewaller.NewFirewaller函数的典型用法代码示例。如果您正苦于以下问题:Golang NewFirewaller函数的具体用法?Golang NewFirewaller怎么用?Golang NewFirewaller使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewFirewaller函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestGlobalModeRestartUnexposedService
func (s *FirewallerGlobalModeSuite) TestGlobalModeRestartUnexposedService(c *gc.C) {
// Start firewaller and open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
u, m := s.addUnit(c, svc)
s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}, {"tcp", 8080}})
// Stop firewaller and clear exposed flag on service.
err = fw.Stop()
c.Assert(err, gc.IsNil)
err = svc.ClearExposed()
c.Assert(err, gc.IsNil)
// Start firewaller and check port.
fw, err = firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
s.assertEnvironPorts(c, nil)
}
示例2: TestRestartUnexposedService
func (s *GlobalModeSuite) TestRestartUnexposedService(c *gc.C) {
// Start firewaller and open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
u, m := s.addUnit(c, svc)
s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, jc.ErrorIsNil)
s.assertEnvironPorts(c, []network.PortRange{{80, 80, "tcp"}, {8080, 8080, "tcp"}})
// Stop firewaller and clear exposed flag on service.
err = worker.Stop(fw)
c.Assert(err, jc.ErrorIsNil)
err = svc.ClearExposed()
c.Assert(err, jc.ErrorIsNil)
// Start firewaller and check port.
fw, err = firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
s.assertEnvironPorts(c, nil)
}
示例3: TestGlobalModeRestartPortCount
func (s *FirewallerGlobalModeSuite) TestGlobalModeRestartPortCount(c *gc.C) {
// Start firewaller and open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
svc1 := s.AddTestingService(c, "wordpress", s.charm)
err = svc1.SetExposed()
c.Assert(err, gc.IsNil)
u1, m1 := s.addUnit(c, svc1)
s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
err = u1.OpenPort("tcp", 8080)
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}, {"tcp", 8080}})
// Stop firewaller and add another service using the port.
err = fw.Stop()
c.Assert(err, gc.IsNil)
svc2 := s.AddTestingService(c, "moinmoin", s.charm)
err = svc2.SetExposed()
c.Assert(err, gc.IsNil)
u2, m2 := s.addUnit(c, svc2)
s.startInstance(c, m2)
err = u2.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
// Start firewaller and check port.
fw, err = firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}, {"tcp", 8080}})
// Closing a port opened by a different unit won't touch the environment.
err = u1.ClosePort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}, {"tcp", 8080}})
// Closing a port used just once changes the environment.
err = u1.ClosePort("tcp", 8080)
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}})
// Closing the last port also modifies the environment.
err = u2.ClosePort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, nil)
}
示例4: TestMultipleUnits
func (s *FirewallerSuite) TestMultipleUnits(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
u1, m1 := s.addUnit(c, svc)
inst1 := s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
u2, m2 := s.addUnit(c, svc)
inst2 := s.startInstance(c, m2)
err = u2.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst1, m1.Id(), []network.PortRange{{80, 80, "tcp"}})
s.assertPorts(c, inst2, m2.Id(), []network.PortRange{{80, 80, "tcp"}})
err = u1.ClosePort("tcp", 80)
c.Assert(err, gc.IsNil)
err = u2.ClosePort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst1, m1.Id(), nil)
s.assertPorts(c, inst2, m2.Id(), nil)
}
示例5: TestStartWithStateOpenPortsBroken
func (s *InstanceModeSuite) TestStartWithStateOpenPortsBroken(c *gc.C) {
svc := s.AddTestingService(c, "wordpress", s.charm)
err := svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
// Nothing open without firewaller.
s.assertPorts(c, inst, m.Id(), nil)
dummy.SetInstanceBroken(inst, "OpenPorts")
// Starting the firewaller should attempt to open the ports,
// and fail due to the method being broken.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
errc := make(chan error, 1)
go func() { errc <- fw.Wait() }()
s.BackingState.StartSync()
select {
case err := <-errc:
c.Assert(err, gc.ErrorMatches,
`cannot respond to units changes for "machine-1": dummyInstance.OpenPorts is broken`)
case <-time.After(coretesting.LongWait):
fw.Kill()
fw.Wait()
c.Fatal("timed out waiting for firewaller to stop")
}
}
示例6: TestDeadMachine
func (s *FirewallerSuite) TestDeadMachine(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), []network.Port{{"tcp", 80}})
// Remove unit and service, also tested without. Has no effect.
err = u.EnsureDead()
c.Assert(err, gc.IsNil)
err = u.Remove()
c.Assert(err, gc.IsNil)
err = svc.Destroy()
c.Assert(err, gc.IsNil)
// Kill machine.
err = m.Refresh()
c.Assert(err, gc.IsNil)
err = m.EnsureDead()
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例7: TestSetClearExposedService
func (s *FirewallerSuite) TestSetClearExposedService(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
svc := s.AddTestingService(c, "wordpress", s.charm)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, gc.IsNil)
// Not exposed service, so no open port.
s.assertPorts(c, inst, m.Id(), nil)
// SeExposed opens the ports.
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), []network.Port{{"tcp", 80}, {"tcp", 8080}})
// ClearExposed closes the ports again.
err = svc.ClearExposed()
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例8: TestRemoveUnit
func (s *InstanceModeSuite) TestRemoveUnit(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
u1, m1 := s.addUnit(c, svc)
inst1 := s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
u2, m2 := s.addUnit(c, svc)
inst2 := s.startInstance(c, m2)
err = u2.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst1, m1.Id(), []network.PortRange{{80, 80, "tcp"}})
s.assertPorts(c, inst2, m2.Id(), []network.PortRange{{80, 80, "tcp"}})
// Remove unit.
err = u1.EnsureDead()
c.Assert(err, jc.ErrorIsNil)
err = u1.Remove()
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst1, m1.Id(), nil)
s.assertPorts(c, inst2, m2.Id(), []network.PortRange{{80, 80, "tcp"}})
}
示例9: TestDeadMachine
func (s *InstanceModeSuite) TestDeadMachine(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst, m.Id(), []network.PortRange{{80, 80, "tcp"}})
// Remove unit and service, also tested without. Has no effect.
err = u.EnsureDead()
c.Assert(err, jc.ErrorIsNil)
err = u.Remove()
c.Assert(err, jc.ErrorIsNil)
err = svc.Destroy()
c.Assert(err, jc.ErrorIsNil)
// Kill machine.
err = m.Refresh()
c.Assert(err, jc.ErrorIsNil)
err = m.EnsureDead()
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例10: TestSetClearExposedService
func (s *InstanceModeSuite) TestSetClearExposedService(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
svc := s.AddTestingService(c, "wordpress", s.charm)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, jc.ErrorIsNil)
// Not exposed service, so no open port.
s.assertPorts(c, inst, m.Id(), nil)
// SeExposed opens the ports.
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst, m.Id(), []network.PortRange{{80, 80, "tcp"}, {8080, 8080, "tcp"}})
// ClearExposed closes the ports again.
err = svc.ClearExposed()
c.Assert(err, jc.ErrorIsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例11: TestStartWithState
func (s *InstanceModeSuite) TestStartWithState(c *gc.C) {
svc := s.AddTestingService(c, "wordpress", s.charm)
err := svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, jc.ErrorIsNil)
// Nothing open without firewaller.
s.assertPorts(c, inst, m.Id(), nil)
// Starting the firewaller opens the ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
s.assertPorts(c, inst, m.Id(), []network.PortRange{{80, 80, "tcp"}, {8080, 8080, "tcp"}})
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
}
示例12: TestRemoveMachine
func (s *FirewallerSuite) TestRemoveMachine(c *gc.C) {
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), []network.Port{{"tcp", 80}})
// Remove unit.
err = u.EnsureDead()
c.Assert(err, gc.IsNil)
err = u.Remove()
c.Assert(err, gc.IsNil)
// Remove machine. Nothing bad should happen, but can't
// assert port state since the machine must have been
// destroyed and we lost its reference.
err = m.Refresh()
c.Assert(err, gc.IsNil)
err = m.EnsureDead()
c.Assert(err, gc.IsNil)
err = m.Remove()
c.Assert(err, gc.IsNil)
}
示例13: TestStartWithUnexposedService
func (s *GlobalModeSuite) TestStartWithUnexposedService(c *gc.C) {
m, err := s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, jc.ErrorIsNil)
s.startInstance(c, m)
svc := s.AddTestingService(c, "wordpress", s.charm)
u, err := svc.AddUnit()
c.Assert(err, jc.ErrorIsNil)
err = u.AssignToMachine(m)
c.Assert(err, jc.ErrorIsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, jc.ErrorIsNil)
// Starting the firewaller, no open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, jc.ErrorIsNil)
defer statetesting.AssertKillAndWait(c, fw)
s.assertEnvironPorts(c, nil)
// Expose service.
err = svc.SetExposed()
c.Assert(err, jc.ErrorIsNil)
s.assertEnvironPorts(c, []network.PortRange{{80, 80, "tcp"}})
}
示例14: TestStartWithPartialState
func (s *FirewallerSuite) TestStartWithPartialState(c *gc.C) {
m, err := s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
inst := s.startInstance(c, m)
svc := s.AddTestingService(c, "wordpress", s.charm)
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
// Starting the firewaller, no open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
s.assertPorts(c, inst, m.Id(), nil)
// Complete steps to open port.
u, err := svc.AddUnit()
c.Assert(err, gc.IsNil)
err = u.AssignToMachine(m)
c.Assert(err, gc.IsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
s.assertPorts(c, inst, m.Id(), []network.Port{{"tcp", 80}})
}
示例15: TestGlobalModeStartWithUnexposedService
func (s *FirewallerGlobalModeSuite) TestGlobalModeStartWithUnexposedService(c *gc.C) {
m, err := s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
s.startInstance(c, m)
svc := s.AddTestingService(c, "wordpress", s.charm)
u, err := svc.AddUnit()
c.Assert(err, gc.IsNil)
err = u.AssignToMachine(m)
c.Assert(err, gc.IsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, gc.IsNil)
// Starting the firewaller, no open ports.
fw, err := firewaller.NewFirewaller(s.firewaller)
c.Assert(err, gc.IsNil)
defer func() { c.Assert(fw.Stop(), gc.IsNil) }()
s.assertEnvironPorts(c, nil)
// Expose service.
err = svc.SetExposed()
c.Assert(err, gc.IsNil)
s.assertEnvironPorts(c, []network.Port{{"tcp", 80}})
}