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

omnibus build fixes #1821

Merged
merged 13 commits into from
Sep 17, 2019
Merged

omnibus build fixes #1821

merged 13 commits into from
Sep 17, 2019

Conversation

robbkidd
Copy link
Contributor

@robbkidd robbkidd commented Aug 20, 2019

Description

What started as an update of the berkshelf used for the omnibus-internal cookbook to solve #1817 turned into a bit of an ordeal. There are a few distinct changes that all related to getting the omnibus package to build and behave like it always has. It may make more sense to walk the commits with the explanations in the commit messages than to review the PR's collective set of changes.

Related Issue

Closes #1817

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

  • I have read the CONTRIBUTING document.
  • I have run the pre-merge tests locally and they pass.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • All commits have been signed-off for the Developer Certificate of Origin.

Berkshelf 7 has gotten stable and includes a fix for handling tar
archives that have extended headers (that are appearing in cookbooks
these days).

This should fix our omnibus build erroring out while attempting to
vendor the cookbooks required by the internal cookbook.

Signed-off-by: Robb Kidd <[email protected]>
In an effort to reduce the number of dependencies in the
omnibus-internal cookbook, this removes the unicorn cookbook as a
dependency.  The unicorn cookbook was being used for its configuration
template only. Opted to copy the template directly into the
omnibus-internal cookbook and manage it ourselves.

Signed-off-by: Robb Kidd <[email protected]>
The inspec software definition in omnibus-software does not (yet?)
also install the inspec-bin gem to get binstub executables created.
Because the supermarket-ctl command is the thing that needs inspec as a
command to shell out to _and_ it is managed as a software definition
_and_ the software definition is already bundle-installing, I've added
inspec and inspec-bin to the Gemfile used by the software definition.

This results in the latest _release_ inspec, as opposed to whatever is
current on the master branch, getting installed within Supermarket as an
executable. Licensing is handled at the call site in the -ctl command
that uses inspec.

Since we're bring in the latest, we need to accept the license for the
duration of the -ctl test.

Signed-off-by: Robb Kidd <[email protected]>
@robbkidd robbkidd added Aspect: Packaging Distribution of the projects 'compiled' artifacts. Component: Omnibus Involving the omnibus package or its build Priority: Critical labels Aug 20, 2019
By adding a `reconfigure` command to the `general` category, we can
override the one provided by omnibus-ctl that performs license checking
for a project. It was decided that the use of chef-client within
Supermarket's -ctl commands was a "library use," so a non-persistent
acceptance at the call sites is acceptable.

This reconfigure command looks much like omnibus-ctl's, but with the
license review and acceptance removed. This command still uses the
`run_chef` method and passes in the non-persistent acceptance as an
argument.

This change also updates omnibus-ctl because it was woefully behind.

Signed-off-by: Robb Kidd <[email protected]>
Updating these -ctl commands so that they appear under appropriate
categories instead of floating up at the top of the help output without
any context.

Signed-off-by: Robb Kidd <[email protected]>
"Properly format header comments." OK.

Signed-off-by: Robb Kidd <[email protected]>
@robbkidd robbkidd force-pushed the robb/update-berkshelf branch from 19b19a8 to 680d115 Compare August 20, 2019 13:28
@robbkidd
Copy link
Contributor Author

Here's how it is. The Earth got used up ...

🎉 This branch successfully builds an omnibus package again.

😭 Travis testing fails because the Travis builder fails to start PostgreSQL 9.3. PG 9.3 went end-of-life in roughly November 2018, so it is reasonable that Travis would stop making that available in their builders.

I think these changes to fix the omnibus build are required for whatever else we do to address PostgreSQL.

snapp and others added 3 commits August 23, 2019 10:38
Signed-off-by: Christopher A. Snapp <[email protected]>
Signed-off-by: Christopher A. Snapp <[email protected]>
@robbkidd robbkidd requested a review from a team as a code owner September 3, 2019 20:33
Because 9.3 isn't supported any more. Supermarket really needs to
upgrade the version of PostgreSQL embedded in the install. In the
meantime, we'll test one version up.

Signed-off-by: Robb Kidd <[email protected]>
Nokogiri and yard needed updating. Easy.

omniauth has a vulnerability that isn't resolved with a newer version of
that gem. While we're sorting out that resolution, disable the check for
only that CVE.

Signed-off-by: Robb Kidd <[email protected]>
Bring in the latest defaults, particularly new git, libarchive, and
openssl.

Signed-off-by: Robb Kidd <[email protected]>
@robbkidd
Copy link
Contributor Author

I bumped the version of PostgreSQL the CI tests use from v9.3 to v9.4, but we still ship 9.3 in the omnibus package. I don't think an upgrade of PostgreSQL is in scope for this PR—which is only about getting the build working again—but I am wary of how far to kick that can down the road. Anyone have ideas about what sort of timer we should put on making tests fail again if we're still embedding PG 9.3?

Copy link

@teknofire teknofire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tenor-166463435

@robbkidd robbkidd merged commit a632210 into master Sep 17, 2019
@chef-expeditor chef-expeditor bot deleted the robb/update-berkshelf branch September 17, 2019 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Aspect: Packaging Distribution of the projects 'compiled' artifacts. Component: Omnibus Involving the omnibus package or its build Priority: Critical
Projects
None yet
Development

Successfully merging this pull request may close these issues.

❗️omnibus build is broken
3 participants