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

Add top-level products.meta file #627

Merged
merged 7 commits into from
Jun 25, 2019
Merged

Add top-level products.meta file #627

merged 7 commits into from
Jun 25, 2019

Conversation

jaym
Copy link
Contributor

@jaym jaym commented Jun 18, 2019

The products.meta file describes which products we can deploy, along
with which packages belong to those products. This PR also adds a
package.meta that can be added for any package in its component
directory. With this file, we can describe things about the file like if
it's a data service, what binlinks it should install, etc.

TODO:

  • update docs

@jaym jaym force-pushed the jdm/bikeshedfile branch 2 times, most recently from f884d86 to 1affd92 Compare June 18, 2019 20:05
@jaym jaym requested a review from a team as a code owner June 18, 2019 20:05
@jaym jaym force-pushed the jdm/bikeshedfile branch 3 times, most recently from 4115583 to c16a2d0 Compare June 18, 2019 23:17
Jay Mundrawala added 4 commits June 24, 2019 07:45
The products.meta file describes which products we can deploy, along
with which packages belong to those products. This PR also adds a
package.meta that can be added for any package in its component
directory. With this file, we can describe things about the file like if
it's a data service, what binlinks it should install, etc.

Signed-off-by: Jay Mundrawala <[email protected]>
Signed-off-by: Jay Mundrawala <[email protected]>
Things are slow when ES and Postgres both need updating

Signed-off-by: Jay Mundrawala <[email protected]>
Signed-off-by: Jay Mundrawala <[email protected]>
@jaym jaym force-pushed the jdm/bikeshedfile branch from 64c4f92 to ce9b946 Compare June 24, 2019 12:45
Upgrade tests take a bit longer when both ES and postgres
are upgraded

Signed-off-by: Jay Mundrawala <[email protected]>
return serviceList, nil
}

func ContainsCollection(needle string, haystack []string) bool {
Copy link
Contributor

Choose a reason for hiding this comment

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

😹

Signed-off-by: Jay Mundrawala <[email protected]>
@@ -494,7 +494,7 @@ steps:
- label: "[integration] airgap upgrade"
command:
- integration/run_test integration/tests/airgap_upgrade.sh
timeout_in_minutes: 20
timeout_in_minutes: 30
Copy link
Contributor

Choose a reason for hiding this comment

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

curious why these timeout changes are sneaking in here...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this PR causes a rebuild of both the postgres and ES packages and doing upgrades in that case is sloooow. But given that we end up pinning elsewhere, the rebuild wont affect us when we promote or even get past this pr.

@@ -152,4 +152,4 @@ You need to run `make update-bindings` from `components/automate-deployment` whe

### The Services File

The list of services and other mandatory packages that comprise Automate 2 is maintained in `components/automate-deployment/pkg/assets/data/services.json`. This file is also used to generate the manifest file that represents a Chef Automate 2 release as described above. Edit this file and add your service. In general, you will want to add it to the "automate-full" collection; the other collections are optional additions.
The list of services and other mandatory packages that comprise Automate 2 and other Chef products is maintained in `product.meta`. This file is also used to generate the manifest file that represents a Chef Automate 2 release as described above. Edit this file and add your service.
Copy link
Contributor

Choose a reason for hiding this comment

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

Might be nice to add a section that explicitly explains package.meta and perhaps the various different fields that are available and how they relate to product.meta. Might also be nice to document what a collection is and how a product is comprised of them, etc.

var serviceList []habpkg.HabPkg
var productList []string
var packageMetadataMap map[string]*product.Package
var collectionMap map[string]*product.Collection
Copy link
Contributor

Choose a reason for hiding this comment

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

I will forgive you for shadowing the types in the variable names. Just this once, though. 😂

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i swear it was like this when i got here. just building on what the last person did :P

return &val, nil
}

func Parse(repoRootPath string) (*Metadata, error) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Some minimal documentation would be nice in this package

Signed-off-by: Jay Mundrawala <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants