foreman_kubevirt 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_kubevirt/locale/ca/foreman_kubevirt.js +1 -1
  3. data/app/assets/javascripts/foreman_kubevirt/locale/cs_CZ/foreman_kubevirt.js +1 -1
  4. data/app/assets/javascripts/foreman_kubevirt/locale/de/foreman_kubevirt.js +1 -1
  5. data/app/assets/javascripts/foreman_kubevirt/locale/en/foreman_kubevirt.js +165 -2
  6. data/app/assets/javascripts/foreman_kubevirt/locale/en_GB/foreman_kubevirt.js +1 -1
  7. data/app/assets/javascripts/foreman_kubevirt/locale/es/foreman_kubevirt.js +1 -1
  8. data/app/assets/javascripts/foreman_kubevirt/locale/fr/foreman_kubevirt.js +1 -1
  9. data/app/assets/javascripts/foreman_kubevirt/locale/gl/foreman_kubevirt.js +1 -1
  10. data/app/assets/javascripts/foreman_kubevirt/locale/it/foreman_kubevirt.js +1 -1
  11. data/app/assets/javascripts/foreman_kubevirt/locale/ja/foreman_kubevirt.js +1 -1
  12. data/app/assets/javascripts/foreman_kubevirt/locale/ka/foreman_kubevirt.js +1 -1
  13. data/app/assets/javascripts/foreman_kubevirt/locale/ko/foreman_kubevirt.js +1 -1
  14. data/app/assets/javascripts/foreman_kubevirt/locale/nl_NL/foreman_kubevirt.js +1 -1
  15. data/app/assets/javascripts/foreman_kubevirt/locale/pl/foreman_kubevirt.js +1 -1
  16. data/app/assets/javascripts/foreman_kubevirt/locale/pt_BR/foreman_kubevirt.js +1 -1
  17. data/app/assets/javascripts/foreman_kubevirt/locale/ru/foreman_kubevirt.js +1 -1
  18. data/app/assets/javascripts/foreman_kubevirt/locale/sv_SE/foreman_kubevirt.js +1 -1
  19. data/app/assets/javascripts/foreman_kubevirt/locale/zh_CN/foreman_kubevirt.js +1 -1
  20. data/app/assets/javascripts/foreman_kubevirt/locale/zh_TW/foreman_kubevirt.js +1 -1
  21. data/app/models/foreman_kubevirt/kubevirt.rb +29 -6
  22. data/app/views/compute_resources/form/_kubevirt.html.erb +4 -5
  23. data/app/views/compute_resources_vms/form/kubevirt/_network.html.erb +2 -1
  24. data/lib/foreman_kubevirt/version.rb +1 -1
  25. data/locale/ca/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  26. data/locale/ca/foreman_kubevirt.po +1 -2
  27. data/locale/cs_CZ/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  28. data/locale/cs_CZ/foreman_kubevirt.po +1 -2
  29. data/locale/de/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  30. data/locale/de/foreman_kubevirt.po +1 -2
  31. data/locale/en/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  32. data/locale/en/foreman_kubevirt.po +173 -0
  33. data/locale/en_GB/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  34. data/locale/en_GB/foreman_kubevirt.po +1 -2
  35. data/locale/es/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  36. data/locale/es/foreman_kubevirt.po +1 -2
  37. data/locale/foreman_kubevirt.pot +2 -2
  38. data/locale/fr/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  39. data/locale/fr/foreman_kubevirt.po +1 -2
  40. data/locale/gl/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  41. data/locale/gl/foreman_kubevirt.po +1 -2
  42. data/locale/it/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  43. data/locale/it/foreman_kubevirt.po +1 -2
  44. data/locale/ja/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  45. data/locale/ja/foreman_kubevirt.po +1 -2
  46. data/locale/ka/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  47. data/locale/ka/foreman_kubevirt.po +1 -2
  48. data/locale/ko/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  49. data/locale/ko/foreman_kubevirt.po +1 -2
  50. data/locale/nl_NL/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  51. data/locale/nl_NL/foreman_kubevirt.po +1 -2
  52. data/locale/pl/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  53. data/locale/pl/foreman_kubevirt.po +1 -2
  54. data/locale/pt_BR/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  55. data/locale/pt_BR/foreman_kubevirt.po +1 -2
  56. data/locale/ru/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  57. data/locale/ru/foreman_kubevirt.po +1 -2
  58. data/locale/sv_SE/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  59. data/locale/sv_SE/foreman_kubevirt.po +1 -2
  60. data/locale/zh_CN/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  61. data/locale/zh_CN/foreman_kubevirt.po +1 -2
  62. data/locale/zh_TW/LC_MESSAGES/foreman_kubevirt.mo +0 -0
  63. data/locale/zh_TW/foreman_kubevirt.po +1 -2
  64. data/test/models/compute_resources/kubevirt_test.rb +59 -2
  65. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1607c52ebe163c41f5bddcece2b17d65ed640948ad28c51e4b4be4203e3bb15
4
- data.tar.gz: 00b2fd9541375fb534109684cc2cd94335d377c6f090a3d5b719384dbe7bc47b
3
+ metadata.gz: 39fc9c907b2357c24a43be724a2e00b2105452abd42911c836b1cd5dc0f6b085
4
+ data.tar.gz: 00b5f9b3bcf1c36c540e6a1261c1c68fb2f9f337fc0ef6b669ef5da182f22d7d
5
5
  SHA512:
6
- metadata.gz: 5754880669e8e0c95ce6ab718e863aa7f554d602ce7825cf1a72ce82fee86d9696aa8615347dc6e6f934c6a6e0703f83773d7925bf1735f8d34a53681ebbe3d7
7
- data.tar.gz: ec439fb2282ed787178f92a5eee703bd93a29ffbed765960926c34e493583f032a392508a2cb9860d5a79ebb0af35fa58f7a9659fdf91b74daebb12493109df0
6
+ metadata.gz: aedfe24b1155d7140ca79bb056292fa28abfdc33c64bb401fa76c482ba61950b81461832d21a0fda69b94e805d508079b1959661c01e5fc96770a503db67d62a
7
+ data.tar.gz: f3879d38d591219040d0bf4bd4f1b645548ef0b7c471ae3da62705a1a5a5d4b44619f5e2d7b6c3c24f5d9e9c0fb6c1f20b77a0e65b8649205cf95b8469c96126
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "mhulan <mhulan@redhat.com>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "pdolinic, 2021",
@@ -3,10 +3,173 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
+ "Project-Id-Version": "foreman_kubevirt 1.0.0",
7
+ "Report-Msgid-Bugs-To": "",
8
+ "PO-Revision-Date": "2025-10-07 14:20+0200",
9
+ "Last-Translator": "FULL NAME <EMAIL@ADDRESS>",
10
+ "Language-Team": "LANGUAGE <LL@li.org>",
11
+ "Language": "",
12
+ "MIME-Version": "1.0",
13
+ "Content-Type": "text/plain; charset=UTF-8",
14
+ "Content-Transfer-Encoding": "8bit",
15
+ "Plural-Forms": "nplurals=INTEGER; plural=EXPRESSION;",
6
16
  "lang": "en",
7
17
  "domain": "foreman_kubevirt",
8
- "plural_forms": null
9
- }
18
+ "plural_forms": "nplurals=INTEGER; plural=EXPRESSION;"
19
+ },
20
+ "%{cpu_cores} Cores and %{memory} memory": [
21
+ ""
22
+ ],
23
+ "API Port": [
24
+ ""
25
+ ],
26
+ "API port for KubeVirt only": [
27
+ ""
28
+ ],
29
+ "Actions": [
30
+ ""
31
+ ],
32
+ "Bootable": [
33
+ ""
34
+ ],
35
+ "CA crt for KubeVirt only": [
36
+ ""
37
+ ],
38
+ "CNI Provider": [
39
+ ""
40
+ ],
41
+ "CPUs": [
42
+ ""
43
+ ],
44
+ "Disk": [
45
+ ""
46
+ ],
47
+ "Does this image support user data input (e.g. via cloud-init)?": [
48
+ ""
49
+ ],
50
+ "Host name for KubeVirt only": [
51
+ ""
52
+ ],
53
+ "Hostname": [
54
+ ""
55
+ ],
56
+ "Image": [
57
+ ""
58
+ ],
59
+ "It is not possible to set a bootable volume and image based provisioning.": [
60
+ ""
61
+ ],
62
+ "Memory": [
63
+ ""
64
+ ],
65
+ "NIC": [
66
+ ""
67
+ ],
68
+ "Name": [
69
+ ""
70
+ ],
71
+ "Namespace": [
72
+ ""
73
+ ],
74
+ "Namespace for KubeVirt only": [
75
+ ""
76
+ ],
77
+ "Network": [
78
+ ""
79
+ ],
80
+ "Only one volume can be bootable": [
81
+ ""
82
+ ],
83
+ "Optionally provide a CA, or a correctly ordered CA chain or a path to a file. If left blank - insecure.": [
84
+ ""
85
+ ],
86
+ "Password to authenticate with - used for SSH finish step.": [
87
+ ""
88
+ ],
89
+ "Please select an image": [
90
+ ""
91
+ ],
92
+ "Power": [
93
+ ""
94
+ ],
95
+ "Power ON this machine": [
96
+ ""
97
+ ],
98
+ "Properties": [
99
+ ""
100
+ ],
101
+ "Provision and manage Kubevirt Virtual Machines from Foreman.": [
102
+ ""
103
+ ],
104
+ "Running on": [
105
+ ""
106
+ ],
107
+ "Size (GB)": [
108
+ ""
109
+ ],
110
+ "Start": [
111
+ ""
112
+ ],
113
+ "Storage Class": [
114
+ ""
115
+ ],
116
+ "The compute resource could not be authenticated": [
117
+ ""
118
+ ],
119
+ "The name of the image in the registry.": [
120
+ ""
121
+ ],
122
+ "The remote system presented a public key signed by an unidentified certificate authority.\\n If you are sure the remote system is authentic, go to the compute resource edit page, press the 'Test Connection' button and submit": [
123
+ ""
124
+ ],
125
+ "The user that is used to ssh into the instance, normally cloud-user, ec2-user, ubuntu, root etc": [
126
+ ""
127
+ ],
128
+ "Token": [
129
+ ""
130
+ ],
131
+ "Token for KubeVirt only": [
132
+ ""
133
+ ],
134
+ "Type": [
135
+ ""
136
+ ],
137
+ "UUID": [
138
+ ""
139
+ ],
140
+ "VCPU(s)": [
141
+ ""
142
+ ],
143
+ "VM should be created based on Persistent Volume Claim or Image": [
144
+ ""
145
+ ],
146
+ "VM should be created based on an image": [
147
+ ""
148
+ ],
149
+ "Volume size %s is not valid": [
150
+ ""
151
+ ],
152
+ "X509 Certification Authorities": [
153
+ ""
154
+ ],
155
+ "cni_provider or network are missing": [
156
+ ""
157
+ ],
158
+ "e.g. eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...": [
159
+ ""
160
+ ],
161
+ "genie": [
162
+ ""
163
+ ],
164
+ "multus": [
165
+ ""
166
+ ],
167
+ "no Storage Classes available on provider": [
168
+ ""
169
+ ],
170
+ "pod": [
171
+ ""
172
+ ]
10
173
  }
11
174
  }
