Skip to content

Commit f2a4a65

Browse files
committed
(CAT-2193): Fixed kubernetes environment setup for Debian. This allows spec tests to run successfully for debian platform
1 parent 689d78b commit f2a4a65

File tree

6 files changed

+199
-89
lines changed

6 files changed

+199
-89
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-20.04
1717
strategy:
1818
fail-fast: false
19-
matrix: {'platform':['rhel-8'],'collection':['puppet7-nightly', 'puppet8-nightly']}
19+
matrix: {'platform':['rhel-8', 'debian-11'],'collection':['puppet7-nightly', 'puppet8-nightly']}
2020

2121
steps:
2222
- name: Checkout Source

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-20.04
1515
strategy:
1616
fail-fast: false
17-
matrix: {'platform':['rhel-8'],'collection':['puppet7-nightly', 'puppet8-nightly']}
17+
matrix: {'platform':['rhel-8', 'debian-11'],'collection':['puppet7-nightly', 'puppet8-nightly']}
1818

1919
steps:
2020
- name: Checkout Source

manifests/repos.pp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,13 @@
6464
'Debian': {
6565
$codename = fact('os.distro.codename')
6666
apt::source { 'kubernetes':
67-
location => pick($kubernetes_apt_location, 'https://apt.kubernetes.io'),
68-
repos => pick($kubernetes_apt_repos, 'main'),
69-
release => pick($kubernetes_apt_release, 'kubernetes-xenial'),
67+
location => pick($kubernetes_apt_location, 'https://pkgs.k8s.io/core:/stable:/v1.32/deb/'),
68+
repos => pick($kubernetes_apt_repos, ' '),
69+
release => pick($kubernetes_apt_release, ' /'),
70+
comment => 'Kubernetes',
7071
key => {
71-
'id' => pick($kubernetes_key_id, 'A362B822F6DEDC652817EA46B53DC80D13EDEF05'),
72-
'source' => pick($kubernetes_key_source, 'https://packages.cloud.google.com/apt/doc/apt-key.gpg'),
72+
'name' => 'kubernetes-apt-keyring.gpg',
73+
'source' => pick($kubernetes_key_source, 'https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key'),
7374
},
7475
}
7576

@@ -78,7 +79,7 @@
7879
apt::source { 'docker':
7980
location => pick($docker_apt_location, 'https://download.docker.com/linux/ubuntu/'),
8081
repos => pick($docker_apt_repos, 'stable'),
81-
release => pick($docker_apt_release,$codename),
82+
release => pick($docker_apt_release, $codename),
8283
key => {
8384
'id' => pick($docker_key_id, '9DC858229FC7DD38854AE2D88D81803C0EBFCD88'),
8485
'source' => pick($docker_key_source, 'https://download.docker.com/linux/ubuntu/gpg'),
@@ -99,8 +100,8 @@
99100

100101
yumrepo { 'kubernetes':
101102
descr => 'Kubernetes',
102-
baseurl => pick($kubernetes_yum_baseurl, 'https://pkgs.k8s.io/core:/stable:/v1.28/rpm/'),
103-
gpgkey => pick($kubernetes_yum_gpgkey, 'https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key'),
103+
baseurl => pick($kubernetes_yum_baseurl, 'https://pkgs.k8s.io/core:/stable:/v1.32/rpm/'),
104+
gpgkey => pick($kubernetes_yum_gpgkey, 'https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key'),
104105
gpgcheck => true,
105106
}
106107
}

spec/acceptance/kubernetes_spec.rb

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
class {'kubernetes':
1919
kubernetes_version => '1.28.15',
2020
kubernetes_package_version => '1.28.15',
21+
kubernetes_yum_baseurl => 'https://pkgs.k8s.io/core:/stable:/v1.28/rpm/',
22+
kubernetes_yum_gpgkey => 'https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key',
2123
controller_address => "#{int_ipaddr1}:6443",
2224
container_runtime => 'docker',
2325
manage_docker => false,
@@ -30,12 +32,18 @@ class {'kubernetes':
3032
}
3133
}
3234
/^(Debian|Ubuntu)$/: {
33-
class {'kubernetes':
34-
controller => true,
35-
schedule_on_controller => true,
36-
environment => ['HOME=/root', 'KUBECONFIG=/etc/kubernetes/admin.conf'],
37-
ignore_preflight_errors => ['NumCPU'],
38-
}
35+
class {'kubernetes':
36+
kubernetes_version => '1.28.15',
37+
kubernetes_package_version => '1.28.15-1.1',
38+
kubernetes_apt_location => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/',
39+
kubernetes_apt_repos => ' ',
40+
kubernetes_apt_release => ' /',
41+
kubernetes_key_source => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key',
42+
controller => true,
43+
schedule_on_controller => true,
44+
environment => ['HOME=/root', 'KUBECONFIG=/etc/kubernetes/admin.conf'],
45+
ignore_preflight_errors => ['NumCPU','ExternalEtcdVersion'],
46+
}
3947
}
4048
default: {
4149
class {'kubernetes': } # any other OS are not supported

spec/classes/repos_spec.rb

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
let(:params) do
2323
{
2424
'container_runtime' => 'docker',
25-
'kubernetes_apt_location' => 'http://apt.kubernetes.io',
26-
'kubernetes_apt_release' => 'kubernetes-xenial',
27-
'kubernetes_apt_repos' => 'main',
25+
'kubernetes_apt_location' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/',
26+
'kubernetes_apt_release' => ' /',
27+
'kubernetes_apt_repos' => ' ',
2828
'kubernetes_key_id' => '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB',
29-
'kubernetes_key_source' => 'https://packages.cloud.google.com/apt/doc/apt-key.gpg',
29+
'kubernetes_key_source' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key',
3030
'kubernetes_yum_baseurl' => 'https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64',
3131
'kubernetes_yum_gpgkey' => 'https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg',
3232
'docker_apt_location' => 'https://download.docker.com/linux/ubuntu',
@@ -45,10 +45,10 @@
4545
it {
4646
expect(subject).to contain_apt__source('kubernetes').with(
4747
ensure: 'present',
48-
location: 'http://apt.kubernetes.io',
49-
repos: 'main',
50-
release: 'kubernetes-xenial',
51-
key: { 'id' => '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB', 'source' => 'https://packages.cloud.google.com/apt/doc/apt-key.gpg' },
48+
location: 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/',
49+
repos: ' ',
50+
release: ' /',
51+
key: { 'name' => 'kubernetes-apt-keyring.gpg', 'source' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key' },
5252
)
5353
}
5454

@@ -83,11 +83,11 @@
8383
let(:params) do
8484
{
8585
'container_runtime' => 'cri_containerd',
86-
'kubernetes_apt_location' => 'http://apt.kubernetes.io',
87-
'kubernetes_apt_release' => 'kubernetes-xenial',
88-
'kubernetes_apt_repos' => 'main',
86+
'kubernetes_apt_location' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/',
87+
'kubernetes_apt_release' => ' /',
88+
'kubernetes_apt_repos' => ' ',
8989
'kubernetes_key_id' => '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB',
90-
'kubernetes_key_source' => 'https://packages.cloud.google.com/apt/doc/apt-key.gpg',
90+
'kubernetes_key_source' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key',
9191
'kubernetes_yum_baseurl' => 'https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64',
9292
'kubernetes_yum_gpgkey' => 'https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg',
9393
'docker_apt_location' => 'https://download.docker.com/linux/ubuntu',
@@ -106,10 +106,10 @@
106106
it {
107107
expect(subject).to contain_apt__source('kubernetes').with(
108108
ensure: 'present',
109-
location: 'http://apt.kubernetes.io',
110-
repos: 'main',
111-
release: 'kubernetes-xenial',
112-
key: { 'id' => '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB', 'source' => 'https://packages.cloud.google.com/apt/doc/apt-key.gpg' },
109+
location: 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/',
110+
repos: ' ',
111+
release: ' /',
112+
key: { 'name' => 'kubernetes-apt-keyring.gpg', 'source' => 'https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key' },
113113
)
114114
}
115115

0 commit comments

Comments
 (0)