Skip to content

[Feature] CNF Installation (6), Prepare new installation process #2161

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

Closed
kosstennbl opened this issue Sep 30, 2024 · 3 comments
Closed

[Feature] CNF Installation (6), Prepare new installation process #2161

kosstennbl opened this issue Sep 30, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@kosstennbl
Copy link
Collaborator

To support multiple deployments as one CNF, we need to design a new installation process.
Main idea of this new process is creating separate methods for each deployment type and then install all deployments from config on one-by-one basis.

All related files and methods should be created in cnf_installation directory.
If and where possible, code for HelmDirectory deployments should be reused for HelmChart deployments

On this step, old installation methods should NOT be removed or manipulated in any way. All new functionality should be added under different SAM tasks, possibly with some required ENV (e.g. ENV["CRYSTAL_ENV"] = "EXPERIMENTAL", we use that ENV for testing.)

@kosstennbl kosstennbl added the enhancement New feature or request label Sep 30, 2024
@kosstennbl
Copy link
Collaborator Author

kosstennbl commented Sep 30, 2024

Some chaotic development ideas, written in the issue to not be lost in time and local notes:

  1. Parse CLI args
  2. Parse config and copy it to CNF_DIR
  3. For each deployment config:
    1. Create deployment installer object with deployment config and args
    2. Call install on deployment installer.
    3. Call generate manifest on deployment installer and append it to new/existing common manifest

Deployment installers:
HelmChart:

  1. Create repo (if configured), pull chart to CNF_DIR/deployments/<deployment_config.name>/source
  2. Call installation method for helm deployments

HelmDirectory:

  1. Copy helm_directory to CNF_DIR/deployments/<deployment_config.name>/source
  2. Call installation method for helm deployments

ManifestDirectory:

  1. Copy manifest_directory to CNF_DIR/deployments/<deployment_config.name>/source
  2. Apply all manifests from source directory through KubectlClient
  3. Wait for all resources (if not skipped)

Installation method for helm deployments:

  1. Take source directory, namespace, helm values
  2. Call Helm.install with required parameters, handle errors.
  3. Wait for all resources. (if not skipped)

@kosstennbl
Copy link
Collaborator Author

kosstennbl commented Sep 30, 2024

Things to not forget about:

  • Estimated time configmap (remove if possible)
  • Jaeger tracing used (remove if possible)
  • Oran e2 session establishment (remove if possible)
  • CNF to new cluster handling
  • Cleanup process similar to install process

kosstennbl pushed a commit that referenced this issue Oct 14, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 14, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 14, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 15, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 16, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 18, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 18, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 18, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 18, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 21, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 21, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 25, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 29, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Oct 31, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
kosstennbl pushed a commit that referenced this issue Nov 6, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
martin-mat pushed a commit that referenced this issue Nov 7, 2024
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
svteb added a commit that referenced this issue Nov 12, 2024
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
svteb added a commit that referenced this issue Nov 13, 2024
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
svteb added a commit that referenced this issue Nov 14, 2024
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
@kosstennbl
Copy link
Collaborator Author

Done in #2165

collivier pushed a commit that referenced this issue Nov 27, 2024
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
svteb added a commit that referenced this issue Nov 28, 2024
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
LuciaSirova pushed a commit that referenced this issue Mar 27, 2025
Create new CNF installation process, that will support multiple deployments,
be more comprehensible and easier to maintain.
Don't replace the old one yet, both installation methods
should exist simultaneously

Refs: #2161
Signed-off-by: Konstantin Yarovoy <[email protected]>
LuciaSirova pushed a commit that referenced this issue Mar 27, 2025
Refs: #2168
- New setup spec tests were introduced to verify that the installation
  method from #2161 works as intended.
- Three distinct issues were discovered and resolved:
  * Helm directories with variable depth levels could not be discovered
  after initialization (resolved through File.basename).
  * Configs that weren't named cnf-testsuite.yml could not
  be discovered after initialization (resolved by changing the name
  internally when copying the file).
  * Existence of manifest folder was not checked (resolved by adding an
  if check).
- Additionally a common point of failure was added with a failure
  message that was previously not present.
- The issue #2176 was also discovered during attempted deployment of
  sample-cnfs/sample-elk-stack which was also added in this commit and
  is to be used in future spec test.

Signed-off-by: svteb <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant