Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes and features #9

Merged
merged 37 commits into from
May 5, 2022
Merged

Fixes and features #9

merged 37 commits into from
May 5, 2022

Conversation

sonnysideup
Copy link
Contributor

@sonnysideup sonnysideup commented Apr 19, 2022

Improvements

  • removes buildkit workerpool blocking when multiple leases are requested concurrently.
  • fixes incorrect logKey propagation
  • improves vector config ingestion
  • passes all CIB annotations to generated IB in ConversionShimComponent
  • fixes deadlock in AMQP ChannelManager
  • dependency updates
  • runs status update messenger concurrently with the builddispatcher
  • finalizes API fields related to buildkit cache parameters

removes the wholesale blocking of lease acquisition by shifting and
adding mutex locking
forgot to append auths generated from CIB into new IB resource
pushed images need to have the target registry prepended
- does not try to bind to default exchange (this is not allowed)
- performs a full reconnect after xPassive() failures
- updates amqp091-go lib dep
- passes annotations in full from CIB to IB
- sends annotations along in status update message
it doesn't come from "imagebuilder.dominodatalab.com/build-id"
annotation
matches format expected by our system. consumers of the helm chart are
still capable of modifying it for their needs
- sets a "static" input since only 1 is required
- converts transforms/sinks from str to map since no templating is
  required
passing the message on its own results in a byte-representation of the
body which is noisy and not very helpful
required to ensure only 1 consumer can process serialized event stream
forgot to initialize shutdown channel. also adds additional debug
logging useful in diagnosing this issue
consumed and propagated by ContainerImageBuild controller into ImageBuild
creates better logs by improving messages and clearing out some noise

places StatusMessengerComponent into its own controller so it can
publish messages in real-time instead of waiting until the
BuildDispatcherComponent has completed its work. this also consumes and
applies AMQP overrides. this new controller only listens to "update"
events.
uses a "patch" json strategy instead of updates so that the 2
controllers watching ImageBuild resources won't overwrite each other's
changes
this delay slows down scale-up times and pods seems to operate just fine
without it. we can add it back as a configurable value with a default
if/when problems arise.
- includes no cache, disable export, and import cache from fields
- adds missing build arg processing in buildkit
@sonnysideup sonnysideup marked this pull request as ready for review May 4, 2022 19:26
@sonnysideup sonnysideup requested a review from steved May 4, 2022 19:26
pkg/jsonpatch/jsonpatch.go Outdated Show resolved Hide resolved
pkg/controller/imagebuild/predicate/predicate.go Outdated Show resolved Hide resolved
pkg/buildkit/buildkit.go Outdated Show resolved Hide resolved
pkg/api/hephaestus/v1/imagebuild_types.go Outdated Show resolved Hide resolved
@sonnysideup sonnysideup merged commit df44428 into main May 5, 2022
@sonnysideup sonnysideup deleted the fixes-and-features branch May 5, 2022 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants