示例#1
0
					container, err := client.Create(garden.ContainerSpec{})
					Expect(err).NotTo(HaveOccurred())

					hostPort, _, err := container.NetIn(0, 0)
					Expect(err).NotTo(HaveOccurred())
					Expect(hostPort).To(Equal(uint32(portPoolStart + (numContainers - 1) - i)))
				}
			})

			Context("when guardian is restarted", func() {
				BeforeEach(func() {
					numContainers = 3
				})

				JustBeforeEach(func() {
					client.Stop()
					client = startGarden(args...)
				})

				It("should persist the head of the port allocation queue", func() {
					container, err := client.Create(garden.ContainerSpec{})
					Expect(err).NotTo(HaveOccurred())

					hostPort, _, err := container.NetIn(0, 0)
					Expect(err).NotTo(HaveOccurred())
					Expect(expectedPort).To(Equal(uint32(hostPort)))
				})

				It("should arrange the ports in increasing order starting with the head", func() {
					for i := 0; i < numContainers; i++ {
						container, err := client.Create(garden.ContainerSpec{})
示例#2
0
	It("can get the default properties", func() {
		props, err := container.Properties()
		Expect(err).ToNot(HaveOccurred())

		Expect(props).To(HaveKey("kawasaki.bridge-interface"))
		Expect(props).To(HaveKey(gardener.BridgeIPKey))
		Expect(props).To(HaveKey(gardener.ContainerIPKey))
		Expect(props).To(HaveKey("kawasaki.host-interface"))
		Expect(props).To(HaveKey("kawasaki.iptable-inst"))
		Expect(props).To(HaveKey("kawasaki.subnet"))
		Expect(props).To(HaveKey("kawasaki.container-interface"))
		Expect(props).To(HaveKey(gardener.ExternalIPKey))
		Expect(props).To(HaveKey("kawasaki.mtu"))
	})

	Context("after a server restart", func() {
		It("can still get the container's properties", func() {
			beforeProps, err := container.Properties()
			Expect(err).NotTo(HaveOccurred())

			Expect(client.Stop()).To(Succeed())
			client = startGarden(args...)

			afterProps, err := container.Properties()
			Expect(err).NotTo(HaveOccurred())

			Expect(beforeProps).To(Equal(afterProps))
		})
	})
})
示例#3
0
func restartGarden(client *runner.RunningGarden, argv ...string) {
	Expect(client.Ping()).To(Succeed(), "tried to restart garden while it was not running")
	Expect(client.Stop()).To(Succeed())
	client = startGarden(argv...)
}