foreman_ovirt 0.3.0 → 2.0.0

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/{LICENSE.txt → LICENSE} +0 -2
  3. data/README.md +140 -0
  4. data/Rakefile +37 -43
  5. data/app/assets/javascripts/foreman_ovirt/display.js +10 -0
  6. data/app/assets/javascripts/foreman_ovirt/host_edit.js +61 -0
  7. data/app/assets/javascripts/foreman_ovirt/nic_info.js +3 -0
  8. data/app/assets/javascripts/foreman_ovirt/ovirt.js +261 -0
  9. data/app/controllers/concerns/foreman_ovirt/compute_resources_vms_controller.rb +29 -0
  10. data/app/controllers/concerns/foreman_ovirt/parameters_extension.rb +35 -0
  11. data/app/controllers/foreman_ovirt/concerns/compute_resources_controller_extensions.rb +60 -0
  12. data/app/helpers/ovirt_compute_resource_helper.rb +26 -0
  13. data/app/models/concerns/fog_extensions/ovirt/server.rb +42 -0
  14. data/app/models/concerns/fog_extensions/ovirt/template.rb +14 -0
  15. data/app/models/concerns/fog_extensions/ovirt/volume.rb +11 -0
  16. data/app/models/foreman_ovirt/ovirt.rb +752 -0
  17. data/app/views/api/v2/compute_resources/ovirt.json.rabl +1 -0
  18. data/app/views/compute_resources/form/_ovirt.html.erb +14 -0
  19. data/app/views/compute_resources/show/_ovirt.html.erb +16 -0
  20. data/app/views/compute_resources_vms/form/ovirt/_base.html.erb +83 -0
  21. data/app/views/compute_resources_vms/form/ovirt/_network.html.erb +32 -0
  22. data/app/views/compute_resources_vms/form/ovirt/_volume.html.erb +16 -0
  23. data/app/views/compute_resources_vms/index/_ovirt.html.erb +12 -0
  24. data/app/views/compute_resources_vms/index/_ovirt_json.erb +6 -0
  25. data/app/views/compute_resources_vms/show/_ovirt.html.erb +55 -0
  26. data/app/views/images/form/_ovirt.html.erb +4 -0
  27. data/config/routes.rb +8 -13
  28. data/db/migrate/20250810212811_update_legacy_ovirt_compute_resource_type.rb +21 -0
  29. data/lib/foreman_ovirt/engine.rb +70 -0
  30. data/lib/foreman_ovirt/version.rb +3 -0
  31. data/lib/foreman_ovirt.rb +2 -1
  32. data/lib/tasks/foreman_ovirt_tasks.rake +30 -0
  33. data/locale/Makefile +73 -0
  34. data/locale/en/foreman_ovirt.po +19 -0
  35. data/locale/foreman_ovirt.pot +19 -0
  36. data/locale/gemspec.rb +2 -0
  37. data/package.json +39 -0
  38. data/test/factories/foreman_ovirt_factories.rb +5 -0
  39. data/test/test_plugin_helper.rb +6 -0
  40. data/test/unit/foreman_ovirt_test.rb +11 -0
  41. data/webpack/components/extensions/HostDetails/DetailsTabCards/OvirtCard.js +132 -0
  42. data/webpack/components/ovirt.js +20 -0
  43. data/webpack/global_index.js +14 -0
  44. data/webpack/global_test_setup.js +11 -0
  45. data/webpack/index.js +1 -0
  46. data/webpack/test_setup.js +17 -0
  47. metadata +157 -128
  48. data/.document +0 -5
  49. data/Gemfile +0 -14
  50. data/Gemfile.lock +0 -33
  51. data/README.rdoc +0 -20
  52. data/VERSION +0 -1
  53. data/app/controllers/foreman_ovirt/auth_source_ovirts_controller.rb +0 -57
  54. data/app/controllers/foreman_ovirt/dashboard_controller.rb +0 -10
  55. data/app/controllers/foreman_ovirt/hosts_controller.rb +0 -17
  56. data/app/models/foreman_ovirt/auth_source_ovirt.rb +0 -78
  57. data/app/models/foreman_ovirt/user_extensions.rb +0 -26
  58. data/app/views/foreman_ovirt/auth_source_ovirts/_form.html.erb +0 -17
  59. data/app/views/foreman_ovirt/auth_source_ovirts/edit.html.erb +0 -3
  60. data/app/views/foreman_ovirt/auth_source_ovirts/index.html.erb +0 -22
  61. data/app/views/foreman_ovirt/auth_source_ovirts/new.html.erb +0 -3
  62. data/app/views/foreman_ovirt/auth_source_ovirts/welcome.html.erb +0 -8
  63. data/app/views/foreman_ovirt/hosts/_overview.html.erb +0 -27
  64. data/app/views/foreman_ovirt/hosts/show.html.erb +0 -48
  65. data/app/views/foreman_ovirt/hosts/show_graphs.html.erb +0 -13
  66. data/app/views/layouts/application_ovirt.html.erb +0 -36
  67. data/config/initializers/ovirt_setup.rb +0 -30
  68. data/foreman_ovirt.gemspec +0 -74
  69. data/lib/engine.rb +0 -9
