Skip to content

Commit

Permalink
Merge pull request kata-containers#1519 from nubificus/fc-v0.23.1
Browse files Browse the repository at this point in the history
virtcontainers/fc: Upgrade Firecracker to v0.23.1
  • Loading branch information
fidencio authored Mar 31, 2021
2 parents ed2e736 + 6255cc1 commit a6a5369
Show file tree
Hide file tree
Showing 25 changed files with 2,382 additions and 266 deletions.
40 changes: 21 additions & 19 deletions src/runtime/virtcontainers/fc.go
Original file line number Diff line number Diff line change
Expand Up @@ -273,20 +273,8 @@ func (fc *firecracker) vmRunning(ctx context.Context) bool {
fc.Logger().WithError(err).Error("getting vm status failed")
return false
}

// Be explicit
switch *resp.Payload.State {
case models.InstanceInfoStateStarting:
// Unsure what we should do here
fc.Logger().WithField("unexpected-state", models.InstanceInfoStateStarting).Debug("vmRunning")
return false
case models.InstanceInfoStateRunning:
return true
case models.InstanceInfoStateUninitialized:
return false
default:
return false
}
// The current state of the Firecracker instance (swagger:model InstanceInfo)
return resp.Payload.Started
}

func (fc *firecracker) getVersionNumber() (string, error) {
Expand All @@ -302,7 +290,7 @@ func (fc *firecracker) getVersionNumber() (string, error) {
fields := strings.Split(string(data), " ")
if len(fields) > 1 {
// The output format of `Firecracker --verion` is as follows
// Firecracker v0.21.1
// Firecracker v0.23.1
version = strings.TrimPrefix(strings.TrimSpace(fields[1]), "v")
return version, nil
}
Expand Down Expand Up @@ -612,16 +600,26 @@ func (fc *firecracker) fcSetLogger(ctx context.Context) error {
return fmt.Errorf("Failed setting log: %s", err)
}

fc.fcConfig.Logger = &models.Logger{
Level: &fcLogLevel,
LogPath: &jailedLogFifo,
}

return err
}

func (fc *firecracker) fcSetMetrics(ctx context.Context) error {
span, _ := fc.trace(ctx, "fcSetMetrics")
defer span.End()

// listen to metrics file and transfer error info
jailedMetricsFifo, err := fc.fcListenToFifo(fcMetricsFifo, fc.updateMetrics)
if err != nil {
return fmt.Errorf("Failed setting log: %s", err)
}

fc.fcConfig.Logger = &models.Logger{
Level: &fcLogLevel,
LogFifo: &jailedLogFifo,
MetricsFifo: &jailedMetricsFifo,
fc.fcConfig.Metrics = &models.Metrics{
MetricsPath: &jailedMetricsFifo,
}

return err
Expand Down Expand Up @@ -745,6 +743,10 @@ func (fc *firecracker) fcInitConfiguration(ctx context.Context) error {
return err
}

if err := fc.fcSetMetrics(ctx); err != nil {
return err
}

fc.state.set(cfReady)
for _, d := range fc.pendingDevices {
if err := fc.addDevice(ctx, d.dev, d.devType); err != nil {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 6 additions & 23 deletions src/runtime/virtcontainers/pkg/firecracker/client/models/logger.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a6a5369

Please sign in to comment.