diff --git a/cmd/image/build.go b/cmd/image/build.go index 5b4a15109..5115488d9 100644 --- a/cmd/image/build.go +++ b/cmd/image/build.go @@ -23,13 +23,23 @@ import ( // NewImageBuildCommand creates a new command with the capability to build an ISO image. func NewImageBuildCommand(cfgFactory config.Factory) *cobra.Command { + options := &isogen.Options{ + CfgFactory: cfgFactory, + } cmd := &cobra.Command{ Use: "build", Short: "Build ISO image", RunE: func(cmd *cobra.Command, args []string) error { - return isogen.GenerateBootstrapIso(cfgFactory) + return options.GenerateBootstrapIso() }, } + flags := cmd.Flags() + flags.BoolVar( + &options.Progress, + "progress", + false, + "show progress") + return cmd } diff --git a/go.mod b/go.mod index 796fb252c..8fa703ed0 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.13 require ( github.com/Masterminds/sprig v2.22.0+incompatible github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect + github.com/cheggaaa/pb/v3 v3.0.4 github.com/docker/docker v1.4.2-0.20200203170920-46ec8731fbce github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c // indirect github.com/elazarl/goproxy v0.0.0-20190421051319-9d40249d3c2f // indirect diff --git a/go.sum b/go.sum index 622eda603..9a2229c14 100644 --- a/go.sum +++ b/go.sum @@ -87,6 +87,8 @@ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:H github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM= +github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= @@ -157,6 +159,8 @@ github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1 github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 h1:HD4PLRzjuCVW79mQ0/pdsalOLHJ+FaEoqJLxfltpb2U= github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw= github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= +github.com/cheggaaa/pb/v3 v3.0.4 h1:QZEPYOj2ix6d5oEg63fbHmpolrnNiwjUsk+h74Yt4bM= +github.com/cheggaaa/pb/v3 v3.0.4/go.mod h1:7rgWxLrAUcFMkvJuv09+DYi7mMUYi8nO9iOWcvGJPfw= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -285,6 +289,7 @@ github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwC github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= +github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= @@ -684,6 +689,7 @@ github.com/martinlindhe/base36 v1.0.0/go.mod h1:+AtEs8xrBpCeYgSLoY/aJ6Wf37jtBuR0 github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= @@ -692,10 +698,14 @@ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.6/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54= +github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-shellwords v1.0.9/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -1221,11 +1231,13 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/pkg/bootstrap/isogen/command.go b/pkg/bootstrap/isogen/command.go index cff11fa35..b1bfea353 100644 --- a/pkg/bootstrap/isogen/command.go +++ b/pkg/bootstrap/isogen/command.go @@ -15,12 +15,18 @@ package isogen import ( + "bufio" "context" "fmt" + "io" "os" "path/filepath" + "regexp" + "strconv" "strings" + "github.com/cheggaaa/pb/v3" + "opendev.org/airship/airshipctl/pkg/api/v1alpha1" "opendev.org/airship/airshipctl/pkg/bootstrap/cloudinit" "opendev.org/airship/airshipctl/pkg/config" @@ -32,15 +38,31 @@ import ( const ( builderConfigFileName = "builder-conf.yaml" + + // progressBarTemplate is a template string for progress bar + // looks like 'Prefix [-->______] 20%' where Prefix is trimmed log line from docker container + progressBarTemplate = `{{string . "prefix"}} {{bar . }} {{percent . }} ` + // defaultTerminalWidth is a default width of terminal if it's impossible to determine the actual one + defaultTerminalWidth = 80 + // multiplier is a number of log lines produces while installing 1 package + multiplier = 3 + // reInstallActions is a regular expression to check whether the log line contains of this substrings + reInstallActions = `Extracting|Unpacking|Configuring|Preparing|Setting` ) +// Options is used for generate bootstrap ISO +type Options struct { + CfgFactory config.Factory + Progress bool +} + // GenerateBootstrapIso will generate data for cloud init and start ISO builder container // TODO (vkuzmin): Remove this public function and move another functions // to the executor module when the phases will be ready -func GenerateBootstrapIso(cfgFactory config.Factory) error { +func (s *Options) GenerateBootstrapIso() error { ctx := context.Background() - globalConf, err := cfgFactory() + globalConf, err := s.CfgFactory() if err != nil { return err } @@ -80,7 +102,7 @@ func GenerateBootstrapIso(cfgFactory config.Factory) error { return err } - err = createBootstrapIso(docBundle, builder, doc, imageConfiguration, log.DebugEnabled()) + err = createBootstrapIso(docBundle, builder, doc, imageConfiguration, log.DebugEnabled(), s.Progress) if err != nil { return err } @@ -141,6 +163,7 @@ func createBootstrapIso( doc document.Document, cfg *v1alpha1.ImageConfiguration, debug bool, + progress bool, ) error { cntVol := strings.Split(cfg.Container.Volume, ":")[1] log.Print("Creating cloud-init for ephemeral K8s") @@ -162,20 +185,44 @@ func createBootstrapIso( vols := []string{cfg.Container.Volume} builderCfgLocation := filepath.Join(cntVol, builderConfigFileName) log.Printf("Running default container command. Mounted dir: %s", vols) - if err := builder.RunCommand( - []string{}, - nil, - vols, - []string{ - fmt.Sprintf("BUILDER_CONFIG=%s", builderCfgLocation), - fmt.Sprintf("http_proxy=%s", os.Getenv("http_proxy")), - fmt.Sprintf("https_proxy=%s", os.Getenv("https_proxy")), - fmt.Sprintf("HTTP_PROXY=%s", os.Getenv("HTTP_PROXY")), - fmt.Sprintf("HTTPS_PROXY=%s", os.Getenv("HTTPS_PROXY")), - fmt.Sprintf("NO_PROXY=%s", os.Getenv("NO_PROXY")), - }, - debug, - ); err != nil { + + envVars := []string{ + fmt.Sprintf("BUILDER_CONFIG=%s", builderCfgLocation), + fmt.Sprintf("http_proxy=%s", os.Getenv("http_proxy")), + fmt.Sprintf("https_proxy=%s", os.Getenv("https_proxy")), + fmt.Sprintf("HTTP_PROXY=%s", os.Getenv("HTTP_PROXY")), + fmt.Sprintf("HTTPS_PROXY=%s", os.Getenv("HTTPS_PROXY")), + fmt.Sprintf("NO_PROXY=%s", os.Getenv("NO_PROXY")), + } + + err = builder.RunCommand([]string{}, nil, vols, envVars) + if err != nil { + return err + } + + log.Print("ISO generation is in progress. The whole process could take up to several minutes, please wait...") + + if debug || progress { + var cLogs io.ReadCloser + cLogs, err = builder.GetContainerLogs() + if err != nil { + log.Printf("failed to read container logs %s", err) + } else { + switch { + case progress: + showProgress(cLogs, log.Writer()) + case debug: + log.Print("start reading container logs") + // either container log output or progress bar will be shown + if _, err = io.Copy(log.Writer(), cLogs); err != nil { + log.Debugf("failed to write container logs to log output %s", err) + } + log.Print("got EOF from container logs") + } + } + } + + if err = builder.WaitUntilFinished(); err != nil { return err } @@ -188,3 +235,97 @@ func createBootstrapIso( log.Debugf("Debug flag is set. Container %s stopped but not deleted.", builder.GetID()) return nil } + +func showProgress(reader io.ReadCloser, writer io.Writer) { + reFindActions := regexp.MustCompile(reInstallActions) + + var bar *pb.ProgressBar + + scanner := bufio.NewScanner(reader) + scanner.Split(bufio.ScanLines) + // Reading container log line by line + for scanner.Scan() { + curLine := scanner.Text() + // Trying to find entry points of package installation + switch { + case strings.Contains(curLine, "Retrieving Packages") || + strings.Contains(curLine, "newly installed"): + finalizePb(bar, "Completed") + + pkgCount := calculatePkgCount(scanner, writer, curLine) + if pkgCount > 0 { + bar = pb.ProgressBarTemplate(progressBarTemplate).Start(pkgCount * multiplier) + bar.SetWriter(writer) + setPbPrefix(bar, "Installing required packages") + } + case strings.Contains(curLine, "Base system installed successfully") || + strings.Contains(curLine, "mksquashfs"): + finalizePb(bar, "Completed") + + case bar != nil && bar.IsStarted(): + if reFindActions.MatchString(curLine) { + if bar.Current() < bar.Total() { + setPbPrefix(bar, curLine) + bar.Increment() + } + } + case strings.Contains(curLine, "filesystem.squashfs"): + fmt.Fprintln(writer, curLine) + } + } + + finalizePb(bar, "An unexpected error occurred while log parsing") +} + +func finalizePb(bar *pb.ProgressBar, msg string) { + if bar != nil && bar.IsStarted() { + bar.SetCurrent(bar.Total()) + setPbPrefix(bar, msg) + bar.Finish() + } +} + +func setPbPrefix(bar *pb.ProgressBar, msg string) { + terminalWidth := defaultTerminalWidth + halfWidth := terminalWidth / 2 + bar.SetWidth(terminalWidth) + if len(msg) > halfWidth { + msg = fmt.Sprintf("%v...", msg[0:halfWidth-3]) + } else { + msg = fmt.Sprintf("%-*v", halfWidth, msg) + } + bar.Set("prefix", msg) +} + +func calculatePkgCount(scanner *bufio.Scanner, writer io.Writer, curLine string) int { + reFindNumbers := regexp.MustCompile("[0-9]+") + + // Trying to count how many packages is going to be installed + pkgCount := 0 + matches := reFindNumbers.FindAllString(curLine, -1) + if matches == nil { + // There is no numbers is line about base packages, counting them manually to get estimates + fmt.Fprint(writer, "Retrieving base packages ") + for scanner.Scan() { + curLine = scanner.Text() + if strings.Contains(curLine, "Retrieving") { + pkgCount++ + fmt.Fprint(writer, ".") + } + if strings.Contains(curLine, "Chosen extractor") { + fmt.Fprintln(writer, " Done") + return pkgCount + } + } + } + if len(matches) >= 2 { + for _, v := range matches[0:2] { + j, err := strconv.Atoi(v) + if err != nil { + continue + } + pkgCount += j + } + } + return pkgCount +} diff --git a/pkg/bootstrap/isogen/command_test.go b/pkg/bootstrap/isogen/command_test.go index 9bb8acffc..841809f29 100644 --- a/pkg/bootstrap/isogen/command_test.go +++ b/pkg/bootstrap/isogen/command_test.go @@ -15,9 +15,12 @@ package isogen import ( + "bufio" "bytes" "fmt" "io" + "io/ioutil" + "os" "strings" "testing" @@ -32,23 +35,24 @@ import ( ) type mockContainer struct { - imagePull func() error - runCommand func() error - runCommandOutput func() (io.ReadCloser, error) - rmContainer func() error - getID func() string + imagePull func() error + runCommand func() error + getContainerLogs func() (io.ReadCloser, error) + rmContainer func() error + getID func() string + waitUntilFinished func() error } func (mc *mockContainer) ImagePull() error { return mc.imagePull() } -func (mc *mockContainer) RunCommand([]string, io.Reader, []string, []string, bool) error { +func (mc *mockContainer) RunCommand([]string, io.Reader, []string, []string) error { return mc.runCommand() } -func (mc *mockContainer) RunCommandOutput([]string, io.Reader, []string, []string) (io.ReadCloser, error) { - return mc.runCommandOutput() +func (mc *mockContainer) GetContainerLogs() (io.ReadCloser, error) { + return mc.getContainerLogs() } func (mc *mockContainer) RmContainer() error { @@ -59,6 +63,12 @@ func (mc *mockContainer) GetID() string { return mc.getID() } +func (mc *mockContainer) WaitUntilFinished() error { + return mc.waitUntilFinished() +} + +const testID = "TESTID" + func TestBootstrapIso(t *testing.T) { bundle, err := document.NewBundleByPath("testdata/primary/site/test-site/ephemeral/bootstrap") require.NoError(t, err, "Building Bundle Failed") @@ -83,7 +93,7 @@ func TestBootstrapIso(t *testing.T) { } testBuilder := &mockContainer{ runCommand: func() error { return nil }, - getID: func() string { return "TESTID" }, + getID: func() string { return testID }, rmContainer: func() error { return nil }, } @@ -105,7 +115,9 @@ func TestBootstrapIso(t *testing.T) { }{ { builder: &mockContainer{ - runCommand: func() error { return testErr }, + runCommand: func() error { return testErr }, + waitUntilFinished: func() error { return nil }, + rmContainer: func() error { return nil }, }, cfg: testCfg, doc: testDoc, @@ -114,7 +126,13 @@ func TestBootstrapIso(t *testing.T) { expectedErr: testErr, }, { - builder: testBuilder, + builder: &mockContainer{ + runCommand: func() error { return nil }, + getID: func() string { return "TESTID" }, + waitUntilFinished: func() error { return nil }, + rmContainer: func() error { return nil }, + getContainerLogs: func() (io.ReadCloser, error) { return ioutil.NopCloser(strings.NewReader("")), nil }, + }, cfg: testCfg, doc: testDoc, debug: true, @@ -123,9 +141,10 @@ func TestBootstrapIso(t *testing.T) { }, { builder: &mockContainer{ - runCommand: func() error { return nil }, - getID: func() string { return "TESTID" }, - rmContainer: func() error { return testErr }, + runCommand: func() error { return nil }, + getID: func() string { return "TESTID" }, + rmContainer: func() error { return testErr }, + waitUntilFinished: func() error { return nil }, }, cfg: testCfg, doc: testDoc, @@ -148,7 +167,7 @@ func TestBootstrapIso(t *testing.T) { for _, tt := range tests { outBuf := &bytes.Buffer{} log.Init(tt.debug, outBuf) - actualErr := createBootstrapIso(bundle, tt.builder, tt.doc, tt.cfg, tt.debug) + actualErr := createBootstrapIso(bundle, tt.builder, tt.doc, tt.cfg, tt.debug, false) actualOut := outBuf.String() for _, line := range tt.expectedOut { @@ -233,70 +252,92 @@ func TestGenerateBootstrapIso(t *testing.T) { airshipConfigPath := "testdata/config/config" kubeConfigPath := "testdata/config/kubeconfig" - t.Run("EnsureCompleteError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() - require.NoError(t, err) - expectedErr := config.ErrMissingConfig{What: "Context with name ''"} - settings.CurrentContext = "" - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) - assert.Equal(t, expectedErr, actualErr) - }) - t.Run("ContextEntryPointError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() + cfg, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() require.NoError(t, err) + cfg.Manifests["default"].Repositories = make(map[string]*config.Repository) + settings := &Options{CfgFactory: func() (*config.Config, error) { + return cfg, nil + }} expectedErr := config.ErrMissingPrimaryRepo{} - settings.Manifests["default"].Repositories = make(map[string]*config.Repository) - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) + actualErr := settings.GenerateBootstrapIso() assert.Equal(t, expectedErr, actualErr) }) t.Run("NewBundleByPathError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() + cfg, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() require.NoError(t, err) + cfg.Manifests["default"].TargetPath = "/nonexistent" + settings := &Options{CfgFactory: func() (*config.Config, error) { + return cfg, nil + }} expectedErr := config.ErrMissingPhaseDocument{PhaseName: "bootstrap"} - settings.Manifests["default"].TargetPath = "/nonexistent" - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) + actualErr := settings.GenerateBootstrapIso() assert.Equal(t, expectedErr, actualErr) }) t.Run("SelectOneError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() + cfg, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() require.NoError(t, err) + cfg.Manifests["default"].SubPath = "missingkinddoc/site/test-site" + settings := &Options{CfgFactory: func() (*config.Config, error) { + return cfg, nil + }} expectedErr := document.ErrDocNotFound{ Selector: document.NewSelector().ByGvk("airshipit.org", "v1alpha1", "ImageConfiguration")} - settings.Manifests["default"].SubPath = "missingkinddoc/site/test-site" - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) + actualErr := settings.GenerateBootstrapIso() assert.Equal(t, expectedErr, actualErr) }) t.Run("ToObjectError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() + cfg, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() require.NoError(t, err) + cfg.Manifests["default"].SubPath = "missingmetadoc/site/test-site" + settings := &Options{CfgFactory: func() (*config.Config, error) { + return cfg, nil + }} expectedErrMessage := "missing metadata.name in object" - settings.Manifests["default"].SubPath = "missingmetadoc/site/test-site" - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) + actualErr := settings.GenerateBootstrapIso() assert.Contains(t, actualErr.Error(), expectedErrMessage) }) t.Run("verifyInputsError", func(t *testing.T) { - settings, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() + cfg, err := config.CreateFactory(&airshipConfigPath, &kubeConfigPath)() require.NoError(t, err) + cfg.Manifests["default"].SubPath = "missingvoldoc/site/test-site" + settings := &Options{CfgFactory: func() (*config.Config, error) { + return cfg, nil + }} expectedErr := config.ErrMissingConfig{What: "Must specify volume bind for ISO builder container"} - settings.Manifests["default"].SubPath = "missingvoldoc/site/test-site" - actualErr := GenerateBootstrapIso(func() (*config.Config, error) { - return settings, nil - }) + actualErr := settings.GenerateBootstrapIso() assert.Equal(t, expectedErr, actualErr) }) } + +func TestShowProgress(t *testing.T) { + tests := []struct { + name string + input string + output string + }{ + { + name: "Process-debian-based-logs", + input: "testdata/debian-container-logs", + output: "testdata/pb-output-debian", + }, + } + + for _, tt := range tests { + tt := tt + file, err := os.Open(tt.input) + require.NoError(t, err) + reader := ioutil.NopCloser(bufio.NewReader(file)) + writer := &bytes.Buffer{} + showProgress(reader, writer) + err = file.Close() + require.NoError(t, err) + expected, err := ioutil.ReadFile(tt.output) + require.NoError(t, err) + assert.Equal(t, expected, writer.Bytes()) + } +} diff --git a/pkg/bootstrap/isogen/executor.go b/pkg/bootstrap/isogen/executor.go index b21313ff4..2ab29b59a 100644 --- a/pkg/bootstrap/isogen/executor.go +++ b/pkg/bootstrap/isogen/executor.go @@ -110,7 +110,7 @@ func (c *Executor) Run(evtCh chan events.Event, opts ifc.RunOptions) { } } - err := createBootstrapIso(c.ExecutorBundle, c.builder, c.ExecutorDocument, c.imgConf, log.DebugEnabled()) + err := createBootstrapIso(c.ExecutorBundle, c.builder, c.ExecutorDocument, c.imgConf, log.DebugEnabled(), false) if err != nil { handleError(evtCh, err) return diff --git a/pkg/bootstrap/isogen/executor_test.go b/pkg/bootstrap/isogen/executor_test.go index 38c5f1429..6200a165b 100644 --- a/pkg/bootstrap/isogen/executor_test.go +++ b/pkg/bootstrap/isogen/executor_test.go @@ -104,9 +104,10 @@ func TestExecutorRun(t *testing.T) { { name: "Run isogen successfully", builder: &mockContainer{ - runCommand: func() error { return nil }, - getID: func() string { return "TESTID" }, - rmContainer: func() error { return nil }, + runCommand: func() error { return nil }, + getID: func() string { return "TESTID" }, + rmContainer: func() error { return nil }, + waitUntilFinished: func() error { return nil }, }, expectedEvt: []events.Event{ { diff --git a/pkg/bootstrap/isogen/testdata/debian-container-logs b/pkg/bootstrap/isogen/testdata/debian-container-logs new file mode 100755 index 000000000..e3e7dde6e --- /dev/null +++ b/pkg/bootstrap/isogen/testdata/debian-container-logs @@ -0,0 +1,1703 @@ ++ _check_input_data_set_vars ++ CHROOT=/root/LIVE_BOOT/chroot ++ export CHROOT ++ export CLOUD_DATA_LATEST=/root/LIVE_BOOT/image/openstack/latest ++ CLOUD_DATA_LATEST=/root/LIVE_BOOT/image/openstack/latest ++ echo /config/builder-conf.yaml +/config/builder-conf.yaml ++ '[' '!' -f /config/builder-conf.yaml ']' ++ IFS=: ++ read -ra ADDR +++ yq r /config/builder-conf.yaml container.volume ++ VOLUME=/config ++ echo /config +/config ++ [[ /config == \n\o\n\e ]] ++ [[ ! -d /config ]] +++ yq r /config/builder-conf.yaml builder.userDataFileName ++ USER_DATA=/config/user-data ++ echo /config/user-data +/config/user-data ++ [[ /config/user-data == \n\o\n\e ]] ++ [[ ! -f /config/user-data ]] +++ yq r /config/builder-conf.yaml builder.networkConfigFileName ++ NET_CONFIG=/config/network-config ++ echo /config/network-config +/config/network-config ++ [[ /config/network-config == \n\o\n\e ]] ++ _debootstrap ++ debootstrap --arch=amd64 --variant=minbase --foreign focal /root/LIVE_BOOT/chroot http://archive.ubuntu.com/ubuntu/ +I: Retrieving InRelease +I: Checking Release signature +I: Valid Release signature (key id F6ECB3762474EDA9D21B7022871920D1991BC93C) +I: Retrieving Packages +I: Validating Packages +I: Resolving dependencies of required packages... +I: Resolving dependencies of base packages... +I: Checking component main on http://archive.ubuntu.com/ubuntu... +I: Retrieving adduser 3.118ubuntu2 +I: Validating adduser 3.118ubuntu2 +I: Retrieving apt 2.0.2 +I: Validating apt 2.0.2 +I: Retrieving base-files 11ubuntu5 +I: Validating base-files 11ubuntu5 +I: Retrieving base-passwd 3.5.47 +I: Validating base-passwd 3.5.47 +I: Retrieving bash 5.0-6ubuntu1 +I: Validating bash 5.0-6ubuntu1 +I: Retrieving bsdutils 1:2.34-0.1ubuntu9 +I: Validating bsdutils 1:2.34-0.1ubuntu9 +I: Retrieving coreutils 8.30-3ubuntu2 +I: Validating coreutils 8.30-3ubuntu2 +I: Retrieving dash 0.5.10.2-6 +I: Validating dash 0.5.10.2-6 +I: Retrieving debconf 1.5.73 +I: Validating debconf 1.5.73 +I: Retrieving debianutils 4.9.1 +I: Validating debianutils 4.9.1 +I: Retrieving diffutils 1:3.7-3 +I: Validating diffutils 1:3.7-3 +I: Retrieving dpkg 1.19.7ubuntu3 +I: Validating dpkg 1.19.7ubuntu3 +I: Retrieving e2fsprogs 1.45.5-2ubuntu1 +I: Validating e2fsprogs 1.45.5-2ubuntu1 +I: Retrieving fdisk 2.34-0.1ubuntu9 +I: Validating fdisk 2.34-0.1ubuntu9 +I: Retrieving findutils 4.7.0-1ubuntu1 +I: Validating findutils 4.7.0-1ubuntu1 +I: Retrieving gcc-10-base 10-20200411-0ubuntu1 +I: Validating gcc-10-base 10-20200411-0ubuntu1 +I: Retrieving gpgv 2.2.19-3ubuntu2 +I: Validating gpgv 2.2.19-3ubuntu2 +I: Retrieving grep 3.4-1 +I: Validating grep 3.4-1 +I: Retrieving gzip 1.10-0ubuntu4 +I: Validating gzip 1.10-0ubuntu4 +I: Retrieving hostname 3.23 +I: Validating hostname 3.23 +I: Retrieving init-system-helpers 1.57 +I: Validating init-system-helpers 1.57 +I: Retrieving libacl1 2.2.53-6 +I: Validating libacl1 2.2.53-6 +I: Retrieving libapt-pkg6.0 2.0.2 +I: Validating libapt-pkg6.0 2.0.2 +I: Retrieving libattr1 1:2.4.48-5 +I: Validating libattr1 1:2.4.48-5 +I: Retrieving libaudit-common 1:2.8.5-2ubuntu6 +I: Validating libaudit-common 1:2.8.5-2ubuntu6 +I: Retrieving libaudit1 1:2.8.5-2ubuntu6 +I: Validating libaudit1 1:2.8.5-2ubuntu6 +I: Retrieving libblkid1 2.34-0.1ubuntu9 +I: Validating libblkid1 2.34-0.1ubuntu9 +I: Retrieving libbz2-1.0 1.0.8-2 +I: Validating libbz2-1.0 1.0.8-2 +I: Retrieving libc-bin 2.31-0ubuntu9 +I: Validating libc-bin 2.31-0ubuntu9 +I: Retrieving libc6 2.31-0ubuntu9 +I: Validating libc6 2.31-0ubuntu9 +I: Retrieving libcap-ng0 0.7.9-2.1build1 +I: Validating libcap-ng0 0.7.9-2.1build1 +I: Retrieving libcom-err2 1.45.5-2ubuntu1 +I: Validating libcom-err2 1.45.5-2ubuntu1 +I: Retrieving libcrypt1 1:4.4.10-10ubuntu4 +I: Validating libcrypt1 1:4.4.10-10ubuntu4 +I: Retrieving libdb5.3 5.3.28+dfsg1-0.6ubuntu2 +I: Validating libdb5.3 5.3.28+dfsg1-0.6ubuntu2 +I: Retrieving libdebconfclient0 0.251ubuntu1 +I: Validating libdebconfclient0 0.251ubuntu1 +I: Retrieving libext2fs2 1.45.5-2ubuntu1 +I: Validating libext2fs2 1.45.5-2ubuntu1 +I: Retrieving libfdisk1 2.34-0.1ubuntu9 +I: Validating libfdisk1 2.34-0.1ubuntu9 +I: Retrieving libffi7 3.3-4 +I: Validating libffi7 3.3-4 +I: Retrieving libgcc-s1 10-20200411-0ubuntu1 +I: Validating libgcc-s1 10-20200411-0ubuntu1 +I: Retrieving libgcrypt20 1.8.5-5ubuntu1 +I: Validating libgcrypt20 1.8.5-5ubuntu1 +I: Retrieving libgmp10 2:6.2.0+dfsg-4 +I: Validating libgmp10 2:6.2.0+dfsg-4 +I: Retrieving libgnutls30 3.6.13-2ubuntu1 +I: Validating libgnutls30 3.6.13-2ubuntu1 +I: Retrieving libgpg-error0 1.37-1 +I: Validating libgpg-error0 1.37-1 +I: Retrieving libhogweed5 3.5.1+really3.5.1-2 +I: Validating libhogweed5 3.5.1+really3.5.1-2 +I: Retrieving libidn2-0 2.2.0-2 +I: Validating libidn2-0 2.2.0-2 +I: Retrieving liblz4-1 1.9.2-2 +I: Validating liblz4-1 1.9.2-2 +I: Retrieving liblzma5 5.2.4-1 +I: Validating liblzma5 5.2.4-1 +I: Retrieving libmount1 2.34-0.1ubuntu9 +I: Validating libmount1 2.34-0.1ubuntu9 +I: Retrieving libncurses6 6.2-0ubuntu2 +I: Validating libncurses6 6.2-0ubuntu2 +I: Retrieving libncursesw6 6.2-0ubuntu2 +I: Validating libncursesw6 6.2-0ubuntu2 +I: Retrieving libnettle7 3.5.1+really3.5.1-2 +I: Validating libnettle7 3.5.1+really3.5.1-2 +I: Retrieving libp11-kit0 0.23.20-1build1 +I: Validating libp11-kit0 0.23.20-1build1 +I: Retrieving libpam-modules 1.3.1-5ubuntu4 +I: Validating libpam-modules 1.3.1-5ubuntu4 +I: Retrieving libpam-modules-bin 1.3.1-5ubuntu4 +I: Validating libpam-modules-bin 1.3.1-5ubuntu4 +I: Retrieving libpam-runtime 1.3.1-5ubuntu4 +I: Validating libpam-runtime 1.3.1-5ubuntu4 +I: Retrieving libpam0g 1.3.1-5ubuntu4 +I: Validating libpam0g 1.3.1-5ubuntu4 +I: Retrieving libpcre2-8-0 10.34-7 +I: Validating libpcre2-8-0 10.34-7 +I: Retrieving libpcre3 2:8.39-12build1 +I: Validating libpcre3 2:8.39-12build1 +I: Retrieving libprocps8 2:3.3.16-1ubuntu2 +I: Validating libprocps8 2:3.3.16-1ubuntu2 +I: Retrieving libseccomp2 2.4.3-1ubuntu1 +I: Validating libseccomp2 2.4.3-1ubuntu1 +I: Retrieving libselinux1 3.0-1build2 +I: Validating libselinux1 3.0-1build2 +I: Retrieving libsemanage-common 3.0-1build2 +I: Validating libsemanage-common 3.0-1build2 +I: Retrieving libsemanage1 3.0-1build2 +I: Validating libsemanage1 3.0-1build2 +I: Retrieving libsepol1 3.0-1 +I: Validating libsepol1 3.0-1 +I: Retrieving libsmartcols1 2.34-0.1ubuntu9 +I: Validating libsmartcols1 2.34-0.1ubuntu9 +I: Retrieving libss2 1.45.5-2ubuntu1 +I: Validating libss2 1.45.5-2ubuntu1 +I: Retrieving libstdc++6 10-20200411-0ubuntu1 +I: Validating libstdc++6 10-20200411-0ubuntu1 +I: Retrieving libsystemd0 245.4-4ubuntu3 +I: Validating libsystemd0 245.4-4ubuntu3 +I: Retrieving libtasn1-6 4.16.0-2 +I: Validating libtasn1-6 4.16.0-2 +I: Retrieving libtinfo6 6.2-0ubuntu2 +I: Validating libtinfo6 6.2-0ubuntu2 +I: Retrieving libudev1 245.4-4ubuntu3 +I: Validating libudev1 245.4-4ubuntu3 +I: Retrieving libunistring2 0.9.10-2 +I: Validating libunistring2 0.9.10-2 +I: Retrieving libuuid1 2.34-0.1ubuntu9 +I: Validating libuuid1 2.34-0.1ubuntu9 +I: Retrieving libzstd1 1.4.4+dfsg-3 +I: Validating libzstd1 1.4.4+dfsg-3 +I: Retrieving login 1:4.8.1-1ubuntu5 +I: Validating login 1:4.8.1-1ubuntu5 +I: Retrieving logsave 1.45.5-2ubuntu1 +I: Validating logsave 1.45.5-2ubuntu1 +I: Retrieving lsb-base 11.1.0ubuntu2 +I: Validating lsb-base 11.1.0ubuntu2 +I: Retrieving mawk 1.3.4.20200120-2 +I: Validating mawk 1.3.4.20200120-2 +I: Retrieving mount 2.34-0.1ubuntu9 +I: Validating mount 2.34-0.1ubuntu9 +I: Retrieving ncurses-base 6.2-0ubuntu2 +I: Validating ncurses-base 6.2-0ubuntu2 +I: Retrieving ncurses-bin 6.2-0ubuntu2 +I: Validating ncurses-bin 6.2-0ubuntu2 +I: Retrieving passwd 1:4.8.1-1ubuntu5 +I: Validating passwd 1:4.8.1-1ubuntu5 +I: Retrieving perl-base 5.30.0-9build1 +I: Validating perl-base 5.30.0-9build1 +I: Retrieving procps 2:3.3.16-1ubuntu2 +I: Validating procps 2:3.3.16-1ubuntu2 +I: Retrieving sed 4.7-1 +I: Validating sed 4.7-1 +I: Retrieving sensible-utils 0.0.12+nmu1 +I: Validating sensible-utils 0.0.12+nmu1 +I: Retrieving sysvinit-utils 2.96-2.1ubuntu1 +I: Validating sysvinit-utils 2.96-2.1ubuntu1 +I: Retrieving tar 1.30+dfsg-7 +I: Validating tar 1.30+dfsg-7 +I: Retrieving ubuntu-keyring 2020.02.11.2 +I: Validating ubuntu-keyring 2020.02.11.2 +I: Retrieving util-linux 2.34-0.1ubuntu9 +I: Validating util-linux 2.34-0.1ubuntu9 +I: Retrieving zlib1g 1:1.2.11.dfsg-2ubuntu1 +I: Validating zlib1g 1:1.2.11.dfsg-2ubuntu1 +I: Chosen extractor for .deb packages: dpkg-deb +I: Extracting base-files... +I: Extracting base-passwd... +I: Extracting bash... +I: Extracting bsdutils... +I: Extracting coreutils... +I: Extracting dash... +I: Extracting debconf... +I: Extracting debianutils... +I: Extracting diffutils... +I: Extracting dpkg... +I: Extracting e2fsprogs... +I: Extracting fdisk... +I: Extracting findutils... +I: Extracting gcc-10-base... +I: Extracting grep... +I: Extracting gzip... +I: Extracting hostname... +I: Extracting init-system-helpers... +I: Extracting libacl1... +I: Extracting libattr1... +I: Extracting libaudit-common... +I: Extracting libaudit1... +I: Extracting libblkid1... +I: Extracting libbz2-1.0... +I: Extracting libc-bin... +I: Extracting libc6... +I: Extracting libcap-ng0... +I: Extracting libcom-err2... +I: Extracting libcrypt1... +I: Extracting libdb5.3... +I: Extracting libdebconfclient0... +I: Extracting libext2fs2... +I: Extracting libfdisk1... +I: Extracting libgcc-s1... +I: Extracting libgcrypt20... +I: Extracting libgpg-error0... +I: Extracting liblz4-1... +I: Extracting liblzma5... +I: Extracting libmount1... +I: Extracting libncurses6... +I: Extracting libncursesw6... +I: Extracting libpam-modules... +I: Extracting libpam-modules-bin... +I: Extracting libpam-runtime... +I: Extracting libpam0g... +I: Extracting libpcre2-8-0... +I: Extracting libpcre3... +I: Extracting libprocps8... +I: Extracting libselinux1... +I: Extracting libsemanage-common... +I: Extracting libsemanage1... +I: Extracting libsepol1... +I: Extracting libsmartcols1... +I: Extracting libss2... +I: Extracting libsystemd0... +I: Extracting libtinfo6... +I: Extracting libudev1... +I: Extracting libuuid1... +I: Extracting libzstd1... +I: Extracting login... +I: Extracting logsave... +I: Extracting lsb-base... +I: Extracting mawk... +I: Extracting mount... +I: Extracting ncurses-base... +I: Extracting ncurses-bin... +I: Extracting passwd... +I: Extracting perl-base... +I: Extracting procps... +I: Extracting sed... +I: Extracting sensible-utils... +I: Extracting sysvinit-utils... +I: Extracting tar... +I: Extracting util-linux... +I: Extracting zlib1g... ++ chroot /root/LIVE_BOOT/chroot /debootstrap/debootstrap --second-stage +W: Failure trying to run: mount -t proc proc /proc +W: See //debootstrap/debootstrap.log for details +W: Failure trying to run: mount -t sysfs sysfs /sys +W: See //debootstrap/debootstrap.log for details +I: Installing core packages... +I: Unpacking required packages... +I: Unpacking base-files... +I: Unpacking base-passwd... +I: Unpacking bash... +I: Unpacking bsdutils... +I: Unpacking coreutils... +I: Unpacking dash... +I: Unpacking debconf... +I: Unpacking debianutils... +I: Unpacking diffutils... +I: Unpacking dpkg... +I: Unpacking e2fsprogs... +I: Unpacking fdisk... +I: Unpacking findutils... +I: Unpacking gcc-10-base:amd64... +I: Unpacking grep... +I: Unpacking gzip... +I: Unpacking hostname... +I: Unpacking init-system-helpers... +I: Unpacking libacl1:amd64... +I: Unpacking libattr1:amd64... +I: Unpacking libaudit-common... +I: Unpacking libaudit1:amd64... +I: Unpacking libblkid1:amd64... +I: Unpacking libbz2-1.0:amd64... +I: Unpacking libc-bin... +I: Unpacking libc6:amd64... +I: Unpacking libcap-ng0:amd64... +I: Unpacking libcom-err2:amd64... +I: Unpacking libcrypt1:amd64... +I: Unpacking libdb5.3:amd64... +I: Unpacking libdebconfclient0:amd64... +I: Unpacking libext2fs2:amd64... +I: Unpacking libfdisk1:amd64... +I: Unpacking libgcc-s1:amd64... +I: Unpacking libgcrypt20:amd64... +I: Unpacking libgpg-error0:amd64... +I: Unpacking liblz4-1:amd64... +I: Unpacking liblzma5:amd64... +I: Unpacking libmount1:amd64... +I: Unpacking libncurses6:amd64... +I: Unpacking libncursesw6:amd64... +I: Unpacking libpam-modules:amd64... +I: Unpacking libpam-modules-bin... +I: Unpacking libpam-runtime... +I: Unpacking libpam0g:amd64... +I: Unpacking libpcre2-8-0:amd64... +I: Unpacking libpcre3:amd64... +I: Unpacking libprocps8:amd64... +I: Unpacking libselinux1:amd64... +I: Unpacking libsemanage-common... +I: Unpacking libsemanage1:amd64... +I: Unpacking libsepol1:amd64... +I: Unpacking libsmartcols1:amd64... +I: Unpacking libss2:amd64... +I: Unpacking libsystemd0:amd64... +I: Unpacking libtinfo6:amd64... +I: Unpacking libudev1:amd64... +I: Unpacking libuuid1:amd64... +I: Unpacking libzstd1:amd64... +I: Unpacking login... +I: Unpacking logsave... +I: Unpacking lsb-base... +I: Unpacking mawk... +I: Unpacking mount... +I: Unpacking ncurses-base... +I: Unpacking ncurses-bin... +I: Unpacking passwd... +I: Unpacking perl-base... +I: Unpacking procps... +I: Unpacking sed... +I: Unpacking sensible-utils... +I: Unpacking sysvinit-utils... +I: Unpacking tar... +I: Unpacking util-linux... +I: Unpacking zlib1g:amd64... +I: Configuring required packages... +I: Configuring lsb-base... +I: Configuring libaudit-common... +I: Configuring libsemanage-common... +I: Configuring gcc-10-base:amd64... +I: Configuring ncurses-base... +I: Configuring sensible-utils... +I: Configuring libcrypt1:amd64... +I: Configuring libgcc-s1:amd64... +I: Configuring libc6:amd64... +I: Configuring libudev1:amd64... +I: Configuring libsepol1:amd64... +I: Configuring libattr1:amd64... +I: Configuring debianutils... +I: Configuring mawk... +I: Configuring libdebconfclient0:amd64... +I: Configuring base-files... +I: Configuring libbz2-1.0:amd64... +I: Configuring base-passwd... +I: Configuring libdb5.3:amd64... +I: Configuring libblkid1:amd64... +I: Configuring libtinfo6:amd64... +I: Configuring bash... +I: Configuring libzstd1:amd64... +I: Configuring liblzma5:amd64... +I: Configuring libgpg-error0:amd64... +I: Configuring liblz4-1:amd64... +I: Configuring libc-bin... +I: Configuring ncurses-bin... +I: Configuring libacl1:amd64... +I: Configuring libsmartcols1:amd64... +I: Configuring libgcrypt20:amd64... +I: Configuring zlib1g:amd64... +I: Configuring libcom-err2:amd64... +I: Configuring diffutils... +I: Configuring libsystemd0:amd64... +I: Configuring hostname... +I: Configuring libpcre3:amd64... +I: Configuring libcap-ng0:amd64... +I: Configuring libext2fs2:amd64... +I: Configuring libncurses6:amd64... +I: Configuring libaudit1:amd64... +I: Configuring libuuid1:amd64... +I: Configuring libss2:amd64... +I: Configuring libpcre2-8-0:amd64... +I: Configuring libncursesw6:amd64... +I: Configuring logsave... +I: Configuring libfdisk1:amd64... +I: Configuring libprocps8:amd64... +I: Configuring bsdutils... +I: Configuring e2fsprogs... +I: Configuring libselinux1:amd64... +I: Configuring sed... +I: Configuring findutils... +I: Configuring libmount1:amd64... +I: Configuring libsemanage1:amd64... +I: Configuring tar... +I: Configuring coreutils... +I: Configuring fdisk... +I: Configuring dpkg... +I: Configuring grep... +I: Configuring perl-base... +I: Configuring init-system-helpers... +I: Configuring gzip... +I: Configuring procps... +I: Configuring debconf... +I: Configuring libpam0g:amd64... +I: Configuring dash... +I: Configuring libpam-modules-bin... +I: Configuring libpam-modules:amd64... +I: Configuring passwd... +I: Configuring libpam-runtime... +I: Configuring login... +I: Configuring util-linux... +I: Configuring mount... +I: Configuring sysvinit-utils... +I: Configuring libc-bin... +I: Unpacking the base system... +I: Unpacking adduser... +I: Unpacking apt... +I: Unpacking gpgv... +I: Unpacking libapt-pkg6.0:amd64... +I: Unpacking libffi7:amd64... +I: Unpacking libgmp10:amd64... +I: Unpacking libgnutls30:amd64... +I: Unpacking libhogweed5:amd64... +I: Unpacking libidn2-0:amd64... +I: Unpacking libnettle7:amd64... +I: Unpacking libp11-kit0:amd64... +I: Unpacking libseccomp2:amd64... +I: Unpacking libstdc++6:amd64... +I: Unpacking libtasn1-6:amd64... +I: Unpacking libunistring2:amd64... +I: Unpacking ubuntu-keyring... +I: Configuring the base system... +I: Configuring adduser... +I: Configuring libffi7:amd64... +I: Configuring libunistring2:amd64... +I: Configuring libidn2-0:amd64... +I: Configuring ubuntu-keyring... +I: Configuring libseccomp2:amd64... +I: Configuring libgmp10:amd64... +I: Configuring libp11-kit0:amd64... +I: Configuring libnettle7:amd64... +I: Configuring gpgv... +I: Configuring libtasn1-6:amd64... +I: Configuring libstdc++6:amd64... +I: Configuring libhogweed5:amd64... +I: Configuring libgnutls30:amd64... +I: Configuring libapt-pkg6.0:amd64... +I: Configuring apt... +I: Configuring libc-bin... +I: Base system installed successfully. ++ chroot /root/LIVE_BOOT/chroot +# # # # # # # # # # # # # # # # # + echo ubuntu-live +# + echo 127.0.0.1 localhost +# + echo deb http://archive.ubuntu.com/ubuntu focal universe +# > > > > > > > > > > > > > > > > + apt-get update +Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease +Get:2 http://archive.ubuntu.com/ubuntu focal/main Translation-en [506 kB] +Get:3 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB] +Get:4 http://archive.ubuntu.com/ubuntu focal/universe Translation-en [5124 kB] +Fetched 14.3 MB in 8s (1706 kB/s) +Reading package lists... Done ++ apt-get install -y --no-install-recommends linux-generic live-boot systemd-sysv apt-transport-https openssh-server curl gnupg iptables ifenslave bridge-utils tcpdump iputils-ping vlan locales lsb-release ebtables +Reading package lists... Done +Building dependency tree... Done +The following additional packages will be installed: + amd64-microcode busybox busybox-initramfs cpio crda dirmngr distro-info-data + gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf + gpgsm ifupdown initramfs-tools initramfs-tools-bin initramfs-tools-core + intel-microcode iproute2 iucode-tool iw klibc-utils kmod libapparmor1 + libargon2-1 libasn1-8-heimdal libassuan0 libbrotli1 libbsd0 libcap2 + libcap2-bin libcbor0.6 libcryptsetup12 libcurl4 libdevmapper1.02.1 libedit2 + libelf1 libexpat1 libfido2-1 libgssapi-krb5-2 libgssapi3-heimdal + libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal + libhx509-5-heimdal libip4tc2 libip6tc2 libjson-c4 libk5crypto3 libkeyutils1 + libklibc libkmod2 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libksba8 + libldap-2.4-2 libldap-common libmnl0 libmpdec2 libnetfilter-conntrack3 + libnfnetlink0 libnftnl11 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnpth0 + libpcap0.8 libpsl5 libpython3-stdlib libpython3.8-minimal + libpython3.8-stdlib libreadline8 libroken18-heimdal librtmp1 libsasl2-2 + libsasl2-modules-db libsqlite3-0 libssh-4 libssl1.1 libwind0-heimdal + libwrap0 libxtables12 linux-base linux-firmware linux-headers-5.4.0-26 + linux-headers-5.4.0-26-generic linux-headers-generic + linux-image-5.4.0-26-generic linux-image-generic + linux-modules-5.4.0-26-generic linux-modules-extra-5.4.0-26-generic + live-boot-initramfs-tools lz4 mime-support netbase openssh-client + openssh-sftp-server pinentry-curses python3 python3-minimal python3.8 + python3.8-minimal readline-common systemd systemd-timesyncd ucf udev + wireless-regdb +Suggested packages: + libarchive1 dbus-user-session libpam-systemd pinentry-gnome3 tor parcimonie + xloadimage scdaemon ppp rdnssd bash-completion iproute2-doc firewalld + nftables krb5-doc krb5-user fdutils linux-doc | linux-source-5.4.0 + linux-tools cryptsetup curlftpfs httpfs2 wget keychain libpam-ssh + monkeysphere ssh-askpass molly-guard ufw pinentry-doc python3-doc python3-tk + python3-venv python3.8-venv python3.8-doc binutils binfmt-support + readline-doc systemd-container policykit-1 apparmor +Recommended packages: + net-tools isc-dhcp-client | dhcp-client libatm1 libpam-cap ca-certificates + dmsetup krb5-locales publicsuffix libsasl2-modules grub-pc | grub-efi-amd64 + | grub-efi-ia32 | grub | lilo thermald live-boot-doc live-tools rsync + uuid-runtime bzip2 file xz-utils xauth default-logind | logind + | libpam-systemd ncurses-term ssh-import-id dbus networkd-dispatcher + libpam-systemd libnss-systemd +The following NEW packages will be installed: + amd64-microcode apt-transport-https bridge-utils busybox busybox-initramfs + cpio crda curl dirmngr distro-info-data ebtables gnupg gnupg-l10n + gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm + ifenslave ifupdown initramfs-tools initramfs-tools-bin initramfs-tools-core + intel-microcode iproute2 iptables iputils-ping iucode-tool iw klibc-utils + kmod libapparmor1 libargon2-1 libasn1-8-heimdal libassuan0 libbrotli1 + libbsd0 libcap2 libcap2-bin libcbor0.6 libcryptsetup12 libcurl4 + libdevmapper1.02.1 libedit2 libelf1 libexpat1 libfido2-1 libgssapi-krb5-2 + libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal + libheimntlm0-heimdal libhx509-5-heimdal libip4tc2 libip6tc2 libjson-c4 + libk5crypto3 libkeyutils1 libklibc libkmod2 libkrb5-26-heimdal libkrb5-3 + libkrb5support0 libksba8 libldap-2.4-2 libldap-common libmnl0 libmpdec2 + libnetfilter-conntrack3 libnfnetlink0 libnftnl11 libnghttp2-14 libnl-3-200 + libnl-genl-3-200 libnpth0 libpcap0.8 libpsl5 libpython3-stdlib + libpython3.8-minimal libpython3.8-stdlib libreadline8 libroken18-heimdal + librtmp1 libsasl2-2 libsasl2-modules-db libsqlite3-0 libssh-4 libssl1.1 + libwind0-heimdal libwrap0 libxtables12 linux-base linux-firmware + linux-generic linux-headers-5.4.0-26 linux-headers-5.4.0-26-generic + linux-headers-generic linux-image-5.4.0-26-generic linux-image-generic + linux-modules-5.4.0-26-generic linux-modules-extra-5.4.0-26-generic + live-boot live-boot-initramfs-tools locales lsb-release lz4 mime-support + netbase openssh-client openssh-server openssh-sftp-server pinentry-curses + python3 python3-minimal python3.8 python3.8-minimal readline-common systemd + systemd-sysv systemd-timesyncd tcpdump ucf udev vlan wireless-regdb +0 upgraded, 127 newly installed, 0 to remove and 0 not upgraded. +Need to get 202 MB of archives. +After this operation, 1005 MB of additional disk space will be used. +Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libssl1.1 amd64 1.1.1f-1ubuntu2 [1318 kB] +Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 libpython3.8-minimal amd64 3.8.2-1ubuntu1 [705 kB] +Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 libexpat1 amd64 2.2.9-1build1 [73.3 kB] +Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 python3.8-minimal amd64 3.8.2-1ubuntu1 [1897 kB] +Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-minimal amd64 3.8.2-0ubuntu2 [23.6 kB] +Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 mime-support all 3.64ubuntu1 [30.6 kB] +Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 libmpdec2 amd64 2.4.2-3 [81.1 kB] +Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 readline-common all 8.0-4 [53.5 kB] +Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 libreadline8 amd64 8.0-4 [131 kB] +Get:10 http://archive.ubuntu.com/ubuntu focal/main amd64 libsqlite3-0 amd64 3.31.1-4 [548 kB] +Get:11 http://archive.ubuntu.com/ubuntu focal/main amd64 libpython3.8-stdlib amd64 3.8.2-1ubuntu1 [1668 kB] +Get:12 http://archive.ubuntu.com/ubuntu focal/main amd64 python3.8 amd64 3.8.2-1ubuntu1 [364 kB] +Get:13 http://archive.ubuntu.com/ubuntu focal/main amd64 libpython3-stdlib amd64 3.8.2-0ubuntu2 [7068 B] +Get:14 http://archive.ubuntu.com/ubuntu focal/main amd64 python3 amd64 3.8.2-0ubuntu2 [47.6 kB] +Get:15 http://archive.ubuntu.com/ubuntu focal/main amd64 libapparmor1 amd64 2.13.3-7ubuntu5 [34.3 kB] +Get:16 http://archive.ubuntu.com/ubuntu focal/main amd64 libcap2 amd64 1:2.32-1 [15.9 kB] +Get:17 http://archive.ubuntu.com/ubuntu focal/main amd64 libargon2-1 amd64 0~20171227-0.2 [19.2 kB] +Get:18 http://archive.ubuntu.com/ubuntu focal/main amd64 libdevmapper1.02.1 amd64 2:1.02.167-1ubuntu1 [127 kB] +Get:19 http://archive.ubuntu.com/ubuntu focal/main amd64 libjson-c4 amd64 0.13.1+dfsg-7 [29.2 kB] +Get:20 http://archive.ubuntu.com/ubuntu focal/main amd64 libcryptsetup12 amd64 2:2.2.2-3ubuntu2 [182 kB] +Get:21 http://archive.ubuntu.com/ubuntu focal/main amd64 libip4tc2 amd64 1.8.4-3ubuntu2 [18.8 kB] +Get:22 http://archive.ubuntu.com/ubuntu focal/main amd64 libkmod2 amd64 27-1ubuntu2 [44.3 kB] +Get:23 http://archive.ubuntu.com/ubuntu focal/main amd64 systemd-timesyncd amd64 245.4-4ubuntu3 [27.9 kB] +Get:24 http://archive.ubuntu.com/ubuntu focal/main amd64 systemd amd64 245.4-4ubuntu3 [3796 kB] +Get:25 http://archive.ubuntu.com/ubuntu focal/main amd64 systemd-sysv amd64 245.4-4ubuntu3 [10.3 kB] +Get:26 http://archive.ubuntu.com/ubuntu focal/main amd64 distro-info-data all 0.43ubuntu1 [4504 B] +Get:27 http://archive.ubuntu.com/ubuntu focal/main amd64 libbsd0 amd64 0.10.0-1 [45.4 kB] +Get:28 http://archive.ubuntu.com/ubuntu focal/main amd64 libelf1 amd64 0.176-1.1build1 [44.0 kB] +Get:29 http://archive.ubuntu.com/ubuntu focal/main amd64 libmnl0 amd64 1.0.4-2 [12.3 kB] +Get:30 http://archive.ubuntu.com/ubuntu focal/main amd64 libxtables12 amd64 1.8.4-3ubuntu2 [28.4 kB] +Get:31 http://archive.ubuntu.com/ubuntu focal/main amd64 libcap2-bin amd64 1:2.32-1 [26.2 kB] +Get:32 http://archive.ubuntu.com/ubuntu focal/main amd64 iproute2 amd64 5.5.0-1ubuntu1 [858 kB] +Get:33 http://archive.ubuntu.com/ubuntu focal/main amd64 iputils-ping amd64 3:20190709-3 [40.1 kB] +Get:34 http://archive.ubuntu.com/ubuntu focal/main amd64 kmod amd64 27-1ubuntu2 [93.9 kB] +Get:35 http://archive.ubuntu.com/ubuntu focal/main amd64 locales all 2.31-0ubuntu9 [3870 kB] +Get:36 http://archive.ubuntu.com/ubuntu focal/main amd64 lsb-release all 11.1.0ubuntu2 [10.6 kB] +Get:37 http://archive.ubuntu.com/ubuntu focal/main amd64 netbase all 6.1 [13.1 kB] +Get:38 http://archive.ubuntu.com/ubuntu focal/main amd64 ucf all 3.0038+nmu1 [51.6 kB] +Get:39 http://archive.ubuntu.com/ubuntu focal/main amd64 udev amd64 245.4-4ubuntu3 [1362 kB] +Get:40 http://archive.ubuntu.com/ubuntu focal/main amd64 cpio amd64 2.13+dfsg-2 [86.0 kB] +Get:41 http://archive.ubuntu.com/ubuntu focal/main amd64 libip6tc2 amd64 1.8.4-3ubuntu2 [19.2 kB] +Get:42 http://archive.ubuntu.com/ubuntu focal/main amd64 libnfnetlink0 amd64 1.0.1-3build1 [13.8 kB] +Get:43 http://archive.ubuntu.com/ubuntu focal/main amd64 libnetfilter-conntrack3 amd64 1.0.7-2 [41.4 kB] +Get:44 http://archive.ubuntu.com/ubuntu focal/main amd64 libnftnl11 amd64 1.1.5-1 [57.8 kB] +Get:45 http://archive.ubuntu.com/ubuntu focal/main amd64 iptables amd64 1.8.4-3ubuntu2 [390 kB] +Get:46 http://archive.ubuntu.com/ubuntu focal/main amd64 libcbor0.6 amd64 0.6.0-0ubuntu1 [21.1 kB] +Get:47 http://archive.ubuntu.com/ubuntu focal/main amd64 libedit2 amd64 3.1-20191231-1 [87.0 kB] +Get:48 http://archive.ubuntu.com/ubuntu focal/main amd64 libfido2-1 amd64 1.3.1-1ubuntu2 [47.9 kB] +Get:49 http://archive.ubuntu.com/ubuntu focal/main amd64 libkrb5support0 amd64 1.17-6ubuntu4 [30.9 kB] +Get:50 http://archive.ubuntu.com/ubuntu focal/main amd64 libk5crypto3 amd64 1.17-6ubuntu4 [80.2 kB] +Get:51 http://archive.ubuntu.com/ubuntu focal/main amd64 libkeyutils1 amd64 1.6-6ubuntu1 [10.2 kB] +Get:52 http://archive.ubuntu.com/ubuntu focal/main amd64 libkrb5-3 amd64 1.17-6ubuntu4 [330 kB] +Get:53 http://archive.ubuntu.com/ubuntu focal/main amd64 libgssapi-krb5-2 amd64 1.17-6ubuntu4 [121 kB] +Get:54 http://archive.ubuntu.com/ubuntu focal/main amd64 libpcap0.8 amd64 1.9.1-3 [128 kB] +Get:55 http://archive.ubuntu.com/ubuntu focal/main amd64 libpsl5 amd64 0.21.0-1ubuntu1 [51.5 kB] +Get:56 http://archive.ubuntu.com/ubuntu focal/main amd64 openssh-client amd64 1:8.2p1-4 [674 kB] +Get:57 http://archive.ubuntu.com/ubuntu focal/main amd64 tcpdump amd64 4.9.3-4 [370 kB] +Get:58 http://archive.ubuntu.com/ubuntu focal/universe amd64 apt-transport-https all 2.0.2 [1704 B] +Get:59 http://archive.ubuntu.com/ubuntu focal/main amd64 bridge-utils amd64 1.6-2ubuntu1 [30.5 kB] +Get:60 http://archive.ubuntu.com/ubuntu focal/universe amd64 busybox amd64 1:1.30.1-4ubuntu6 [415 kB] +Get:61 http://archive.ubuntu.com/ubuntu focal/main amd64 busybox-initramfs amd64 1:1.30.1-4ubuntu6 [169 kB] +Get:62 http://archive.ubuntu.com/ubuntu focal/main amd64 libnl-3-200 amd64 3.4.0-1 [53.9 kB] +Get:63 http://archive.ubuntu.com/ubuntu focal/main amd64 libnl-genl-3-200 amd64 3.4.0-1 [11.1 kB] +Get:64 http://archive.ubuntu.com/ubuntu focal/main amd64 wireless-regdb all 2018.05.09-0ubuntu1 [11.0 kB] +Get:65 http://archive.ubuntu.com/ubuntu focal/main amd64 iw amd64 5.4-1 [94.0 kB] +Get:66 http://archive.ubuntu.com/ubuntu focal/main amd64 crda amd64 3.18-1build1 [63.5 kB] +Get:67 http://archive.ubuntu.com/ubuntu focal/main amd64 libbrotli1 amd64 1.0.7-6build1 [270 kB] +Get:68 http://archive.ubuntu.com/ubuntu focal/main amd64 libroken18-heimdal amd64 7.7.0+dfsg-1ubuntu1 [41.8 kB] +Get:69 http://archive.ubuntu.com/ubuntu focal/main amd64 libasn1-8-heimdal amd64 7.7.0+dfsg-1ubuntu1 [181 kB] +Get:70 http://archive.ubuntu.com/ubuntu focal/main amd64 libheimbase1-heimdal amd64 7.7.0+dfsg-1ubuntu1 [29.7 kB] +Get:71 http://archive.ubuntu.com/ubuntu focal/main amd64 libhcrypto4-heimdal amd64 7.7.0+dfsg-1ubuntu1 [87.9 kB] +Get:72 http://archive.ubuntu.com/ubuntu focal/main amd64 libwind0-heimdal amd64 7.7.0+dfsg-1ubuntu1 [48.0 kB] +Get:73 http://archive.ubuntu.com/ubuntu focal/main amd64 libhx509-5-heimdal amd64 7.7.0+dfsg-1ubuntu1 [107 kB] +Get:74 http://archive.ubuntu.com/ubuntu focal/main amd64 libkrb5-26-heimdal amd64 7.7.0+dfsg-1ubuntu1 [208 kB] +Get:75 http://archive.ubuntu.com/ubuntu focal/main amd64 libheimntlm0-heimdal amd64 7.7.0+dfsg-1ubuntu1 [15.1 kB] +Get:76 http://archive.ubuntu.com/ubuntu focal/main amd64 libgssapi3-heimdal amd64 7.7.0+dfsg-1ubuntu1 [96.1 kB] +Get:77 http://archive.ubuntu.com/ubuntu focal/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2 [14.9 kB] +Get:78 http://archive.ubuntu.com/ubuntu focal/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2 [49.3 kB] +Get:79 http://archive.ubuntu.com/ubuntu focal/main amd64 libldap-common all 2.4.49+dfsg-2ubuntu1 [17.3 kB] +Get:80 http://archive.ubuntu.com/ubuntu focal/main amd64 libldap-2.4-2 amd64 2.4.49+dfsg-2ubuntu1 [156 kB] +Get:81 http://archive.ubuntu.com/ubuntu focal/main amd64 libnghttp2-14 amd64 1.40.0-1build1 [78.7 kB] +Get:82 http://archive.ubuntu.com/ubuntu focal/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2build1 [54.9 kB] +Get:83 http://archive.ubuntu.com/ubuntu focal/main amd64 libssh-4 amd64 0.9.3-2ubuntu2 [170 kB] +Get:84 http://archive.ubuntu.com/ubuntu focal/main amd64 libcurl4 amd64 7.68.0-1ubuntu2 [233 kB] +Get:85 http://archive.ubuntu.com/ubuntu focal/main amd64 curl amd64 7.68.0-1ubuntu2 [161 kB] +Get:86 http://archive.ubuntu.com/ubuntu focal/main amd64 libassuan0 amd64 2.5.3-7ubuntu2 [35.7 kB] +Get:87 http://archive.ubuntu.com/ubuntu focal/main amd64 gpgconf amd64 2.2.19-3ubuntu2 [124 kB] +Get:88 http://archive.ubuntu.com/ubuntu focal/main amd64 libksba8 amd64 1.3.5-2 [92.6 kB] +Get:89 http://archive.ubuntu.com/ubuntu focal/main amd64 libnpth0 amd64 1.6-1 [7736 B] +Get:90 http://archive.ubuntu.com/ubuntu focal/main amd64 dirmngr amd64 2.2.19-3ubuntu2 [329 kB] +Get:91 http://archive.ubuntu.com/ubuntu focal/main amd64 ebtables amd64 2.0.11-3build1 [80.3 kB] +Get:92 http://archive.ubuntu.com/ubuntu focal/main amd64 gnupg-l10n all 2.2.19-3ubuntu2 [51.7 kB] +Get:93 http://archive.ubuntu.com/ubuntu focal/main amd64 gnupg-utils amd64 2.2.19-3ubuntu2 [481 kB] +Get:94 http://archive.ubuntu.com/ubuntu focal/main amd64 gpg amd64 2.2.19-3ubuntu2 [482 kB] +Get:95 http://archive.ubuntu.com/ubuntu focal/main amd64 pinentry-curses amd64 1.1.0-3build1 [36.3 kB] +Get:96 http://archive.ubuntu.com/ubuntu focal/main amd64 gpg-agent amd64 2.2.19-3ubuntu2 [232 kB] +Get:97 http://archive.ubuntu.com/ubuntu focal/main amd64 gpg-wks-client amd64 2.2.19-3ubuntu2 [97.7 kB] +Get:98 http://archive.ubuntu.com/ubuntu focal/main amd64 gpg-wks-server amd64 2.2.19-3ubuntu2 [90.3 kB] +Get:99 http://archive.ubuntu.com/ubuntu focal/main amd64 gpgsm amd64 2.2.19-3ubuntu2 [217 kB] +Get:100 http://archive.ubuntu.com/ubuntu focal/main amd64 gnupg all 2.2.19-3ubuntu2 [259 kB] +Get:101 http://archive.ubuntu.com/ubuntu focal/universe amd64 ifupdown amd64 0.8.35ubuntu1 [60.5 kB] +Get:102 http://archive.ubuntu.com/ubuntu focal/universe amd64 ifenslave all 2.9ubuntu1 [13.3 kB] +Get:103 http://archive.ubuntu.com/ubuntu focal/main amd64 initramfs-tools-bin amd64 0.136ubuntu6 [14.3 kB] +Get:104 http://archive.ubuntu.com/ubuntu focal/main amd64 libklibc amd64 2.0.7-1ubuntu5 [42.9 kB] +Get:105 http://archive.ubuntu.com/ubuntu focal/main amd64 klibc-utils amd64 2.0.7-1ubuntu5 [95.0 kB] +Get:106 http://archive.ubuntu.com/ubuntu focal/main amd64 lz4 amd64 1.9.2-2 [82.7 kB] +Get:107 http://archive.ubuntu.com/ubuntu focal/main amd64 initramfs-tools-core all 0.136ubuntu6 [47.4 kB] +Get:108 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-base all 4.5ubuntu3 [17.7 kB] +Get:109 http://archive.ubuntu.com/ubuntu focal/main amd64 initramfs-tools all 0.136ubuntu6 [9212 B] +Get:110 http://archive.ubuntu.com/ubuntu focal/main amd64 iucode-tool amd64 2.3.1-1 [45.6 kB] +Get:111 http://archive.ubuntu.com/ubuntu focal/main amd64 libwrap0 amd64 7.6.q-30 [46.3 kB] +Get:112 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-firmware all 1.187 [98.7 MB] +Get:113 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-modules-5.4.0-26-generic amd64 5.4.0-26.30 [14.3 MB] +Get:114 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-image-5.4.0-26-generic amd64 5.4.0-26.30 [8876 kB] +Get:115 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-modules-extra-5.4.0-26-generic amd64 5.4.0-26.30 [38.6 MB] +Get:116 http://archive.ubuntu.com/ubuntu focal/main amd64 intel-microcode amd64 3.20191115.1ubuntu3 [2408 kB] +Get:117 http://archive.ubuntu.com/ubuntu focal/main amd64 amd64-microcode amd64 3.20191218.1ubuntu1 [31.8 kB] +Get:118 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-image-generic amd64 5.4.0.26.32 [2796 B] +Get:119 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-headers-5.4.0-26 all 5.4.0-26.30 [10.9 MB] +Get:120 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-headers-5.4.0-26-generic amd64 5.4.0-26.30 [1221 kB] +Get:121 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-headers-generic amd64 5.4.0.26.32 [2680 B] +Get:122 http://archive.ubuntu.com/ubuntu focal/main amd64 linux-generic amd64 5.4.0.26.32 [1900 B] +Get:123 http://archive.ubuntu.com/ubuntu focal/universe amd64 live-boot-initramfs-tools all 1:20190614 [7544 B] +Get:124 http://archive.ubuntu.com/ubuntu focal/universe amd64 live-boot all 1:20190614 [26.3 kB] +Get:125 http://archive.ubuntu.com/ubuntu focal/main amd64 openssh-sftp-server amd64 1:8.2p1-4 [51.5 kB] +Get:126 http://archive.ubuntu.com/ubuntu focal/main amd64 openssh-server amd64 1:8.2p1-4 [377 kB] +Get:127 http://archive.ubuntu.com/ubuntu focal/universe amd64 vlan all 2.0.4ubuntu1 [11.3 kB] +Fetched 202 MB in 11s (18.0 MB/s) +debconf: delaying package configuration, since apt-utils is not installed +E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device) +Selecting previously unselected package libssl1.1:amd64. +(Reading database ... 4091 files and directories currently installed.) +Preparing to unpack .../libssl1.1_1.1.1f-1ubuntu2_amd64.deb ... +Unpacking libssl1.1:amd64 (1.1.1f-1ubuntu2) ... +Selecting previously unselected package libpython3.8-minimal:amd64. +Preparing to unpack .../libpython3.8-minimal_3.8.2-1ubuntu1_amd64.deb ... +Unpacking libpython3.8-minimal:amd64 (3.8.2-1ubuntu1) ... +Selecting previously unselected package libexpat1:amd64. +Preparing to unpack .../libexpat1_2.2.9-1build1_amd64.deb ... +Unpacking libexpat1:amd64 (2.2.9-1build1) ... +Selecting previously unselected package python3.8-minimal. +Preparing to unpack .../python3.8-minimal_3.8.2-1ubuntu1_amd64.deb ... +Unpacking python3.8-minimal (3.8.2-1ubuntu1) ... +Setting up libssl1.1:amd64 (1.1.1f-1ubuntu2) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Setting up libpython3.8-minimal:amd64 (3.8.2-1ubuntu1) ... +Setting up libexpat1:amd64 (2.2.9-1build1) ... +Setting up python3.8-minimal (3.8.2-1ubuntu1) ... +Selecting previously unselected package python3-minimal. +(Reading database ... 4392 files and directories currently installed.) +Preparing to unpack .../0-python3-minimal_3.8.2-0ubuntu2_amd64.deb ... +Unpacking python3-minimal (3.8.2-0ubuntu2) ... +Selecting previously unselected package mime-support. +Preparing to unpack .../1-mime-support_3.64ubuntu1_all.deb ... +Unpacking mime-support (3.64ubuntu1) ... +Selecting previously unselected package libmpdec2:amd64. +Preparing to unpack .../2-libmpdec2_2.4.2-3_amd64.deb ... +Unpacking libmpdec2:amd64 (2.4.2-3) ... +Selecting previously unselected package readline-common. +Preparing to unpack .../3-readline-common_8.0-4_all.deb ... +Unpacking readline-common (8.0-4) ... +Selecting previously unselected package libreadline8:amd64. +Preparing to unpack .../4-libreadline8_8.0-4_amd64.deb ... +Unpacking libreadline8:amd64 (8.0-4) ... +Selecting previously unselected package libsqlite3-0:amd64. +Preparing to unpack .../5-libsqlite3-0_3.31.1-4_amd64.deb ... +Unpacking libsqlite3-0:amd64 (3.31.1-4) ... +Selecting previously unselected package libpython3.8-stdlib:amd64. +Preparing to unpack .../6-libpython3.8-stdlib_3.8.2-1ubuntu1_amd64.deb ... +Unpacking libpython3.8-stdlib:amd64 (3.8.2-1ubuntu1) ... +Selecting previously unselected package python3.8. +Preparing to unpack .../7-python3.8_3.8.2-1ubuntu1_amd64.deb ... +Unpacking python3.8 (3.8.2-1ubuntu1) ... +Selecting previously unselected package libpython3-stdlib:amd64. +Preparing to unpack .../8-libpython3-stdlib_3.8.2-0ubuntu2_amd64.deb ... +Unpacking libpython3-stdlib:amd64 (3.8.2-0ubuntu2) ... +Setting up python3-minimal (3.8.2-0ubuntu2) ... +Selecting previously unselected package python3. +(Reading database ... 4822 files and directories currently installed.) +Preparing to unpack .../00-python3_3.8.2-0ubuntu2_amd64.deb ... +Unpacking python3 (3.8.2-0ubuntu2) ... +Selecting previously unselected package libapparmor1:amd64. +Preparing to unpack .../01-libapparmor1_2.13.3-7ubuntu5_amd64.deb ... +Unpacking libapparmor1:amd64 (2.13.3-7ubuntu5) ... +Selecting previously unselected package libcap2:amd64. +Preparing to unpack .../02-libcap2_1%3a2.32-1_amd64.deb ... +Unpacking libcap2:amd64 (1:2.32-1) ... +Selecting previously unselected package libargon2-1:amd64. +Preparing to unpack .../03-libargon2-1_0~20171227-0.2_amd64.deb ... +Unpacking libargon2-1:amd64 (0~20171227-0.2) ... +Selecting previously unselected package libdevmapper1.02.1:amd64. +Preparing to unpack .../04-libdevmapper1.02.1_2%3a1.02.167-1ubuntu1_amd64.deb ... +Unpacking libdevmapper1.02.1:amd64 (2:1.02.167-1ubuntu1) ... +Selecting previously unselected package libjson-c4:amd64. +Preparing to unpack .../05-libjson-c4_0.13.1+dfsg-7_amd64.deb ... +Unpacking libjson-c4:amd64 (0.13.1+dfsg-7) ... +Selecting previously unselected package libcryptsetup12:amd64. +Preparing to unpack .../06-libcryptsetup12_2%3a2.2.2-3ubuntu2_amd64.deb ... +Unpacking libcryptsetup12:amd64 (2:2.2.2-3ubuntu2) ... +Selecting previously unselected package libip4tc2:amd64. +Preparing to unpack .../07-libip4tc2_1.8.4-3ubuntu2_amd64.deb ... +Unpacking libip4tc2:amd64 (1.8.4-3ubuntu2) ... +Selecting previously unselected package libkmod2:amd64. +Preparing to unpack .../08-libkmod2_27-1ubuntu2_amd64.deb ... +Unpacking libkmod2:amd64 (27-1ubuntu2) ... +Selecting previously unselected package systemd-timesyncd. +Preparing to unpack .../09-systemd-timesyncd_245.4-4ubuntu3_amd64.deb ... +Unpacking systemd-timesyncd (245.4-4ubuntu3) ... +Selecting previously unselected package systemd. +Preparing to unpack .../10-systemd_245.4-4ubuntu3_amd64.deb ... +Unpacking systemd (245.4-4ubuntu3) ... +Setting up libapparmor1:amd64 (2.13.3-7ubuntu5) ... +Setting up libcap2:amd64 (1:2.32-1) ... +Setting up libargon2-1:amd64 (0~20171227-0.2) ... +Setting up libdevmapper1.02.1:amd64 (2:1.02.167-1ubuntu1) ... +Setting up libjson-c4:amd64 (0.13.1+dfsg-7) ... +Setting up libcryptsetup12:amd64 (2:2.2.2-3ubuntu2) ... +Setting up libip4tc2:amd64 (1.8.4-3ubuntu2) ... +Setting up libkmod2:amd64 (27-1ubuntu2) ... +Setting up systemd-timesyncd (245.4-4ubuntu3) ... +Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /lib/systemd/system/systemd-timesyncd.service. +Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service. +Setting up systemd (245.4-4ubuntu3) ... +Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /lib/systemd/system/getty@.service. +Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /lib/systemd/system/remote-fs.target. +Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /lib/systemd/system/systemd-resolved.service. +Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service. +Created symlink /etc/systemd/system/multi-user.target.wants/ondemand.service → /lib/systemd/system/ondemand.service. +Created symlink /etc/systemd/system/sysinit.target.wants/systemd-pstore.service → /lib/systemd/system/systemd-pstore.service. +Initializing machine ID from random generator. +[/usr/lib/tmpfiles.d/systemd-tmp.conf:11] Failed to replace specifiers: /tmp/systemd-private-%b-* +[/usr/lib/tmpfiles.d/systemd-tmp.conf:12] Failed to replace specifiers: /tmp/systemd-private-%b-*/tmp +[/usr/lib/tmpfiles.d/systemd-tmp.conf:13] Failed to replace specifiers: /var/tmp/systemd-private-%b-* +[/usr/lib/tmpfiles.d/systemd-tmp.conf:14] Failed to replace specifiers: /var/tmp/systemd-private-%b-*/tmp +[/usr/lib/tmpfiles.d/systemd-tmp.conf:22] Failed to replace specifiers: /var/lib/systemd/coredump/.#core*.%b* +fchmod() of /run/systemd/netif failed: No such file or directory +fchmod() of /run/systemd/netif/links failed: No such file or directory +fchmod() of /run/systemd/netif/leases failed: No such file or directory +fchmod() of /run/systemd/netif/lldp failed: No such file or directory +ACL operation on "/var/log/journal" failed: No such file or directory +Failed to re-open '/var/log/journal': No such file or directory +fchmod() of /var/log/journal failed: No such file or directory +Selecting previously unselected package systemd-sysv. +(Reading database ... 5657 files and directories currently installed.) +Preparing to unpack .../000-systemd-sysv_245.4-4ubuntu3_amd64.deb ... +Unpacking systemd-sysv (245.4-4ubuntu3) ... +Selecting previously unselected package distro-info-data. +Preparing to unpack .../001-distro-info-data_0.43ubuntu1_all.deb ... +Unpacking distro-info-data (0.43ubuntu1) ... +Selecting previously unselected package libbsd0:amd64. +Preparing to unpack .../002-libbsd0_0.10.0-1_amd64.deb ... +Unpacking libbsd0:amd64 (0.10.0-1) ... +Selecting previously unselected package libelf1:amd64. +Preparing to unpack .../003-libelf1_0.176-1.1build1_amd64.deb ... +Unpacking libelf1:amd64 (0.176-1.1build1) ... +Selecting previously unselected package libmnl0:amd64. +Preparing to unpack .../004-libmnl0_1.0.4-2_amd64.deb ... +Unpacking libmnl0:amd64 (1.0.4-2) ... +Selecting previously unselected package libxtables12:amd64. +Preparing to unpack .../005-libxtables12_1.8.4-3ubuntu2_amd64.deb ... +Unpacking libxtables12:amd64 (1.8.4-3ubuntu2) ... +Selecting previously unselected package libcap2-bin. +Preparing to unpack .../006-libcap2-bin_1%3a2.32-1_amd64.deb ... +Unpacking libcap2-bin (1:2.32-1) ... +Selecting previously unselected package iproute2. +Preparing to unpack .../007-iproute2_5.5.0-1ubuntu1_amd64.deb ... +Unpacking iproute2 (5.5.0-1ubuntu1) ... +Selecting previously unselected package iputils-ping. +Preparing to unpack .../008-iputils-ping_3%3a20190709-3_amd64.deb ... +Unpacking iputils-ping (3:20190709-3) ... +Selecting previously unselected package kmod. +Preparing to unpack .../009-kmod_27-1ubuntu2_amd64.deb ... +Unpacking kmod (27-1ubuntu2) ... +Selecting previously unselected package locales. +Preparing to unpack .../010-locales_2.31-0ubuntu9_all.deb ... +Unpacking locales (2.31-0ubuntu9) ... +Selecting previously unselected package lsb-release. +Preparing to unpack .../011-lsb-release_11.1.0ubuntu2_all.deb ... +Unpacking lsb-release (11.1.0ubuntu2) ... +Selecting previously unselected package netbase. +Preparing to unpack .../012-netbase_6.1_all.deb ... +Unpacking netbase (6.1) ... +Selecting previously unselected package ucf. +Preparing to unpack .../013-ucf_3.0038+nmu1_all.deb ... +Moving old data out of the way +Unpacking ucf (3.0038+nmu1) ... +Selecting previously unselected package udev. +Preparing to unpack .../014-udev_245.4-4ubuntu3_amd64.deb ... +Unpacking udev (245.4-4ubuntu3) ... +Selecting previously unselected package cpio. +Preparing to unpack .../015-cpio_2.13+dfsg-2_amd64.deb ... +Unpacking cpio (2.13+dfsg-2) ... +Selecting previously unselected package libip6tc2:amd64. +Preparing to unpack .../016-libip6tc2_1.8.4-3ubuntu2_amd64.deb ... +Unpacking libip6tc2:amd64 (1.8.4-3ubuntu2) ... +Selecting previously unselected package libnfnetlink0:amd64. +Preparing to unpack .../017-libnfnetlink0_1.0.1-3build1_amd64.deb ... +Unpacking libnfnetlink0:amd64 (1.0.1-3build1) ... +Selecting previously unselected package libnetfilter-conntrack3:amd64. +Preparing to unpack .../018-libnetfilter-conntrack3_1.0.7-2_amd64.deb ... +Unpacking libnetfilter-conntrack3:amd64 (1.0.7-2) ... +Selecting previously unselected package libnftnl11:amd64. +Preparing to unpack .../019-libnftnl11_1.1.5-1_amd64.deb ... +Unpacking libnftnl11:amd64 (1.1.5-1) ... +Selecting previously unselected package iptables. +Preparing to unpack .../020-iptables_1.8.4-3ubuntu2_amd64.deb ... +Unpacking iptables (1.8.4-3ubuntu2) ... +Selecting previously unselected package libcbor0.6:amd64. +Preparing to unpack .../021-libcbor0.6_0.6.0-0ubuntu1_amd64.deb ... +Unpacking libcbor0.6:amd64 (0.6.0-0ubuntu1) ... +Selecting previously unselected package libedit2:amd64. +Preparing to unpack .../022-libedit2_3.1-20191231-1_amd64.deb ... +Unpacking libedit2:amd64 (3.1-20191231-1) ... +Selecting previously unselected package libfido2-1:amd64. +Preparing to unpack .../023-libfido2-1_1.3.1-1ubuntu2_amd64.deb ... +Unpacking libfido2-1:amd64 (1.3.1-1ubuntu2) ... +Selecting previously unselected package libkrb5support0:amd64. +Preparing to unpack .../024-libkrb5support0_1.17-6ubuntu4_amd64.deb ... +Unpacking libkrb5support0:amd64 (1.17-6ubuntu4) ... +Selecting previously unselected package libk5crypto3:amd64. +Preparing to unpack .../025-libk5crypto3_1.17-6ubuntu4_amd64.deb ... +Unpacking libk5crypto3:amd64 (1.17-6ubuntu4) ... +Selecting previously unselected package libkeyutils1:amd64. +Preparing to unpack .../026-libkeyutils1_1.6-6ubuntu1_amd64.deb ... +Unpacking libkeyutils1:amd64 (1.6-6ubuntu1) ... +Selecting previously unselected package libkrb5-3:amd64. +Preparing to unpack .../027-libkrb5-3_1.17-6ubuntu4_amd64.deb ... +Unpacking libkrb5-3:amd64 (1.17-6ubuntu4) ... +Selecting previously unselected package libgssapi-krb5-2:amd64. +Preparing to unpack .../028-libgssapi-krb5-2_1.17-6ubuntu4_amd64.deb ... +Unpacking libgssapi-krb5-2:amd64 (1.17-6ubuntu4) ... +Selecting previously unselected package libpcap0.8:amd64. +Preparing to unpack .../029-libpcap0.8_1.9.1-3_amd64.deb ... +Unpacking libpcap0.8:amd64 (1.9.1-3) ... +Selecting previously unselected package libpsl5:amd64. +Preparing to unpack .../030-libpsl5_0.21.0-1ubuntu1_amd64.deb ... +Unpacking libpsl5:amd64 (0.21.0-1ubuntu1) ... +Selecting previously unselected package openssh-client. +Preparing to unpack .../031-openssh-client_1%3a8.2p1-4_amd64.deb ... +Unpacking openssh-client (1:8.2p1-4) ... +Selecting previously unselected package tcpdump. +Preparing to unpack .../032-tcpdump_4.9.3-4_amd64.deb ... +Unpacking tcpdump (4.9.3-4) ... +Selecting previously unselected package apt-transport-https. +Preparing to unpack .../033-apt-transport-https_2.0.2_all.deb ... +Unpacking apt-transport-https (2.0.2) ... +Selecting previously unselected package bridge-utils. +Preparing to unpack .../034-bridge-utils_1.6-2ubuntu1_amd64.deb ... +Unpacking bridge-utils (1.6-2ubuntu1) ... +Selecting previously unselected package busybox. +Preparing to unpack .../035-busybox_1%3a1.30.1-4ubuntu6_amd64.deb ... +Unpacking busybox (1:1.30.1-4ubuntu6) ... +Selecting previously unselected package busybox-initramfs. +Preparing to unpack .../036-busybox-initramfs_1%3a1.30.1-4ubuntu6_amd64.deb ... +Unpacking busybox-initramfs (1:1.30.1-4ubuntu6) ... +Selecting previously unselected package libnl-3-200:amd64. +Preparing to unpack .../037-libnl-3-200_3.4.0-1_amd64.deb ... +Unpacking libnl-3-200:amd64 (3.4.0-1) ... +Selecting previously unselected package libnl-genl-3-200:amd64. +Preparing to unpack .../038-libnl-genl-3-200_3.4.0-1_amd64.deb ... +Unpacking libnl-genl-3-200:amd64 (3.4.0-1) ... +Selecting previously unselected package wireless-regdb. +Preparing to unpack .../039-wireless-regdb_2018.05.09-0ubuntu1_all.deb ... +Unpacking wireless-regdb (2018.05.09-0ubuntu1) ... +Selecting previously unselected package iw. +Preparing to unpack .../040-iw_5.4-1_amd64.deb ... +Unpacking iw (5.4-1) ... +Selecting previously unselected package crda. +Preparing to unpack .../041-crda_3.18-1build1_amd64.deb ... +Unpacking crda (3.18-1build1) ... +Selecting previously unselected package libbrotli1:amd64. +Preparing to unpack .../042-libbrotli1_1.0.7-6build1_amd64.deb ... +Unpacking libbrotli1:amd64 (1.0.7-6build1) ... +Selecting previously unselected package libroken18-heimdal:amd64. +Preparing to unpack .../043-libroken18-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libasn1-8-heimdal:amd64. +Preparing to unpack .../044-libasn1-8-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libheimbase1-heimdal:amd64. +Preparing to unpack .../045-libheimbase1-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libhcrypto4-heimdal:amd64. +Preparing to unpack .../046-libhcrypto4-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libwind0-heimdal:amd64. +Preparing to unpack .../047-libwind0-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libhx509-5-heimdal:amd64. +Preparing to unpack .../048-libhx509-5-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libkrb5-26-heimdal:amd64. +Preparing to unpack .../049-libkrb5-26-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libheimntlm0-heimdal:amd64. +Preparing to unpack .../050-libheimntlm0-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libgssapi3-heimdal:amd64. +Preparing to unpack .../051-libgssapi3-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ... +Unpacking libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Selecting previously unselected package libsasl2-modules-db:amd64. +Preparing to unpack .../052-libsasl2-modules-db_2.1.27+dfsg-2_amd64.deb ... +Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2) ... +Selecting previously unselected package libsasl2-2:amd64. +Preparing to unpack .../053-libsasl2-2_2.1.27+dfsg-2_amd64.deb ... +Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2) ... +Selecting previously unselected package libldap-common. +Preparing to unpack .../054-libldap-common_2.4.49+dfsg-2ubuntu1_all.deb ... +Unpacking libldap-common (2.4.49+dfsg-2ubuntu1) ... +Selecting previously unselected package libldap-2.4-2:amd64. +Preparing to unpack .../055-libldap-2.4-2_2.4.49+dfsg-2ubuntu1_amd64.deb ... +Unpacking libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1) ... +Selecting previously unselected package libnghttp2-14:amd64. +Preparing to unpack .../056-libnghttp2-14_1.40.0-1build1_amd64.deb ... +Unpacking libnghttp2-14:amd64 (1.40.0-1build1) ... +Selecting previously unselected package librtmp1:amd64. +Preparing to unpack .../057-librtmp1_2.4+20151223.gitfa8646d.1-2build1_amd64.deb ... +Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2build1) ... +Selecting previously unselected package libssh-4:amd64. +Preparing to unpack .../058-libssh-4_0.9.3-2ubuntu2_amd64.deb ... +Unpacking libssh-4:amd64 (0.9.3-2ubuntu2) ... +Selecting previously unselected package libcurl4:amd64. +Preparing to unpack .../059-libcurl4_7.68.0-1ubuntu2_amd64.deb ... +Unpacking libcurl4:amd64 (7.68.0-1ubuntu2) ... +Selecting previously unselected package curl. +Preparing to unpack .../060-curl_7.68.0-1ubuntu2_amd64.deb ... +Unpacking curl (7.68.0-1ubuntu2) ... +Selecting previously unselected package libassuan0:amd64. +Preparing to unpack .../061-libassuan0_2.5.3-7ubuntu2_amd64.deb ... +Unpacking libassuan0:amd64 (2.5.3-7ubuntu2) ... +Selecting previously unselected package gpgconf. +Preparing to unpack .../062-gpgconf_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpgconf (2.2.19-3ubuntu2) ... +Selecting previously unselected package libksba8:amd64. +Preparing to unpack .../063-libksba8_1.3.5-2_amd64.deb ... +Unpacking libksba8:amd64 (1.3.5-2) ... +Selecting previously unselected package libnpth0:amd64. +Preparing to unpack .../064-libnpth0_1.6-1_amd64.deb ... +Unpacking libnpth0:amd64 (1.6-1) ... +Selecting previously unselected package dirmngr. +Preparing to unpack .../065-dirmngr_2.2.19-3ubuntu2_amd64.deb ... +Unpacking dirmngr (2.2.19-3ubuntu2) ... +Selecting previously unselected package ebtables. +Preparing to unpack .../066-ebtables_2.0.11-3build1_amd64.deb ... +Unpacking ebtables (2.0.11-3build1) ... +Selecting previously unselected package gnupg-l10n. +Preparing to unpack .../067-gnupg-l10n_2.2.19-3ubuntu2_all.deb ... +Unpacking gnupg-l10n (2.2.19-3ubuntu2) ... +Selecting previously unselected package gnupg-utils. +Preparing to unpack .../068-gnupg-utils_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gnupg-utils (2.2.19-3ubuntu2) ... +Selecting previously unselected package gpg. +Preparing to unpack .../069-gpg_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpg (2.2.19-3ubuntu2) ... +Selecting previously unselected package pinentry-curses. +Preparing to unpack .../070-pinentry-curses_1.1.0-3build1_amd64.deb ... +Unpacking pinentry-curses (1.1.0-3build1) ... +Selecting previously unselected package gpg-agent. +Preparing to unpack .../071-gpg-agent_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpg-agent (2.2.19-3ubuntu2) ... +Selecting previously unselected package gpg-wks-client. +Preparing to unpack .../072-gpg-wks-client_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpg-wks-client (2.2.19-3ubuntu2) ... +Selecting previously unselected package gpg-wks-server. +Preparing to unpack .../073-gpg-wks-server_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpg-wks-server (2.2.19-3ubuntu2) ... +Selecting previously unselected package gpgsm. +Preparing to unpack .../074-gpgsm_2.2.19-3ubuntu2_amd64.deb ... +Unpacking gpgsm (2.2.19-3ubuntu2) ... +Selecting previously unselected package gnupg. +Preparing to unpack .../075-gnupg_2.2.19-3ubuntu2_all.deb ... +Unpacking gnupg (2.2.19-3ubuntu2) ... +Selecting previously unselected package ifupdown. +Preparing to unpack .../076-ifupdown_0.8.35ubuntu1_amd64.deb ... +Unpacking ifupdown (0.8.35ubuntu1) ... +Selecting previously unselected package ifenslave. +Preparing to unpack .../077-ifenslave_2.9ubuntu1_all.deb ... +Unpacking ifenslave (2.9ubuntu1) ... +Selecting previously unselected package initramfs-tools-bin. +Preparing to unpack .../078-initramfs-tools-bin_0.136ubuntu6_amd64.deb ... +Unpacking initramfs-tools-bin (0.136ubuntu6) ... +Selecting previously unselected package libklibc:amd64. +Preparing to unpack .../079-libklibc_2.0.7-1ubuntu5_amd64.deb ... +Unpacking libklibc:amd64 (2.0.7-1ubuntu5) ... +Selecting previously unselected package klibc-utils. +Preparing to unpack .../080-klibc-utils_2.0.7-1ubuntu5_amd64.deb ... +Unpacking klibc-utils (2.0.7-1ubuntu5) ... +Selecting previously unselected package lz4. +Preparing to unpack .../081-lz4_1.9.2-2_amd64.deb ... +Unpacking lz4 (1.9.2-2) ... +Selecting previously unselected package initramfs-tools-core. +Preparing to unpack .../082-initramfs-tools-core_0.136ubuntu6_all.deb ... +Unpacking initramfs-tools-core (0.136ubuntu6) ... +Selecting previously unselected package linux-base. +Preparing to unpack .../083-linux-base_4.5ubuntu3_all.deb ... +Unpacking linux-base (4.5ubuntu3) ... +Selecting previously unselected package initramfs-tools. +Preparing to unpack .../084-initramfs-tools_0.136ubuntu6_all.deb ... +Unpacking initramfs-tools (0.136ubuntu6) ... +Selecting previously unselected package iucode-tool. +Preparing to unpack .../085-iucode-tool_2.3.1-1_amd64.deb ... +Unpacking iucode-tool (2.3.1-1) ... +Selecting previously unselected package libwrap0:amd64. +Preparing to unpack .../086-libwrap0_7.6.q-30_amd64.deb ... +Unpacking libwrap0:amd64 (7.6.q-30) ... +Selecting previously unselected package linux-firmware. +Preparing to unpack .../087-linux-firmware_1.187_all.deb ... +Unpacking linux-firmware (1.187) ... +Selecting previously unselected package linux-modules-5.4.0-26-generic. +Preparing to unpack .../088-linux-modules-5.4.0-26-generic_5.4.0-26.30_amd64.deb ... +Unpacking linux-modules-5.4.0-26-generic (5.4.0-26.30) ... +Selecting previously unselected package linux-image-5.4.0-26-generic. +Preparing to unpack .../089-linux-image-5.4.0-26-generic_5.4.0-26.30_amd64.deb ... +Unpacking linux-image-5.4.0-26-generic (5.4.0-26.30) ... +Selecting previously unselected package linux-modules-extra-5.4.0-26-generic. +Preparing to unpack .../090-linux-modules-extra-5.4.0-26-generic_5.4.0-26.30_amd64.deb ... +Unpacking linux-modules-extra-5.4.0-26-generic (5.4.0-26.30) ... +Selecting previously unselected package intel-microcode. +Preparing to unpack .../091-intel-microcode_3.20191115.1ubuntu3_amd64.deb ... +Unpacking intel-microcode (3.20191115.1ubuntu3) ... +Selecting previously unselected package amd64-microcode. +Preparing to unpack .../092-amd64-microcode_3.20191218.1ubuntu1_amd64.deb ... +Unpacking amd64-microcode (3.20191218.1ubuntu1) ... +Selecting previously unselected package linux-image-generic. +Preparing to unpack .../093-linux-image-generic_5.4.0.26.32_amd64.deb ... +Unpacking linux-image-generic (5.4.0.26.32) ... +Selecting previously unselected package linux-headers-5.4.0-26. +Preparing to unpack .../094-linux-headers-5.4.0-26_5.4.0-26.30_all.deb ... +Unpacking linux-headers-5.4.0-26 (5.4.0-26.30) ... +Selecting previously unselected package linux-headers-5.4.0-26-generic. +Preparing to unpack .../095-linux-headers-5.4.0-26-generic_5.4.0-26.30_amd64.deb ... +Unpacking linux-headers-5.4.0-26-generic (5.4.0-26.30) ... +Selecting previously unselected package linux-headers-generic. +Preparing to unpack .../096-linux-headers-generic_5.4.0.26.32_amd64.deb ... +Unpacking linux-headers-generic (5.4.0.26.32) ... +Selecting previously unselected package linux-generic. +Preparing to unpack .../097-linux-generic_5.4.0.26.32_amd64.deb ... +Unpacking linux-generic (5.4.0.26.32) ... +Selecting previously unselected package live-boot-initramfs-tools. +Preparing to unpack .../098-live-boot-initramfs-tools_1%3a20190614_all.deb ... +Unpacking live-boot-initramfs-tools (1:20190614) ... +Selecting previously unselected package live-boot. +Preparing to unpack .../099-live-boot_1%3a20190614_all.deb ... +Unpacking live-boot (1:20190614) ... +Selecting previously unselected package openssh-sftp-server. +Preparing to unpack .../100-openssh-sftp-server_1%3a8.2p1-4_amd64.deb ... +Unpacking openssh-sftp-server (1:8.2p1-4) ... +Selecting previously unselected package openssh-server. +Preparing to unpack .../101-openssh-server_1%3a8.2p1-4_amd64.deb ... +Unpacking openssh-server (1:8.2p1-4) ... +Selecting previously unselected package vlan. +Preparing to unpack .../102-vlan_2.0.4ubuntu1_all.deb ... +Unpacking vlan (2.0.4ubuntu1) ... +Setting up libksba8:amd64 (1.3.5-2) ... +Setting up cpio (2.13+dfsg-2) ... +update-alternatives: using /bin/mt-gnu to provide /bin/mt (mt) in auto mode +Setting up linux-headers-5.4.0-26 (5.4.0-26.30) ... +Setting up systemd-sysv (245.4-4ubuntu3) ... +Setting up libkeyutils1:amd64 (1.6-6ubuntu1) ... +Setting up libpsl5:amd64 (0.21.0-1ubuntu1) ... +Setting up linux-base (4.5ubuntu3) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Setting up mime-support (3.64ubuntu1) ... +Setting up apt-transport-https (2.0.2) ... +Setting up iucode-tool (2.3.1-1) ... +Setting up linux-modules-5.4.0-26-generic (5.4.0-26.30) ... +Setting up linux-firmware (1.187) ... +Setting up libip6tc2:amd64 (1.8.4-3ubuntu2) ... +Setting up distro-info-data (0.43ubuntu1) ... +Setting up intel-microcode (3.20191115.1ubuntu3) ... +intel-microcode: initramfs support missing +Setting up libbrotli1:amd64 (1.0.7-6build1) ... +Setting up wireless-regdb (2018.05.09-0ubuntu1) ... +Setting up libsqlite3-0:amd64 (3.31.1-4) ... +Setting up libnghttp2-14:amd64 (1.40.0-1build1) ... +Setting up libnpth0:amd64 (1.6-1) ... +Setting up kmod (27-1ubuntu2) ... +Setting up libassuan0:amd64 (2.5.3-7ubuntu2) ... +Setting up libcbor0.6:amd64 (0.6.0-0ubuntu1) ... +Setting up amd64-microcode (3.20191218.1ubuntu1) ... +amd64-microcode: initramfs support missing +Setting up locales (2.31-0ubuntu9) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Generating locales (this might take a while)... +Generation complete. +Setting up libldap-common (2.4.49+dfsg-2ubuntu1) ... +Setting up libkrb5support0:amd64 (1.17-6ubuntu4) ... +Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2) ... +Setting up libcap2-bin (1:2.32-1) ... +Setting up busybox (1:1.30.1-4ubuntu6) ... +Setting up libklibc:amd64 (2.0.7-1ubuntu5) ... +Setting up libpcap0.8:amd64 (1.9.1-3) ... +Setting up libwrap0:amd64 (7.6.q-30) ... +Setting up gnupg-l10n (2.2.19-3ubuntu2) ... +Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2build1) ... +Setting up libmnl0:amd64 (1.0.4-2) ... +Setting up udev (245.4-4ubuntu3) ... +A chroot environment has been detected, udev not started. +Setting up ucf (3.0038+nmu1) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Setting up libk5crypto3:amd64 (1.17-6ubuntu4) ... +Setting up busybox-initramfs (1:1.30.1-4ubuntu6) ... +Setting up libxtables12:amd64 (1.8.4-3ubuntu2) ... +Setting up bridge-utils (1.6-2ubuntu1) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Setting up libsasl2-2:amd64 (2.1.27+dfsg-2) ... +Setting up libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up lz4 (1.9.2-2) ... +Setting up libnfnetlink0:amd64 (1.0.1-3build1) ... +Setting up libnl-3-200:amd64 (3.4.0-1) ... +Setting up netbase (6.1) ... +Setting up libkrb5-3:amd64 (1.17-6ubuntu4) ... +Setting up libmpdec2:amd64 (2.4.2-3) ... +Setting up libfido2-1:amd64 (1.3.1-1ubuntu2) ... +Setting up klibc-utils (2.0.7-1ubuntu5) ... +No diversion 'diversion of /usr/share/initramfs-tools/hooks/klibc to /usr/share/initramfs-tools/hooks/klibc^i-t by klibc-utils', none removed. +Setting up libbsd0:amd64 (0.10.0-1) ... +Setting up libelf1:amd64 (0.176-1.1build1) ... +Setting up iputils-ping (3:20190709-3) ... +Setting up readline-common (8.0-4) ... +Setting up libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up initramfs-tools-bin (0.136ubuntu6) ... +Setting up pinentry-curses (1.1.0-3build1) ... +Setting up tcpdump (4.9.3-4) ... +Setting up iproute2 (5.5.0-1ubuntu1) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Setting up libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up linux-image-5.4.0-26-generic (5.4.0-26.30) ... +I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.4.0-26-generic +I: /boot/initrd.img.old is now a symlink to initrd.img-5.4.0-26-generic +I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-26-generic +I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-26-generic +Setting up libedit2:amd64 (3.1-20191231-1) ... +Setting up libreadline8:amd64 (8.0-4) ... +Setting up libnftnl11:amd64 (1.1.5-1) ... +Setting up libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up linux-headers-5.4.0-26-generic (5.4.0-26.30) ... +Setting up libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up ifupdown (0.8.35ubuntu1) ... +Creating /etc/network/interfaces. +Created symlink /etc/systemd/system/multi-user.target.wants/networking.service → /lib/systemd/system/networking.service. +Created symlink /etc/systemd/system/network-online.target.wants/networking.service → /lib/systemd/system/networking.service. +Setting up ebtables (2.0.11-3build1) ... +update-alternatives: using /usr/sbin/ebtables-legacy to provide /usr/sbin/ebtables (ebtables) in auto mode +Setting up libgssapi-krb5-2:amd64 (1.17-6ubuntu4) ... +Setting up libssh-4:amd64 (0.9.3-2ubuntu2) ... +Setting up vlan (2.0.4ubuntu1) ... +Setting up libnetfilter-conntrack3:amd64 (1.0.7-2) ... +Setting up libnl-genl-3-200:amd64 (3.4.0-1) ... +Setting up gpgconf (2.2.19-3ubuntu2) ... +Setting up libpython3.8-stdlib:amd64 (3.8.2-1ubuntu1) ... +Setting up iw (5.4-1) ... +Setting up initramfs-tools-core (0.136ubuntu6) ... +Setting up python3.8 (3.8.2-1ubuntu1) ... +Setting up ifenslave (2.9ubuntu1) ... +Setting up crda (3.18-1build1) ... +Setting up gpg (2.2.19-3ubuntu2) ... +Setting up libpython3-stdlib:amd64 (3.8.2-0ubuntu2) ... +Setting up gnupg-utils (2.2.19-3ubuntu2) ... +Setting up gpg-agent (2.2.19-3ubuntu2) ... +Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket → /usr/lib/systemd/user/gpg-agent-browser.socket. +Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket → /usr/lib/systemd/user/gpg-agent-extra.socket. +Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket → /usr/lib/systemd/user/gpg-agent-ssh.socket. +Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent.socket → /usr/lib/systemd/user/gpg-agent.socket. +Setting up initramfs-tools (0.136ubuntu6) ... +update-initramfs: deferring update (trigger activated) +Setting up iptables (1.8.4-3ubuntu2) ... +update-alternatives: using /usr/sbin/iptables-legacy to provide /usr/sbin/iptables (iptables) in auto mode +update-alternatives: using /usr/sbin/ip6tables-legacy to provide /usr/sbin/ip6tables (ip6tables) in auto mode +update-alternatives: using /usr/sbin/arptables-nft to provide /usr/sbin/arptables (arptables) in auto mode +Setting up openssh-client (1:8.2p1-4) ... +Setting up libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up gpgsm (2.2.19-3ubuntu2) ... +Setting up python3 (3.8.2-0ubuntu2) ... +running python rtupdate hooks for python3.8... +running python post-rtupdate hooks for python3.8... +Setting up linux-headers-generic (5.4.0.26.32) ... +Setting up linux-modules-extra-5.4.0-26-generic (5.4.0-26.30) ... +Setting up gpg-wks-server (2.2.19-3ubuntu2) ... +Setting up live-boot-initramfs-tools (1:20190614) ... +update-initramfs: deferring update (trigger activated) +Setting up lsb-release (11.1.0ubuntu2) ... +Setting up libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up openssh-sftp-server (1:8.2p1-4) ... +Setting up linux-image-generic (5.4.0.26.32) ... +Setting up openssh-server (1:8.2p1-4) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype + +Creating config file /etc/ssh/sshd_config with new version +Creating SSH2 RSA key; this may take some time ... +3072 SHA256:5OPRRVn3911pZAZlVQ1ze1DwOlxhU2jN4ChF+8VoU7A root@d999c0e0d0a9 (RSA) +Creating SSH2 ECDSA key; this may take some time ... +256 SHA256:lPCzsb1mBnquiJya6GEQB0kzduLaHjRywX9V2W8eYAE root@d999c0e0d0a9 (ECDSA) +Creating SSH2 ED25519 key; this may take some time ... +256 SHA256:9SaWQWIpOWmGY8JJCF7uCHc3Wo2uVm11rms3RjNc95U root@d999c0e0d0a9 (ED25519) +Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service. +Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service. +invoke-rc.d: could not determine current runlevel +Setting up linux-generic (5.4.0.26.32) ... +Setting up libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up live-boot (1:20190614) ... +Setting up libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ... +Setting up libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1) ... +Setting up dirmngr (2.2.19-3ubuntu2) ... +Created symlink /etc/systemd/user/sockets.target.wants/dirmngr.socket → /usr/lib/systemd/user/dirmngr.socket. +Setting up libcurl4:amd64 (7.68.0-1ubuntu2) ... +Setting up curl (7.68.0-1ubuntu2) ... +Setting up gpg-wks-client (2.2.19-3ubuntu2) ... +Setting up gnupg (2.2.19-3ubuntu2) ... +Processing triggers for systemd (245.4-4ubuntu3) ... +Processing triggers for libc-bin (2.31-0ubuntu9) ... +Processing triggers for linux-image-5.4.0-26-generic (5.4.0-26.30) ... +/etc/kernel/postinst.d/initramfs-tools: +update-initramfs: Generating /boot/initrd.img-5.4.0-26-generic +live-boot: core filesystems devices utils udev blockdev dns. +Processing triggers for initramfs-tools (0.136ubuntu6) ... +update-initramfs: Generating /boot/initrd.img-5.4.0-26-generic +live-boot: core filesystems devices utils udev blockdev dns. +# # # + echo bonding +# + echo 8021q +# # + locale-gen en_US.UTF-8 +Generating locales (this might take a while)... + en_US.UTF-8... done +Generation complete. +# + systemctl enable systemd-networkd +Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service. +Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service. +Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket. +Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service. +# + echo br_netfilter +# # > + apt-get install -y --no-install-recommends cloud-init +Reading package lists... Done +Building dependency tree +Reading state information... Done +The following additional packages will be installed: + ca-certificates cloud-guest-utils isc-dhcp-client libdns-export1109 + libglib2.0-0 libisc-export1105 libnetplan0 libyaml-0-2 netplan.io openssl + python3-attr python3-blinker python3-certifi python3-cffi-backend + python3-chardet python3-configobj python3-cryptography python3-distutils + python3-idna python3-importlib-metadata python3-jinja2 python3-json-pointer + python3-jsonpatch python3-jsonschema python3-jwt python3-lib2to3 + python3-markupsafe python3-more-itertools python3-netifaces python3-oauthlib + python3-pkg-resources python3-pyrsistent python3-requests python3-serial + python3-setuptools python3-six python3-urllib3 python3-yaml python3-zipp +Suggested packages: + resolvconf avahi-autoipd isc-dhcp-client-ddns network-manager + | wpasupplicant python-attr-doc python-blinker-doc python-configobj-doc + python-cryptography-doc python3-cryptography-vectors python-jinja2-doc + python-jsonschema-doc python3-crypto python3-openssl python3-socks + python3-wxgtk3.0 | python3-wxgtk python-setuptools-doc +Recommended packages: + eatmydata gdisk software-properties-common isc-dhcp-common libglib2.0-data + shared-mime-info xdg-user-dirs +The following NEW packages will be installed: + ca-certificates cloud-guest-utils cloud-init isc-dhcp-client + libdns-export1109 libglib2.0-0 libisc-export1105 libnetplan0 libyaml-0-2 + netplan.io openssl python3-attr python3-blinker python3-certifi + python3-cffi-backend python3-chardet python3-configobj python3-cryptography + python3-distutils python3-idna python3-importlib-metadata python3-jinja2 + python3-json-pointer python3-jsonpatch python3-jsonschema python3-jwt + python3-lib2to3 python3-markupsafe python3-more-itertools python3-netifaces + python3-oauthlib python3-pkg-resources python3-pyrsistent python3-requests + python3-serial python3-setuptools python3-six python3-urllib3 python3-yaml + python3-zipp +0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. +Need to get 5855 kB of archives. +After this operation, 22.3 MB of additional disk space will be used. +Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 openssl amd64 1.1.1f-1ubuntu2 [621 kB] +Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 ca-certificates all 20190110ubuntu1 [146 kB] +Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 libisc-export1105 amd64 1:9.11.16+dfsg-3~build1 [174 kB] +Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libdns-export1109 amd64 1:9.11.16+dfsg-3~build1 [767 kB] +Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 isc-dhcp-client amd64 4.4.1-2.1ubuntu5 [246 kB] +Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 libglib2.0-0 amd64 2.64.2-1~fakesync1 [1284 kB] +Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 libyaml-0-2 amd64 0.2.2-1 [48.9 kB] +Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 libnetplan0 amd64 0.99-0ubuntu1 [22.9 kB] +Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-yaml amd64 5.3.1-1 [135 kB] +Get:10 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-netifaces amd64 0.10.4-1ubuntu4 [16.1 kB] +Get:11 http://archive.ubuntu.com/ubuntu focal/main amd64 netplan.io amd64 0.99-0ubuntu1 [70.8 kB] +Get:12 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-cffi-backend amd64 1.14.0-1build1 [68.7 kB] +Get:13 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-pkg-resources all 45.2.0-1 [130 kB] +Get:14 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-six all 1.14.0-2 [12.1 kB] +Get:15 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-attr all 19.3.0-2 [33.9 kB] +Get:16 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-blinker all 1.4+dfsg1-0.3ubuntu1 [13.2 kB] +Get:17 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-certifi all 2019.11.28-1 [149 kB] +Get:18 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-chardet all 3.0.4-4build1 [80.4 kB] +Get:19 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-configobj all 5.0.6-4 [34.1 kB] +Get:20 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-cryptography amd64 2.8-3 [211 kB] +Get:21 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-lib2to3 all 3.8.2-1ubuntu1 [74.1 kB] +Get:22 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-distutils all 3.8.2-1ubuntu1 [140 kB] +Get:23 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-idna all 2.8-1 [34.6 kB] +Get:24 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-more-itertools all 4.2.0-1build1 [39.4 kB] +Get:25 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-zipp all 1.0.0-1 [5312 B] +Get:26 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-importlib-metadata all 1.5.0-1 [9992 B] +Get:27 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-markupsafe amd64 1.1.0-1build2 [13.9 kB] +Get:28 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-jinja2 all 2.10.1-2 [95.5 kB] +Get:29 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-json-pointer all 2.0-0ubuntu1 [8320 B] +Get:30 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-jsonpatch all 1.23-3 [12.0 kB] +Get:31 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-setuptools all 45.2.0-1 [330 kB] +Get:32 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-pyrsistent amd64 0.15.5-1build1 [52.1 kB] +Get:33 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-jsonschema all 3.2.0-0ubuntu2 [43.1 kB] +Get:34 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-jwt all 1.7.1-2ubuntu2 [17.4 kB] +Get:35 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-oauthlib all 3.1.0-1ubuntu2 [84.8 kB] +Get:36 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-urllib3 all 1.25.8-2 [88.1 kB] +Get:37 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-requests all 2.22.0-2ubuntu1 [47.1 kB] +Get:38 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-serial all 3.4-5.1 [72.4 kB] +Get:39 http://archive.ubuntu.com/ubuntu focal/main amd64 cloud-guest-utils all 0.31-7-gd99b2d76-0ubuntu1 [16.2 kB] +Get:40 http://archive.ubuntu.com/ubuntu focal/main amd64 cloud-init all 20.1-10-g71af48df-0ubuntu5 [406 kB] +Fetched 5855 kB in 2s (2541 kB/s) +debconf: delaying package configuration, since apt-utils is not installed +E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device) +Selecting previously unselected package openssl. +(Reading database ... 46818 files and directories currently installed.) +Preparing to unpack .../00-openssl_1.1.1f-1ubuntu2_amd64.deb ... +Unpacking openssl (1.1.1f-1ubuntu2) ... +Selecting previously unselected package ca-certificates. +Preparing to unpack .../01-ca-certificates_20190110ubuntu1_all.deb ... +Unpacking ca-certificates (20190110ubuntu1) ... +Selecting previously unselected package libisc-export1105:amd64. +Preparing to unpack .../02-libisc-export1105_1%3a9.11.16+dfsg-3~build1_amd64.deb ... +Unpacking libisc-export1105:amd64 (1:9.11.16+dfsg-3~build1) ... +Selecting previously unselected package libdns-export1109. +Preparing to unpack .../03-libdns-export1109_1%3a9.11.16+dfsg-3~build1_amd64.deb ... +Unpacking libdns-export1109 (1:9.11.16+dfsg-3~build1) ... +Selecting previously unselected package isc-dhcp-client. +Preparing to unpack .../04-isc-dhcp-client_4.4.1-2.1ubuntu5_amd64.deb ... +Unpacking isc-dhcp-client (4.4.1-2.1ubuntu5) ... +Selecting previously unselected package libglib2.0-0:amd64. +Preparing to unpack .../05-libglib2.0-0_2.64.2-1~fakesync1_amd64.deb ... +Unpacking libglib2.0-0:amd64 (2.64.2-1~fakesync1) ... +Selecting previously unselected package libyaml-0-2:amd64. +Preparing to unpack .../06-libyaml-0-2_0.2.2-1_amd64.deb ... +Unpacking libyaml-0-2:amd64 (0.2.2-1) ... +Selecting previously unselected package libnetplan0:amd64. +Preparing to unpack .../07-libnetplan0_0.99-0ubuntu1_amd64.deb ... +Unpacking libnetplan0:amd64 (0.99-0ubuntu1) ... +Selecting previously unselected package python3-yaml. +Preparing to unpack .../08-python3-yaml_5.3.1-1_amd64.deb ... +Unpacking python3-yaml (5.3.1-1) ... +Selecting previously unselected package python3-netifaces. +Preparing to unpack .../09-python3-netifaces_0.10.4-1ubuntu4_amd64.deb ... +Unpacking python3-netifaces (0.10.4-1ubuntu4) ... +Selecting previously unselected package netplan.io. +Preparing to unpack .../10-netplan.io_0.99-0ubuntu1_amd64.deb ... +Unpacking netplan.io (0.99-0ubuntu1) ... +Selecting previously unselected package python3-cffi-backend. +Preparing to unpack .../11-python3-cffi-backend_1.14.0-1build1_amd64.deb ... +Unpacking python3-cffi-backend (1.14.0-1build1) ... +Selecting previously unselected package python3-pkg-resources. +Preparing to unpack .../12-python3-pkg-resources_45.2.0-1_all.deb ... +Unpacking python3-pkg-resources (45.2.0-1) ... +Selecting previously unselected package python3-six. +Preparing to unpack .../13-python3-six_1.14.0-2_all.deb ... +Unpacking python3-six (1.14.0-2) ... +Selecting previously unselected package python3-attr. +Preparing to unpack .../14-python3-attr_19.3.0-2_all.deb ... +Unpacking python3-attr (19.3.0-2) ... +Selecting previously unselected package python3-blinker. +Preparing to unpack .../15-python3-blinker_1.4+dfsg1-0.3ubuntu1_all.deb ... +Unpacking python3-blinker (1.4+dfsg1-0.3ubuntu1) ... +Selecting previously unselected package python3-certifi. +Preparing to unpack .../16-python3-certifi_2019.11.28-1_all.deb ... +Unpacking python3-certifi (2019.11.28-1) ... +Selecting previously unselected package python3-chardet. +Preparing to unpack .../17-python3-chardet_3.0.4-4build1_all.deb ... +Unpacking python3-chardet (3.0.4-4build1) ... +Selecting previously unselected package python3-configobj. +Preparing to unpack .../18-python3-configobj_5.0.6-4_all.deb ... +Unpacking python3-configobj (5.0.6-4) ... +Selecting previously unselected package python3-cryptography. +Preparing to unpack .../19-python3-cryptography_2.8-3_amd64.deb ... +Unpacking python3-cryptography (2.8-3) ... +Selecting previously unselected package python3-lib2to3. +Preparing to unpack .../20-python3-lib2to3_3.8.2-1ubuntu1_all.deb ... +Unpacking python3-lib2to3 (3.8.2-1ubuntu1) ... +Selecting previously unselected package python3-distutils. +Preparing to unpack .../21-python3-distutils_3.8.2-1ubuntu1_all.deb ... +Unpacking python3-distutils (3.8.2-1ubuntu1) ... +Selecting previously unselected package python3-idna. +Preparing to unpack .../22-python3-idna_2.8-1_all.deb ... +Unpacking python3-idna (2.8-1) ... +Selecting previously unselected package python3-more-itertools. +Preparing to unpack .../23-python3-more-itertools_4.2.0-1build1_all.deb ... +Unpacking python3-more-itertools (4.2.0-1build1) ... +Selecting previously unselected package python3-zipp. +Preparing to unpack .../24-python3-zipp_1.0.0-1_all.deb ... +Unpacking python3-zipp (1.0.0-1) ... +Selecting previously unselected package python3-importlib-metadata. +Preparing to unpack .../25-python3-importlib-metadata_1.5.0-1_all.deb ... +Unpacking python3-importlib-metadata (1.5.0-1) ... +Selecting previously unselected package python3-markupsafe. +Preparing to unpack .../26-python3-markupsafe_1.1.0-1build2_amd64.deb ... +Unpacking python3-markupsafe (1.1.0-1build2) ... +Selecting previously unselected package python3-jinja2. +Preparing to unpack .../27-python3-jinja2_2.10.1-2_all.deb ... +Unpacking python3-jinja2 (2.10.1-2) ... +Selecting previously unselected package python3-json-pointer. +Preparing to unpack .../28-python3-json-pointer_2.0-0ubuntu1_all.deb ... +Unpacking python3-json-pointer (2.0-0ubuntu1) ... +Selecting previously unselected package python3-jsonpatch. +Preparing to unpack .../29-python3-jsonpatch_1.23-3_all.deb ... +Unpacking python3-jsonpatch (1.23-3) ... +Selecting previously unselected package python3-setuptools. +Preparing to unpack .../30-python3-setuptools_45.2.0-1_all.deb ... +Unpacking python3-setuptools (45.2.0-1) ... +Selecting previously unselected package python3-pyrsistent:amd64. +Preparing to unpack .../31-python3-pyrsistent_0.15.5-1build1_amd64.deb ... +Unpacking python3-pyrsistent:amd64 (0.15.5-1build1) ... +Selecting previously unselected package python3-jsonschema. +Preparing to unpack .../32-python3-jsonschema_3.2.0-0ubuntu2_all.deb ... +Unpacking python3-jsonschema (3.2.0-0ubuntu2) ... +Selecting previously unselected package python3-jwt. +Preparing to unpack .../33-python3-jwt_1.7.1-2ubuntu2_all.deb ... +Unpacking python3-jwt (1.7.1-2ubuntu2) ... +Selecting previously unselected package python3-oauthlib. +Preparing to unpack .../34-python3-oauthlib_3.1.0-1ubuntu2_all.deb ... +Unpacking python3-oauthlib (3.1.0-1ubuntu2) ... +Selecting previously unselected package python3-urllib3. +Preparing to unpack .../35-python3-urllib3_1.25.8-2_all.deb ... +Unpacking python3-urllib3 (1.25.8-2) ... +Selecting previously unselected package python3-requests. +Preparing to unpack .../36-python3-requests_2.22.0-2ubuntu1_all.deb ... +Unpacking python3-requests (2.22.0-2ubuntu1) ... +Selecting previously unselected package python3-serial. +Preparing to unpack .../37-python3-serial_3.4-5.1_all.deb ... +Unpacking python3-serial (3.4-5.1) ... +Selecting previously unselected package cloud-guest-utils. +Preparing to unpack .../38-cloud-guest-utils_0.31-7-gd99b2d76-0ubuntu1_all.deb ... +Unpacking cloud-guest-utils (0.31-7-gd99b2d76-0ubuntu1) ... +Selecting previously unselected package cloud-init. +Preparing to unpack .../39-cloud-init_20.1-10-g71af48df-0ubuntu5_all.deb ... +Unpacking cloud-init (20.1-10-g71af48df-0ubuntu5) ... +Setting up python3-pkg-resources (45.2.0-1) ... +Setting up python3-attr (19.3.0-2) ... +Setting up python3-jwt (1.7.1-2ubuntu2) ... +Setting up libyaml-0-2:amd64 (0.2.2-1) ... +Setting up libglib2.0-0:amd64 (2.64.2-1~fakesync1) ... +No schema files found: doing nothing. +Setting up libnetplan0:amd64 (0.99-0ubuntu1) ... +Setting up python3-yaml (5.3.1-1) ... +Setting up python3-markupsafe (1.1.0-1build2) ... +Setting up python3-serial (3.4-5.1) ... +Setting up python3-six (1.14.0-2) ... +Setting up python3-jinja2 (2.10.1-2) ... +Setting up libisc-export1105:amd64 (1:9.11.16+dfsg-3~build1) ... +Setting up python3-chardet (3.0.4-4build1) ... +Setting up python3-configobj (5.0.6-4) ... +Setting up python3-idna (2.8-1) ... +Setting up python3-urllib3 (1.25.8-2) ... +Setting up python3-netifaces (0.10.4-1ubuntu4) ... +Setting up python3-pyrsistent:amd64 (0.15.5-1build1) ... +Setting up python3-json-pointer (2.0-0ubuntu1) ... +Setting up openssl (1.1.1f-1ubuntu2) ... +Setting up python3-lib2to3 (3.8.2-1ubuntu1) ... +Setting up cloud-guest-utils (0.31-7-gd99b2d76-0ubuntu1) ... +Setting up python3-cffi-backend (1.14.0-1build1) ... +Setting up python3-blinker (1.4+dfsg1-0.3ubuntu1) ... +Setting up python3-distutils (3.8.2-1ubuntu1) ... +Setting up python3-more-itertools (4.2.0-1build1) ... +Setting up python3-setuptools (45.2.0-1) ... +Setting up libdns-export1109 (1:9.11.16+dfsg-3~build1) ... +Setting up python3-jsonpatch (1.23-3) ... +update-alternatives: using /usr/bin/jsonpatch-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode +Setting up isc-dhcp-client (4.4.1-2.1ubuntu5) ... +Setting up python3-zipp (1.0.0-1) ... +Setting up netplan.io (0.99-0ubuntu1) ... +Setting up ca-certificates (20190110ubuntu1) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +Updating certificates in /etc/ssl/certs... +128 added, 0 removed; done. +Setting up python3-certifi (2019.11.28-1) ... +Setting up python3-cryptography (2.8-3) ... +Setting up python3-requests (2.22.0-2ubuntu1) ... +Setting up python3-importlib-metadata (1.5.0-1) ... +Setting up python3-oauthlib (3.1.0-1ubuntu2) ... +Setting up python3-jsonschema (3.2.0-0ubuntu2) ... +Setting up cloud-init (20.1-10-g71af48df-0ubuntu5) ... +debconf: unable to initialize frontend: Dialog +debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) +debconf: falling back to frontend: Readline +debconf: unable to initialize frontend: Readline +debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) +debconf: falling back to frontend: Teletype +No diversion 'diversion of /etc/init/ureadahead.conf to /etc/init/ureadahead.conf.disabled by cloud-init', none removed. +Created symlink /etc/systemd/system/cloud-init.target.wants/cloud-config.service → /lib/systemd/system/cloud-config.service. +Created symlink /etc/systemd/system/cloud-init.target.wants/cloud-final.service → /lib/systemd/system/cloud-final.service. +Created symlink /etc/systemd/system/cloud-init.target.wants/cloud-init-local.service → /lib/systemd/system/cloud-init-local.service. +Created symlink /etc/systemd/system/cloud-init.target.wants/cloud-init.service → /lib/systemd/system/cloud-init.service. +Processing triggers for libc-bin (2.31-0ubuntu9) ... +Processing triggers for ca-certificates (20190110ubuntu1) ... +Updating certificates in /etc/ssl/certs... +0 added, 0 removed; done. +Running hooks in /etc/ca-certificates/update.d... +done. +# # + rm -rf /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_InRelease /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_main_binary-amd64_Packages /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_main_i18n_Translation-en /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_universe_binary-amd64_Packages /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_universe_i18n_Translation-en /var/lib/apt/lists/auxfiles /var/lib/apt/lists/lock /var/lib/apt/lists/partial +# ++ mkdir -p /root/LIVE_BOOT/image/openstack/latest ++ cp /builder/meta_data.json /root/LIVE_BOOT/image/openstack/latest ++ cp /config/user-data /root/LIVE_BOOT/image/openstack/latest/user_data ++ yq r -j /config/network-config ++ echo 'datasource_list: [ ConfigDrive, None ]' ++ _make_kernel ++ mkdir -p /root/LIVE_BOOT/scratch /root/LIVE_BOOT/image/live ++ mksquashfs /root/LIVE_BOOT/chroot /root/LIVE_BOOT/image/live/filesystem.squashfs -e boot +Parallel mksquashfs: Using 24 processors +Creating 4.0 filesystem on /root/LIVE_BOOT/image/live/filesystem.squashfs, block size 131072. + + +Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072 + compressed data, compressed metadata, compressed fragments, + compressed xattrs, compressed ids + duplicates are removed +Filesystem size 624492.88 Kbytes (609.86 Mbytes) + 45.67% of uncompressed filesystem size (1367509.59 Kbytes) +Inode table size 459804 bytes (449.03 Kbytes) + 26.38% of uncompressed inode table size (1743271 bytes) +Directory table size 486559 bytes (475.16 Kbytes) + 44.71% of uncompressed directory table size (1088368 bytes) +Xattr table size 36 bytes (0.04 Kbytes) + 90.00% of uncompressed xattr table size (40 bytes) +Number of duplicate files found 8756 +Number of inodes 52089 +Number of files 41051 +Number of fragments 2859 +Number of symbolic links 1709 +Number of device nodes 8 +Number of fifo nodes 0 +Number of socket nodes 0 +Number of directories 9321 +Number of ids (unique uids + gids) 11 +Number of uids 3 + root (0) + unknown (102) + _apt (100) +Number of gids 10 + root (0) + shadow (42) + unknown (102) + unknown (103) + utmp (43) + unknown (110) + tty (5) + staff (50) + adm (4) + mail (8) ++ cp /root/LIVE_BOOT/chroot/boot/vmlinuz-5.4.0-26-generic /root/LIVE_BOOT/image/vmlinuz ++ cp /root/LIVE_BOOT/chroot/boot/initrd.img-5.4.0-26-generic /root/LIVE_BOOT/image/initrd ++ _grub_install ++ cp /builder/grub.conf /root/LIVE_BOOT/scratch/grub.cfg ++ touch /root/LIVE_BOOT/image/UBUNTU_FOCAL_CUSTOM ++ grub-mkstandalone --format=x86_64-efi --output=/root/LIVE_BOOT/scratch/bootx64.efi --locales= --fonts= boot/grub/grub.cfg=/root/LIVE_BOOT/scratch/grub.cfg ++ cd /root/LIVE_BOOT/scratch ++ dd if=/dev/zero of=efiboot.img bs=1M count=10 +10+0 records in +10+0 records out +10485760 bytes (10 MB, 10 MiB) copied, 0.00700445 s, 1.5 GB/s ++ mkfs.vfat efiboot.img +mkfs.fat 4.1 (2017-01-24) ++ LC_CTYPE=C ++ mmd -i efiboot.img efi efi/boot ++ LC_CTYPE=C ++ mcopy -i efiboot.img ./bootx64.efi ::efi/boot/ ++ grub-mkstandalone --format=i386-pc --output=/root/LIVE_BOOT/scratch/core.img '--install-modules=linux16 linux normal iso9660 biosdisk memdisk search tar ls' '--modules=linux16 linux normal iso9660 biosdisk search' --locales= --fonts= boot/grub/grub.cfg=/root/LIVE_BOOT/scratch/grub.cfg ++ cat /usr/lib/grub/i386-pc/cdboot.img /root/LIVE_BOOT/scratch/core.img ++ _make_iso ++ xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid config-2 -eltorito-boot boot/grub/bios.img -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-catalog boot/grub/boot.cat --grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -eltorito-alt-boot -e EFI/efiboot.img -no-emul-boot -append_partition 2 0xef /root/LIVE_BOOT/scratch/efiboot.img -output /config/ubuntu-focal.iso -graft-points /root/LIVE_BOOT/image /boot/grub/bios.img=/root/LIVE_BOOT/scratch/bios.img /EFI/efiboot.img=/root/LIVE_BOOT/scratch/efiboot.img +xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project. + +Drive current: -outdev 'stdio:/config/ubuntu-focal.iso' +Media current: stdio file, overwriteable +Media status : is blank +Media summary: 0 sessions, 0 data blocks, 0 data, 485g free +xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules +Added to ISO image: directory '/'='/root/LIVE_BOOT/image' +xorriso : UPDATE : 10 files added in 1 seconds +Added to ISO image: file '/boot/grub/bios.img'='/root/LIVE_BOOT/scratch/bios.img' +Added to ISO image: file '/EFI/efiboot.img'='/root/LIVE_BOOT/scratch/efiboot.img' +xorriso : UPDATE : 12 files added in 1 seconds +xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img' +xorriso : UPDATE : 14.00% done +xorriso : UPDATE : Thank you for being patient. Working since 1 seconds. +xorriso : UPDATE : Thank you for being patient. Working since 2 seconds. +xorriso : UPDATE : Thank you for being patient. Working since 3 seconds. +xorriso : UPDATE : Thank you for being patient. Working since 4 seconds. +ISO image produced: 355038 sectors +Written to medium : 355038 sectors at LBA 0 +Writing to 'stdio:/config/ubuntu-focal.iso' completed successfully. + +++ yq r /config/builder-conf.yaml builder.outputMetadataFileName ++ OUTPUT=output-metadata.yaml ++ HOST_PATH=/srv/iso ++ _make_metadata /config/output-metadata.yaml /srv/iso ++ echo 'bootImagePath: /srv/iso/ubuntu-focal.iso' diff --git a/pkg/bootstrap/isogen/testdata/pb-output-debian b/pkg/bootstrap/isogen/testdata/pb-output-debian new file mode 100755 index 000000000..282e750c1 --- /dev/null +++ b/pkg/bootstrap/isogen/testdata/pb-output-debian @@ -0,0 +1,2 @@ +Retrieving base packages ........................................................................................... Done +Completed [----------------------------] 100.00% Completed [----------------------------] 100.00% Completed [----------------------------] 100.00% Creating 4.0 filesystem on /root/LIVE_BOOT/image/live/filesystem.squashfs, block size 131072. diff --git a/pkg/container/container.go b/pkg/container/container.go index af136ce47..a6a92a755 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -24,10 +24,11 @@ import ( // defines methods that must be implemented for CRE (e.g. docker, containerd or CRI-O) type Container interface { ImagePull() error - RunCommand([]string, io.Reader, []string, []string, bool) error - RunCommandOutput([]string, io.Reader, []string, []string) (io.ReadCloser, error) + RunCommand([]string, io.Reader, []string, []string) error + GetContainerLogs() (io.ReadCloser, error) RmContainer() error GetID() string + WaitUntilFinished() error } // NewContainer returns instance of Container interface implemented by particular driver diff --git a/pkg/container/container_docker.go b/pkg/container/container_docker.go index 01215bd89..1816b702f 100644 --- a/pkg/container/container_docker.go +++ b/pkg/container/container_docker.go @@ -241,7 +241,6 @@ func (c *DockerContainer) RunCommand( containerInput io.Reader, volumeMounts []string, envVars []string, - debug bool, ) error { realCmd, err := c.getCmd(cmd) if err != nil { @@ -279,53 +278,13 @@ func (c *DockerContainer) RunCommand( return err } - if debug { - log.Debug("start reading container logs") - var reader io.ReadCloser - reader, err = c.dockerClient.ContainerLogs(*c.ctx, c.id, types.ContainerLogsOptions{ShowStdout: true, Follow: true}) - if err != nil { - log.Debugf("failed to read container logs %s", err) - reader = ioutil.NopCloser(strings.NewReader("")) - } - - _, err = io.Copy(log.Writer(), reader) - if err != nil { - log.Debugf("failed to write container logs to log output %s", err) - } - log.Debug("got EOF from container logs") - } - - statusCh, errCh := c.dockerClient.ContainerWait(*c.ctx, c.id, container.WaitConditionNotRunning) - log.Debugf("waiting until command '%s' is finished...", realCmd) - select { - case err = <-errCh: - if err != nil { - return err - } - case retCode := <-statusCh: - if retCode.StatusCode != 0 { - logsCmd := fmt.Sprintf("docker logs %s", c.id) - return ErrRunContainerCommand{Cmd: logsCmd} - } - } - + log.Debug("docker container is started") return nil } -// RunCommandOutput executes specified command in Docker container and -// returns command output as ReadCloser object. RunCommand debug option is -// set to false explicitly -func (c *DockerContainer) RunCommandOutput( - cmd []string, - containerInput io.Reader, - volumeMounts []string, - envVars []string, -) (io.ReadCloser, error) { - if err := c.RunCommand(cmd, containerInput, volumeMounts, envVars, false); err != nil { - return nil, err - } - - return c.dockerClient.ContainerLogs(*c.ctx, c.id, types.ContainerLogsOptions{ShowStdout: true}) +// GetContainerLogs returns logs from the container as io.ReadCloser +func (c *DockerContainer) GetContainerLogs() (io.ReadCloser, error) { + return c.dockerClient.ContainerLogs(*c.ctx, c.id, types.ContainerLogsOptions{ShowStdout: true, Follow: true}) } // RmContainer kills and removes a container from the docker host. @@ -338,3 +297,21 @@ func (c *DockerContainer) RmContainer() error { }, ) } + +// WaitUntilFinished waits unit container command is finished, return an error if failed +func (c *DockerContainer) WaitUntilFinished() error { + statusCh, errCh := c.dockerClient.ContainerWait(*c.ctx, c.id, container.WaitConditionNotRunning) + log.Debugf("waiting until command is finished...") + select { + case err := <-errCh: + if err != nil { + return err + } + case retCode := <-statusCh: + if retCode.StatusCode != 0 { + logsCmd := fmt.Sprintf("docker logs %s", c.id) + return ErrRunContainerCommand{Cmd: logsCmd} + } + } + return nil +} diff --git a/pkg/container/container_docker_test.go b/pkg/container/container_docker_test.go index 0b694aab5..6df1ec858 100644 --- a/pkg/container/container_docker_test.go +++ b/pkg/container/container_docker_test.go @@ -260,7 +260,7 @@ func TestImagePull(t *testing.T) { func TestGetId(t *testing.T) { cnt := getDockerContainerMock(mockDockerClient{}) - err := cnt.RunCommand([]string{"testCmd"}, nil, nil, []string{}, false) + err := cnt.RunCommand([]string{"testCmd"}, nil, nil, []string{}) require.NoError(t, err) actualID := cnt.GetID() @@ -278,7 +278,8 @@ func TestRunCommand(t *testing.T) { volumeMounts []string debug bool mockDockerClient mockDockerClient - expectedErr error + expectedRunErr error + expectedWaitErr error assertF func(*testing.T) }{ { @@ -287,7 +288,8 @@ func TestRunCommand(t *testing.T) { volumeMounts: nil, debug: false, mockDockerClient: mockDockerClient{}, - expectedErr: nil, + expectedRunErr: nil, + expectedWaitErr: nil, assertF: func(t *testing.T) {}, }, { @@ -300,8 +302,9 @@ func TestRunCommand(t *testing.T) { return nil, imageListError }, }, - expectedErr: imageListError, - assertF: func(t *testing.T) {}, + expectedRunErr: imageListError, + expectedWaitErr: nil, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -316,8 +319,9 @@ func TestRunCommand(t *testing.T) { return conn, nil }, }, - expectedErr: nil, - assertF: func(t *testing.T) {}, + expectedRunErr: nil, + expectedWaitErr: nil, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -329,8 +333,9 @@ func TestRunCommand(t *testing.T) { return types.HijackedResponse{}, attachError }, }, - expectedErr: attachError, - assertF: func(t *testing.T) {}, + expectedRunErr: attachError, + expectedWaitErr: nil, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -342,8 +347,9 @@ func TestRunCommand(t *testing.T) { return containerStartError }, }, - expectedErr: containerStartError, - assertF: func(t *testing.T) {}, + expectedRunErr: containerStartError, + expectedWaitErr: nil, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -359,8 +365,9 @@ func TestRunCommand(t *testing.T) { return nil, errC }, }, - expectedErr: containerWaitError, - assertF: func(t *testing.T) {}, + expectedRunErr: nil, + expectedWaitErr: containerWaitError, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -376,8 +383,9 @@ func TestRunCommand(t *testing.T) { return resC, nil }, }, - expectedErr: ErrRunContainerCommand{Cmd: "docker logs testID"}, - assertF: func(t *testing.T) {}, + expectedRunErr: nil, + expectedWaitErr: ErrRunContainerCommand{Cmd: "docker logs testID"}, + assertF: func(t *testing.T) {}, }, { cmd: []string{"testCmd"}, @@ -396,15 +404,17 @@ func TestRunCommand(t *testing.T) { return nil, fmt.Errorf("logs error") }, }, - expectedErr: ErrRunContainerCommand{Cmd: "docker logs testID"}, - assertF: func(t *testing.T) {}, + expectedRunErr: nil, + expectedWaitErr: ErrRunContainerCommand{Cmd: "docker logs testID"}, + assertF: func(t *testing.T) {}, }, } for _, tt := range tests { cnt := getDockerContainerMock(tt.mockDockerClient) - actualErr := cnt.RunCommand(tt.cmd, tt.containerInput, tt.volumeMounts, []string{}, tt.debug) - - assert.Equal(t, tt.expectedErr, actualErr) + actualErr := cnt.RunCommand(tt.cmd, tt.containerInput, tt.volumeMounts, []string{}) + assert.Equal(t, tt.expectedRunErr, actualErr) + actualErr = cnt.WaitUntilFinished() + assert.Equal(t, tt.expectedWaitErr, actualErr) tt.assertF(t) } @@ -443,9 +453,10 @@ func TestRunCommandOutput(t *testing.T) { } for _, tt := range tests { cnt := getDockerContainerMock(tt.mockDockerClient) - actualRes, actualErr := cnt.RunCommandOutput(tt.cmd, tt.containerInput, tt.volumeMounts, []string{}) - + actualErr := cnt.RunCommand(tt.cmd, tt.containerInput, tt.volumeMounts, []string{}) assert.Equal(t, tt.expectedErr, actualErr) + actualRes, actualErr := cnt.GetContainerLogs() + require.NoError(t, actualErr) var actualResBytes []byte if actualRes != nil {