mirror of
https://github.com/rancher/os.git
synced 2025-09-24 20:09:21 +00:00
cherry-pick Test complicated dhcp with static ip #1915
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
This commit is contained in:
@@ -2,6 +2,7 @@ package integration
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
. "gopkg.in/check.v1"
|
||||
@@ -117,3 +118,156 @@ sync
|
||||
s.CheckOutput(c, version, Equals, "sudo ros -v")
|
||||
s.Stop(c)
|
||||
}
|
||||
|
||||
func (s *QemuSuite) TestAutoResize(c *C) {
|
||||
runArgs := []string{
|
||||
"--iso",
|
||||
"--fresh",
|
||||
}
|
||||
version := ""
|
||||
disk := "/dev/vda1\n"
|
||||
size := ""
|
||||
{
|
||||
s.RunQemuWith(c, runArgs...)
|
||||
|
||||
version = s.CheckOutput(c, version, Not(Equals), "sudo ros -v")
|
||||
fmt.Printf("installing %s", version)
|
||||
|
||||
s.CheckCall(c, `
|
||||
set -ex
|
||||
echo "ssh_authorized_keys:" > config.yml
|
||||
echo " - $(cat /home/rancher/.ssh/authorized_keys)" >> config.yml
|
||||
sudo ros install --force --no-reboot --device /dev/vda -c config.yml --append "rancher.resize_device=/dev/vda"
|
||||
sync
|
||||
`)
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
s.CheckCall(c, "sudo mount "+strings.TrimSpace(disk)+" /mnt")
|
||||
size = s.CheckOutput(c, size, Not(Equals), "df -h | grep "+strings.TrimSpace(disk)+" | head -n1 | sed 's/ \\+/;/g' | cut -d ';' -f 2")
|
||||
s.Stop(c)
|
||||
}
|
||||
|
||||
// ./scripts/run --no-format --append "rancher.debug=true"
|
||||
runArgs = []string{
|
||||
"--boothd",
|
||||
"--resizehd", "+20G",
|
||||
}
|
||||
s.RunQemuWith(c, runArgs...)
|
||||
|
||||
s.CheckOutput(c, version, Equals, "sudo ros -v")
|
||||
s.CheckOutput(c, disk, Equals, "blkid | cut -f 1 -d ' ' | sed 's/://'")
|
||||
s.CheckOutput(c, size, Not(Equals), "df -h | grep "+strings.TrimSpace(disk)+" | head -n1 | sed 's/ \\+/;/g' | cut -d ';' -f 2")
|
||||
|
||||
s.Stop(c)
|
||||
}
|
||||
|
||||
func (s *QemuSuite) KillsMyServerTestInstalledDhcp(c *C) {
|
||||
// ./scripts/run --no-format --append "rancher.debug=true" --iso --fresh
|
||||
runArgs := []string{
|
||||
"--iso",
|
||||
"--fresh",
|
||||
// "-net", "nic,vlan=0,model=virtio",
|
||||
// "-net", "user,vlan=0",
|
||||
// "-net", "nic,vlan=0,model=virtio",
|
||||
// "-net", "user,vlan=0",
|
||||
}
|
||||
version := ""
|
||||
{
|
||||
s.RunQemuWith(c, runArgs...)
|
||||
|
||||
s.MakeCall("ip a")
|
||||
|
||||
version = s.CheckOutput(c, version, Not(Equals), "sudo ros -v")
|
||||
fmt.Printf("installing %s", version)
|
||||
|
||||
s.CheckCall(c, `
|
||||
echo "ssh_authorized_keys:" > config.yml
|
||||
echo " - $(cat /home/rancher/.ssh/authorized_keys)" >> config.yml
|
||||
echo "rancher:" >> config.yml
|
||||
echo " network:" >> config.yml
|
||||
echo " interfaces:" >> config.yml
|
||||
echo " eth2:" >> config.yml
|
||||
echo " dhcp: true" >> config.yml
|
||||
echo " eth1:" >> config.yml
|
||||
echo " address: 10.0.2.253/24" >> config.yml
|
||||
echo " dhcp: false" >> config.yml
|
||||
echo " gateway: 10.0.2.1" >> config.yml
|
||||
echo " mtu: 1500" >> config.yml
|
||||
ip a
|
||||
echo "==================="
|
||||
cat config.yml | sudo ros config merge
|
||||
sudo ros service stop network
|
||||
sleep 1
|
||||
sudo ros service start network
|
||||
sleep 1
|
||||
ip a
|
||||
echo "==================="
|
||||
sudo ros install --force --no-reboot --device /dev/vda -c config.yml -a "console=ttyS0 rancher.console=ttyS0 rancher.autologin=ttyS0 rancher.console=ttyS1 rancher.autologin=ttyS1 rancher.debug=true"
|
||||
sync
|
||||
`)
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
s.Stop(c)
|
||||
}
|
||||
|
||||
runArgs = []string{
|
||||
"--boothd",
|
||||
"-net", "nic,vlan=0,model=virtio",
|
||||
"-net", "user,vlan=0",
|
||||
"-net", "nic,vlan=0,model=virtio",
|
||||
"-net", "user,vlan=0",
|
||||
}
|
||||
s.RunQemuWithNetConsole(c, runArgs...)
|
||||
|
||||
s.NetCheckOutput(c, version, Equals, "sudo ros -v")
|
||||
s.NetCheckOutput(c, "", Not(Equals), "sh", "-c", "ip a show eth1 | grep 10.0.2..253")
|
||||
s.Stop(c)
|
||||
}
|
||||
|
||||
func (s *QemuSuite) TestConfigDhcp(c *C) {
|
||||
runArgs := []string{
|
||||
"--iso",
|
||||
"--fresh",
|
||||
"-net", "nic,vlan=0,model=virtio",
|
||||
"-net", "user,vlan=0",
|
||||
"-net", "nic,vlan=0,model=virtio",
|
||||
"-net", "user,vlan=0",
|
||||
}
|
||||
version := ""
|
||||
{
|
||||
s.RunQemuWithNetConsole(c, runArgs...)
|
||||
|
||||
s.NetCall("ip a")
|
||||
|
||||
version = s.NetCheckOutput(c, version, Not(Equals), "sudo ros -v")
|
||||
fmt.Printf("installing %s", version)
|
||||
|
||||
s.NetCheckCall(c, `
|
||||
echo "ssh_authorized_keys:" > config.yml
|
||||
echo " - $(cat /home/rancher/.ssh/authorized_keys)" >> config.yml
|
||||
echo "rancher:" >> config.yml
|
||||
echo " network:" >> config.yml
|
||||
echo " interfaces:" >> config.yml
|
||||
echo " eth2:" >> config.yml
|
||||
echo " dhcp: true" >> config.yml
|
||||
echo " eth1:" >> config.yml
|
||||
echo " address: 10.0.2.253/24" >> config.yml
|
||||
echo " dhcp: false" >> config.yml
|
||||
echo " gateway: 10.0.2.1" >> config.yml
|
||||
echo " mtu: 1500" >> config.yml
|
||||
ip a
|
||||
echo "==================="
|
||||
cat config.yml | sudo ros config merge
|
||||
sudo ros service stop network
|
||||
sleep 1
|
||||
sudo ros service start network
|
||||
sleep 1
|
||||
echo "==================="
|
||||
sudo system-docker logs network
|
||||
echo "==================="
|
||||
ip a
|
||||
`)
|
||||
|
||||
s.NetCheckOutput(c, version, Equals, "sudo ros -v")
|
||||
s.NetCheckOutput(c, "", Not(Equals), "sh", "-c", "\"ip a show eth1 | grep 10.0.2.253\"")
|
||||
s.Stop(c)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user