Uploaded image for project: 'Migration Toolkit for Virtualization'
  1. Migration Toolkit for Virtualization
  2. MTV-4517

Embedd the project version based on git describe and git tags

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 2.11.0
    • Storage Offload
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected

      Embed the project version using git describe based on project git tags.

      NOTE: This feature depends on the release team placing tags on release branches

      The embedding is being done in build-time, using go usage of ldflags, and the version
      is kept as an internal variable.

      Usage
      As separate flags: use /bin/vsphere-xcopy-volume-popoulator --version
      bin/vsphere-xcopy-volume-populator version: v2.10.4 VIB version: 0.3.0 vmkfstools-wrapper version: 0.3.0

      In the logs: the first line of the populator pods spits the internal versions
      I0204 19:09:12.426551 1281787 vsphere-xcopy-volume-populator.go:313] bin/vsphere-xcopy-volume-populator version: v2.10.4 VIB version: 0.3.0 vmkfstools-wrapper version: 0.3.0

      Formal versions would have a verbatim release tag:
      v2.10.4

      Develpment versions or nighly builds will have tag + distance + git commit:
      v2.10.4-2-gc991f739* binary has the version embedded and every user has access to the source that build it

      • Binary is reproducible
      • Logs declare the version
      • Observability and audit
        • storage backends can send the version as an http header
        • metric exported can export version info

              rgolan1@redhat.com Roy Golan
              rgolan1@redhat.com Roy Golan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: