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 server groups to OpenStack example #3354

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jan-di
Copy link

@jan-di jan-di commented Aug 16, 2024

What this PR does / why we need it:

Add server groups to OpenStack example. Server groups allow controlling anti affinity of control plane nodes. Therefore, you can ensure that control plane nodes run on different hypervisors. Per default, its configured to use "soft-anti-affinity" (try to use different hypervisors, fallback to use the same hypervisors if not possible to spread).

What type of PR is this?

Special notes for your reviewer:

Does this PR introduce a user-facing change? Then add your Release Note here:

Add server groups to OpenStack terraform config

Documentation:

NONE

@kubermatic-bot kubermatic-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. do-not-merge/docs-needed Indicates that a PR should not merge because it's missing one of the documentation labels. do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Aug 16, 2024
@kubermatic-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign cnvergence for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubermatic-bot
Copy link
Contributor

Hi @jan-di. Thanks for your PR.

I'm waiting for a kubermatic member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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-sigs/prow repository.

@kubermatic-bot kubermatic-bot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. release-note Denotes a PR that will be considered when it comes time to generate release notes. docs/none Denotes a PR that doesn't need documentation (changes). and removed release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/docs-needed Indicates that a PR should not merge because it's missing one of the documentation labels. labels Aug 16, 2024
@kron4eg
Copy link
Member

kron4eg commented Aug 16, 2024

/kind documentation

@kubermatic-bot kubermatic-bot added kind/documentation Categorizes issue or PR as related to documentation. and removed do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Aug 16, 2024
@kron4eg
Copy link
Member

kron4eg commented Aug 16, 2024

/test pull-kubeone-e2e-openstack-default-install-containerd-external-v1.30.1

Comment on lines +45 to +47
scheduler_hints {
group = openstack_compute_servergroup_v2.control_plane.id
}
Copy link
Member

Choose a reason for hiding this comment

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

Can we provide an easy way to disable this? For example, if we can control this with a variable.

@@ -88,6 +88,12 @@ variable "control_plane_flavor" {
type = string
}

variable "control_plane_group_policy" {
description = "OpenStack instance group policy for the control plane nodes. Cannot be changed without recreating VMs!"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
description = "OpenStack instance group policy for the control plane nodes. Cannot be changed without recreating VMs!"
description = "OpenStack instance group policy for the control plane nodes"

We'll document the other part in the changelog.

@@ -88,6 +88,12 @@ variable "control_plane_flavor" {
type = string
}

variable "control_plane_group_policy" {
description = "OpenStack instance group policy for the control plane nodes. Cannot be changed without recreating VMs!"
default = "soft-anti-affinity"
Copy link
Member

Choose a reason for hiding this comment

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

Can we somewhere document supported values and why we recommend soft-anti-affinity?

Comment on lines +17 to +20
resource "openstack_compute_servergroup_v2" "control_plane" {
name = "${var.cluster_name}-control_plane"
policies = [var.control_plane_group_policy]
}
Copy link
Member

Choose a reason for hiding this comment

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

Are policies supported by default on all OpenStack installations or does it require policies to be explicitly enabled and created?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. docs/none Denotes a PR that doesn't need documentation (changes). kind/documentation Categorizes issue or PR as related to documentation. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants