Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-4238

[release-5.7] Migrate vector to the latest upstream release

XMLWordPrintable

    • 1
    • False
    • None
    • False
    • NEW
    • NEW
    • If Release Note Needed, Set a Value
    • Log Collection - Sprint 235, Log Collection - Sprint 236, Log Collection - Sprint 237, Log Collection - Sprint 238, Log Collection - Sprint 239

      I attempted to upgrade to the latest upstream release of Vector, which was 0.27 at the time. This uncovered a new dependency on ring:

      $ cargo tree --workspace --no-default-features --features ocp-logging -i ring
      ring v0.16.20
      ├── rustls v0.20.7
      │   ├── tokio-rustls v0.23.4
      │   │   └── tonic v0.8.3
      │   │       ├── opentelemetry-proto v0.1.0 (/home/syedriko/rust/vector/lib/opentelemetry-proto)
      │   │       └── vector-core v0.1.0 (/home/syedriko/rust/vector/lib/vector-core)
      │   │           ├── codecs v0.1.0 (/home/syedriko/rust/vector/lib/codecs)
      │   │           │   └── vector v0.27.0 (/home/syedriko/rust/vector)
      │   │           ├── opentelemetry-proto v0.1.0 (/home/syedriko/rust/vector/lib/opentelemetry-proto)
      │   │           └── vector v0.27.0 (/home/syedriko/rust/vector)
      │   │           [dev-dependencies]
      │   │           └── vector v0.27.0 (/home/syedriko/rust/vector)
      │   └── tokio-tungstenite v0.18.0
      │       └── vector-api-client v0.1.2 (/home/syedriko/rust/vector/lib/vector-api-client)
      ├── sct v0.7.0
      │   └── rustls v0.20.7 (*)
      └── webpki v0.22.0
          ├── rustls v0.20.7 (*)
          └── tokio-rustls v0.23.4 (*)
      

      Of this tree, the important chain is vector-core->tonic->tokio-rutls->rustls->ring. tonic is a gRPC over HTTP/2 implementation. Until some point in the past it supported both rustls and OpenSSL, but this PR https://github.com/hyperium/tonic/pull/141 removed support for OpenSSL. It would be interesting to see what gRPC is used for in the vector core and if this dependency can be factored out.
      The work so far is at the https://github.com/syedriko/vector/tree/v0.27-rh branch. This is a merge of v0.21-rh to a branch taken at the 0.27 tag in the upstream, conflicts resolved, and the patched aws-sdk crates updated to the versions used in 0.27 with OpenSSL patches reapplied.

            syedriko_sub@redhat.com Sergey Yedrikov
            syedriko_sub@redhat.com Sergey Yedrikov
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: