-
Notifications
You must be signed in to change notification settings - Fork 45
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
Solutions config.yaml & product.txt should be merged in a single manifest.yaml file #2422
Comments
What about MetalK8s ISO and |
I'd rather stick with |
OK, fair point. But we don't have the same need for Solution ISOs, right? |
Likely, indeed. My remark mostly concerns MetalK8s ISOs that need to be bootstrap'able. |
I am wondering if this is going to be done in the next month or so as I am building the zenko solution. Or alternatively, if the current implementation will be maintained for a minor release or two for compatibility. |
@miniscruff we'll make sure to have it available in the next iteration of Solutions, which we really want to work on for next month. In any case, you'll need #2389, which will change the format of this file (at the very least, remove the |
I think the zenko solution is meant to be code complete this month, not sure if we can wait on that or if we just need to do an update when this is ready. @rahulreddy thoughts? |
In any case, there are going to be some changes in the Solutions framework until the next delivery, to make sure Zenko Operator can achieve what it needs. Some other tickets already scheduled on our side: #2389, #2199. |
Actually, we have a
And the
So we could format the new
With all annotations being optional. |
we now generate the new `manifest.yaml` instead of the `product.txt` + `config.yaml` files with all the content of both files in a new format as follows: apiVersion: solutions.metalk8s.scality.com/v1alpha1 kind: Solution metadata: annotations: solutions.metalk8s.scality.com/build-host: Latitude-E7450 solutions.metalk8s.scality.com/build-timestamp: '2020-05-19T14:51:43Z' solutions.metalk8s.scality.com/development-release: '0' solutions.metalk8s.scality.com/display-name: Example Solution solutions.metalk8s.scality.com/git-revision: 2.4.3-104-g893792ca labels: {} name: example-solution spec: operator: image: name: example-solution-operator tag: 0.1.0-dev ui: image: name: example-solution-ui tag: 0.1.0-dev version: 0.1.0-dev This change is done to simplify Solution archives, with only a single file to describe the whole Solution. Also, the `config.yaml` was poorly named as it is not a configuration file, but more a manifest. `SolutionConfig` has been renamed to `Solution` to avoid ambiguity with `SolutionsConfiguration` kind. Refs: #2422
this function search for manifest.yaml on the ISO and extract the information contained in it and return them. Refs: #2422
We know use a `manifest.yaml` instead of the `product.txt` + the `config.yaml` to retrieve a Solution information such as the name, the version, ... Also rename the kind from `SolutionConfig` to `Solution` to avoid confusion with `SolutionsConfiguration` and because it's not a configuration file. Note that the `manifest.yaml` file is now mandatory unlike the old `config.yaml`. Refs: #2422
This script will be used to generate a `manifest.yaml` to replace the `product.txt` + `config.yaml` files: ./manifest.py \ --name "example-solution" \ --annotation "solutions.metalk8s.scality.com/build-timestamp" "2020-05-19T14:51:43Z" \ --annotation "solutions.metalk8s.scality.com/build-host" "Latitude-E7450" \ --annotation "solutions.metalk8s.scality.com/development-release" "0" \ --annotation "solutions.metalk8s.scality.com/display-name" "Example Solution" \ --annotation "solutions.metalk8s.scality.com/git-revision" "2.4.3-104-g893792ca" \ --operator-image "example-solution-operator" "0.1.0-dev" \ --ui-image "example-solution-ui" "0.1.0-dev" \ --version "0.1.0-dev" apiVersion: solutions.metalk8s.scality.com/v1alpha1 kind: Solution metadata: annotations: solutions.metalk8s.scality.com/build-host: Latitude-E7450 solutions.metalk8s.scality.com/build-timestamp: '2020-05-19T14:51:43Z' solutions.metalk8s.scality.com/development-release: '0' solutions.metalk8s.scality.com/display-name: Example Solution solutions.metalk8s.scality.com/git-revision: 2.4.3-104-g893792ca labels: {} name: example-solution spec: operator: image: name: example-solution-operator tag: 0.1.0-dev ui: image: name: example-solution-ui tag: 0.1.0-dev version: 0.1.0-dev Refs: #2422
We now generate the new `manifest.yaml` instead of the `product.txt` + `config.yaml` files with all the content of both files in a new format as follows: This change is done to simplify Solution archives, with only a single file to describe the whole Solution. Also, the `config.yaml` was poorly named as it is not a configuration file, but more a manifest. `SolutionConfig` has been renamed to `Solution` to avoid ambiguity with `SolutionsConfiguration` kind. Refs: #2422
this function search for manifest.yaml on the ISO and extract the information contained in it and return them. Refs: #2422
We know use a `manifest.yaml` instead of the `product.txt` + the `config.yaml` to retrieve a Solution information such as the name, the version, ... Also rename the kind from `SolutionConfig` to `Solution` to avoid confusion with `SolutionsConfiguration` and because it's not a configuration file. Note that the `manifest.yaml` file is now mandatory unlike the old `config.yaml`. Refs: #2422
This script will be used to generate a `manifest.yaml` to replace the `product.txt` + `config.yaml` files: ./manifest.py \ --name "example-solution" \ --annotation "solutions.metalk8s.scality.com/build-timestamp" "2020-05-19T14:51:43Z" \ --annotation "solutions.metalk8s.scality.com/build-host" "Latitude-E7450" \ --annotation "solutions.metalk8s.scality.com/development-release" "0" \ --annotation "solutions.metalk8s.scality.com/display-name" "Example Solution" \ --annotation "solutions.metalk8s.scality.com/git-revision" "2.4.3-104-g893792ca" \ --extra-image "base-server" "0.1.0-dev" \ --operator-image "example-solution-operator" "0.1.0-dev" \ --ui-image "example-solution-ui" "0.1.0-dev" \ --version "0.1.0-dev" apiVersion: solutions.metalk8s.scality.com/v1alpha1 kind: Solution metadata: annotations: solutions.metalk8s.scality.com/build-host: Latitude-E7450 solutions.metalk8s.scality.com/build-timestamp: '2020-05-19T14:51:43Z' solutions.metalk8s.scality.com/development-release: '0' solutions.metalk8s.scality.com/display-name: Example Solution solutions.metalk8s.scality.com/git-revision: 2.4.3-104-g893792ca labels: {} name: example-solution spec: images: - base-server:0.1.0-dev - example-solution-operator:0.1.0-dev - example-solution-ui:0.1.0-dev operator: image: name: example-solution-operator tag: 0.1.0-dev ui: image: name: example-solution-ui tag: 0.1.0-dev version: 0.1.0-dev Refs: #2422
Replace mentions to `product.txt` and `config.yaml` with the new `manifest.yaml` and adapt the doc. Refs: #2422
Various updates such as: * Solution manifest * Operator roles * Solution interaction diagram * Stuff from the Solution framework refactor * Few fixes Refs: #2422
this function search for manifest.yaml on the ISO and extract the information contained in it and return them. Refs: #2422
We know use a `manifest.yaml` instead of the `product.txt` + the `config.yaml` to retrieve a Solution information such as the name, the version, ... Also rename the kind from `SolutionConfig` to `Solution` to avoid confusion with `SolutionsConfiguration` and because it's not a configuration file. Note that the `manifest.yaml` file is now mandatory unlike the old `config.yaml`. Refs: #2422
Replace mentions to `product.txt` and `config.yaml` with the new `manifest.yaml` and adapt the doc. Refs: #2422
Various updates such as: * Solution manifest * Operator roles * Solution interaction diagram * Stuff from the Solution framework refactor * Few fixes Refs: #2422
This script will be used to generate a `manifest.yaml` to replace the `product.txt` + `config.yaml` files: ./manifest.py \ --name "example-solution" \ --annotation "solutions.metalk8s.scality.com/build-timestamp" "2020-05-19T14:51:43Z" \ --annotation "solutions.metalk8s.scality.com/build-host" "Latitude-E7450" \ --annotation "solutions.metalk8s.scality.com/development-release" "0" \ --annotation "solutions.metalk8s.scality.com/display-name" "Example Solution" \ --annotation "solutions.metalk8s.scality.com/git-revision" "2.4.3-104-g893792ca" \ --extra-image "base-server" "0.1.0-dev" \ --operator-image "example-solution-operator" "0.1.0-dev" \ --ui-image "example-solution-ui" "0.1.0-dev" \ --version "0.1.0-dev" apiVersion: solutions.metalk8s.scality.com/v1alpha1 kind: Solution metadata: annotations: solutions.metalk8s.scality.com/build-host: Latitude-E7450 solutions.metalk8s.scality.com/build-timestamp: '2020-05-19T14:51:43Z' solutions.metalk8s.scality.com/development-release: '0' solutions.metalk8s.scality.com/display-name: Example Solution solutions.metalk8s.scality.com/git-revision: 2.4.3-104-g893792ca labels: {} name: example-solution spec: images: - base-server:0.1.0-dev - example-solution-operator:0.1.0-dev - example-solution-ui:0.1.0-dev operator: image: name: example-solution-operator tag: 0.1.0-dev ui: image: name: example-solution-ui tag: 0.1.0-dev version: 0.1.0-dev Refs: #2422
We now generate the new `manifest.yaml` instead of the `product.txt` + `config.yaml` files with all the content of both files in a new format as follows: This change is done to simplify Solution archives, with only a single file to describe the whole Solution. Also, the `config.yaml` was poorly named as it is not a configuration file, but more a manifest. `SolutionConfig` has been renamed to `Solution` to avoid ambiguity with `SolutionsConfiguration` kind. Refs: #2422
this function search for manifest.yaml on the ISO and extract the information contained in it and return them. Refs: #2422
We know use a `manifest.yaml` instead of the `product.txt` + the `config.yaml` to retrieve a Solution information such as the name, the version, ... Also rename the kind from `SolutionConfig` to `Solution` to avoid confusion with `SolutionsConfiguration` and because it's not a configuration file. Note that the `manifest.yaml` file is now mandatory unlike the old `config.yaml`. Refs: #2422
Replace mentions to `product.txt` and `config.yaml` with the new `manifest.yaml` and adapt the doc. Refs: #2422
Various updates such as: * Solution manifest * Operator roles * Solution interaction diagram * Stuff from the Solution framework refactor * Few fixes Refs: #2422
Done in #2565 |
Component: solutions
Why this is needed:
Actually we have 2 files describing the Solution instead of one, moreover the
config.yaml
file is badly name as it suggests this is a configuration file rather than a manifest of the Solution.What should be done:
config.yaml
andproduct.txt
in a single file and name it with a more relevant name such asmanifest.yaml
.Implementation proposal (strongly recommended):
Test plan:
There is already Solutions tests with pytest-bdd and cypress, they must not break.
The text was updated successfully, but these errors were encountered: