wakame-vdc-webui 10.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL.txt +21 -0
- data/LICENSE +202 -0
- data/NOTICE +1 -0
- data/README +256 -0
- data/Rakefile +42 -0
- data/app/controllers/accounts_controller.rb +15 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/dialog_controller.rb +80 -0
- data/app/controllers/home_controller.rb +5 -0
- data/app/controllers/host_pools_controller.rb +26 -0
- data/app/controllers/images_controller.rb +28 -0
- data/app/controllers/information_controller.rb +10 -0
- data/app/controllers/instances_controller.rb +59 -0
- data/app/controllers/keypairs_controller.rb +64 -0
- data/app/controllers/security_groups_controller.rb +59 -0
- data/app/controllers/sessions_controller.rb +25 -0
- data/app/controllers/snapshots_controller.rb +48 -0
- data/app/controllers/storage_pools_controller.rb +27 -0
- data/app/controllers/users_controller.rb +3 -0
- data/app/controllers/volumes_controller.rb +86 -0
- data/app/helpers/accounts_helper.rb +2 -0
- data/app/helpers/application_helper.rb +23 -0
- data/app/helpers/dialog_helper.rb +2 -0
- data/app/helpers/home_helper.rb +2 -0
- data/app/helpers/host_pools_helper.rb +2 -0
- data/app/helpers/images_helper.rb +2 -0
- data/app/helpers/information_helper.rb +2 -0
- data/app/helpers/instances_helper.rb +2 -0
- data/app/helpers/keypairs_helper.rb +2 -0
- data/app/helpers/security_groups_helper.rb +2 -0
- data/app/helpers/sessions_helper.rb +2 -0
- data/app/helpers/snapshots_helper.rb +2 -0
- data/app/helpers/storage_pools_helper.rb +2 -0
- data/app/helpers/users_helper.rb +2 -0
- data/app/helpers/volumes_helper.rb +2 -0
- data/app/models/account.rb +104 -0
- data/app/models/authz.rb +102 -0
- data/app/models/base_new.rb +311 -0
- data/app/models/dcmgr_resource/account.rb +5 -0
- data/app/models/dcmgr_resource/base.rb +51 -0
- data/app/models/dcmgr_resource/host_pool.rb +11 -0
- data/app/models/dcmgr_resource/image.rb +11 -0
- data/app/models/dcmgr_resource/instance.rb +37 -0
- data/app/models/dcmgr_resource/mock.rb +15 -0
- data/app/models/dcmgr_resource/netfilter_group.rb +29 -0
- data/app/models/dcmgr_resource/ssh_key_pair.rb +25 -0
- data/app/models/dcmgr_resource/storage_pool.rb +11 -0
- data/app/models/dcmgr_resource/volume.rb +48 -0
- data/app/models/dcmgr_resource/volume_snapshot.rb +35 -0
- data/app/models/information.rb +9 -0
- data/app/models/schema.rb +51 -0
- data/app/models/tag.rb +121 -0
- data/app/models/tag_mapping.rb +25 -0
- data/app/models/user.rb +46 -0
- data/app/views/accounts/index.html.erb +68 -0
- data/app/views/dialog/attach_volume.html.erb +13 -0
- data/app/views/dialog/create_and_edit_security_group.html.erb +32 -0
- data/app/views/dialog/create_snapshot.html.erb +7 -0
- data/app/views/dialog/create_ssh_keypair.html.erb +15 -0
- data/app/views/dialog/create_volume.html.erb +18 -0
- data/app/views/dialog/create_volume_from_snapshot.html.erb +7 -0
- data/app/views/dialog/delete_security_group.html.erb +4 -0
- data/app/views/dialog/delete_snapshot.html.erb +7 -0
- data/app/views/dialog/delete_ssh_keypair.html.erb +4 -0
- data/app/views/dialog/delete_volume.html.erb +7 -0
- data/app/views/dialog/detach_volume.html.erb +7 -0
- data/app/views/dialog/launch_instance.html.erb +70 -0
- data/app/views/dialog/reboot_instances.html.erb +7 -0
- data/app/views/dialog/start_instances.html.erb +8 -0
- data/app/views/dialog/stop_instances.html.erb +7 -0
- data/app/views/dialog/terminate_instances.html.erb +7 -0
- data/app/views/home/index.html.erb +55 -0
- data/app/views/host_pools/index.html.erb +103 -0
- data/app/views/images/index.html.erb +126 -0
- data/app/views/information/index.html.erb +25 -0
- data/app/views/instances/index.html.erb +134 -0
- data/app/views/keypairs/index.html.erb +104 -0
- data/app/views/layouts/_footer.html.erb +4 -0
- data/app/views/layouts/_header.html.erb +14 -0
- data/app/views/layouts/_informationarea.html.erb +18 -0
- data/app/views/layouts/_login_header.erb +4 -0
- data/app/views/layouts/_service_health.erb +27 -0
- data/app/views/layouts/_sidemenu.html.erb +58 -0
- data/app/views/layouts/application.html.erb +34 -0
- data/app/views/layouts/login.html.erb +25 -0
- data/app/views/security_groups/index.html.erb +114 -0
- data/app/views/sessions/new.html.erb +27 -0
- data/app/views/snapshots/index.html.erb +110 -0
- data/app/views/storage_pools/index.html.erb +98 -0
- data/app/views/volumes/index.html.erb +117 -0
- data/config.ru +4 -0
- data/config/application.rb +48 -0
- data/config/boot.rb +13 -0
- data/config/database.yml +20 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +28 -0
- data/config/environments/production.rb +49 -0
- data/config/environments/test.rb +35 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/dcmgr_gui.rb +14 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +109 -0
- data/db/seeds.rb +7 -0
- data/extras/authentication.rb +94 -0
- data/extras/util.rb +5 -0
- data/lib/tasks/dcmgr_gui.rake +51 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +26 -0
- data/public/favicon.ico +0 -0
- data/public/images/app_active.gif +0 -0
- data/public/images/app_passive.gif +0 -0
- data/public/images/body_bg.gif +0 -0
- data/public/images/btn_change.gif +0 -0
- data/public/images/btn_create_security_group.gif +0 -0
- data/public/images/btn_create_snapshot.gif +0 -0
- data/public/images/btn_create_volume.gif +0 -0
- data/public/images/btn_createkey.gif +0 -0
- data/public/images/btn_de_register.gif +0 -0
- data/public/images/btn_delete_security_group.gif +0 -0
- data/public/images/btn_delete_snapshot.gif +0 -0
- data/public/images/btn_delete_volume.gif +0 -0
- data/public/images/btn_deletekey.gif +0 -0
- data/public/images/btn_healthdetail.gif +0 -0
- data/public/images/btn_hide.gif +0 -0
- data/public/images/btn_launch.gif +0 -0
- data/public/images/btn_next.gif +0 -0
- data/public/images/btn_prev.gif +0 -0
- data/public/images/btn_refresh.gif +0 -0
- data/public/images/btn_register_new_ami.gif +0 -0
- data/public/images/btn_savechange.gif +0 -0
- data/public/images/btn_show.gif +0 -0
- data/public/images/btn_show_accesskey.png +0 -0
- data/public/images/bup_btn_healthdetail.gif +0 -0
- data/public/images/bup_btn_refresh.gif +0 -0
- data/public/images/clear.gif +0 -0
- data/public/images/content_bg.png +0 -0
- data/public/images/content_foot_bg.gif +0 -0
- data/public/images/content_head_bg.gif +0 -0
- data/public/images/footer_bg.gif +0 -0
- data/public/images/head_gradation_bg.gif +0 -0
- data/public/images/header_logo.gif +0 -0
- data/public/images/icon_blockstore.gif +0 -0
- data/public/images/icon_caution.gif +0 -0
- data/public/images/icon_health.gif +0 -0
- data/public/images/icon_images.gif +0 -0
- data/public/images/icon_information.gif +0 -0
- data/public/images/icon_instances.gif +0 -0
- data/public/images/icon_resource.gif +0 -0
- data/public/images/icon_resource01.gif +0 -0
- data/public/images/icon_resource02.gif +0 -0
- data/public/images/icon_resource03.gif +0 -0
- data/public/images/icon_resource04.gif +0 -0
- data/public/images/icon_rss.gif +0 -0
- data/public/images/icon_security.gif +0 -0
- data/public/images/icon_service.gif +0 -0
- data/public/images/icon_service_stat.gif +0 -0
- data/public/images/icon_stop.gif +0 -0
- data/public/images/icon_summary.gif +0 -0
- data/public/images/icon_ttl_accskey.gif +0 -0
- data/public/images/icon_ttl_detail.gif +0 -0
- data/public/images/icon_ttl_instance.gif +0 -0
- data/public/images/icon_ttl_personal_inf.gif +0 -0
- data/public/images/infra_active.gif +0 -0
- data/public/images/infra_passive.gif +0 -0
- data/public/images/lastelement_bg.gif +0 -0
- data/public/images/lastelement_bg.png +0 -0
- data/public/images/listicon_useast.gif +0 -0
- data/public/images/loader_ball.gif +0 -0
- data/public/images/loader_boxes.gif +0 -0
- data/public/images/loading.gif +0 -0
- data/public/images/mainarea_bottom_bg.gif +0 -0
- data/public/images/mainarea_content_bg.gif +0 -0
- data/public/images/mainarea_h3_bg.gif +0 -0
- data/public/images/mainarea_wide_bottom_bg.gif +0 -0
- data/public/images/mainarea_wide_content_bg.gif +0 -0
- data/public/images/mainarea_wide_h3_bg.gif +0 -0
- data/public/images/menu_list_header.gif +0 -0
- data/public/images/menu_list_header_current.gif +0 -0
- data/public/images/plat_active.gif +0 -0
- data/public/images/plat_passive.gif +0 -0
- data/public/images/regionselect_bg.gif +0 -0
- data/public/images/select_bg_126.gif +0 -0
- data/public/images/select_bg_139.gif +0 -0
- data/public/images/sidemenu_bg.gif +0 -0
- data/public/images/sidemenu_bottom.gif +0 -0
- data/public/images/sidemenu_top.gif +0 -0
- data/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/public/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/public/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/public/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/public/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/public/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
- data/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/public/images/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
- data/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/public/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
- data/public/images/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
- data/public/images/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
- data/public/images/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
- data/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/public/images/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
- data/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/public/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
- data/public/images/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
- data/public/images/ui-icons_222222_256x240.png +0 -0
- data/public/images/ui-icons_228ef1_256x240.png +0 -0
- data/public/images/ui-icons_808080_256x240.png +0 -0
- data/public/images/ui-icons_847e71_256x240.png +0 -0
- data/public/images/ui-icons_8dc262_256x240.png +0 -0
- data/public/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/public/images/ui-icons_eeeeee_256x240.png +0 -0
- data/public/images/ui-icons_ef8c08_256x240.png +0 -0
- data/public/images/ui-icons_ffd27a_256x240.png +0 -0
- data/public/images/ui-icons_ffffff_256x240.png +0 -0
- data/public/images/vtip_arrow.png +0 -0
- data/public/javascripts/controls.js +965 -0
- data/public/javascripts/dcmgr_gui/application.js +91 -0
- data/public/javascripts/dcmgr_gui/core.js +539 -0
- data/public/javascripts/dcmgr_gui/dashboard_panel.js +34 -0
- data/public/javascripts/dcmgr_gui/host_pool_panel.js +83 -0
- data/public/javascripts/dcmgr_gui/image_panel.js +242 -0
- data/public/javascripts/dcmgr_gui/instance_panel.js +197 -0
- data/public/javascripts/dcmgr_gui/security_group_panel.js +196 -0
- data/public/javascripts/dcmgr_gui/snapshot_panel.js +168 -0
- data/public/javascripts/dcmgr_gui/sshkeypair_panel.js +161 -0
- data/public/javascripts/dcmgr_gui/storage_pool_panel.js +99 -0
- data/public/javascripts/dcmgr_gui/volume_panel.js +311 -0
- data/public/javascripts/dragdrop.js +974 -0
- data/public/javascripts/effects.js +1123 -0
- data/public/javascripts/jquery-1.4.2.min.js +154 -0
- data/public/javascripts/jquery-ui-1.8.4.custom.min.js +763 -0
- data/public/javascripts/jquery.loadmask.min.js +10 -0
- data/public/javascripts/jquery.tmpl.js +486 -0
- data/public/javascripts/jsdeferred.jquery.js +385 -0
- data/public/javascripts/prototype.js +6001 -0
- data/public/javascripts/rails.js +175 -0
- data/public/robots.txt +5 -0
- data/public/stylesheets/common.css +1236 -0
- data/public/stylesheets/dialog.css +67 -0
- data/public/stylesheets/jquery-ui-1.8.4.custom.css +572 -0
- data/public/stylesheets/jquery.loadmask.css +40 -0
- data/public/stylesheets/reset.css +71 -0
- data/public/stylesheets/style.css +7 -0
- data/public/stylesheets/vtip.css +28 -0
- data/script/rails +6 -0
- data/test/functional/accounts_controller_test.rb +8 -0
- data/test/functional/dialog_controller_test.rb +8 -0
- data/test/functional/home_controller_test.rb +8 -0
- data/test/functional/host_pools_controller_test.rb +8 -0
- data/test/functional/images_controller_test.rb +8 -0
- data/test/functional/information_controller_test.rb +8 -0
- data/test/functional/instances_controller_test.rb +8 -0
- data/test/functional/keypairs_controller_test.rb +8 -0
- data/test/functional/security_groups_controller_test.rb +8 -0
- data/test/functional/sessions_controller_test.rb +8 -0
- data/test/functional/snapshots_controller_test.rb +8 -0
- data/test/functional/storage_pools_controller_test.rb +8 -0
- data/test/functional/users_controller_test.rb +8 -0
- data/test/functional/volumes_controller_test.rb +8 -0
- data/test/performance/browsing_test.rb +9 -0
- data/test/test_helper.rb +13 -0
- data/test/unit/helpers/accounts_helper_test.rb +4 -0
- data/test/unit/helpers/dialog_helper_test.rb +4 -0
- data/test/unit/helpers/home_helper_test.rb +4 -0
- data/test/unit/helpers/host_pools_helper_test.rb +4 -0
- data/test/unit/helpers/images_helper_test.rb +4 -0
- data/test/unit/helpers/information_helper_test.rb +4 -0
- data/test/unit/helpers/instances_helper_test.rb +4 -0
- data/test/unit/helpers/keypairs_helper_test.rb +4 -0
- data/test/unit/helpers/security_groups_helper_test.rb +4 -0
- data/test/unit/helpers/sessions_helper_test.rb +4 -0
- data/test/unit/helpers/snapshots_helper_test.rb +4 -0
- data/test/unit/helpers/storage_pools_helper_test.rb +4 -0
- data/test/unit/helpers/users_helper_test.rb +4 -0
- data/test/unit/helpers/volumes_helper_test.rb +4 -0
- metadata +399 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
<% content_for :javascript do %>
|
2
|
+
<%= javascript_include_tag 'dcmgr_gui/storage_pool_panel.js' %>
|
3
|
+
<script type="text/javascript">
|
4
|
+
jQuery(function($){
|
5
|
+
dcmgrGUI.storagePoolPanel();
|
6
|
+
});
|
7
|
+
</script>
|
8
|
+
<% end %>
|
9
|
+
<div id="mainarea_wide">
|
10
|
+
<h3><img src="images/icon_resource.gif" />Storage Pools<a href="javascript:void(0);" class="showhide"></a></h3>
|
11
|
+
<div id="list_load_mask" class="maincontent">
|
12
|
+
<div class="controller clearfix">
|
13
|
+
<a href="javascript:void(0);" class="refresh" style="margin-left:589px">Refresh</a>
|
14
|
+
</div>
|
15
|
+
<div class="controller clearfix">
|
16
|
+
<div id="pagenate" class="r_float">
|
17
|
+
<a href="javascript:void(0);" class="prev"></a>
|
18
|
+
<p id="viewPagenate">Pools</p>
|
19
|
+
<a href="javascript:void(0);" class="next"></a>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div id="display_storage_pools" class="display_area">
|
23
|
+
<% content_for :javascript_template do %>
|
24
|
+
<script id="storagePoolsListTemplate" type="text/x-jquery-tmpl">
|
25
|
+
<table class="ptn01" frame="void" cellpadding="0" cellspacing="0" border="0">
|
26
|
+
<tr>
|
27
|
+
<th></th>
|
28
|
+
<th>StoragePool ID</th>
|
29
|
+
<th>Node ID</th>
|
30
|
+
<th>Disk Space</th>
|
31
|
+
<th>IP</th>
|
32
|
+
<th>State</th>
|
33
|
+
</tr>
|
34
|
+
{{each(index,item) rows}}
|
35
|
+
<tr>
|
36
|
+
{{if item.uuid }}
|
37
|
+
<td class="listcheckbox"><input type="checkbox" value="${item.uuid}" > </td>
|
38
|
+
{{else}}
|
39
|
+
<td class="listcheckbox"></td>
|
40
|
+
{{/if}}
|
41
|
+
<td class="vtip" title="uuid">${item.uuid}</td>
|
42
|
+
<td class="vtip" title="node_id">${item.node_id}</td>
|
43
|
+
<td class="vtip center" title="offerring_disk_space">${item.offerring_disk_space}</td>
|
44
|
+
<td class="vtip center" title="ipaddr">${item.ipaddr}</td>
|
45
|
+
<td class="vtip center state" title="status" style="width:50px">${item.status}</td>
|
46
|
+
</tr>
|
47
|
+
{{/each}}
|
48
|
+
</table>
|
49
|
+
</script>
|
50
|
+
<% end %>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
<div id="btm_maincontent_wide"></div>
|
54
|
+
<h3><img src="images/icon_ttl_detail.gif" />Details<a href="javascript:void(0);" class="showhide"></a></h3>
|
55
|
+
<div id="detail" class="maincontent">
|
56
|
+
<% content_for :javascript_template do %>
|
57
|
+
<script id="storagePoolsDetailTemplate" type="text/x-jquery-tmpl">
|
58
|
+
<div id="${item.uuid}" class="display_area">
|
59
|
+
<h4 class="ptn01">Storage Pool:<span class="uuid">${item.uuid}</span></h4>
|
60
|
+
<table class="ptn02" frame="void" cellpadding="0" cellspacing="0" border="0">
|
61
|
+
<tr>
|
62
|
+
<td class="padcell"></td>
|
63
|
+
<td class="title">Storage Pool ID:</td>
|
64
|
+
<td>${item.uuid}</td>
|
65
|
+
</tr>
|
66
|
+
<tr>
|
67
|
+
<td class="padcell"></td>
|
68
|
+
<td class="title">IP:</td>
|
69
|
+
<td>${item.ipaddr}</td>
|
70
|
+
<td class="padcell"></td>
|
71
|
+
<td class="title">Disk Space:</td>
|
72
|
+
<td>${item.offerring_disk_space}</td>
|
73
|
+
</tr>
|
74
|
+
<tr>
|
75
|
+
<td class="padcell"></td>
|
76
|
+
<td class="title">Node ID:</td>
|
77
|
+
<td>${item.node_id}</td>
|
78
|
+
<td class="padcell"></td>
|
79
|
+
<td class="title">Status:</td>
|
80
|
+
<td class="state">${item.status}</td>
|
81
|
+
</tr>
|
82
|
+
<tr>
|
83
|
+
<td class="padcell"></td>
|
84
|
+
<td class="title">Created At:</td>
|
85
|
+
<td colspan="7">${item.created_at}</td>
|
86
|
+
</tr>
|
87
|
+
<tr>
|
88
|
+
<td class="padcell"></td>
|
89
|
+
<td class="title">Update At:</td>
|
90
|
+
<td colspan="7">${item.updated_at}</td>
|
91
|
+
</tr>
|
92
|
+
</table>
|
93
|
+
</div>
|
94
|
+
</script>
|
95
|
+
<% end %>
|
96
|
+
</div><!-- maincontent -->
|
97
|
+
<div id="btm_maincontent_wide_last"></div>
|
98
|
+
</div><!-- mainarea_wide -->
|
@@ -0,0 +1,117 @@
|
|
1
|
+
<% content_for :javascript do %>
|
2
|
+
<%= javascript_include_tag 'dcmgr_gui/volume_panel.js' %>
|
3
|
+
<script type="text/javascript">
|
4
|
+
jQuery(function($){
|
5
|
+
dcmgrGUI.volumePanel();
|
6
|
+
});
|
7
|
+
</script>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<% content_for :stylesheet do %>
|
11
|
+
<style type="text/css">
|
12
|
+
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { text-align:center; float: none;}
|
13
|
+
.ui-dialog .ui-dialog-content {margin:5px;}
|
14
|
+
</style>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<div id="mainarea_wide">
|
18
|
+
<h3><img src="images/icon_resource.gif" />Volumes<a href="javascript:void(0);" class="showhide"></a></h3>
|
19
|
+
<div id="list_load_mask" class="maincontent">
|
20
|
+
<div class="controller clearfix">
|
21
|
+
<a href="javascript:void(0);" class="create_volume">Create Volume</a>
|
22
|
+
<div id="volumeaction">Volume Actions</div>
|
23
|
+
<ul id="volumelist">
|
24
|
+
<li><a href="javascript:void(0);">Volume Actions</a></li>
|
25
|
+
<li class="attach_volume"><a href="javascript:void(0);">Attach Volume</a></li>
|
26
|
+
<li class="detach_volume"><a href="javascript:void(0);">Detach Volume</a></li>
|
27
|
+
</ul>
|
28
|
+
<a href="javascript:void(0);" class="delete_volume" >Delete</a>
|
29
|
+
<a href="javascript:void(0);" class="create_snapshot">Create Snapshot</a>
|
30
|
+
<a href="javascript:void(0);" class="refresh" style="margin-left:85px">Refresh</a>
|
31
|
+
</div>
|
32
|
+
<div class="controller clearfix">
|
33
|
+
<!-- <div class="l_float">
|
34
|
+
<span class="text">Viewing:</span>
|
35
|
+
<select class="select">
|
36
|
+
<option>All Volumes</option>
|
37
|
+
</select>
|
38
|
+
<input type="text" class="search" />
|
39
|
+
</div> -->
|
40
|
+
<div id="pagenate" class="r_float">
|
41
|
+
<a href="javascript:void(0);" class="prev"></a>
|
42
|
+
<p id="viewPagenate">Volumes</p>
|
43
|
+
<a href="javascript:void(0);" class="next"></a>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<div id="display_volumes" class="display_area">
|
47
|
+
<% content_for :javascript_template do %>
|
48
|
+
<script id="volumesListTemplate" type="text/x-jquery-tmpl">
|
49
|
+
<table class="ptn01" frame="void" cellpadding="0" cellspacing="0" border="0">
|
50
|
+
<tr>
|
51
|
+
<th></th>
|
52
|
+
<th>Volume ID</th>
|
53
|
+
<th>Capacity</th>
|
54
|
+
<th>Snapshot</th>
|
55
|
+
<th>Created</th>
|
56
|
+
<th>Status</th>
|
57
|
+
</tr>
|
58
|
+
{{each(index,item) rows}}
|
59
|
+
<tr>
|
60
|
+
{{if item.uuid }}
|
61
|
+
<td class="listcheckbox"><input type="checkbox" value="${item.uuid}" > </td>
|
62
|
+
{{else}}
|
63
|
+
<td class="listcheckbox"></td>
|
64
|
+
{{/if}}
|
65
|
+
<td class="vtip" title="volume-id" style="width:80px">${item.uuid}</td>
|
66
|
+
<td class="vtip center volume_size" title="capacity" style="width:40px">${item.size}</td>
|
67
|
+
<td class="vtip center" title="snapshot">${item.snapshot_id}</td>
|
68
|
+
<td class="vtip" title="created">${item.created_at}</td>
|
69
|
+
<td class="state vtip center" title="status">${item.state}</td>
|
70
|
+
</tr>
|
71
|
+
{{/each}}
|
72
|
+
</table>
|
73
|
+
</script>
|
74
|
+
<% end %>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
<div id="btm_maincontent_wide"></div>
|
78
|
+
<h3><img src="images/icon_ttl_detail.gif" />Details<a href="javascript:void(0);" class="showhide"></a></h3>
|
79
|
+
<div id="detail" class="maincontent">
|
80
|
+
<% content_for :javascript_template do %>
|
81
|
+
<script id="volumesDetailTemplate" type="text/x-jquery-tmpl">
|
82
|
+
<div id="${item.uuid}" class="display_area">
|
83
|
+
<h4 class="ptn01">VolumeId:<span class="instansid">${item.uuid}</span></h4>
|
84
|
+
<table class="ptn02" frame="void" cellpadding="0" cellspacing="0" border="0">
|
85
|
+
<tr>
|
86
|
+
<td class="padcell"></td>
|
87
|
+
<td class="title">Volume ID:</td>
|
88
|
+
<td class="volume_size">${item.uuid}</td>
|
89
|
+
<td class="padcell"></td>
|
90
|
+
<td class="title">Capacity:</td>
|
91
|
+
<td>${item.size}</td>
|
92
|
+
</tr>
|
93
|
+
<tr>
|
94
|
+
<td class="padcell"></td>
|
95
|
+
<td class="title">Snapshot:</td>
|
96
|
+
<td>${item.snapshot_id}</td>
|
97
|
+
<td class="padcell"></td>
|
98
|
+
<td class="title">Status:</td>
|
99
|
+
<td class="state">${item.state}</td>
|
100
|
+
</tr>
|
101
|
+
<tr>
|
102
|
+
<td class="padcell"></td>
|
103
|
+
<td class="title">Created:</td>
|
104
|
+
<td colspan="7">${item.created_at}</td>
|
105
|
+
</tr>
|
106
|
+
<tr>
|
107
|
+
<td class="padcell"></td>
|
108
|
+
<td class="title">Updated:</td>
|
109
|
+
<td colspan="7">${item.updated_at}</td>
|
110
|
+
</tr>
|
111
|
+
</table>
|
112
|
+
</div>
|
113
|
+
</script>
|
114
|
+
<% end %>
|
115
|
+
</div><!-- maincontent -->
|
116
|
+
<div id="btm_maincontent_wide_last"></div>
|
117
|
+
</div><!-- mainarea_wide -->
|
data/config.ru
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
# require 'rails/all'
|
4
|
+
# require "active_record/railtie"
|
5
|
+
require "action_controller/railtie"
|
6
|
+
require "action_mailer/railtie"
|
7
|
+
require "active_resource/railtie"
|
8
|
+
require "rails/test_unit/railtie"
|
9
|
+
|
10
|
+
# If you have a Gemfile, require the gems listed there, including any gems
|
11
|
+
# you've limited to :test, :development, or :production.
|
12
|
+
Bundler.require(:default, Rails.env) if defined?(Bundler)
|
13
|
+
|
14
|
+
module DcmgrGui
|
15
|
+
class Application < Rails::Application
|
16
|
+
# Settings in config/environments/* take precedence over those specified here.
|
17
|
+
# Application configuration should go into files in config/initializers
|
18
|
+
# -- all .rb files in that directory are automatically loaded.
|
19
|
+
|
20
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
21
|
+
config.autoload_paths += %W(#{config.root}/extras)
|
22
|
+
|
23
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
24
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
25
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
26
|
+
|
27
|
+
# Activate observers that should always be running.
|
28
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
29
|
+
|
30
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
31
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
32
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
33
|
+
config.time_zone = 'Tokyo'
|
34
|
+
|
35
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
36
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
37
|
+
# config.i18n.default_locale = :de
|
38
|
+
|
39
|
+
# JavaScript files you want as :defaults (application.js is always included).
|
40
|
+
# config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
|
41
|
+
|
42
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
43
|
+
config.encoding = "utf-8"
|
44
|
+
|
45
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
46
|
+
config.filter_parameters += [:password]
|
47
|
+
end
|
48
|
+
end
|
data/config/boot.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
# Set up gems listed in the Gemfile.
|
4
|
+
gemfile = File.expand_path('../../Gemfile', __FILE__)
|
5
|
+
begin
|
6
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
7
|
+
require 'bundler'
|
8
|
+
Bundler.setup
|
9
|
+
rescue Bundler::GemNotFound => e
|
10
|
+
STDERR.puts e.message
|
11
|
+
STDERR.puts "Try running `bundle install`."
|
12
|
+
exit!
|
13
|
+
end if File.exist?(gemfile)
|
data/config/database.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
development:
|
2
|
+
adapter: mysql
|
3
|
+
database: wakame_dcmgr_gui
|
4
|
+
host: localhost
|
5
|
+
user: wakame_dcmgr_gui
|
6
|
+
password: passwd
|
7
|
+
|
8
|
+
test:
|
9
|
+
adapter: mysql
|
10
|
+
database: wakame_dcmgr_gui
|
11
|
+
host: localhost
|
12
|
+
user: wakame_dcmgr_gui
|
13
|
+
password: passwd
|
14
|
+
|
15
|
+
production:
|
16
|
+
adapter: mysql
|
17
|
+
database: wakame_dcmgr_gui
|
18
|
+
host: localhost
|
19
|
+
user: wakame_dcmgr_gui
|
20
|
+
password: passwd
|
@@ -0,0 +1,28 @@
|
|
1
|
+
DcmgrGui::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the webserver when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.action_view.debug_rjs = true
|
15
|
+
config.action_controller.perform_caching = false
|
16
|
+
|
17
|
+
# Don't care if the mailer can't send
|
18
|
+
config.action_mailer.raise_delivery_errors = false
|
19
|
+
|
20
|
+
# Print deprecation notices to the Rails logger
|
21
|
+
config.active_support.deprecation = :log
|
22
|
+
|
23
|
+
# Only use best-standards-support built into browsers
|
24
|
+
config.action_dispatch.best_standards_support = :builtin
|
25
|
+
end
|
26
|
+
|
27
|
+
require 'pp'
|
28
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
DcmgrGui::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# The production environment is meant for finished, "live" apps.
|
5
|
+
# Code is not reloaded between requests
|
6
|
+
config.cache_classes = true
|
7
|
+
|
8
|
+
# Full error reports are disabled and caching is turned on
|
9
|
+
config.consider_all_requests_local = false
|
10
|
+
config.action_controller.perform_caching = true
|
11
|
+
|
12
|
+
# Specifies the header that your server uses for sending files
|
13
|
+
config.action_dispatch.x_sendfile_header = "X-Sendfile"
|
14
|
+
|
15
|
+
# For nginx:
|
16
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
|
17
|
+
|
18
|
+
# If you have no front-end server that supports something like X-Sendfile,
|
19
|
+
# just comment this out and Rails will serve the files
|
20
|
+
|
21
|
+
# See everything in the log (default is :info)
|
22
|
+
# config.log_level = :debug
|
23
|
+
|
24
|
+
# Use a different logger for distributed setups
|
25
|
+
# config.logger = SyslogLogger.new
|
26
|
+
|
27
|
+
# Use a different cache store in production
|
28
|
+
# config.cache_store = :mem_cache_store
|
29
|
+
|
30
|
+
# Disable Rails's static asset server
|
31
|
+
# In production, Apache or nginx will already do this
|
32
|
+
config.serve_static_assets = false
|
33
|
+
|
34
|
+
# Enable serving of images, stylesheets, and javascripts from an asset server
|
35
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
36
|
+
|
37
|
+
# Disable delivery errors, bad email addresses will be ignored
|
38
|
+
# config.action_mailer.raise_delivery_errors = false
|
39
|
+
|
40
|
+
# Enable threaded mode
|
41
|
+
# config.threadsafe!
|
42
|
+
|
43
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
44
|
+
# the I18n.default_locale when a translation can not be found)
|
45
|
+
config.i18n.fallbacks = true
|
46
|
+
|
47
|
+
# Send deprecation notices to registered listeners
|
48
|
+
config.active_support.deprecation = :notify
|
49
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
DcmgrGui::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# The test environment is used exclusively to run your application's
|
5
|
+
# test suite. You never need to work with it otherwise. Remember that
|
6
|
+
# your test database is "scratch space" for the test suite and is wiped
|
7
|
+
# and recreated between test runs. Don't rely on the data there!
|
8
|
+
config.cache_classes = true
|
9
|
+
|
10
|
+
# Log error messages when you accidentally call methods on nil.
|
11
|
+
config.whiny_nils = true
|
12
|
+
|
13
|
+
# Show full error reports and disable caching
|
14
|
+
config.consider_all_requests_local = true
|
15
|
+
config.action_controller.perform_caching = false
|
16
|
+
|
17
|
+
# Raise exceptions instead of rendering exception templates
|
18
|
+
config.action_dispatch.show_exceptions = false
|
19
|
+
|
20
|
+
# Disable request forgery protection in test environment
|
21
|
+
config.action_controller.allow_forgery_protection = false
|
22
|
+
|
23
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
24
|
+
# The :test delivery method accumulates sent emails in the
|
25
|
+
# ActionMailer::Base.deliveries array.
|
26
|
+
config.action_mailer.delivery_method = :test
|
27
|
+
|
28
|
+
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
29
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
30
|
+
# like if you have constraints or database-specific column types
|
31
|
+
# config.active_record.schema_format = :sql
|
32
|
+
|
33
|
+
# Print deprecation notices to the stderr
|
34
|
+
config.active_support.deprecation = :stderr
|
35
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
+
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
|
+
|
6
|
+
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
+
# Rails.backtrace_cleaner.remove_silencers!
|
@@ -0,0 +1,14 @@
|
|
1
|
+
ActiveResource::Connection.class_eval do
|
2
|
+
class << self
|
3
|
+
def set_vdc_account_uuid(uuid)
|
4
|
+
class_variable_set(:@@vdc_account_uuid,uuid)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
ActiveResource::Base.class_eval do
|
10
|
+
self.site = 'http://your.dcmgr.api.server/'
|
11
|
+
end
|
12
|
+
|
13
|
+
@dcmgr_config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'database.yml'))).result)[Rails.env]
|
14
|
+
Schema.connect "#{@dcmgr_config['adapter']}://#{@dcmgr_config['host']}/#{@dcmgr_config['database']}?user=#{@dcmgr_config['user']}&password=#{@dcmgr_config['password']}"
|