Move 'clear checks' button to applicatoin settings
This commit is contained in:
		
							parent
							
								
									97f4ffff1e
								
							
						
					
					
						commit
						ea787165b3
					
				|  | @ -19,6 +19,19 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController | |||
|     redirect_to admin_runners_path | ||||
|   end | ||||
| 
 | ||||
|   def clear_repository_check_states | ||||
|     Project.update_all( | ||||
|       last_repository_check_failed: false, | ||||
|       last_repository_check_at: nil | ||||
|     ) | ||||
| 
 | ||||
|     redirect_to( | ||||
|       admin_application_settings_path, | ||||
|       notice: 'All repository check states were cleared' | ||||
|     ) | ||||
|   end | ||||
| 
 | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def set_application_setting | ||||
|  | @ -82,6 +95,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController | |||
|       :akismet_enabled, | ||||
|       :akismet_api_key, | ||||
|       :email_author_in_body, | ||||
|       :repository_checks_enabled, | ||||
|       restricted_visibility_levels: [], | ||||
|       import_sources: [] | ||||
|     ) | ||||
|  |  | |||
|  | @ -40,18 +40,6 @@ class Admin::ProjectsController < Admin::ApplicationController | |||
|     ) | ||||
|   end | ||||
| 
 | ||||
|   def clear_repository_check_states | ||||
|     Project.update_all( | ||||
|       last_repository_check_failed: false, | ||||
|       last_repository_check_at: nil | ||||
|     ) | ||||
| 
 | ||||
|     redirect_to( | ||||
|       admin_namespaces_projects_path, | ||||
|       notice: 'All project states were cleared' | ||||
|     ) | ||||
|   end | ||||
| 
 | ||||
|   protected | ||||
| 
 | ||||
|   def project | ||||
|  |  | |||
|  | @ -287,6 +287,12 @@ | |||
|             GitLab will periodically run  | ||||
|             %a{ href: 'https://www.kernel.org/pub/software/scm/git/docs/git-fsck.html', target: 'blank' } 'git fsck' | ||||
|             in all project and wiki repositories to look for silent disk corruption issues. | ||||
|     .form-group | ||||
|       .col-sm-offset-2.col-sm-10 | ||||
|         = link_to 'Clear all repository checks', clear_repository_check_states_admin_application_settings_path, data: { confirm: 'This will clear repository check states for ALL projects in the database. This cannot be undone. Are you sure?' }, method: :put, class: "btn btn-sm btn-remove" | ||||
|         .help-block | ||||
|           If you got a lot of false alarms from repository checks (maybe your fileserver was temporarily unavailable) you can choose to clear all repository check information from the database. | ||||
|   | ||||
| 
 | ||||
|   .form-actions | ||||
|     = f.submit 'Save', class: 'btn btn-save' | ||||
|  |  | |||
|  | @ -49,11 +49,6 @@ | |||
|         = button_tag "Search", class: "btn submit btn-primary" | ||||
|         = link_to "Reset", admin_namespaces_projects_path, class: "btn btn-cancel" | ||||
| 
 | ||||
|     .panel.panel-default.repository-check-states | ||||
|       .panel-heading | ||||
|         Repository check states | ||||
|       .panel-body | ||||
|         = link_to 'Clear all', clear_repository_check_states_admin_namespace_projects_path(0), data: { confirm: 'This will clear repository check states for ALL projects in the database. This cannot be undone. Are you sure?' }, method: :put, class: "btn btn-sm btn-remove" | ||||
|   %section.col-md-9 | ||||
|     .panel.panel-default | ||||
|       .panel-heading | ||||
|  |  | |||
|  | @ -267,10 +267,6 @@ Rails.application.routes.draw do | |||
|           post :repository_check | ||||
|         end | ||||
| 
 | ||||
|         collection do | ||||
|           put :clear_repository_check_states | ||||
|         end | ||||
| 
 | ||||
|         resources :runner_projects | ||||
|       end | ||||
|     end | ||||
|  | @ -286,6 +282,7 @@ Rails.application.routes.draw do | |||
|     resource :application_settings, only: [:show, :update] do | ||||
|       resources :services | ||||
|       put :reset_runners_token | ||||
|       put :clear_repository_check_states | ||||
|     end | ||||
| 
 | ||||
|     resources :labels | ||||
|  |  | |||
|  | @ -4,12 +4,13 @@ _**Note:** This feature was [introduced][ce-3232] in GitLab 8.7_ | |||
| 
 | ||||
| --- | ||||
| 
 | ||||
| Git has a built-in mechanism [git fsck][git-fsck] to verify the | ||||
| integrity of all data commited to a repository. GitLab administrators can | ||||
| trigger such a check for a project via the admin panel. The checks run | ||||
| asynchronously so it may take a few minutes before the check result is | ||||
| visible on the project admin page. If the checks failed you can see their | ||||
| output on the admin log page under 'repocheck.log'. | ||||
| Git has a built-in mechanism \[git fsck\]\[git-fsck\] to verify the | ||||
| integrity of all data commited to a repository. GitLab administrators | ||||
| can trigger such a check for a project via the project page under the | ||||
| admin panel. The checks run asynchronously so it may take a few minutes | ||||
| before the check result is visible on the project admin page. If the | ||||
| checks failed you can see their output on the admin log page under | ||||
| 'repocheck.log'. | ||||
| 
 | ||||
| ## Periodical checks | ||||
| 
 | ||||
|  | @ -22,20 +23,8 @@ than once a day. | |||
| 
 | ||||
| ## Disabling periodic checks | ||||
| 
 | ||||
| You can disable the periodic checks by giving them an empty cron | ||||
| schedule in gitlab.yml. | ||||
| 
 | ||||
| ``` | ||||
| # For omnibus installations, in /etc/gitlab/gitlab.rb: | ||||
| gitlab_rails['cron_jobs_repository_check_worker_cron'] = '' | ||||
| ``` | ||||
| 
 | ||||
| ``` | ||||
| # For installations from source, in config/gitlab.yml: | ||||
|   cron_jobs: | ||||
|     repository_check_worker: | ||||
|       cron: "" | ||||
| ``` | ||||
| You can disable the periodic checks on the 'Settings' page of the admin | ||||
| panel. | ||||
| 
 | ||||
| ## What to do if a check failed | ||||
| 
 | ||||
|  | @ -47,8 +36,8 @@ resolved the issue use the admin panel to trigger a new repository check on | |||
| the project. This will clear the 'check failed' state. | ||||
| 
 | ||||
| If for some reason the periodical repository check caused a lot of false | ||||
| alarms you can choose to clear ALL repository check states from the admin | ||||
| project index page. | ||||
| alarms you can choose to clear ALL repository check states from the | ||||
| 'Settings' page of the admin panel. | ||||
| 
 | ||||
| --- | ||||
| [ce-3232]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3232 "Auto git fsck" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue