foreman_content 0.2 → 0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -1
- data/app/controllers/content/api/repositories_controller.rb +3 -5
- data/app/controllers/content/content_views_controller.rb +48 -0
- data/app/controllers/content/products_controller.rb +1 -1
- data/app/controllers/content/repositories_controller.rb +9 -6
- data/app/helpers/content/content_views_helper.rb +21 -0
- data/app/helpers/content/products_helper.rb +9 -0
- data/app/helpers/content/repositories_helper.rb +3 -49
- data/app/models/concerns/content/environment_extensions.rb +2 -2
- data/app/models/concerns/content/home_helper.rb +1 -0
- data/app/models/concerns/content/host_extensions.rb +17 -1
- data/app/models/concerns/content/hostgroup_extensions.rb +14 -0
- data/app/models/concerns/content/operatingsystem_extensions.rb +6 -5
- data/app/models/concerns/content/orchestration/pulp/clone.rb +77 -0
- data/app/models/concerns/content/orchestration/pulp/sync.rb +70 -0
- data/app/models/concerns/content/orchestration/pulp.rb +25 -0
- data/app/models/content/available_content_view.rb +12 -0
- data/app/models/content/content_view.rb +66 -0
- data/app/models/content/content_view_host.rb +9 -0
- data/app/models/content/content_view_repository_clone.rb +5 -0
- data/app/models/content/host_product.rb +0 -11
- data/app/models/content/hostgroup_product.rb +0 -11
- data/app/models/content/operatingsystem_repository.rb +0 -11
- data/app/models/content/product.rb +6 -5
- data/app/models/content/repository/operating_system.rb +14 -0
- data/app/models/content/repository/product.rb +21 -0
- data/app/models/content/repository.rb +28 -39
- data/app/models/content/repository_clone.rb +29 -0
- data/app/models/content/validators/content_validator.rb +0 -12
- data/app/models/content/validators/description_format.rb +0 -12
- data/app/models/content/validators/no_trailing_space.rb +0 -12
- data/app/models/setting/content.rb +0 -18
- data/app/overrides/{add_host_conent_tab.rb → add_host_content_tab.rb} +2 -2
- data/app/overrides/{add_hostgroup_conent_tab.rb → add_hostgroup_content_tab.rb} +1 -1
- data/app/services/content/content_view_factory.rb +41 -0
- data/app/services/content/{pulp_configuration.rb → pulp/configuration.rb} +1 -1
- data/app/services/content/pulp/event_handler.rb +61 -0
- data/app/services/content/pulp/repository.rb +200 -0
- data/app/services/content/pulp/repository_clone.rb +24 -0
- data/app/services/content/pulp/repository_sync_history.rb +35 -0
- data/app/services/content/pulp/repository_sync_status.rb +30 -0
- data/app/views/content/content_views/_form.html.erb +49 -0
- data/app/views/content/content_views/_form_tab.html.erb +3 -0
- data/app/views/content/content_views/_host_tab_pane.html.erb +5 -0
- data/app/views/content/content_views/_step1.html.erb +18 -0
- data/app/views/content/content_views/_step2.html.erb +16 -0
- data/app/views/content/content_views/edit.html.erb +5 -0
- data/app/views/content/content_views/index.html.erb +27 -0
- data/app/views/content/content_views/new.html.erb +11 -0
- data/app/views/content/products/_form.html.erb +2 -13
- data/app/views/content/products/_form_tab.html.erb +3 -3
- data/app/views/content/products/_hostgroup_tab_pane.html.erb +2 -2
- data/app/views/content/products/index.html.erb +6 -1
- data/app/views/content/repositories/_os_form.html.erb +22 -0
- data/app/views/content/repositories/{_form.html.erb → _product_form.html.erb} +4 -6
- data/app/views/content/repositories/edit.html.erb +5 -2
- data/app/views/content/repositories/index.html.erb +12 -9
- data/app/views/content/repositories/new.html.erb +5 -2
- data/app/views/content/repositories/show.html.erb +9 -16
- data/config/environment.rb +0 -0
- data/config/routes.rb +6 -0
- data/db/migrate/20130702140034_create_content_repositories.rb +6 -2
- data/db/migrate/20130722084911_create_content_operatingsystem_repositories.rb +1 -1
- data/db/migrate/20130807121629_create_content_content_views.rb +15 -0
- data/db/migrate/20130807123220_create_content_available_content_views.rb +11 -0
- data/db/migrate/20130812154754_create_content_content_view_hosts.rb +9 -0
- data/db/migrate/20130813110455_create_content_repository_clones.rb +17 -0
- data/db/migrate/20130825145431_create_content_content_view_repository_clones.rb +12 -0
- data/lib/content/engine.rb +2 -0
- data/lib/content/version.rb +1 -1
- data/test/fixtures/content/repository_clones.yml +21 -0
- data/test/unit/content/repository_clone_test.rb +7 -0
- metadata +44 -17
- data/app/models/concerns/content/custom_repository_paths.rb +0 -29
- data/app/models/content/environment_product.rb +0 -19
- data/app/models/content/orchestration/pulp.rb +0 -93
- data/app/models/content/product_operatingsystem.rb +0 -19
- data/app/models/content/remote/pulp/repository.rb +0 -48
- data/app/overrides/add_os_conent_tab.rb +0 -9
- data/app/services/content/pulp_event_handler.rb +0 -25
- data/app/views/content/products/_host_tab_pane.html.erb +0 -5
- data/app/views/content/products/_operatingsystem_tab_pane.html.erb +0 -5
- data/db/migrate/20130717032320_create_content_environments_products.rb +0 -9
- data/db/migrate/20130729032320_create_content_product_operatingsystems.rb +0 -9
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_content
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Dolguikh
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-08-
|
13
|
+
date: 2013-08-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -80,11 +80,13 @@ extra_rdoc_files:
|
|
80
80
|
- README.md
|
81
81
|
files:
|
82
82
|
- app/models/setting/content.rb
|
83
|
-
- app/models/content/
|
83
|
+
- app/models/content/content_view_repository_clone.rb
|
84
|
+
- app/models/content/repository_clone.rb
|
84
85
|
- app/models/content/host_product.rb
|
85
|
-
- app/models/content/
|
86
|
+
- app/models/content/repository/operating_system.rb
|
87
|
+
- app/models/content/repository/product.rb
|
88
|
+
- app/models/content/content_view_host.rb
|
86
89
|
- app/models/content/gpg_key.rb
|
87
|
-
- app/models/content/orchestration/pulp.rb
|
88
90
|
- app/models/content/hostgroup_product.rb
|
89
91
|
- app/models/content/operatingsystem_repository.rb
|
90
92
|
- app/models/content/validators/no_trailing_space.rb
|
@@ -92,21 +94,29 @@ files:
|
|
92
94
|
- app/models/content/validators/content_validator.rb
|
93
95
|
- app/models/content/validators/description_format.rb
|
94
96
|
- app/models/content/repository.rb
|
97
|
+
- app/models/content/content_view.rb
|
98
|
+
- app/models/content/available_content_view.rb
|
95
99
|
- app/models/content/product.rb
|
96
|
-
- app/models/content/environment_product.rb
|
97
100
|
- app/models/concerns/content/taxonomy_extensions.rb
|
98
101
|
- app/models/concerns/content/hostgroup_extensions.rb
|
99
102
|
- app/models/concerns/content/environment_extensions.rb
|
100
103
|
- app/models/concerns/content/operatingsystem_extensions.rb
|
101
|
-
- app/models/concerns/content/
|
104
|
+
- app/models/concerns/content/orchestration/pulp/clone.rb
|
105
|
+
- app/models/concerns/content/orchestration/pulp/sync.rb
|
106
|
+
- app/models/concerns/content/orchestration/pulp.rb
|
102
107
|
- app/models/concerns/content/home_helper.rb
|
103
108
|
- app/models/concerns/content/host_extensions.rb
|
104
109
|
- app/models/concerns/content/redhat_extensions.rb
|
105
|
-
- app/services/content/
|
106
|
-
- app/services/content/
|
107
|
-
- app/
|
108
|
-
- app/
|
109
|
-
- app/
|
110
|
+
- app/services/content/content_view_factory.rb
|
111
|
+
- app/services/content/pulp/repository_sync_history.rb
|
112
|
+
- app/services/content/pulp/repository_clone.rb
|
113
|
+
- app/services/content/pulp/configuration.rb
|
114
|
+
- app/services/content/pulp/event_handler.rb
|
115
|
+
- app/services/content/pulp/repository_sync_status.rb
|
116
|
+
- app/services/content/pulp/repository.rb
|
117
|
+
- app/overrides/add_host_content_tab.rb
|
118
|
+
- app/overrides/add_hostgroup_content_tab.rb
|
119
|
+
- app/controllers/content/content_views_controller.rb
|
110
120
|
- app/controllers/content/api/repositories_controller.rb
|
111
121
|
- app/controllers/content/repositories_controller.rb
|
112
122
|
- app/controllers/content/products_controller.rb
|
@@ -115,34 +125,47 @@ files:
|
|
115
125
|
- app/views/content/gpg_keys/new.html.erb
|
116
126
|
- app/views/content/gpg_keys/index.html.erb
|
117
127
|
- app/views/content/gpg_keys/edit.html.erb
|
118
|
-
- app/views/content/repositories/_form.html.erb
|
119
128
|
- app/views/content/repositories/new.html.erb
|
120
129
|
- app/views/content/repositories/show.html.erb
|
130
|
+
- app/views/content/repositories/_product_form.html.erb
|
131
|
+
- app/views/content/repositories/_os_form.html.erb
|
121
132
|
- app/views/content/repositories/index.html.erb
|
122
133
|
- app/views/content/repositories/welcome.html.erb
|
123
134
|
- app/views/content/repositories/edit.html.erb
|
135
|
+
- app/views/content/content_views/_form.html.erb
|
136
|
+
- app/views/content/content_views/new.html.erb
|
137
|
+
- app/views/content/content_views/_step1.html.erb
|
138
|
+
- app/views/content/content_views/_form_tab.html.erb
|
139
|
+
- app/views/content/content_views/_step2.html.erb
|
140
|
+
- app/views/content/content_views/index.html.erb
|
141
|
+
- app/views/content/content_views/_host_tab_pane.html.erb
|
142
|
+
- app/views/content/content_views/edit.html.erb
|
124
143
|
- app/views/content/products/_form.html.erb
|
125
144
|
- app/views/content/products/new.html.erb
|
126
|
-
- app/views/content/products/_operatingsystem_tab_pane.html.erb
|
127
145
|
- app/views/content/products/_form_tab.html.erb
|
128
146
|
- app/views/content/products/_hostgroup_tab_pane.html.erb
|
129
147
|
- app/views/content/products/index.html.erb
|
130
|
-
- app/views/content/products/_host_tab_pane.html.erb
|
131
148
|
- app/views/content/products/welcome.html.erb
|
132
149
|
- app/views/content/products/edit.html.erb
|
150
|
+
- app/helpers/content/products_helper.rb
|
151
|
+
- app/helpers/content/content_views_helper.rb
|
133
152
|
- app/helpers/content/repositories_helper.rb
|
134
153
|
- app/helpers/content/application_helper.rb
|
135
154
|
- app/assets/javascripts/content/content.js
|
136
155
|
- app/assets/stylesheets/content/application.css
|
156
|
+
- config/environment.rb
|
137
157
|
- config/routes.rb
|
158
|
+
- db/migrate/20130807121629_create_content_content_views.rb
|
138
159
|
- db/migrate/20130702162629_create_content_products.rb
|
139
160
|
- db/migrate/20130709001120_create_content_gpg_keys.rb
|
140
161
|
- db/migrate/20130722084911_create_content_operatingsystem_repositories.rb
|
141
|
-
- db/migrate/20130717032320_create_content_environments_products.rb
|
142
162
|
- db/migrate/20130723124911_create_content_host_products.rb
|
143
|
-
- db/migrate/20130729032320_create_content_product_operatingsystems.rb
|
144
163
|
- db/migrate/20130702140034_create_content_repositories.rb
|
164
|
+
- db/migrate/20130807123220_create_content_available_content_views.rb
|
165
|
+
- db/migrate/20130813110455_create_content_repository_clones.rb
|
145
166
|
- db/migrate/20130723084911_create_content_hostgroup_products.rb
|
167
|
+
- db/migrate/20130812154754_create_content_content_view_hosts.rb
|
168
|
+
- db/migrate/20130825145431_create_content_content_view_repository_clones.rb
|
146
169
|
- lib/content/engine.rb
|
147
170
|
- lib/content/version.rb
|
148
171
|
- lib/foreman_content.rb
|
@@ -151,10 +174,12 @@ files:
|
|
151
174
|
- README.md
|
152
175
|
- test/unit/content/description_format_validator_test.rb
|
153
176
|
- test/unit/content/repositories_test.rb
|
177
|
+
- test/unit/content/repository_clone_test.rb
|
154
178
|
- test/unit/content/product_validation_test.rb
|
155
179
|
- test/unit/content/name_format_validator_test.rb
|
156
180
|
- test/test_helper.rb
|
157
181
|
- test/fixtures/content/products.yml
|
182
|
+
- test/fixtures/content/repository_clones.yml
|
158
183
|
- test/fixtures/content/repositories.yml
|
159
184
|
- test/content_test.rb
|
160
185
|
- test/integration/navigation_test.rb
|
@@ -185,10 +210,12 @@ summary: Add Foreman support for content management.
|
|
185
210
|
test_files:
|
186
211
|
- test/unit/content/description_format_validator_test.rb
|
187
212
|
- test/unit/content/repositories_test.rb
|
213
|
+
- test/unit/content/repository_clone_test.rb
|
188
214
|
- test/unit/content/product_validation_test.rb
|
189
215
|
- test/unit/content/name_format_validator_test.rb
|
190
216
|
- test/test_helper.rb
|
191
217
|
- test/fixtures/content/products.yml
|
218
|
+
- test/fixtures/content/repository_clones.yml
|
192
219
|
- test/fixtures/content/repositories.yml
|
193
220
|
- test/content_test.rb
|
194
221
|
- test/integration/navigation_test.rb
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Content
|
2
|
-
module CustomRepositoryPaths
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
def repo_path_from_content_path(environment, content_path)
|
6
|
-
content_path = content_path.sub(/^\//, "")
|
7
|
-
path_prefix = [environment.organization.label, environment.label].join("/")
|
8
|
-
"#{path_prefix}/#{content_path}"
|
9
|
-
end
|
10
|
-
|
11
|
-
# repo path for custom product repos (RH repo paths are derived from
|
12
|
-
# content url)
|
13
|
-
def custom_repo_path(org_label, environment_label, product_label, repo_label)
|
14
|
-
prefix = [org_label, environment_label].map { |x| x.gsub(/[^-\w]/, "_") }.join("/")
|
15
|
-
prefix + custom_content_path(product_label, repo_label)
|
16
|
-
end
|
17
|
-
|
18
|
-
def custom_content_path(product_label, repo_label)
|
19
|
-
parts = []
|
20
|
-
# We generate repo path only for custom product content. We add this
|
21
|
-
# constant string to avoid collisions with RH content. RH content url
|
22
|
-
# begins usually with something like "/content/dist/rhel/...".
|
23
|
-
# There we prefix custom content/repo url with "/custom/..."
|
24
|
-
parts << "custom"
|
25
|
-
parts += [product_label, repo_label]
|
26
|
-
"/" + parts.map { |x| x.gsub(/[^-\w]/, "_") }.join("/")
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2013 Red Hat, Inc.
|
3
|
-
#
|
4
|
-
# This software is licensed to you under the GNU General Public
|
5
|
-
# License as published by the Free Software Foundation; either version
|
6
|
-
# 2 of the License (GPLv2) or (at your option) any later version.
|
7
|
-
# There is NO WARRANTY for this software, express or implied,
|
8
|
-
# including the implied warranties of MERCHANTABILITY,
|
9
|
-
# NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
10
|
-
# have received a copy of GPLv2 along with this software; if not, see
|
11
|
-
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
12
|
-
module Content
|
13
|
-
class EnvironmentProduct < ActiveRecord::Base
|
14
|
-
belongs_to :product
|
15
|
-
belongs_to :environment
|
16
|
-
validates_presence_of :product_id, :environment_id
|
17
|
-
validates_uniqueness_of :product_id, :scope => :environment_id
|
18
|
-
end
|
19
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
module Content::Orchestration::Pulp
|
2
|
-
extend ActiveSupport::Concern
|
3
|
-
|
4
|
-
included do
|
5
|
-
after_validation :queue_pulp
|
6
|
-
before_destroy :queue_pulp_destroy unless Rails.env == "test"
|
7
|
-
end
|
8
|
-
|
9
|
-
def orchestration_errors?
|
10
|
-
errors.empty?
|
11
|
-
end
|
12
|
-
|
13
|
-
protected
|
14
|
-
|
15
|
-
def queue_pulp
|
16
|
-
return unless pulp? and errors.empty?
|
17
|
-
new_record? ? queue_pulp_create : queue_pulp_update
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def queue_pulp_create
|
23
|
-
logger.debug "Scheduling new Pulp Repository"
|
24
|
-
queue.create(:name => _("Create Pulp Repository for %s") % self, :priority => 10,
|
25
|
-
:action => [self, :set_pulp_repo])
|
26
|
-
queue.create(:name => _("Sync Pulp Repository %s") % self, :priority => 20,
|
27
|
-
:action => [self, :set_sync_pulp_repo])
|
28
|
-
end
|
29
|
-
|
30
|
-
def queue_pulp_update
|
31
|
-
end
|
32
|
-
|
33
|
-
def set_pulp_repo
|
34
|
-
Runcible::Extensions::Repository.create_with_importer_and_distributors(pulp_id,
|
35
|
-
pulp_importer,
|
36
|
-
[pulp_distributor],
|
37
|
-
{ :display_name => relative_path,
|
38
|
-
:description => description })
|
39
|
-
rescue RestClient::BadRequest => e
|
40
|
-
raise (JSON.parse e.response)['error_message']
|
41
|
-
end
|
42
|
-
|
43
|
-
def del_pulp_repo
|
44
|
-
delete
|
45
|
-
end
|
46
|
-
|
47
|
-
def set_sync_pulp_repo
|
48
|
-
sync
|
49
|
-
end
|
50
|
-
|
51
|
-
def del_sync_pulp_repo
|
52
|
-
status = sync_status
|
53
|
-
return if status.blank? || status == ::PulpSyncStatus::Status::NOT_SYNCED
|
54
|
-
Runcible::Resources::Task.cancel(status.uuid)
|
55
|
-
end
|
56
|
-
|
57
|
-
def pulp_importer
|
58
|
-
options = {
|
59
|
-
:feed_url => feed
|
60
|
-
}
|
61
|
-
|
62
|
-
case content_type
|
63
|
-
when Content::Repository::YUM_TYPE, Content::Repository::KICKSTART_TYPE
|
64
|
-
Runcible::Extensions::YumImporter.new(options)
|
65
|
-
when Content::Repository::FILE_TYPE
|
66
|
-
Runcible::Extensions::IsoImporter.new(options)
|
67
|
-
else
|
68
|
-
raise "Unexpected repo type %s" % content_type
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def pulp_distributor
|
73
|
-
case content_type
|
74
|
-
when Content::Repository::YUM_TYPE, Content::Repository::KICKSTART_TYPE
|
75
|
-
Runcible::Extensions::YumDistributor.new(relative_path, unprotected, true,
|
76
|
-
{ :protected => true, :id => pulp_id,
|
77
|
-
:auto_publish => true })
|
78
|
-
when Content::Repository::FILE_TYPE
|
79
|
-
dist = Runcible::Extensions::IsoDistributor.new(true, true)
|
80
|
-
dist.auto_publish = true
|
81
|
-
dist
|
82
|
-
else
|
83
|
-
raise "Unexpected repo type %s" % content_type
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def queue_pulp_destroy
|
88
|
-
return unless pulp? and errors.empty?
|
89
|
-
logger.debug _("Scheduling removal of Pulp Repository %s") % name
|
90
|
-
queue.create(:name => _("Delete Pulp repository for %s") % name, :priority => 50,
|
91
|
-
:action => [self, :del_pulp_repo])
|
92
|
-
end
|
93
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright 2013 Red Hat, Inc.
|
3
|
-
#
|
4
|
-
# This software is licensed to you under the GNU General Public
|
5
|
-
# License as published by the Free Software Foundation; either version
|
6
|
-
# 2 of the License (GPLv2) or (at your option) any later version.
|
7
|
-
# There is NO WARRANTY for this software, express or implied,
|
8
|
-
# including the implied warranties of MERCHANTABILITY,
|
9
|
-
# NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
10
|
-
# have received a copy of GPLv2 along with this software; if not, see
|
11
|
-
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
12
|
-
module Content
|
13
|
-
class ProductOperatingsystem < ActiveRecord::Base
|
14
|
-
belongs_to :product
|
15
|
-
belongs_to :operatingsystem
|
16
|
-
validates_presence_of :product_id, :operatingsystem_id
|
17
|
-
validates_uniqueness_of :product_id, :scope => :operatingsystem_id
|
18
|
-
end
|
19
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
module Content
|
2
|
-
module Remote
|
3
|
-
module Pulp
|
4
|
-
module Repository
|
5
|
-
extend ActiveSupport::Concern
|
6
|
-
|
7
|
-
included do
|
8
|
-
after_initialize :initialize_pulp
|
9
|
-
end
|
10
|
-
|
11
|
-
def pulp?
|
12
|
-
@use_pulp ||= Setting.use_pulp and enabled?
|
13
|
-
end
|
14
|
-
|
15
|
-
def sync
|
16
|
-
Runcible::Resources::Repository.sync(pulp_id)
|
17
|
-
end
|
18
|
-
|
19
|
-
def retrieve_with_details
|
20
|
-
return unless pulp? && pulp_id
|
21
|
-
Runcible::Resources::Repository.retrieve(pulp_id, {:details => true})
|
22
|
-
end
|
23
|
-
|
24
|
-
def sync_status
|
25
|
-
return unless pulp? && pulp_id
|
26
|
-
Runcible::Extensions::Repository.sync_status(pulp_id)
|
27
|
-
end
|
28
|
-
|
29
|
-
def sync_history
|
30
|
-
return unless pulp? && pulp_id
|
31
|
-
Runcible::Extensions::Repository.sync_history(pulp_id)
|
32
|
-
end
|
33
|
-
|
34
|
-
def delete
|
35
|
-
Runcible::Resources::Repository.delete(pulp_id)
|
36
|
-
end
|
37
|
-
|
38
|
-
protected
|
39
|
-
def initialize_pulp
|
40
|
-
# initiate pulp connection
|
41
|
-
Content::PulpConfiguration.new
|
42
|
-
self.pulp_id ||= Foreman.uuid.gsub("-", '')
|
43
|
-
self.relative_path ||= custom_repo_path("acme_org", "library", product.name, name) if name
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
Deface::Override.new(:virtual_path => "operatingsystems/_form",
|
2
|
-
:name => "add_content_tab",
|
3
|
-
:insert_after => 'ul.nav > li a#params-tab',
|
4
|
-
:partial => 'content/products/form_tab')
|
5
|
-
|
6
|
-
Deface::Override.new(:virtual_path => "operatingsystems/_form",
|
7
|
-
:name => "add_content_tab_pane",
|
8
|
-
:insert_after => 'div.tab-pane#params',
|
9
|
-
:partial => 'content/products/operatingsystem_tab_pane')
|
@@ -1,25 +0,0 @@
|
|
1
|
-
class Content::PulpEventHandler
|
2
|
-
attr_reader :type, :status
|
3
|
-
delegate :name, :to => :repo
|
4
|
-
delegate :logger, :to => :Rails
|
5
|
-
|
6
|
-
def initialize(pulp_id, params)
|
7
|
-
@repo = Content::Repository.where(:pulp_id => pulp_id).first
|
8
|
-
@params = params
|
9
|
-
@type, @status = parse_type
|
10
|
-
log
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
attr_reader :repo, :params
|
15
|
-
|
16
|
-
def log
|
17
|
-
logger.info "Repository #{name} #{type} #{status}"
|
18
|
-
end
|
19
|
-
|
20
|
-
def parse_type
|
21
|
-
# converts repo.sync.start to ['sync','start']
|
22
|
-
params['event_type'].gsub(/^repo\./, '').split('.')
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
class CreateContentEnvironmentsProducts < ActiveRecord::Migration
|
2
|
-
def change
|
3
|
-
create_table :content_environment_products do |t|
|
4
|
-
t.references :environment, :null =>false
|
5
|
-
t.references :product, :null =>false
|
6
|
-
end
|
7
|
-
add_index(:content_environment_products, [:environment_id, :product_id],:name=>'environment_products_index', :unique=>true)
|
8
|
-
end
|
9
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
class CreateContentProductOperatingsystems < ActiveRecord::Migration
|
2
|
-
def change
|
3
|
-
create_table :content_product_operatingsystems do |t|
|
4
|
-
t.references :operatingsystem, :null =>false
|
5
|
-
t.references :product, :null =>false
|
6
|
-
end
|
7
|
-
add_index(:content_product_operatingsystems, [:operatingsystem_id, :product_id],:name=>'product_operatingsystems_index', :unique=>true)
|
8
|
-
end
|
9
|
-
end
|