@@ -0,0 +1,132 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { translate as __ } from 'foremanReact/common/I18n';
4
+ import { foremanUrl } from 'foremanReact/common/helpers';
5
+ import { useAPI } from 'foremanReact/common/hooks/API/APIHooks';
6
+ import ErrorBoundary from 'foremanReact/components/common/ErrorBoundary';
7
+ import CardTemplate from 'foremanReact/components/HostDetails/Templates/CardItem/CardTemplate';
8
+ import {
9
+ Card,
10
+ CardBody,
11
+ CardHeader,
12
+ CardTitle,
13
+ DescriptionList,
14
+ DescriptionListGroup,
15
+ DescriptionListTerm,
16
+ DescriptionListDescription,
17
+ } from '@patternfly/react-core';
18
+ import { Spinner } from '@patternfly/react-core';
19
+ import { number_to_human_size as NumberToHumanSize } from 'number_helpers';
20
+
21
+ const OvirtCard = ({ hostDetails }) => {
22
+ const {
23
+ id: hostId,
24
+ compute_resource_id: computeResourceId,
25
+ compute_resource_name: computeResourceName,
26
+ compute_resource_provider: provider,
27
+ } = hostDetails;
28
+ const virtUrl = foremanUrl(`/api/hosts/${hostId}/vm_compute_attributes`);
29
+ const { response: vm, status = {} } = useAPI('get', virtUrl) || {};
30
+
31
+ if (status.isLoading) {
32
+ return (
33
+ <CardTemplate header={__('oVirt')}>
34
+ <Spinner size="md" />
35
+ </CardTemplate>
36
+ );
37
+ }
38
+
39
+ if (!vm || Object.keys(vm).length === 0) {
40
+ return null;
41
+ }
42
+
43
+ const errorFallback = () => (
44
+ <EmptyState
45
+ icon={<div />}
46
+ header={__('Something went wrong')}
47
+ description={__('There was an error loading this content.')}
48
+ />
49
+ );
50
+
51
+ return (
52
+ <CardTemplate header={__('oVirt')} masonryLayout>
53
+ <ErrorBoundary fallback={errorFallback}>
54
+ <DescriptionList isCompact isHorizontal>
55
+ <DescriptionListGroup>
56
+ <DescriptionListTerm>{__('Name')}</DescriptionListTerm>
57
+ <DescriptionListDescription>{vm.name}</DescriptionListDescription>
58
+ </DescriptionListGroup>
59
+ <DescriptionListGroup>
60
+ <DescriptionListTerm>{__('Cores per Socket')}</DescriptionListTerm>
61
+ <DescriptionListDescription>{vm.cores}</DescriptionListDescription>
62
+ </DescriptionListGroup>
63
+ <DescriptionListGroup>
64
+ <DescriptionListTerm>{__('Sockets')}</DescriptionListTerm>
65
+ <DescriptionListDescription>{vm.sockets}</DescriptionListDescription>
66
+ </DescriptionListGroup>
67
+ <DescriptionListGroup>
68
+ <DescriptionListTerm>{__('Memory')}</DescriptionListTerm>
69
+ <DescriptionListDescription>
70
+ {NumberToHumanSize(vm.memory, { strip_insignificant_zeros: true })}
71
+ </DescriptionListDescription>
72
+ </DescriptionListGroup>
73
+ {vm.display && (
74
+ <DescriptionListGroup>
75
+ <DescriptionListTerm>{__('Display')}</DescriptionListTerm>
76
+ <DescriptionListDescription>{vm.display.type}</DescriptionListDescription>
77
+ </DescriptionListGroup>
78
+ )}
79
+ {vm.display && vm.display.type === 'vnc' && (
80
+ <DescriptionListGroup>
81
+ <DescriptionListTerm>{__('Keyboard')}</DescriptionListTerm>
82
+ <DescriptionListDescription>
83
+ {vm.display.keyboard_layout}
84
+ </DescriptionListDescription>
85
+ </DescriptionListGroup>
86
+ )}
87
+ {vm.interfaces_attributes && Object.keys(vm.interfaces_attributes).length > 0 &&
88
+ Object.values(vm.interfaces_attributes).map((nic, index) => (
89
+ <DescriptionListGroup key={`nic-${index}`}>
90
+ <DescriptionListTerm>{__('NIC name')}</DescriptionListTerm>
91
+ <DescriptionListDescription>
92
+ {nic.compute_attributes.name}
93
+ </DescriptionListDescription>
94
+ <DescriptionListTerm>{__('Network')}</DescriptionListTerm>
95
+ <DescriptionListDescription>
96
+ {nic.compute_attributes.network}
97
+ </DescriptionListDescription>
98
+ <DescriptionListTerm>{__('MAC address')}</DescriptionListTerm>
99
+ <DescriptionListDescription>{nic.mac}</DescriptionListDescription>
100
+ </DescriptionListGroup>
101
+ ))}
102
+ {vm.volumes_attributes && Object.keys(vm.volumes_attributes).length > 0 &&
103
+ Object.values(vm.volumes_attributes).map((vol, index) => (
104
+ <DescriptionListGroup key={`volume-${index}`}>
105
+ <DescriptionListTerm>{__('Disk')}</DescriptionListTerm>
106
+ <DescriptionListDescription>
107
+ {NumberToHumanSize(vol.size_gb * 1024 ** 3, {
108
+ strip_insignificant_zeros: true,
109
+ })}
110
+ </DescriptionListDescription>
111
+ </DescriptionListGroup>
112
+ ))}
113
+ </DescriptionList>
114
+ </ErrorBoundary>
115
+ </CardTemplate>
116
+ );
117
+ };
118
+
119
+ OvirtCard.propTypes = {
120
+ hostDetails: PropTypes.shape({
121
+ id: PropTypes.number,
122
+ compute_resource_id: PropTypes.number,
123
+ compute_resource_name: PropTypes.string,
124
+ compute_resource_provider: PropTypes.string,
125
+ }),
126
+ };
127
+
128
+ OvirtCard.defaultProps = {
129
+ hostDetails: {},
130
+ };
131
+
132
+ export default OvirtCard;
@@ -0,0 +1,20 @@
1
+ /* eslint-disable jquery/no-each */
2
+ /* eslint-disable jquery/no-text */
3
+ /* eslint-disable jquery/no-data */
4
+ /* eslint-disable jquery/no-sizzle */
5
+ /* eslint-disable jquery/no-hide */
6
+ /* eslint-disable jquery/no-attr */
7
+ /* eslint-disable jquery/no-ajax */
8
+ /* eslint-disable jquery/no-trigger */
9
+ /* eslint-disable jquery/no-val */
10
+ /* eslint-disable jquery/no-prop */
11
+ /* eslint-disable func-names */
12
+
13
+ import $ from 'jquery';
14
+ import { testConnection } from 'foremanReact/components/foreman_compute_resource';
15
+
16
+ // used by test connection
17
+ export function datacenterSelected(item) {
18
+ // eslint-disable-next-line no-undef
19
+ testConnection($('#test_connection_button'));
20
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+
3
+ import { registerReducer } from 'foremanReact/common/MountingService';
4
+ import { addGlobalFill } from 'foremanReact/components/common/Fill/GlobalFill';
5
+ import { registerRoutes } from 'foremanReact/routes/RoutingService';
6
+
7
+ import OvirtCard from './components/extensions/HostDetails/DetailsTabCards/OvirtCard';
8
+
9
+ addGlobalFill(
10
+ 'host-tab-details-cards',
11
+ 'oVirt',
12
+ <OvirtCard key="ovirt_card" />,
13
+ 25
14
+ );
@@ -0,0 +1,11 @@
1
+ // runs before each test to make sure console.error output will
2
+ // fail a test (i.e. default PropType missing). Check the error
3
+ // output and traceback for actual error.
4
+ global.console.error = (error, stack) => {
5
+ /* eslint-disable-next-line no-console */
6
+ if (stack) console.log(stack); // Prints out original stack trace
7
+ throw new Error(error);
8
+ };
9
+
10
+ // Increase jest timeout as some tests using multiple http mocks can time out on CI systems.
11
+ jest.setTimeout(10000);
data/webpack/index.js ADDED
@@ -0,0 +1 @@
1
+ import componentRegistry from 'foremanReact/components/componentRegistry';
@@ -0,0 +1,17 @@
1
+ import 'core-js/shim';
2
+ import 'regenerator-runtime/runtime';
3
+ import MutationObserver from '@sheerun/mutationobserver-shim';
4
+
5
+ import { configure } from 'enzyme';
6
+ import Adapter from 'enzyme-adapter-react-16';
7
+
8
+ configure({ adapter: new Adapter() });
9
+
10
+ // Mocking translation function
11
+ global.__ = text => text; // eslint-disable-line
12
+
13
+ // Mocking locales to prevent unnecessary fallback messages
14
+ window.locales = { en: { domain: 'app', locale_data: { app: { '': {} } } } };
15
+
16
+ // see https://github.com/testing-library/dom-testing-library/releases/tag/v7.0.0
17
+ window.MutationObserver = MutationObserver;
metadata CHANGED
@@ -1,151 +1,180 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: foreman_ovirt
3
- version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 0
10
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
11
5
  platform: ruby
12
- authors:
13
- - Oved Ourfali
14
- autorequire:
6
+ authors:
7
+ - markt.de
8
+ autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-12-20 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: shoulda
11
+ date: 2025-08-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fog-ovirt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.3
20
+ type: :runtime
22
21
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
26
24
  - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
32
- type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: ovirt-engine-sdk
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 4.6.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 4.6.0
41
+ - !ruby/object:Gem::Dependency
35
42
  name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
36
49
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 31
43
- segments:
44
- - 3
45
- - 12
46
- version: "3.12"
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: bundler
51
63
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ~>
56
- - !ruby/object:Gem::Version
57
- hash: 27
58
- segments:
59
- - 1
60
- - 2
61
- - 2
62
- version: 1.2.2
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
63
76
  type: :development
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
66
- name: jeweler
67
77
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
69
- none: false
70
- requirements:
71
- - - ~>
72
- - !ruby/object:Gem::Version
73
- hash: 63
74
- segments:
75
- - 1
76
- - 8
77
- - 4
78
- version: 1.8.4
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: theforeman-rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.1'
79
90
  type: :development
80
- version_requirements: *id004
81
- description: Foreman oVirt plugin
82
- email: ovedo@redhat.com
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.1'
97
+ description: The ForemanOvirt plugin adds oVirt compute resource to Foreman using
98
+ fog-ovirt. It is compatible with Foreman 3.16+
99
+ email:
100
+ - oss-noreply@markt.de
83
101
  executables: []
84
-
85
102
  extensions: []
86
-
87
- extra_rdoc_files:
88
- - LICENSE.txt
89
- - README.rdoc
90
- files:
91
- - .document
92
- - Gemfile
93
- - Gemfile.lock
94
- - LICENSE.txt
95
- - README.rdoc
103
+ extra_rdoc_files: []
104
+ files:
105
+ - LICENSE
106
+ - README.md
96
107
  - Rakefile
97
- - VERSION
98
- - app/controllers/foreman_ovirt/auth_source_ovirts_controller.rb
99
- - app/controllers/foreman_ovirt/dashboard_controller.rb
100
- - app/controllers/foreman_ovirt/hosts_controller.rb
101
- - app/models/foreman_ovirt/auth_source_ovirt.rb
102
- - app/models/foreman_ovirt/user_extensions.rb
103
- - app/views/foreman_ovirt/auth_source_ovirts/_form.html.erb
104
- - app/views/foreman_ovirt/auth_source_ovirts/edit.html.erb
105
- - app/views/foreman_ovirt/auth_source_ovirts/index.html.erb
106
- - app/views/foreman_ovirt/auth_source_ovirts/new.html.erb
107
- - app/views/foreman_ovirt/auth_source_ovirts/welcome.html.erb
108
- - app/views/foreman_ovirt/hosts/_overview.html.erb
109
- - app/views/foreman_ovirt/hosts/show.html.erb
110
- - app/views/foreman_ovirt/hosts/show_graphs.html.erb
111
- - app/views/layouts/application_ovirt.html.erb
112
- - config/initializers/ovirt_setup.rb
108
+ - app/assets/javascripts/foreman_ovirt/display.js
109
+ - app/assets/javascripts/foreman_ovirt/host_edit.js
110
+ - app/assets/javascripts/foreman_ovirt/nic_info.js
111
+ - app/assets/javascripts/foreman_ovirt/ovirt.js
112
+ - app/controllers/concerns/foreman_ovirt/compute_resources_vms_controller.rb
113
+ - app/controllers/concerns/foreman_ovirt/parameters_extension.rb
114
+ - app/controllers/foreman_ovirt/concerns/compute_resources_controller_extensions.rb
115
+ - app/helpers/ovirt_compute_resource_helper.rb
116
+ - app/models/concerns/fog_extensions/ovirt/server.rb
117
+ - app/models/concerns/fog_extensions/ovirt/template.rb
118
+ - app/models/concerns/fog_extensions/ovirt/volume.rb
119
+ - app/models/foreman_ovirt/ovirt.rb
120
+ - app/views/api/v2/compute_resources/ovirt.json.rabl
121
+ - app/views/compute_resources/form/_ovirt.html.erb
122
+ - app/views/compute_resources/show/_ovirt.html.erb
123
+ - app/views/compute_resources_vms/form/ovirt/_base.html.erb
124
+ - app/views/compute_resources_vms/form/ovirt/_network.html.erb
125
+ - app/views/compute_resources_vms/form/ovirt/_volume.html.erb
126
+ - app/views/compute_resources_vms/index/_ovirt.html.erb
127
+ - app/views/compute_resources_vms/index/_ovirt_json.erb
128
+ - app/views/compute_resources_vms/show/_ovirt.html.erb
129
+ - app/views/images/form/_ovirt.html.erb
113
130
  - config/routes.rb
114
- - foreman_ovirt.gemspec
115
- - lib/engine.rb
131
+ - db/migrate/20250810212811_update_legacy_ovirt_compute_resource_type.rb
116
132
  - lib/foreman_ovirt.rb
117
- homepage: http://github.com/oourfali/foreman_ovirt
118
- licenses:
119
- - GPL-3
120
- post_install_message:
133
+ - lib/foreman_ovirt/engine.rb
134
+ - lib/foreman_ovirt/version.rb
135
+ - lib/tasks/foreman_ovirt_tasks.rake
136
+ - locale/Makefile
137
+ - locale/en/foreman_ovirt.po
138
+ - locale/foreman_ovirt.pot
139
+ - locale/gemspec.rb
140
+ - package.json
141
+ - test/factories/foreman_ovirt_factories.rb
142
+ - test/test_plugin_helper.rb
143
+ - test/unit/foreman_ovirt_test.rb
144
+ - webpack/components/extensions/HostDetails/DetailsTabCards/OvirtCard.js
145
+ - webpack/components/ovirt.js
146
+ - webpack/global_index.js
147
+ - webpack/global_test_setup.js
148
+ - webpack/index.js
149
+ - webpack/test_setup.js
150
+ homepage: https://github.com/markt-de/foreman_ovirt_community
151
+ licenses:
152
+ - GPL-3.0
153
+ metadata:
154
+ is_foreman_plugin: 'true'
155
+ post_install_message:
121
156
  rdoc_options: []
122
-
123
- require_paths:
157
+ require_paths:
124
158
  - lib
125
- required_ruby_version: !ruby/object:Gem::Requirement
126
- none: false
127
- requirements:
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ requirements:
128
161
  - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 3
131
- segments:
132
- - 0
133
- version: "0"
134
- required_rubygems_version: !ruby/object:Gem::Requirement
135
- none: false
136
- requirements:
162
+ - !ruby/object:Gem::Version
163
+ version: '2.7'
164
+ - - "<"
165
+ - !ruby/object:Gem::Version
166
+ version: '4'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ requirements:
137
169
  - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
143
172
  requirements: []
144
-
145
- rubyforge_project:
146
- rubygems_version: 1.8.10
147
- signing_key:
148
- specification_version: 3
149
- summary: Plugin engine for Foreman-Ovirt integration
150
- test_files: []
151
-
173
+ rubygems_version: 3.4.20
174
+ signing_key:
175
+ specification_version: 4
176
+ summary: oVirt as a compute resource for The Foreman
177
+ test_files:
178
+ - test/factories/foreman_ovirt_factories.rb
179
+ - test/test_plugin_helper.rb
180
+ - test/unit/foreman_ovirt_test.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
-
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- gem "shoulda", ">= 0"
10
- gem "rdoc", "~> 3.12"
11
- gem "bundler", "~> 1.2.2"
12
- gem "jeweler", "~> 1.8.4"
13
- # gem "rcov", ">= 0"
14
- end
data/Gemfile.lock DELETED
@@ -1,33 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activesupport (3.2.9)
5
- i18n (~> 0.6)
6
- multi_json (~> 1.0)
7
- git (1.2.5)
8
- i18n (0.6.1)
9
- jeweler (1.8.4)
10
- bundler (~> 1.0)
11
- git (>= 1.2.5)
12
- rake
13
- rdoc
14
- json (1.7.5)
15
- multi_json (1.3.7)
16
- rake (10.0.2)
17
- rdoc (3.12)
18
- json (~> 1.4)
19
- shoulda (3.3.2)
20
- shoulda-context (~> 1.0.1)
21
- shoulda-matchers (~> 1.4.1)
22
- shoulda-context (1.0.1)
23
- shoulda-matchers (1.4.1)
24
- activesupport (>= 3.0.0)
25
-
26
- PLATFORMS
27
- ruby
28
-
29
- DEPENDENCIES
30
- bundler (~> 1.2.2)
31
- jeweler (~> 1.8.4)
32
- rdoc (~> 3.12)
33
- shoulda
data/README.rdoc DELETED
@@ -1,20 +0,0 @@
1
- = foreman_ovirt
2
-
3
- Test engine for ovirt-foreman integration
4
-
5
- = Install
6
-
7
- 1. gem install foreman_ovirt
8
- 2. Add bundler.d folder in Foreman a file called foreman_ovirt, containing the line:
9
- gem 'foreman_ovirt'
10
-
11
- = Usage
12
-
13
- See the README-foreman-plugin in the oVirt plugin repository (http://gerrit.ovirt.org/p/samples-uiplugins.git) for guidelines on what to do in the oVirt engine server.
14
- Also see ovedou.blogspot.com for more information, as I have a blog post on that.
15
-
16
- == Copyright
17
-
18
- Copyright (c) 2012 Oved Ourfali. See LICENSE.txt for
19
- further details.
20
-
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.0
@@ -1,57 +0,0 @@
1
- module ForemanOvirt
2
- class AuthSourceOvirtsController < ApplicationController
3
- layout 'layouts/application_ovirt'
4
- skip_before_filter :verify_authenticity_token
5
- def index
6
- @auth_source_ovirts = AuthSourceOvirt.all
7
- respond_to do |format|
8
- format.html { }
9
- format.json { render :json => @auth_source_ovirts }
10
- end
11
- end
12
-
13
- def show
14
- @auth_source_ovirt = AuthSourceOvirt.find(params[:id])
15
- respond_to do |format|
16
- format.html { }
17
- format.json { render :json => @auth_source_ovirt }
18
- end
19
- end
20
-
21
- def new
22
- @auth_source_ovirt = AuthSourceOvirt.new
23
- end
24
-
25
- def create
26
- @auth_source_ovirt = AuthSourceOvirt.new(params[:foreman_ovirt_auth_source_ovirt])
27
- if @auth_source_ovirt.save
28
- process_success
29
- else
30
- process_error
31
- end
32
- end
33
-
34
- def edit
35
- @auth_source_ovirt = AuthSourceOvirt.find(params[:id])
36
- end
37
-
38
- def update
39
- @auth_source_ovirt = AuthSourceOvirt.find(params[:id])
40
- if @auth_source_ovirt.update_attributes(params[:foreman_ovirt_auth_source_ovirt])
41
- process_success
42
- else
43
- process_error
44
- end
45
- end
46
-
47
- def destroy
48
- @auth_source_ovirt = AuthSourceOvirt.find(params[:id])
49
- if @auth_source_ovirt.destroy
50
- process_success
51
- else
52
- process_error
53
- end
54
-
55
- end
56
- end
57
- end
@@ -1,10 +0,0 @@
1
- module ForemanOvirt
2
- class DashboardController < ::DashboardController
3
-
4
- layout 'layouts/application_ovirt'
5
-
6
- def index
7
- render :action => 'dashboard/index'
8
- end
9
- end
10
- end