本文整理汇总了Golang中launchpad/net/juju-core/worker/firewaller.NewFirewaller函数的典型用法代码示例。如果您正苦于以下问题:Golang NewFirewaller函数的具体用法?Golang NewFirewaller怎么用?Golang NewFirewaller使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewFirewaller函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestGlobalModeRestartUnexposedService
func (s *FirewallerSuite) TestGlobalModeRestartUnexposedService(c *C) {
// Change configuration.
restore := s.setGlobalMode(c)
defer restore(c)
// Start firewall and open ports.
fw := firewaller.NewFirewaller(s.State)
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, IsNil)
s.assertEnvironPorts(c, []instance.Port{{"tcp", 80}, {"tcp", 8080}})
// Stop firewall and clear exposed flag on service.
err = fw.Stop()
c.Assert(err, IsNil)
err = svc.ClearExposed()
c.Assert(err, IsNil)
// Start firewall and check port.
fw = firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertEnvironPorts(c, nil)
}
示例2: TestGlobalModeRestartPortCount
func (s *FirewallerSuite) TestGlobalModeRestartPortCount(c *C) {
// Change configuration.
restore := s.setGlobalMode(c)
defer restore(c)
// Start firewall and open ports.
fw := firewaller.NewFirewaller(s.State)
svc1, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc1.SetExposed()
c.Assert(err, IsNil)
u1, m1 := s.addUnit(c, svc1)
s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u1.OpenPort("tcp", 8080)
c.Assert(err, IsNil)
s.assertEnvironPorts(c, []instance.Port{{"tcp", 80}, {"tcp", 8080}})
// Stop firewall and add another service using the port.
err = fw.Stop()
c.Assert(err, IsNil)
svc2, err := s.State.AddService("moinmoin", s.charm)
c.Assert(err, IsNil)
err = svc2.SetExposed()
c.Assert(err, IsNil)
u2, m2 := s.addUnit(c, svc2)
s.startInstance(c, m2)
err = u2.OpenPort("tcp", 80)
c.Assert(err, IsNil)
// Start firewall and check port.
fw = firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertEnvironPorts(c, []instance.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, IsNil)
s.assertEnvironPorts(c, []instance.Port{{"tcp", 80}, {"tcp", 8080}})
// Closing a port used just once changes the environment.
err = u1.ClosePort("tcp", 8080)
c.Assert(err, IsNil)
s.assertEnvironPorts(c, []instance.Port{{"tcp", 80}})
// Closing the last port also modifies the environment.
err = u2.ClosePort("tcp", 80)
c.Assert(err, IsNil)
s.assertEnvironPorts(c, nil)
}
示例3: TestRemoveService
func (s *FirewallerSuite) TestRemoveService(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}})
// Remove service.
err = u.EnsureDead()
c.Assert(err, IsNil)
err = u.Remove()
c.Assert(err, IsNil)
err = svc.Destroy()
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例4: TestRemoveUnit
func (s *FirewallerSuite) TestRemoveUnit(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u1, m1 := s.addUnit(c, svc)
inst1 := s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, IsNil)
u2, m2 := s.addUnit(c, svc)
inst2 := s.startInstance(c, m2)
err = u2.OpenPort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), []instance.Port{{"tcp", 80}})
s.assertPorts(c, inst2, m2.Id(), []instance.Port{{"tcp", 80}})
// Remove unit.
err = u1.EnsureDead()
c.Assert(err, IsNil)
err = u1.Remove()
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), nil)
s.assertPorts(c, inst2, m2.Id(), []instance.Port{{"tcp", 80}})
}
示例5: TestRemoveMachine
func (s *FirewallerSuite) TestRemoveMachine(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}})
// Remove unit.
err = u.EnsureDead()
c.Assert(err, IsNil)
err = u.Remove()
c.Assert(err, 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, IsNil)
err = m.EnsureDead()
c.Assert(err, IsNil)
err = m.Remove()
c.Assert(err, IsNil)
}
示例6: TestStartWithUnexposedService
func (s *FirewallerSuite) TestStartWithUnexposedService(c *C) {
m, err := s.State.AddMachine("series", state.JobHostUnits)
c.Assert(err, IsNil)
inst := s.startInstance(c, m)
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
u, err := svc.AddUnit()
c.Assert(err, IsNil)
err = u.AssignToMachine(m)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
// Starting the firewaller, no open ports.
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertPorts(c, inst, m.Id(), nil)
// Expose service.
err = svc.SetExposed()
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}})
}
示例7: TestStartWithState
func (s *FirewallerSuite) TestStartWithState(c *C) {
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, IsNil)
// Nothing open without firewaller.
s.assertPorts(c, inst, m.Id(), nil)
// Starting the firewaller opens the ports.
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}, {"tcp", 8080}})
err = svc.SetExposed()
c.Assert(err, IsNil)
}
示例8: TestGlobalModeStartWithUnexposedService
func (s *FirewallerSuite) TestGlobalModeStartWithUnexposedService(c *C) {
// Change configuration.
restore := s.setGlobalMode(c)
defer restore(c)
m, err := s.State.AddMachine("series", state.JobHostUnits)
c.Assert(err, IsNil)
s.startInstance(c, m)
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
u, err := svc.AddUnit()
c.Assert(err, IsNil)
err = u.AssignToMachine(m)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
// Starting the firewaller, no open ports.
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertEnvironPorts(c, nil)
// Expose service.
err = svc.SetExposed()
c.Assert(err, IsNil)
s.assertEnvironPorts(c, []instance.Port{{"tcp", 80}})
}
示例9: TestStartWithPartialState
func (s *FirewallerSuite) TestStartWithPartialState(c *C) {
m, err := s.State.AddMachine(state.JobHostUnits)
c.Assert(err, IsNil)
inst, err := s.Conn.Environ.StartInstance(m.Id(), testing.InvalidStateInfo(m.Id()), nil)
c.Assert(err, IsNil)
err = m.SetInstanceId(inst.Id())
c.Assert(err, IsNil)
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
// Starting the firewaller, no open ports.
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
s.assertPorts(c, inst, m.Id(), nil)
// Complete steps to open port.
u, err := svc.AddUnit()
c.Assert(err, IsNil)
err = u.AssignToMachine(m)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), []state.Port{{"tcp", 80}})
}
示例10: TestDeadMachine
func (s *FirewallerSuite) TestDeadMachine(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc.SetExposed()
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}})
// Remove unit and service, also tested without. Has no effect.
err = u.EnsureDead()
c.Assert(err, IsNil)
err = u.Remove()
c.Assert(err, IsNil)
err = svc.Destroy()
c.Assert(err, IsNil)
// Kill machine.
err = m.Refresh()
c.Assert(err, IsNil)
err = m.EnsureDead()
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例11: TestSetClearExposedService
func (s *FirewallerSuite) TestSetClearExposedService(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, 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, IsNil)
s.assertPorts(c, inst, m.Id(), []instance.Port{{"tcp", 80}, {"tcp", 8080}})
// ClearExposed closes the ports again.
err = svc.ClearExposed()
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例12: TestRemoveMultipleServices
func (s *FirewallerSuite) TestRemoveMultipleServices(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc1, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc1.SetExposed()
c.Assert(err, IsNil)
u1, m1 := s.addUnit(c, svc1)
inst1 := s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, IsNil)
svc2, err := s.State.AddService("mysql", s.charm)
c.Assert(err, IsNil)
err = svc2.SetExposed()
c.Assert(err, IsNil)
u2, m2 := s.addUnit(c, svc2)
inst2 := s.startInstance(c, m2)
err = u2.OpenPort("tcp", 3306)
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), []state.Port{{"tcp", 80}})
s.assertPorts(c, inst2, m2.Id(), []state.Port{{"tcp", 3306}})
// Remove services.
err = u2.EnsureDead()
c.Assert(err, IsNil)
err = svc2.RemoveUnit(u2)
c.Assert(err, IsNil)
err = svc2.Destroy()
c.Assert(err, IsNil)
err = u1.EnsureDead()
c.Assert(err, IsNil)
err = svc1.RemoveUnit(u1)
c.Assert(err, IsNil)
err = svc1.Destroy()
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), nil)
s.assertPorts(c, inst2, m2.Id(), nil)
}
示例13: RunOnce
func (a *MachineAgent) RunOnce(st *state.State, e AgentState) error {
m := e.(*state.Machine)
log.Printf("cmd/jujud: running jobs for machine agent: %v", m.Jobs())
tasks := []task{NewUpgrader(st, m, a.Conf.DataDir)}
for _, j := range m.Jobs() {
switch j {
case state.JobHostUnits:
tasks = append(tasks,
newDeployer(st, m.WatchPrincipalUnits(), a.Conf.DataDir))
case state.JobManageEnviron:
tasks = append(tasks,
provisioner.NewProvisioner(st),
firewaller.NewFirewaller(st))
default:
log.Printf("cmd/jujud: ignoring unknown job %q", j)
}
}
return runTasks(a.tomb.Dying(), tasks...)
}
示例14: TestNotExposedService
func (s *FirewallerSuite) TestNotExposedService(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
u, m := s.addUnit(c, svc)
inst := s.startInstance(c, m)
err = u.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u.OpenPort("tcp", 8080)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), nil)
err = u.ClosePort("tcp", 80)
c.Assert(err, IsNil)
s.assertPorts(c, inst, m.Id(), nil)
}
示例15: TestMultipleExposedServices
func (s *FirewallerSuite) TestMultipleExposedServices(c *C) {
fw := firewaller.NewFirewaller(s.State)
defer func() { c.Assert(fw.Stop(), IsNil) }()
svc1, err := s.State.AddService("wordpress", s.charm)
c.Assert(err, IsNil)
err = svc1.SetExposed()
c.Assert(err, IsNil)
u1, m1 := s.addUnit(c, svc1)
inst1 := s.startInstance(c, m1)
err = u1.OpenPort("tcp", 80)
c.Assert(err, IsNil)
err = u1.OpenPort("tcp", 8080)
c.Assert(err, IsNil)
svc2, err := s.State.AddService("mysql", s.charm)
c.Assert(err, IsNil)
err = svc2.SetExposed()
c.Assert(err, IsNil)
u2, m2 := s.addUnit(c, svc2)
inst2 := s.startInstance(c, m2)
err = u2.OpenPort("tcp", 3306)
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), []instance.Port{{"tcp", 80}, {"tcp", 8080}})
s.assertPorts(c, inst2, m2.Id(), []instance.Port{{"tcp", 3306}})
err = u1.ClosePort("tcp", 80)
c.Assert(err, IsNil)
err = u2.ClosePort("tcp", 3306)
c.Assert(err, IsNil)
s.assertPorts(c, inst1, m1.Id(), []instance.Port{{"tcp", 8080}})
s.assertPorts(c, inst2, m2.Id(), nil)
}