foreman_datacenter 0.0.1
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.
- checksums.yaml +7 -0
- data/LICENSE +619 -0
- data/README.md +38 -0
- data/Rakefile +47 -0
- data/app/assets/javascripts/foreman_datacenter/ajax.js +18 -0
- data/app/assets/javascripts/foreman_datacenter/console_ports.js +2 -0
- data/app/assets/javascripts/foreman_datacenter/device_interface_connections.js +16 -0
- data/app/assets/javascripts/foreman_datacenter/devices.js +33 -0
- data/app/assets/javascripts/foreman_datacenter/racks.js +16 -0
- data/app/assets/javascripts/foreman_datacenter/shared.js +19 -0
- data/app/assets/stylesheets/foreman_datacenter/device_interface_connections.css +3 -0
- data/app/controllers/foreman_datacenter/console_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/console_ports_controller.rb +94 -0
- data/app/controllers/foreman_datacenter/console_server_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +78 -0
- data/app/controllers/foreman_datacenter/device_bay_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/device_bays_controller.rb +74 -0
- data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +65 -0
- data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +65 -0
- data/app/controllers/foreman_datacenter/device_modules_controller.rb +53 -0
- data/app/controllers/foreman_datacenter/device_roles_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/device_types_controller.rb +60 -0
- data/app/controllers/foreman_datacenter/devices_controller.rb +82 -0
- data/app/controllers/foreman_datacenter/interface_templates_controller.rb +52 -0
- data/app/controllers/foreman_datacenter/manufacturers_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/platforms_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/power_outlet_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/power_outlets_controller.rb +77 -0
- data/app/controllers/foreman_datacenter/power_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/power_ports_controller.rb +94 -0
- data/app/controllers/foreman_datacenter/rack_groups_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/racks_controller.rb +63 -0
- data/app/controllers/foreman_datacenter/sites_controller.rb +56 -0
- data/app/helpers/foreman_datacenter/console_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/console_server_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/device_bays_helper.rb +12 -0
- data/app/helpers/foreman_datacenter/device_interface_connections_helper.rb +10 -0
- data/app/helpers/foreman_datacenter/device_interfaces_helper.rb +4 -0
- data/app/helpers/foreman_datacenter/device_roles_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/device_types_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/devices_helper.rb +54 -0
- data/app/helpers/foreman_datacenter/interface_templates_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/platforms_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/power_outlets_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/power_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/racks_helper.rb +8 -0
- data/app/helpers/foreman_datacenter/shared_helper.rb +29 -0
- data/app/models/foreman_datacenter/console_port.rb +19 -0
- data/app/models/foreman_datacenter/console_port_template.rb +12 -0
- data/app/models/foreman_datacenter/console_server_port.rb +9 -0
- data/app/models/foreman_datacenter/console_server_port_template.rb +12 -0
- data/app/models/foreman_datacenter/device.rb +136 -0
- data/app/models/foreman_datacenter/device_bay.rb +15 -0
- data/app/models/foreman_datacenter/device_bay_template.rb +12 -0
- data/app/models/foreman_datacenter/device_interface.rb +36 -0
- data/app/models/foreman_datacenter/device_interface_connection.rb +43 -0
- data/app/models/foreman_datacenter/device_module.rb +10 -0
- data/app/models/foreman_datacenter/device_role.rb +14 -0
- data/app/models/foreman_datacenter/device_type.rb +43 -0
- data/app/models/foreman_datacenter/interface_template.rb +17 -0
- data/app/models/foreman_datacenter/manufacturer.rb +7 -0
- data/app/models/foreman_datacenter/platform.rb +16 -0
- data/app/models/foreman_datacenter/power_outlet.rb +9 -0
- data/app/models/foreman_datacenter/power_outlet_template.rb +12 -0
- data/app/models/foreman_datacenter/power_port.rb +19 -0
- data/app/models/foreman_datacenter/power_port_template.rb +12 -0
- data/app/models/foreman_datacenter/rack.rb +13 -0
- data/app/models/foreman_datacenter/rack_group.rb +9 -0
- data/app/models/foreman_datacenter/site.rb +22 -0
- data/app/views/foreman_datacenter/console_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/console_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/index.html.erb +29 -0
- data/app/views/foreman_datacenter/console_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/console_server_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_server_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/console_server_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_server_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/device_bay_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/device_bay_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/device_bays/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/populate_new.html.erb +21 -0
- data/app/views/foreman_datacenter/device_interface_connections/_form.html.erb +72 -0
- data/app/views/foreman_datacenter/device_interface_connections/_interfaces.html.erb +5 -0
- data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +32 -0
- data/app/views/foreman_datacenter/device_interface_connections/new.html.erb +7 -0
- data/app/views/foreman_datacenter/device_interfaces/_form.html.erb +22 -0
- data/app/views/foreman_datacenter/device_interfaces/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_interfaces/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_modules/_form.html.erb +17 -0
- data/app/views/foreman_datacenter/device_modules/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_modules/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/device_roles/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/index.html.erb +36 -0
- data/app/views/foreman_datacenter/device_roles/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/show.html.erb +56 -0
- data/app/views/foreman_datacenter/device_types/_form.html.erb +26 -0
- data/app/views/foreman_datacenter/device_types/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_types/index.html.erb +36 -0
- data/app/views/foreman_datacenter/device_types/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_types/show.html.erb +357 -0
- data/app/views/foreman_datacenter/devices/_console_port.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_console_server_port.html.erb +64 -0
- data/app/views/foreman_datacenter/devices/_device_bay.html.erb +46 -0
- data/app/views/foreman_datacenter/devices/_device_module.html.erb +16 -0
- data/app/views/foreman_datacenter/devices/_device_types.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/_for_rack.html.erb +9 -0
- data/app/views/foreman_datacenter/devices/_form.html.erb +80 -0
- data/app/views/foreman_datacenter/devices/_interface.html.erb +67 -0
- data/app/views/foreman_datacenter/devices/_management_interface.html.erb +67 -0
- data/app/views/foreman_datacenter/devices/_power_outlet.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_power_port.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_racks.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/edit.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/index.html.erb +51 -0
- data/app/views/foreman_datacenter/devices/inventory.html.erb +66 -0
- data/app/views/foreman_datacenter/devices/new.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/show.html.erb +303 -0
- data/app/views/foreman_datacenter/hosts/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_datacenter/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_datacenter/interface_templates/_form.html.erb +19 -0
- data/app/views/foreman_datacenter/interface_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/layouts/layouts/new_layout.html.erb +0 -0
- data/app/views/foreman_datacenter/layouts/new_layout.html.erb +0 -0
- data/app/views/foreman_datacenter/manufacturers/_form.html.erb +7 -0
- data/app/views/foreman_datacenter/manufacturers/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/manufacturers/index.html.erb +34 -0
- data/app/views/foreman_datacenter/manufacturers/new.html.erb +3 -0
- data/app/views/foreman_datacenter/manufacturers/show.html.erb +52 -0
- data/app/views/foreman_datacenter/platforms/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/platforms/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/platforms/index.html.erb +34 -0
- data/app/views/foreman_datacenter/platforms/new.html.erb +3 -0
- data/app/views/foreman_datacenter/platforms/show.html.erb +56 -0
- data/app/views/foreman_datacenter/power_outlet_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_outlet_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/power_outlets/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_outlets/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/power_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/power_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/index.html.erb +29 -0
- data/app/views/foreman_datacenter/power_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/rack_groups/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/rack_groups/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/rack_groups/index.html.erb +36 -0
- data/app/views/foreman_datacenter/rack_groups/new.html.erb +3 -0
- data/app/views/foreman_datacenter/rack_groups/show.html.erb +56 -0
- data/app/views/foreman_datacenter/racks/_form.html.erb +25 -0
- data/app/views/foreman_datacenter/racks/_rack_groups.html.erb +8 -0
- data/app/views/foreman_datacenter/racks/edit.html.erb +5 -0
- data/app/views/foreman_datacenter/racks/index.html.erb +50 -0
- data/app/views/foreman_datacenter/racks/new.html.erb +5 -0
- data/app/views/foreman_datacenter/racks/show.html.erb +67 -0
- data/app/views/foreman_datacenter/shared/_rack_device_select.html.erb +22 -0
- data/app/views/foreman_datacenter/sites/_form.html.erb +12 -0
- data/app/views/foreman_datacenter/sites/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/sites/index.html.erb +40 -0
- data/app/views/foreman_datacenter/sites/new.html.erb +3 -0
- data/app/views/foreman_datacenter/sites/show.html.erb +98 -0
- data/config/routes.rb +92 -0
- data/db/migrate/20160727161914_create_sites.rb +16 -0
- data/db/migrate/20160728123353_create_rack_groups.rb +12 -0
- data/db/migrate/20160728143149_create_racks.rb +16 -0
- data/db/migrate/20160728161636_create_platforms.rb +12 -0
- data/db/migrate/20160728162635_create_device_roles.rb +12 -0
- data/db/migrate/20160728163815_create_manufacturers.rb +12 -0
- data/db/migrate/20160728164858_create_device_types.rb +18 -0
- data/db/migrate/20160728171422_create_devices.rb +31 -0
- data/db/migrate/20160728194401_create_device_interfaces.rb +17 -0
- data/db/migrate/20160728195242_create_device_interface_connections.rb +18 -0
- data/db/migrate/20160804104103_create_interface_templates.rb +15 -0
- data/db/migrate/20160804142618_create_console_port_templates.rb +13 -0
- data/db/migrate/20160804164301_create_power_port_templates.rb +13 -0
- data/db/migrate/20160805080626_create_console_server_port_templates.rb +13 -0
- data/db/migrate/20160805084726_create_power_outlet_templates.rb +13 -0
- data/db/migrate/20160805100411_create_device_bay_templates.rb +13 -0
- data/db/migrate/20160809091611_create_device_bays.rb +16 -0
- data/db/migrate/20160809103211_create_power_outlets.rb +13 -0
- data/db/migrate/20160809104325_create_power_ports.rb +17 -0
- data/db/migrate/20160809112815_create_console_server_ports.rb +13 -0
- data/db/migrate/20160809113846_create_console_ports.rb +17 -0
- data/db/migrate/20160816224805_create_device_modules.rb +15 -0
- data/lib/foreman_datacenter.rb +4 -0
- data/lib/foreman_datacenter/engine.rb +70 -0
- data/lib/foreman_datacenter/version.rb +3 -0
- data/lib/tasks/foreman_datacenter_tasks.rake +45 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_datacenter.po +19 -0
- data/locale/foreman_datacenter.pot +19 -0
- data/locale/gemspec.rb +2 -0
- data/test/factories/foreman_datacenter_factories.rb +5 -0
- data/test/test_plugin_helper.rb +6 -0
- data/test/unit/foreman_datacenter_test.rb +11 -0
- metadata +310 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class InterfaceTemplatesController < ApplicationController
|
|
3
|
+
before_action :set_interface_template, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def new
|
|
6
|
+
@interface_template = InterfaceTemplate.new(
|
|
7
|
+
device_type: DeviceType.find(params[:device_type_id]),
|
|
8
|
+
form_factor: '10GE (SFP+)'
|
|
9
|
+
)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new_management
|
|
13
|
+
@interface_template = InterfaceTemplate.new(
|
|
14
|
+
device_type: DeviceType.find(params[:device_type_id]),
|
|
15
|
+
form_factor: '10GE (SFP+)',
|
|
16
|
+
mgmt_only: true
|
|
17
|
+
)
|
|
18
|
+
render :new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def create
|
|
22
|
+
@interface_template = InterfaceTemplate.new(interface_template_params)
|
|
23
|
+
|
|
24
|
+
if @interface_template.save
|
|
25
|
+
redirect_to device_type_url(@interface_template.device_type),
|
|
26
|
+
notice: 'New interface template was successfully created'
|
|
27
|
+
else
|
|
28
|
+
process_error object: @interface_template
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def destroy
|
|
33
|
+
if @interface_template.destroy
|
|
34
|
+
redirect_to device_type_url(@interface_template.device_type),
|
|
35
|
+
notice: 'Interface template was successfully destroyed'
|
|
36
|
+
else
|
|
37
|
+
process_error object: @interface_template
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def set_interface_template
|
|
44
|
+
@interface_template = InterfaceTemplate.find(params[:id])
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def interface_template_params
|
|
48
|
+
params[:interface_template].
|
|
49
|
+
permit(:device_type_id, :name, :form_factor, :mgmt_only)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class ManufacturersController < ApplicationController
|
|
3
|
+
before_action :set_manufacturer, only: [:show, :edit, :update, :destroy]
|
|
4
|
+
|
|
5
|
+
def index
|
|
6
|
+
@manufacturers = Manufacturer.all
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def show
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new
|
|
13
|
+
@manufacturer = Manufacturer.new
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def edit
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def create
|
|
20
|
+
@manufacturer = Manufacturer.new(manufacturer_params)
|
|
21
|
+
|
|
22
|
+
if @manufacturer.save
|
|
23
|
+
process_success object: @manufacturer
|
|
24
|
+
else
|
|
25
|
+
process_error object: @manufacturer
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def update
|
|
30
|
+
if @manufacturer.update(manufacturer_params)
|
|
31
|
+
process_success object: @manufacturer
|
|
32
|
+
else
|
|
33
|
+
process_error object: @manufacturer
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def destroy
|
|
38
|
+
if @manufacturer.destroy
|
|
39
|
+
process_success object: @manufacturer
|
|
40
|
+
else
|
|
41
|
+
process_error object: @manufacturer
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
private
|
|
46
|
+
|
|
47
|
+
def set_manufacturer
|
|
48
|
+
@manufacturer = Manufacturer.find(params[:id])
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def manufacturer_params
|
|
52
|
+
params[:manufacturer].permit(:name)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class PlatformsController < ApplicationController
|
|
3
|
+
before_action :set_platform, only: [:show, :edit, :update, :destroy]
|
|
4
|
+
|
|
5
|
+
def index
|
|
6
|
+
@platforms = Platform.includes(:devices).all
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def show
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new
|
|
13
|
+
@platform = Platform.new
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def edit
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def create
|
|
20
|
+
@platform = Platform.new(platform_params)
|
|
21
|
+
|
|
22
|
+
if @platform.save
|
|
23
|
+
process_success object: @platform
|
|
24
|
+
else
|
|
25
|
+
process_error object: @platform
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def update
|
|
30
|
+
if @platform.update(platform_params)
|
|
31
|
+
process_success object: @platform
|
|
32
|
+
else
|
|
33
|
+
process_error object: @platform
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def destroy
|
|
38
|
+
if @platform.destroy
|
|
39
|
+
process_success object: @platform
|
|
40
|
+
else
|
|
41
|
+
process_error object: @platform
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
private
|
|
46
|
+
|
|
47
|
+
def set_platform
|
|
48
|
+
@platform = Platform.find(params[:id])
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def platform_params
|
|
52
|
+
params[:platform].permit(:name, :rpc_client)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class PowerOutletTemplatesController < ApplicationController
|
|
3
|
+
before_action :set_power_outlet_template, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def new
|
|
6
|
+
@power_outlet_template = PowerOutletTemplate.new(
|
|
7
|
+
device_type: DeviceType.find(params[:device_type_id])
|
|
8
|
+
)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def create
|
|
12
|
+
@power_outlet_template = PowerOutletTemplate.new(power_outlet_template_params)
|
|
13
|
+
|
|
14
|
+
if @power_outlet_template.save
|
|
15
|
+
redirect_to device_type_url(@power_outlet_template.device_type),
|
|
16
|
+
notice: 'New power outlet template was successfully created'
|
|
17
|
+
else
|
|
18
|
+
process_error object: @power_outlet_template
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def destroy
|
|
23
|
+
if @power_outlet_template.destroy
|
|
24
|
+
redirect_to device_type_url(@power_outlet_template.device_type),
|
|
25
|
+
notice: 'Power outlet template was successfully destroyed'
|
|
26
|
+
else
|
|
27
|
+
process_error object: @power_outlet_template
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def set_power_outlet_template
|
|
34
|
+
@power_outlet_template = PowerOutletTemplate.find(params[:id])
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def power_outlet_template_params
|
|
38
|
+
params[:power_outlet_template].permit(:device_type_id, :name)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class PowerOutletsController < ApplicationController
|
|
3
|
+
before_action :set_power_outlet, only: [:edit, :update, :destroy, :new_connection,
|
|
4
|
+
:connect, :disconnect]
|
|
5
|
+
|
|
6
|
+
def new
|
|
7
|
+
device = Device.find(params[:device_id])
|
|
8
|
+
@power_outlet = PowerOutlet.new(device: device)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def edit
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def create
|
|
15
|
+
@power_outlet = PowerOutlet.new(power_outlet_params)
|
|
16
|
+
|
|
17
|
+
if @power_outlet.save
|
|
18
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
|
19
|
+
notice: 'Power outlet was successfully created.'
|
|
20
|
+
else
|
|
21
|
+
process_error object: @power_outlet
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def update
|
|
26
|
+
if @power_outlet.update(power_outlet_params)
|
|
27
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
|
28
|
+
notice: 'Power outlet was successfully updated.'
|
|
29
|
+
else
|
|
30
|
+
process_error object: @power_outlet
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def destroy
|
|
35
|
+
if @power_outlet.destroy
|
|
36
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
|
37
|
+
notice: 'Power outlet was successfully destroyed.'
|
|
38
|
+
else
|
|
39
|
+
process_error object: @power_outlet
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def new_connection
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def connect
|
|
47
|
+
power_port = PowerPort.find(params[:power_port][:id])
|
|
48
|
+
power_port.connect(
|
|
49
|
+
@power_outlet,
|
|
50
|
+
params[:power_port][:connection_status]
|
|
51
|
+
)
|
|
52
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
|
53
|
+
notice: 'Power outlet was successfully connected.'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def disconnect
|
|
57
|
+
@power_outlet.power_port.disconnect
|
|
58
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
|
59
|
+
notice: 'Power outlet was successfully disconnected.'
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def for_device
|
|
63
|
+
@device = Device.find(params[:device_id])
|
|
64
|
+
render partial: 'for_device'
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
private
|
|
68
|
+
|
|
69
|
+
def set_power_outlet
|
|
70
|
+
@power_outlet = PowerOutlet.find(params[:id])
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def power_outlet_params
|
|
74
|
+
params[:power_outlet].permit(:device_id, :name)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class PowerPortTemplatesController < ApplicationController
|
|
3
|
+
before_action :set_power_port_template, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def new
|
|
6
|
+
@power_port_template = PowerPortTemplate.new(
|
|
7
|
+
device_type: DeviceType.find(params[:device_type_id]),
|
|
8
|
+
)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def create
|
|
12
|
+
@power_port_template = PowerPortTemplate.new(power_port_template_params)
|
|
13
|
+
|
|
14
|
+
if @power_port_template.save
|
|
15
|
+
redirect_to device_type_url(@power_port_template.device_type),
|
|
16
|
+
notice: 'New power port template was successfully created'
|
|
17
|
+
else
|
|
18
|
+
process_error object: @power_port_template
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def destroy
|
|
23
|
+
if @power_port_template.destroy
|
|
24
|
+
redirect_to device_type_url(@power_port_template.device_type),
|
|
25
|
+
notice: 'Power port template was successfully destroyed'
|
|
26
|
+
else
|
|
27
|
+
process_error object: @power_port_template
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def set_power_port_template
|
|
34
|
+
@power_port_template = PowerPortTemplate.find(params[:id])
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def power_port_template_params
|
|
38
|
+
params[:power_port_template].permit(:device_type_id, :name)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class PowerPortsController < ApplicationController
|
|
3
|
+
before_action :set_power_port, only: [:edit, :update, :destroy, :connected,
|
|
4
|
+
:planned, :new_connection, :connect,
|
|
5
|
+
:disconnect]
|
|
6
|
+
|
|
7
|
+
def index
|
|
8
|
+
@power_ports = PowerPort.where.not(power_outlet_id: nil).
|
|
9
|
+
includes(:device, power_outlet: [:device])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new
|
|
13
|
+
@power_port = PowerPort.new(
|
|
14
|
+
device: Device.find(params[:device_id])
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def edit
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def create
|
|
22
|
+
@power_port = PowerPort.new(power_port_params)
|
|
23
|
+
|
|
24
|
+
if @power_port.save
|
|
25
|
+
redirect_to device_url(id: @power_port.device_id),
|
|
26
|
+
notice: 'Power port was successfully created.'
|
|
27
|
+
else
|
|
28
|
+
process_error object: @power_port
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def update
|
|
33
|
+
if @power_port.update(power_port_params)
|
|
34
|
+
redirect_to device_url(id: @power_port.device_id),
|
|
35
|
+
notice: 'Power port was successfully updated.'
|
|
36
|
+
else
|
|
37
|
+
process_error object: @power_port
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def destroy
|
|
42
|
+
if @power_port.destroy
|
|
43
|
+
redirect_to device_url(id: @power_port.device_id),
|
|
44
|
+
notice: 'Power port was successfully destroyed.'
|
|
45
|
+
else
|
|
46
|
+
process_error object: @power_port
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def connected
|
|
51
|
+
@power_port.connected!
|
|
52
|
+
head :ok
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def planned
|
|
56
|
+
@power_port.planned!
|
|
57
|
+
head :ok
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def for_device
|
|
61
|
+
@device = Device.find(params[:device_id])
|
|
62
|
+
render partial: 'for_device'
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def new_connection
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def connect
|
|
69
|
+
power_outlet = PowerOutlet.find(params[:power_outlet][:id])
|
|
70
|
+
@power_port.connect(
|
|
71
|
+
power_outlet,
|
|
72
|
+
params[:power_port][:connection_status]
|
|
73
|
+
)
|
|
74
|
+
redirect_to device_url(id: @power_port.device_id),
|
|
75
|
+
notice: 'Power port was successfully connected.'
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def disconnect
|
|
79
|
+
@power_port.disconnect
|
|
80
|
+
redirect_to device_url(id: @power_port.device_id),
|
|
81
|
+
notice: 'Power port was successfully disconnected.'
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
private
|
|
85
|
+
|
|
86
|
+
def set_power_port
|
|
87
|
+
@power_port = PowerPort.find(params[:id])
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def power_port_params
|
|
91
|
+
params[:power_port].permit(:device_id, :name)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class RackGroupsController < ApplicationController
|
|
3
|
+
before_action :set_rack_group, only: [:show, :edit, :update, :destroy]
|
|
4
|
+
|
|
5
|
+
def index
|
|
6
|
+
@rack_groups = RackGroup.includes(:site, :racks).all
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def show
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new
|
|
13
|
+
@rack_group = RackGroup.new
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def edit
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def create
|
|
20
|
+
@rack_group = RackGroup.new(rack_group_params)
|
|
21
|
+
|
|
22
|
+
if @rack_group.save
|
|
23
|
+
process_success object: @rack_group
|
|
24
|
+
else
|
|
25
|
+
process_error object: @rack_group
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def update
|
|
30
|
+
if @rack_group.update(rack_group_params)
|
|
31
|
+
process_success object: @rack_group
|
|
32
|
+
else
|
|
33
|
+
process_error object: @rack_group
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def destroy
|
|
38
|
+
if @rack_group.destroy
|
|
39
|
+
process_success object: @rack_group
|
|
40
|
+
else
|
|
41
|
+
process_error object: @rack_group
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
private
|
|
46
|
+
|
|
47
|
+
def set_rack_group
|
|
48
|
+
@rack_group = RackGroup.find(params[:id])
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def rack_group_params
|
|
52
|
+
params[:rack_group].permit(:name, :site_id)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|