-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Playbook Consolidation - byo/config.yml #6361
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
Conversation
michaelgugino
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Do we want to move to using a script in the CI job so we can just make future changes here?
|
@sdodson @michaelgugino @kwoodson Multiple optional install playbooks Optionally run the nfs and loadbalancer playbooks if desired Run the playbook for installing the cluster ---
- import_playbook: init/main.yml
- import_playbook: openshift-checks/private/install.yml
- import_playbook: openshift-etcd/private/config.yml
- import_playbook: openshift-master/private/config.yml
- import_playbook: openshift-node/private/config.ymlOptionally run the glusterfs playbook if desired. Run the playbook for installing addons ---
- import_playbook: init/main.yml
- import_playbook: openshift-master/private/additional_config.yml
- import_playbook: openshift-hosted/private/config.yml
- import_playbook: openshift-metrics/private/config.yml
when: openshift_metrics_install_metrics | default(false) | bool
- import_playbook: openshift-logging/private/config.yml
when: openshift_logging_install_logging | default(false) | bool
- import_playbook: openshift-prometheus/private/config.yml
when: openshift_hosted_prometheus_deploy | default(false) | bool
- import_playbook: openshift-service-catalog/private/config.yml
when: openshift_enable_service_catalog | default(true) | bool
- import_playbook: openshift-management/private/config.yml
when: openshift_management_install_management | default(false) | boolMove deprecated variable warnings to a callback_plugin. Do the above suggestions address the concerns and problems discussed in #5846? How could this process be improved for the customer as well as handling provisioning? (Pending feedback) |
|
I'm not sure you can put when statements on import_playbook or not. I think playbooks/deploy_cluster.yml should include playbooks/openshift-addons/private/config.yml All of the addons should be boolean driven. |
|
I'm fine with the proposed structure. The private subdirectory gives us a decent method for things like I sure hope we can import_playbook conditionally, if not then we'll sink a lot of time skipping tasks in entire playbooks whenever someone isn't hand crafting their installation workflow and instead using our high level playbooks. I wonder if now would be a good time to consider how we'd do "config loop"? I'm pretty sure that we'll be asked to address that soon. Should we break each component up into "install" "configure" "upgrade" where each is completely independent set of tasks? Deploy a cluster would include install and configure. Config loop would only include config. Building a golden image could only include install plus alternate config tasks that are specific to bootstrap. |
|
Okay, so I tested the when condition on the import_playbook. I believe the docs mention this, but that statement is applied to every role and task found inside, not whether or not to apply the playbook itself. So we're still going to see a bunch of skipped tasks. For most add-ons, the skipped tasks will be almost no time since they run against masters or a single master. For add-ons that need to be run against nodes, we should dynamically build groups like we do currently for the network plugins. |
|
We have Provisioning has a problem with the addons as part of the main cluster deployment and results in rewriting the deployment steps. The steps I'm attempting to define are:
|
|
Skipped tasks on conditional playbook includes are nothing new. I would have liked |
|
I'd also like to come up with a better way to handle those dynamically built groups, in order to avoid: |
I can live with a couple messages like that; as long as upstream doesn't break the functionality around that pattern.
I'm not sure what you mean. |
@kwoodson had to rewrite the cluster install steps in #5846 instead of just being able to consume a portion of the cluster build process. Any changes we make to that install process will have to be updated in both the aws provisioning as well as whatever we have as deploy_cluster.yml. |
87049ec to
d1c96ee
Compare
|
/lgtm cancel //PR changed after LGTM, removing LGTM. @michaelgugino @mtnbikenc |
d1c96ee to
cccdd4a
Compare
|
/retest |
|
@mtnbikenc: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
bot, retest this please |
|
bot? |
|
/cherrypick release-3.8 |
|
@mtnbikenc: #6361 failed to apply on top of branch "release-3.8": exit status 128 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
The latest documentation is wrong: https://docs.openshift.org/latest/install_config/install/advanced_install.html#running-the-advanced-installation-individual-components |
|
Opened PR to address recent changes: openshift/openshift-docs#7274 |
|
As part of #6541 deploy_cluster was split into two equal includes (components and control plane) which are now included by deploy_cluster, AWS, and GCP (the top level entry points). Deploy cluster is only relevant for the preconfigured hosts use case (over time, only bare metal), and will not be a common path on cloud providers. |
This PR is also intended to facilitate the conversation of how to rearrange and componentize the installation, instead of having one monolithic install process.
Trello: https://trello.com/c/5HLEg8UM/555-5-playbook-consolidation-openshift-cluster