12
175
  };
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Andi Chandler <andi@gowling.com>, 2023",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Amit Upadhye <aupadhye@redhat.com>, 2022",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2024",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Carmela Rubiños <carmela.rubinos@gmail.com>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Giuseppe Pignataro (Fastbyte01) <rogepix@gmail.com>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2025",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Michał Foryt <michal.foryt@gmail.com>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Amit Upadhye <aupadhye@redhat.com>, 2022",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Vladimir Pavlov <v.pavlov@i-teco.ru>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "johnny.westerlund <johnny.westerlund@gmail.com>, 2020",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2025",
@@ -3,7 +3,7 @@
3
3
  "locale_data": {
4
4
  "foreman_kubevirt": {
5
5
  "": {
6
- "Project-Id-Version": "foreman_kubevirt 0.4.0",
6
+ "Project-Id-Version": "foreman_kubevirt 0.4.1",
7
7
  "Report-Msgid-Bugs-To": "",
8
8
  "PO-Revision-Date": "2020-05-26 07:39+0000",
9
9
  "Last-Translator": "Bryan Kearney <bryan.kearney@gmail.com>, 2020",
@@ -73,18 +73,32 @@ module ForemanKubevirt
73
73
  end
74
74
  end
75
75
 
76
+ def connection_valid?
77
+ return false if hostname.blank? || token.blank? || namespace.blank? || api_port.blank?
78
+ client&.valid? && client&.virt_supported?
79
+ rescue StandardError
80
+ false
81
+ end
82
+
76
83
  def connection_properties_valid?
77
84
  errors[:hostname].empty? && errors[:token].empty? && errors[:namespace].empty? && errors[:api_port].empty?
78
85
  end
79
86
 
80
87
  def networks
81
- client.networkattachmentdefs.all
82
- rescue StandardError => e
83
- logger.warn("Failed to retrieve network attachments definition from KubeVirt,
84
- make sure KubeVirt has CNI provider and NetworkAttachmentDefinition CRD deployed: #{e.message}")
88
+ client.networkattachmentdefs.all.map do |network|
89
+ namespaced_name = "#{network.namespace}/#{network.name}"
90
+ OpenStruct.new(id: namespaced_name, name: namespaced_name)
91
+ end
92
+ rescue Fog::Kubevirt::Errors::ClientError => e
93
+ Foreman::Logging.exception("Failed to retrieve network attachments definition from KubeVirt,
94
+ make sure KubeVirt has CNI provider and NetworkAttachmentDefinition CRD deployed", e)
85
95
  []
86
96
  end
87
97
 
98
+ def editable_network_interfaces?
99
+ true
100
+ end
101
+
88
102
  def find_vm_by_uuid(uuid)
89
103
  super
90
104
  rescue Fog::Kubevirt::Errors::ClientError => e
@@ -94,10 +108,16 @@ module ForemanKubevirt
94
108
 
95
109
  def volumes
96
110
  client.volumes.all
111
+ rescue Fog::Kubevirt::Errors::ClientError => e
112
+ Foreman::Logging.exception("Failed retrieving KubeVirt volumes", e)
113
+ []
97
114
  end
98
115
 
99
116
  def storage_classes
100
117
  client.storageclasses.all
118
+ rescue Fog::Kubevirt::Errors::ClientError => e
119
+ Foreman::Logging.exception("Failed retrieving KubeVirt storage classes", e)
120
+ []
101
121
  end
102
122
 
103
123
  def storage_classes_for_select
@@ -458,9 +478,12 @@ module ForemanKubevirt
458
478
  end
459
479
 
460
480
  def create_network_element(iface)
461
- nic = { bridge: {}, name: iface[:network] }
481
+ # K8s objects have string naming.
482
+ # Use ActiveSupport::Inflector#parameterize to create a sanitized NIC name
483
+ nic_name = iface[:network].parameterize
484
+ nic = { bridge: {}, name: nic_name }
462
485
  cni = iface[:cni_provider].to_sym
463
- net = { :name => iface[:network], cni => { :networkName => iface[:network] } }
486
+ net = { :name => nic_name, cni => { :networkName => iface[:network] } }
464
487
  [nic, net]
465
488
  end
466
489
 
@@ -4,14 +4,13 @@
4
4
  <%= password_f f, :token, :label => _("Token"), :required => true,
5
5
  :keep_value => true, :unset => unset_password?,
6
6
  :help_block => _("e.g. eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9..."),
7
- :help_inline => documentation_button('/foreman_kubevirt/0.x/index.html#4.1SettingComputeResourceTokenandX509CAvalues',
8
- :root_url => 'https://theforeman.org/plugins'),
7
+ :help_inline => documentation_button('#4.1SettingComputeResourceTokenandX509CAvalues', type: 'plugin_manual', name: 'foreman_kubevirt', version: '0.x'),
9
8
  :id => "compute_resource_password"
10
9
  %>
11
10
 
12
11
  <%= textarea_f f, :ca_cert, :label => _("X509 Certification Authorities"),
13
12
  :placeholder => _("Optionally provide a CA, or a correctly ordered CA chain or a path to a file. If left blank - insecure.") %>
14
13
 
15
- <div class="col-md-offset-2">
16
- <%= test_connection_button_f(f, true) %>
17
- </div>
14
+ <div class="col-md-offset-2">
15
+ <%= test_connection_button_f(f, f.object.connection_valid?) %>
16
+ </div>
@@ -9,10 +9,11 @@
9
9
 
10
10
  <div id='networks' class='<%= 'hide' if pod %>'>
11
11
  <%= select_f f, :network,
12
- compute_resource.networks,
12
+ (compute_resource.networks + [OpenStruct.new(name: f.object.network, id: f.object.network)]).compact.uniq,
13
13
  :id,
14
14
  :name,
15
15
  {},
16
+ :data => { tags: true },
16
17
  :disabled => !new_vm || pod,
17
18
  :class => "col-md-3 kubevirt-network",
18
19
  :label => _('Network'),
@@ -1,3 +1,3 @@
1
1
  module ForemanKubevirt
2
- VERSION = '0.4.1'.freeze
2
+ VERSION = '0.4.2'.freeze
3
3
  end
@@ -6,10 +6,9 @@
6
6
  # Translators:
7
7
  # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2020
8
8
  #
9
- #, fuzzy
10
9
  msgid ""
11
10
  msgstr ""
12
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
11
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
13
12
  "Report-Msgid-Bugs-To: \n"
14
13
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
15
14
  "Last-Translator: Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2020\n"
@@ -8,10 +8,9 @@
8
8
  # Pavel Borecki <pavel.borecki@gmail.com>, 2020
9
9
  # mhulan <mhulan@redhat.com>, 2020
10
10
  #
11
- #, fuzzy
12
11
  msgid ""
13
12
  msgstr ""
14
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
13
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
15
14
  "Report-Msgid-Bugs-To: \n"
16
15
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
17
16
  "Last-Translator: mhulan <mhulan@redhat.com>, 2020\n"
@@ -16,10 +16,9 @@
16
16
  # Markus Bucher <bucher@atix.de>, 2020
17
17
  # pdolinic, 2021
18
18
  #
19
- #, fuzzy
20
19
  msgid ""
21
20
  msgstr ""
22
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
21
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
23
22
  "Report-Msgid-Bugs-To: \n"
24
23
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
25
24
  "Last-Translator: pdolinic, 2021\n"
@@ -0,0 +1,173 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the foreman_kubevirt package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: foreman_kubevirt 1.0.0\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "PO-Revision-Date: 2025-10-07 14:20+0200\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: \n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
19
+
20
+ msgid "%{cpu_cores} Cores and %{memory} memory"
21
+ msgstr ""
22
+
23
+ msgid "API Port"
24
+ msgstr ""
25
+
26
+ msgid "API port for KubeVirt only"
27
+ msgstr ""
28
+
29
+ msgid "Actions"
30
+ msgstr ""
31
+
32
+ msgid "Bootable"
33
+ msgstr ""
34
+
35
+ msgid "CA crt for KubeVirt only"
36
+ msgstr ""
37
+
38
+ msgid "CNI Provider"
39
+ msgstr ""
40
+
41
+ msgid "CPUs"
42
+ msgstr ""
43
+
44
+ msgid "Disk"
45
+ msgstr ""
46
+
47
+ msgid "Does this image support user data input (e.g. via cloud-init)?"
48
+ msgstr ""
49
+
50
+ msgid "Host name for KubeVirt only"
51
+ msgstr ""
52
+
53
+ msgid "Hostname"
54
+ msgstr ""
55
+
56
+ msgid "Image"
57
+ msgstr ""
58
+
59
+ msgid "It is not possible to set a bootable volume and image based provisioning."
60
+ msgstr ""
61
+
62
+ msgid "Memory"
63
+ msgstr ""
64
+
65
+ msgid "NIC"
66
+ msgstr ""
67
+
68
+ msgid "Name"
69
+ msgstr ""
70
+
71
+ msgid "Namespace"
72
+ msgstr ""
73
+
74
+ msgid "Namespace for KubeVirt only"
75
+ msgstr ""
76
+
77
+ msgid "Network"
78
+ msgstr ""
79
+
80
+ msgid "Only one volume can be bootable"
81
+ msgstr ""
82
+
83
+ msgid "Optionally provide a CA, or a correctly ordered CA chain or a path to a file. If left blank - insecure."
84
+ msgstr ""
85
+
86
+ msgid "Password to authenticate with - used for SSH finish step."
87
+ msgstr ""
88
+
89
+ msgid "Please select an image"
90
+ msgstr ""
91
+
92
+ msgid "Power"
93
+ msgstr ""
94
+
95
+ msgid "Power ON this machine"
96
+ msgstr ""
97
+
98
+ msgid "Properties"
99
+ msgstr ""
100
+
101
+ msgid "Provision and manage Kubevirt Virtual Machines from Foreman."
102
+ msgstr ""
103
+
104
+ msgid "Running on"
105
+ msgstr ""
106
+
107
+ msgid "Size (GB)"
108
+ msgstr ""
109
+
110
+ msgid "Start"
111
+ msgstr ""
112
+
113
+ msgid "Storage Class"
114
+ msgstr ""
115
+
116
+ msgid "The compute resource could not be authenticated"
117
+ msgstr ""
118
+
119
+ msgid "The name of the image in the registry."
120
+ msgstr ""
121
+
122
+ msgid ""
123
+ "The remote system presented a public key signed by an unidentified certificate authority.\n"
124
+ " If you are sure the remote system is authentic, go to the compute resource edit page, press the 'Test Connection' button and submit"
125
+ msgstr ""
126
+
127
+ msgid "The user that is used to ssh into the instance, normally cloud-user, ec2-user, ubuntu, root etc"
128
+ msgstr ""
129
+
130
+ msgid "Token"
131
+ msgstr ""
132
+
133
+ msgid "Token for KubeVirt only"
134
+ msgstr ""
135
+
136
+ msgid "Type"
137
+ msgstr ""
138
+
139
+ msgid "UUID"
140
+ msgstr ""
141
+
142
+ msgid "VCPU(s)"
143
+ msgstr ""
144
+
145
+ msgid "VM should be created based on Persistent Volume Claim or Image"
146
+ msgstr ""
147
+
148
+ msgid "VM should be created based on an image"
149
+ msgstr ""
150
+
151
+ msgid "Volume size %s is not valid"
152
+ msgstr ""
153
+
154
+ msgid "X509 Certification Authorities"
155
+ msgstr ""
156
+
157
+ msgid "cni_provider or network are missing"
158
+ msgstr ""
159
+
160
+ msgid "e.g. eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9..."
161
+ msgstr ""
162
+
163
+ msgid "genie"
164
+ msgstr ""
165
+
166
+ msgid "multus"
167
+ msgstr ""
168
+
169
+ msgid "no Storage Classes available on provider"
170
+ msgstr ""
171
+
172
+ msgid "pod"
173
+ msgstr ""
@@ -7,10 +7,9 @@
7
7
  # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
8
8
  # Andi Chandler <andi@gowling.com>, 2023
9
9
  #
10
- #, fuzzy
11
10
  msgid ""
12
11
  msgstr ""
13
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
12
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
14
13
  "Report-Msgid-Bugs-To: \n"
15
14
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
16
15
  "Last-Translator: Andi Chandler <andi@gowling.com>, 2023\n"
@@ -13,10 +13,9 @@
13
13
  # Sergio Ocón-Cárdenas, 2020
14
14
  # Amit Upadhye <aupadhye@redhat.com>, 2022
15
15
  #
16
- #, fuzzy
17
16
  msgid ""
18
17
  msgstr ""
19
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
18
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
20
19
  "Report-Msgid-Bugs-To: \n"
21
20
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
22
21
  "Last-Translator: Amit Upadhye <aupadhye@redhat.com>, 2022\n"
@@ -8,8 +8,8 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: foreman_kubevirt 1.0.0\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-02-10 20:07+0100\n"
12
- "PO-Revision-Date: 2025-02-10 20:07+0100\n"
11
+ "POT-Creation-Date: 2025-10-07 14:20+0200\n"
12
+ "PO-Revision-Date: 2025-10-07 14:20+0200\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
@@ -11,10 +11,9 @@
11
11
  # Amit Upadhye <aupadhye@redhat.com>, 2023
12
12
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2024
13
13
  #
14
- #, fuzzy
15
14
  msgid ""
16
15
  msgstr ""
17
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
16
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
18
17
  "Report-Msgid-Bugs-To: \n"
19
18
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
20
19
  "Last-Translator: Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarde"
@@ -6,10 +6,9 @@
6
6
  # Translators:
7
7
  # Carmela Rubiños <carmela.rubinos@gmail.com>, 2020
8
8
  #
9
- #, fuzzy
10
9
  msgid ""
11
10
  msgstr ""
12
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
11
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
13
12
  "Report-Msgid-Bugs-To: \n"
14
13
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
15
14
  "Last-Translator: Carmela Rubiños <carmela.rubinos@gmail.com>, 2020\n"
@@ -8,10 +8,9 @@
8
8
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
9
9
  # Giuseppe Pignataro (Fastbyte01) <rogepix@gmail.com>, 2020
10
10
  #
11
- #, fuzzy
12
11
  msgid ""
13
12
  msgstr ""
14
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
13
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
15
14
  "Report-Msgid-Bugs-To: \n"
16
15
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
17
16
  "Last-Translator: Giuseppe Pignataro (Fastbyte01) <rogepix@gmail.com>, 2020\n"
@@ -10,10 +10,9 @@
10
10
  # Amit Upadhye <aupadhye@redhat.com>, 2020
11
11
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023
12
12
  #
13
- #, fuzzy
14
13
  msgid ""
15
14
  msgstr ""
16
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
15
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
17
16
  "Report-Msgid-Bugs-To: \n"
18
17
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
19
18
  "Last-Translator: Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarde"
@@ -6,10 +6,9 @@
6
6
  # Translators:
7
7
  # Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023
8
8
  #
9
- #, fuzzy
10
9
  msgid ""
11
10
  msgstr ""
12
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
11
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
13
12
  "Report-Msgid-Bugs-To: \n"
14
13
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
15
14
  "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2023\n"
@@ -8,10 +8,9 @@
8
8
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
9
9
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2025
10
10
  #
11
- #, fuzzy
12
11
  msgid ""
13
12
  msgstr ""
14
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
13
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
15
14
  "Report-Msgid-Bugs-To: \n"
16
15
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
17
16
  "Last-Translator: Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarde"
@@ -10,10 +10,9 @@
10
10
  # Mark Olie <mark.transifex@oliekoets.nl>, 2020
11
11
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2023
12
12
  #
13
- #, fuzzy
14
13
  msgid ""
15
14
  msgstr ""
16
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
15
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
17
16
  "Report-Msgid-Bugs-To: \n"
18
17
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
19
18
  "Last-Translator: Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarde"
@@ -7,10 +7,9 @@
7
7
  # sziolkow <sziolkow@gmail.com>, 2020
8
8
  # Michał Foryt <michal.foryt@gmail.com>, 2020
9
9
  #
10
- #, fuzzy
11
10
  msgid ""
12
11
  msgstr ""
13
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
12
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
14
13
  "Report-Msgid-Bugs-To: \n"
15
14
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
16
15
  "Last-Translator: Michał Foryt <michal.foryt@gmail.com>, 2020\n"
@@ -10,10 +10,9 @@
10
10
  # Luiz Henrique Vasconcelos <luizvasconceloss@yahoo.com.br>, 2020
11
11
  # Amit Upadhye <aupadhye@redhat.com>, 2022
12
12
  #
13
- #, fuzzy
14
13
  msgid ""
15
14
  msgstr ""
16
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
15
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
17
16
  "Report-Msgid-Bugs-To: \n"
18
17
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
19
18
  "Last-Translator: Amit Upadhye <aupadhye@redhat.com>, 2022\n"
@@ -11,10 +11,9 @@
11
11
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
12
12
  # Vladimir Pavlov <v.pavlov@i-teco.ru>, 2020
13
13
  #
14
- #, fuzzy
15
14
  msgid ""
16
15
  msgstr ""
17
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
16
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
18
17
  "Report-Msgid-Bugs-To: \n"
19
18
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
20
19
  "Last-Translator: Vladimir Pavlov <v.pavlov@i-teco.ru>, 2020\n"
@@ -8,10 +8,9 @@
8
8
  # Mikael Fridh <frimik@gmail.com>, 2020
9
9
  # johnny.westerlund <johnny.westerlund@gmail.com>, 2020
10
10
  #
11
- #, fuzzy
12
11
  msgid ""
13
12
  msgstr ""
14
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
13
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
15
14
  "Report-Msgid-Bugs-To: \n"
16
15
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
17
16
  "Last-Translator: johnny.westerlund <johnny.westerlund@gmail.com>, 2020\n"
@@ -10,10 +10,9 @@
10
10
  # Amit Upadhye <aupadhye@redhat.com>, 2022
11
11
  # Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarden.nl>, 2025
12
12
  #
13
- #, fuzzy
14
13
  msgid ""
15
14
  msgstr ""
16
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
15
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
17
16
  "Report-Msgid-Bugs-To: \n"
18
17
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
19
18
  "Last-Translator: Ewoud Kohl van Wijngaarden <ewoud+transifex@kohlvanwijngaarde"
@@ -7,10 +7,9 @@
7
7
  # 0868a4d1af5275b3f70b0a6dac4c99a4, 2020
8
8
  # Bryan Kearney <bryan.kearney@gmail.com>, 2020
9
9
  #
10
- #, fuzzy
11
10
  msgid ""
12
11
  msgstr ""
13
- "Project-Id-Version: foreman_kubevirt 0.4.0\n"
12
+ "Project-Id-Version: foreman_kubevirt 0.4.1\n"
14
13
  "Report-Msgid-Bugs-To: \n"
15
14
  "PO-Revision-Date: 2020-05-26 07:39+0000\n"
16
15
  "Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2020\n"
@@ -21,25 +21,82 @@ class ForemanKubevirtTest < ActiveSupport::TestCase
21
21
  assert_equal expected_res, result
22
22
  end
23
23
 
24
+ describe "create_vm" do
25
+ test "uses sanitized NIC names" do
26
+ vms = stub
27
+ pvcs = stub
28
+ pvcs.stubs(:create)
29
+ pvcs.stubs(:delete)
30
+ servers = stub
31
+ servers.stubs(:get)
32
+ client = stub
33
+ client.stubs(:vms).returns(vms)
34
+ client.stubs(:pvcs).returns(pvcs)
35
+ client.stubs(:servers).returns(servers)
36
+ record = new_kubevirt_vcr
37
+ record.stubs(:client).returns(client)
38
+
39
+ expected_networks = [{ :name => "default-network", :multus => { :networkName => "default/network" } }]
40
+ expected_interfaces = [{ :bridge => {}, :name => "default-network" }]
41
+
42
+ vms.expects(:create).with(vm_name: anything, cpus: anything, memory_size: anything, memory_unit: anything, volumes: anything, cloudinit: anything, networks: expected_networks, interfaces: expected_interfaces)
43
+
44
+ record.create_vm({ :name => "test", :volumes_attributes => { 0 => { :capacity => "5" } }, :interfaces_attributes => { "0" => { "cni_provider" => "multus", "network" => "default/network" } } })
45
+ end
46
+ end
47
+
48
+ describe "create_network_element" do
49
+ test "sanitizes NIC names" do
50
+ record = new_kubevirt_vcr
51
+ iface = { network: "default/network", cni_provider: "multus" }
52
+ nic, net = record.send(:create_network_element, iface)
53
+ assert_equal "default-network", nic[:name]
54
+ assert_equal "default-network", net[:name]
55
+ end
56
+ end
57
+
24
58
  describe "networks" do
25
59
  test "returns list of networksattachmentdefs" do
26
60
  Fog.mock!
27
61
  compute_resource = FactoryBot.build(:compute_resource_kubevirt)
28
62
  res = compute_resource.networks
29
63
  assert_equal 1, res.count
30
- assert_equal '0e35b868-2464-11e9-93b4-525400c5a686', res.first.uid
64
+ assert_equal 'default/ovs-foreman', res.first.id
65
+ assert_equal 'default/ovs-foreman', res.first.name
31
66
  end
32
67
 
33
68
  test "in case of exception, returns an empty array" do
34
69
  compute_resource = FactoryBot.build(:compute_resource_kubevirt)
35
70
  client = stub
36
71
  compute_resource.stubs(:client).returns(client)
37
- client.stubs(:networkattachmentdefs).raises("exception")
72
+ client.stubs(:networkattachmentdefs).raises(Fog::Kubevirt::Errors::ClientError.new)
38
73
  res = compute_resource.networks
39
74
  assert_equal 0, res.count
40
75
  end
41
76
  end
42
77
 
78
+ describe "volumes" do
79
+ test "returns empty array when error is raised" do
80
+ Fog.mock!
81
+ compute_resource = new_kubevirt_vcr
82
+ client = stub
83
+ compute_resource.stubs(:client).returns(client)
84
+ client.stubs(:volumes).raises(Fog::Kubevirt::Errors::ClientError.new)
85
+ assert_empty compute_resource.volumes
86
+ end
87
+ end
88
+
89
+ describe "storage_classes" do
90
+ test "returns empty array when error is raised" do
91
+ Fog.mock!
92
+ compute_resource = new_kubevirt_vcr
93
+ client = stub
94
+ compute_resource.stubs(:client).returns(client)
95
+ client.stubs(:storageclasses).raises(Fog::Kubevirt::Errors::ClientError.new)
96
+ assert_empty compute_resource.storage_classes
97
+ end
98
+ end
99
+
43
100
  describe "find_vm_by_uuid" do
44
101
  test "it finds the vm" do
45
102
  Fog.mock!
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_kubevirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moti Asayag
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-02-20 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: fog-kubevirt
@@ -134,7 +133,6 @@ homepage: https://github.com/theforeman/foreman_kubevirt
134
133
  licenses:
135
134
  - GPL-3.0
136
135
  metadata: {}
137
- post_install_message:
138
136
  rdoc_options: []
139
137
  require_paths:
140
138
  - lib
@@ -152,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
150
  - !ruby/object:Gem::Version
153
151
  version: '0'
154
152
  requirements: []
155
- rubygems_version: 3.5.23
156
- signing_key:
153
+ rubygems_version: 4.0.3
157
154
  specification_version: 4
158
155
  summary: Provision and manage Kubevirt Virtual Machines from Foreman
159
156
  test_files: