diff --git a/kubemarine/kubernetes/__init__.py b/kubemarine/kubernetes/__init__.py index cbb6a7ea4..fb7a363e0 100644 --- a/kubemarine/kubernetes/__init__.py +++ b/kubemarine/kubernetes/__init__.py @@ -727,10 +727,6 @@ def upgrade_first_control_plane(upgrade_group: NodeGroup, cluster: KubernetesClu copy_admin_config(cluster.log, first_control_plane) - # In some versions, kubeadm reverts resolvConf to the default during `upgrade apply` - # Remove default resolvConf from kubelet-config ConfigMap for debian OS family - first_control_plane.call(components.patch_kubelet_configmap) - expect_kubernetes_version(cluster, version, apply_filter=node_name) components.wait_for_pods(first_control_plane) exclude_node_from_upgrade_list(first_control_plane, node_name) diff --git a/kubemarine/procedures/upgrade.py b/kubemarine/procedures/upgrade.py index 1eacfdc4e..52910b8b3 100755 --- a/kubemarine/procedures/upgrade.py +++ b/kubemarine/procedures/upgrade.py @@ -21,6 +21,7 @@ from kubemarine.core import utils from kubemarine.core.cluster import KubernetesCluster, EnrichmentStage from kubemarine.core.resources import DynamicResources +from kubemarine.kubernetes import components from kubemarine.procedures import install @@ -104,11 +105,16 @@ def edit_kube_proxy_conntrack_min(kube_proxy_cm: dict) -> dict: } kubernetes.upgrade_first_control_plane(upgrade_group, cluster, **drain_kwargs) + first_control_plane = cluster.nodes['control-plane'].get_first_member() # After first control-plane upgrade is finished we may loose our CoreDNS changes. # Thus, we need to re-apply our CoreDNS changes immediately after first control-plane upgrade. install.deploy_coredns(cluster) + # In some versions, kubeadm reverts resolvConf to the default during `upgrade apply` + # Remove default resolvConf from kubelet-config ConfigMap for debian OS family + first_control_plane.call(components.patch_kubelet_configmap) + kubernetes.upgrade_other_control_planes(upgrade_group, cluster, **drain_kwargs) if cluster.nodes.get('worker', []): diff --git a/test/unit/test_upgrade.py b/test/unit/test_upgrade.py index 3b6c04be5..47a9459cc 100755 --- a/test/unit/test_upgrade.py +++ b/test/unit/test_upgrade.py @@ -28,6 +28,7 @@ from kubemarine import kubernetes, system, plugins, thirdparties from kubemarine.core import errors, utils as kutils, static, log, flow, schema from kubemarine.core.cluster import KubernetesCluster, EnrichmentStage +from kubemarine.kubernetes import components from kubemarine.procedures import upgrade, install from kubemarine import demo @@ -1151,6 +1152,7 @@ def _run_tasks(self, tasks_filter: str) -> demo.FakeResources: def _run_kubernetes_task(self) -> demo.FakeResources: with utils.mock_call(kubernetes.upgrade_first_control_plane), \ utils.mock_call(install.deploy_coredns), \ + utils.mock_call(components.patch_kubelet_configmap), \ utils.mock_call(kubernetes.upgrade_other_control_planes), \ utils.mock_call(kubernetes.upgrade_workers), \ utils.mock_call(upgrade.kubernetes_cleanup_nodes_versions):