foreman_datacenter 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/config/routes.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
Foreman::Application.routes.draw do
|
2
|
+
scope 'datacenter', module: :foreman_datacenter do
|
3
|
+
resources :sites
|
4
|
+
resources :racks do
|
5
|
+
get :rack_groups, on: :collection
|
6
|
+
end
|
7
|
+
resources :rack_groups
|
8
|
+
resources :platforms
|
9
|
+
resources :device_roles
|
10
|
+
resources :manufacturers
|
11
|
+
resources :device_types do
|
12
|
+
resources :interface_templates, only: [:new, :create, :destroy],
|
13
|
+
path: 'interfaces' do
|
14
|
+
get :new_management, on: :collection
|
15
|
+
end
|
16
|
+
resources :console_port_templates, only: [:new, :create, :destroy],
|
17
|
+
path: 'console_ports'
|
18
|
+
resources :power_port_templates, only: [:new, :create, :destroy],
|
19
|
+
path: 'power_ports'
|
20
|
+
resources :console_server_port_templates, only: [:new, :create, :destroy],
|
21
|
+
path: 'console_server_ports'
|
22
|
+
resources :power_outlet_templates, only: [:new, :create, :destroy],
|
23
|
+
path: 'power_outlets'
|
24
|
+
resources :device_bay_templates, only: [:new, :create, :destroy],
|
25
|
+
path: 'device_bays'
|
26
|
+
end
|
27
|
+
resources :devices do
|
28
|
+
collection do
|
29
|
+
get :device_types, :racks, :for_rack
|
30
|
+
end
|
31
|
+
member do
|
32
|
+
get :inventory
|
33
|
+
end
|
34
|
+
resources :device_bays, except: [:show, :index], shallow: true do
|
35
|
+
member do
|
36
|
+
get :populate_new
|
37
|
+
patch :populate
|
38
|
+
delete :depopulate
|
39
|
+
end
|
40
|
+
end
|
41
|
+
resources :device_interfaces, except: [:show, :index], shallow: true do
|
42
|
+
get :new_management, on: :collection
|
43
|
+
resources :device_interface_connections, except: [:show, :edit, :update, :index],
|
44
|
+
shallow: true do
|
45
|
+
member do
|
46
|
+
patch :planned, :connected
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
resources :console_server_ports, except: [:show, :index], shallow: true do
|
51
|
+
member do
|
52
|
+
get :new_connection
|
53
|
+
patch :connect, :disconnect
|
54
|
+
end
|
55
|
+
end
|
56
|
+
resources :console_ports, except: [:show, :index], shallow: true do
|
57
|
+
member do
|
58
|
+
get :new_connection
|
59
|
+
patch :connect, :disconnect, :connected, :planned
|
60
|
+
end
|
61
|
+
end
|
62
|
+
resources :power_outlets, except: [:show, :index], shallow: true do
|
63
|
+
member do
|
64
|
+
get :new_connection
|
65
|
+
patch :connect, :disconnect
|
66
|
+
end
|
67
|
+
end
|
68
|
+
resources :power_ports, except: [:show, :index], shallow: true do
|
69
|
+
member do
|
70
|
+
get :new_connection
|
71
|
+
patch :connected, :planned, :connect, :disconnect
|
72
|
+
end
|
73
|
+
end
|
74
|
+
resources :device_modules, except: [:show, :index], shallow: true
|
75
|
+
end
|
76
|
+
resources :device_interface_connections, only: [:index], path: 'connections' do
|
77
|
+
get :interfaces, on: :collection
|
78
|
+
end
|
79
|
+
resources :console_ports, only: [:index] do
|
80
|
+
get :for_device, on: :collection
|
81
|
+
end
|
82
|
+
resources :power_ports, only: [:index] do
|
83
|
+
get :for_device, on: :collection
|
84
|
+
end
|
85
|
+
resources :console_server_ports, only: [] do
|
86
|
+
get :for_device, on: :collection
|
87
|
+
end
|
88
|
+
resources :power_outlets, only: [] do
|
89
|
+
get :for_device, on: :collection
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateSites < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :sites do |t|
|
4
|
+
t.string :name, limit: 50
|
5
|
+
t.string :facility, limit: 50, default: ''
|
6
|
+
t.integer :asn, length: 4, null: true
|
7
|
+
t.string :physical_address, length: 200, default: ''
|
8
|
+
t.string :shipping_address, length: 200, default: ''
|
9
|
+
t.text :comments
|
10
|
+
|
11
|
+
t.timestamps null: false
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :sites, :name, unique: true
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateRacks < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :racks do |t|
|
4
|
+
t.integer :site_id
|
5
|
+
t.integer :rack_group_id, null: true
|
6
|
+
t.string :name, limit: 50
|
7
|
+
t.string :facility_id, limit: 30, null: true
|
8
|
+
t.integer :height, limit: 2
|
9
|
+
t.text :comments
|
10
|
+
|
11
|
+
t.timestamps null: false
|
12
|
+
end
|
13
|
+
|
14
|
+
add_foreign_key :racks, :sites, column: :site_id
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreatePlatforms < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :platforms do |t|
|
4
|
+
t.string :name, limit: 50, null: false
|
5
|
+
t.string :rpc_client, limit: 30, default: ''
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_index :platforms, :name, unique: true
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateDeviceRoles < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_roles do |t|
|
4
|
+
t.string :name, limit: 50, null: false
|
5
|
+
t.string :color, limit: 30, null: false
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_index :device_roles, :name, unique: true
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateDeviceTypes < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_types do |t|
|
4
|
+
t.integer :manufacturer_id
|
5
|
+
t.string :model, limit: 50, null: false
|
6
|
+
t.integer :u_height, limit: 2, default: 1
|
7
|
+
t.boolean :is_full_depth, default: true
|
8
|
+
t.boolean :is_console_server, default: false
|
9
|
+
t.boolean :is_pdu, default: false
|
10
|
+
t.boolean :is_network_device, default: true
|
11
|
+
t.string :subdevice_role, limit: 10, default: 'None'
|
12
|
+
|
13
|
+
t.timestamps null: false
|
14
|
+
end
|
15
|
+
|
16
|
+
add_foreign_key :device_types, :manufacturers, column: :manufacturer_id
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class CreateDevices < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :devices do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.integer :device_role_id
|
6
|
+
t.integer :platform_id
|
7
|
+
t.string :name, limit: 50, null: false
|
8
|
+
t.string :serial, limit: 50, default: ''
|
9
|
+
t.integer :rack_id
|
10
|
+
t.integer :position, limit: 2, null: true
|
11
|
+
t.integer :face, null: true
|
12
|
+
t.integer :status, default: 0
|
13
|
+
t.string :primary_ip4, default: ''
|
14
|
+
t.string :primary_ip6, default: ''
|
15
|
+
t.text :comments
|
16
|
+
|
17
|
+
t.timestamps null: false
|
18
|
+
end
|
19
|
+
|
20
|
+
add_foreign_key :devices, :device_types, column: :device_type_id,
|
21
|
+
on_delete: :restrict
|
22
|
+
add_foreign_key :devices, :device_roles, column: :device_role_id,
|
23
|
+
on_delete: :restrict
|
24
|
+
add_foreign_key :devices, :platforms, column: :platform_id,
|
25
|
+
on_delete: :nullify
|
26
|
+
add_foreign_key :devices, :racks, column: :rack_id,
|
27
|
+
on_delete: :restrict
|
28
|
+
|
29
|
+
add_index :devices, :name, unique: true
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateDeviceInterfaces < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_interfaces do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
t.string :form_factor
|
7
|
+
t.string :mac_address, limit: 128, default: ''
|
8
|
+
t.boolean :mgmt_only, default: false
|
9
|
+
t.string :description, limit: 100
|
10
|
+
|
11
|
+
t.timestamps null: false
|
12
|
+
end
|
13
|
+
|
14
|
+
add_foreign_key :device_interfaces, :devices, column: :device_id,
|
15
|
+
on_delete: :cascade
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateDeviceInterfaceConnections < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_interface_connections do |t|
|
4
|
+
t.integer :interface_a
|
5
|
+
t.integer :interface_b
|
6
|
+
t.integer :connection_status, default: 0
|
7
|
+
|
8
|
+
t.timestamps null: false
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :device_interface_connections, [:interface_a, :interface_b],
|
12
|
+
unique: true, name: 'uniq_connection'
|
13
|
+
add_foreign_key :device_interface_connections, :device_interfaces,
|
14
|
+
column: :interface_a, on_delete: :cascade
|
15
|
+
add_foreign_key :device_interface_connections, :device_interfaces,
|
16
|
+
column: :interface_b, on_delete: :cascade
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateInterfaceTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :interface_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
t.string :form_factor, default: '10GE (SFP+)'
|
7
|
+
t.boolean :mgmt_only, default: false
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
|
12
|
+
add_foreign_key :interface_templates, :device_types,
|
13
|
+
column: :device_type_id, on_delete: :cascade
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateConsolePortTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :console_port_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :console_port_templates, :device_types,
|
11
|
+
column: :device_type_id, on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreatePowerPortTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :power_port_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :power_port_templates, :device_types,
|
11
|
+
column: :device_type_id, on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateConsoleServerPortTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :console_server_port_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :console_server_port_templates, :device_types,
|
11
|
+
column: :device_type_id, on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreatePowerOutletTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :power_outlet_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :power_outlet_templates, :device_types,
|
11
|
+
column: :device_type_id, on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateDeviceBayTemplates < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_bay_templates do |t|
|
4
|
+
t.integer :device_type_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :device_bay_templates, :device_types,
|
11
|
+
column: :device_type_id, on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateDeviceBays < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :device_bays do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 50
|
6
|
+
t.integer :installed_device_id, null: true
|
7
|
+
|
8
|
+
t.timestamps null: false
|
9
|
+
end
|
10
|
+
|
11
|
+
add_foreign_key :device_bays, :devices, column: :device_id,
|
12
|
+
on_delete: :cascade
|
13
|
+
add_foreign_key :device_bays, :devices, column: :installed_device_id,
|
14
|
+
on_delete: :nullify
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreatePowerOutlets < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :power_outlets do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :power_outlets, :devices, column: :device_id,
|
11
|
+
on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreatePowerPorts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :power_ports do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
t.integer :power_outlet_id, null: true
|
7
|
+
t.integer :connection_status, default: 0
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
|
12
|
+
add_foreign_key :power_ports, :devices, column: :device_id,
|
13
|
+
on_delete: :cascade
|
14
|
+
add_foreign_key :power_ports, :power_outlets, column: :power_outlet_id,
|
15
|
+
on_delete: :nullify
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateConsoleServerPorts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :console_server_ports do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key :console_server_ports, :devices, column: :device_id,
|
11
|
+
on_delete: :cascade
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateConsolePorts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :console_ports do |t|
|
4
|
+
t.integer :device_id
|
5
|
+
t.string :name, limit: 30
|
6
|
+
t.integer :console_server_port_id, null: true
|
7
|
+
t.integer :connection_status, default: 0
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
|
12
|
+
add_foreign_key :console_ports, :devices, column: :device_id,
|
13
|
+
on_delete: :cascade
|
14
|
+
add_foreign_key :console_ports, :console_server_ports,
|
15
|
+
column: :console_server_port_id, on_delete: :nullify
|
16
|
+
end
|
17
|
+
end
|