func (b *TimeoutToMilliseconds) Up(logger lager.Logger) error { response, err := b.storeClient.Get(etcd.TaskSchemaRoot, false, true) if err != nil { logger.Error("failed-fetching-tasks", err) } if response != nil { for _, node := range response.Node.Nodes { task := new(models.Task) err := b.serializer.Unmarshal(logger, []byte(node.Value), task) if err != nil { logger.Error("failed-to-deserialize-task", err) continue } updateTimeoutInAction(logger, task.Action) value, err := b.serializer.Marshal(logger, format.ENCODED_PROTO, task) if err != nil { return err } _, err = b.storeClient.CompareAndSwap(node.Key, value, etcd.NO_TTL, node.ModifiedIndex) if err != nil { return err } } } // Do DesiredLRP update response, err = b.storeClient.Get(etcd.DesiredLRPRunInfoSchemaRoot, false, true) if err != nil { logger.Error("failed-fetching-desired-lrp-run-info", err) } if response != nil { for _, node := range response.Node.Nodes { runInfo := new(models.DesiredLRPRunInfo) err := b.serializer.Unmarshal(logger, []byte(node.Value), runInfo) if err != nil { logger.Error("failed-to-deserialize-desired-lrp-run-info", err) continue } logger.Info("update-run-info", lager.Data{"deprecated_timeout_ns": runInfo.DeprecatedStartTimeoutS}) runInfo.StartTimeoutMs = int64(runInfo.DeprecatedStartTimeoutS) * 1000 updateTimeoutInAction(logger, runInfo.GetMonitor()) updateTimeoutInAction(logger, runInfo.GetSetup()) updateTimeoutInAction(logger, runInfo.GetAction()) value, err := b.serializer.Marshal(logger, format.ENCODED_PROTO, runInfo) if err != nil { return err } _, err = b.storeClient.CompareAndSwap(node.Key, value, etcd.NO_TTL, node.ModifiedIndex) if err != nil { return err } } } return nil }