Commit Graph
3539 Commits
Author SHA1 Message Date
Tomasz Maczukin 8eed187677 Merge branch 'master' into ci/api-triggers
* master: (32 commits)
  Fix specs and rubocop warnings
  fixed LDAP activation on login to use new ldap_blocked state
  Fix Admin/Users view to position buttons without spacing magic
  Update to Go 1.5.3
  Fix the undefinded variable error in Project's safe_import_url method
  Fix misaligned edit button in milestone collection partial
  Update button styles for Milestones#show
  Ensure the API doesn't return notes that the current user shouldn't see
  Add spec for Note#cross_reference_not_visible_for?
  Remove (invalid) timestamp formatting
  Move `BroadcastMessage#status` to a helper since it's presentational
  Update CHANGELOG
  Broadcast Messages can now be edited
  Update Broadcast Message features
  Update BroadcastMessage model
  Update broadcast_message helper
  Simplify BroadcastMessage factory
  Simplify broadcast message JS
  Remove alert_type attribute from BroadcastMessage
  Move broadcast message form to a partial
  ...
2016-01-14 12:24:20 +01:00
Rémy Coutable 3183092ca9 Add pagination headers to already paginated API resources 2016-01-14 12:10:27 +01:00
Douwe Maan 0014f19327 Merge branch 'master' into ci/api-variables 2016-01-14 12:04:28 +01:00
Douwe Maan 4d64a32c88 Merge branch 'feature/ldap-sync-edgecases' into 'master'
LDAP Sync blocked user edgecases

Allow GitLab admins to block otherwise valid GitLab LDAP users
(https://gitlab.com/gitlab-org/gitlab-ce/issues/3462)

Based on the discussion on the original issue, we are going to differentiate "normal" block operations to the ldap automatic ones in order to make some decisions when its one or the other.

Expected behavior:

- [x] "ldap_blocked" users respond to both `blocked?` and `ldap_blocked?`
- [x] "ldap_blocked" users can't be unblocked by the Admin UI
- [x] "ldap_blocked" users can't be unblocked by the API
- [x] Block operations that are originated from LDAP synchronization will flag user as "ldap_blocked"
- [x] Only "ldap_blocked" users will be automatically unblocked by LDAP synchronization
- [x] When LDAP identity is removed, we should convert `ldap_blocked` into `blocked`
 
Mockup for the Admin UI with both "ldap_blocked" and normal "blocked" users:
![image](/uploads/4f56fc17b73cb2c9e2a154a22e7ad291/image.png)

There will be another MR for the EE version.

See merge request !2242
2016-01-14 11:00:08 +00:00
Douwe Maan 2a20c0e590 Prevent circular reference error in Banzai 2016-01-14 11:30:28 +01:00
Tomasz Maczukin 57a67c4fdb Merge branch '8-4-stable' into ci/api-triggers
* 8-4-stable: (280 commits)
  Add Changelog entry for build traces data integrity fix
  Update doc_styleguide.md [ci skip]
  Added hint that you can search users by name, username, or email.
  Add changelog
  Version 8.4.0.rc1
  Randomize metrics sample intervals
  Make the metrics sampler interval configurable
  Don't automatically require awesome_print
  Disable colorization if STDOUT is not a tty
  Block the reported user before destroying the record
  changes `$quote-gray` to `$secondary-text`
  makes message plural for multiple MRs and removes from loop. Duh.
  Prepare Installation and Update docs for 8.4 RC1
  Mention channel/key bug in irkerd docs
  Revert "Remove the `:coffee` and `:coffeescript` Haml filters"
  gets merge request discussion working again
  adds back in discussion.haml.html for issues commenting and closing/reopening properly.
  removing last chunk of MR ajax changes, rest will be in another MR
  reverting more MR ajax files, will appear in different commit
  reverting MR ajax changes, which will be in a different MR
  ...
2016-01-14 10:58:40 +01:00
Gabriel Mazetto dd6fc01ff8 fixed LDAP activation on login to use new ldap_blocked state 2016-01-14 03:31:27 -02:00
Rubén Dávila c179b48c97 Use #sub instead of #gsub!. #3945
* This is because is not a good idea to modify the original lines
* Also I run into this issue https://gitlab.com/gitlab-org/gitlab_git/issues/14
  which is returning Diff Lines with the same @new_pos value.
2016-01-13 21:04:53 -05:00
Tomasz Maczukin 220c3a44c9 Merge branch '8-4-stable' into ci/api-variables
* 8-4-stable: (285 commits)
  Add Changelog entry for build traces data integrity fix
  Update doc_styleguide.md [ci skip]
  Added hint that you can search users by name, username, or email.
  Add changelog
  Version 8.4.0.rc1
  Randomize metrics sample intervals
  Make the metrics sampler interval configurable
  Don't automatically require awesome_print
  Disable colorization if STDOUT is not a tty
  Block the reported user before destroying the record
  changes `$quote-gray` to `$secondary-text`
  makes message plural for multiple MRs and removes from loop. Duh.
  Prepare Installation and Update docs for 8.4 RC1
  Mention channel/key bug in irkerd docs
  Revert "Remove the `:coffee` and `:coffeescript` Haml filters"
  gets merge request discussion working again
  adds back in discussion.haml.html for issues commenting and closing/reopening properly.
  removing last chunk of MR ajax changes, rest will be in another MR
  reverting more MR ajax files, will appear in different commit
  reverting MR ajax changes, which will be in a different MR
  ...
2016-01-13 23:59:00 +01:00
Tomasz Maczukin c9a1661979 Merge branch 'master' into ci/api-builds
* master: (76 commits)
  Add Changelog entry for build traces data integrity fix
  Update doc_styleguide.md [ci skip]
  Added hint that you can search users by name, username, or email.
  Add changelog
  Randomize metrics sample intervals
  Make the metrics sampler interval configurable
  Don't automatically require awesome_print
  Disable colorization if STDOUT is not a tty
  Block the reported user before destroying the record
  changes `$quote-gray` to `$secondary-text`
  makes message plural for multiple MRs and removes from loop. Duh.
  Prepare Installation and Update docs for 8.4 RC1
  Mention channel/key bug in irkerd docs
  Revert "Remove the `:coffee` and `:coffeescript` Haml filters"
  gets merge request discussion working again
  adds back in discussion.haml.html for issues commenting and closing/reopening properly.
  removing last chunk of MR ajax changes, rest will be in another MR
  reverting more MR ajax files, will appear in different commit
  reverting MR ajax changes, which will be in a different MR
  reverting _mr_title.html.haml
  ...
2016-01-13 20:53:42 +01:00
Rémy Coutable 33ea09bdf9 Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into fix/private-references 2016-01-13 19:46:38 +01:00
Rémy Coutable 0c10aee596 Ensure the API doesn't return notes that the current user shouldn't see 2016-01-13 19:42:36 +01:00
Tomasz Maczukin 9e701ccd48 Fix some typos 2016-01-13 18:47:39 +01:00
Rubén Dávila 0f0af19139 Little refactor for usage of html_safe. #3945 2016-01-13 11:39:15 -05:00
Yorick Peterse b7f49aa0f0 Merge branch 'configure-randomize-metrics-sample-interval' into 'master'
See merge request !2406
2016-01-13 14:54:45 +00:00
Douwe Maan c7d9e7806a Merge branch 'fix/reference_filter_uri_decode_error_for_master' into 'master'
Fix #9963 reference_filter "Encoding::CompatibilityError" bug with some complex URL;

https://github.com/gitlabhq/gitlabhq/pull/9964

@DouweM

See merge request !2383
2016-01-13 14:21:32 +00:00
Tomasz Maczukin 9733849618 Add some fixes after review 2016-01-13 15:17:59 +01:00
Douwe Maan 9664424cab Merge branch 'ci/api-projects' into 'master'
Extend projects API with CI data

Reference #4264 

See merge request !2303
2016-01-13 13:32:35 +00:00
Yorick Peterse 057eb824b5 Randomize metrics sample intervals
Sampling data at a fixed interval means we can potentially miss data
from events occurring between sampling intervals. For example, say we
sample data every 15 seconds but Unicorn workers get killed after 10
seconds. In this particular case it's possible to miss interesting data
as the sampler will never get to actually submitting data.

To work around this (at least for the most part) the sampling interval
is randomized as following:

1. Take the user specified sampling interval (15 seconds by default)
2. Divide it by 2 (referred to as "half" below)
3. Generate a range (using a step of 0.1) from -"half" to "half"
4. Every time the sampler goes to sleep we'll grab the user provided
   interval and add a randomly chosen "adjustment" to it while making
   sure we don't pick the same value twice in a row.

For a specified timeout of 15 this means the actual intervals can be
anywhere between 7.5 and 22.5, but never can the same interval be used
twice in a row.

The rationale behind this change is that on dev.gitlab.org I'm sometimes
seeing certain Gitlab::Git/Rugged objects being retained, but only for a
few minutes every 24 hours. Knowing the code of Gitlab and how much
memory it uses/leaks I suspect we're missing data due to workers getting
terminated before the sampler can write its data to InfluxDB.
2016-01-13 12:57:46 +01:00
Tomasz Maczukin df54828580 Add some fixes after review 2016-01-13 12:47:11 +01:00
Yorick Peterse 2367160015 Make the metrics sampler interval configurable 2016-01-13 12:29:48 +01:00
Tomasz Maczukin d44653da1f Add some fixes after review 2016-01-13 12:20:59 +01:00
Robert Speicher a43fd5ce6d Disable colorization if STDOUT is not a tty 2016-01-12 21:34:23 -05:00
Rubén Dávila 7307fa48e7 Fix broken specs. #3945 2016-01-12 19:28:31 -05:00
Rubén Dávila 6e3358a507 Remove no longer required code. #3945 2016-01-12 17:36:08 -05:00
Tomasz Maczukin efb3395b4f Remove blank line 2016-01-12 19:32:44 +01:00
Rubén Dávila f1f9b5f7d3 Small fixes from code review. #3945 2016-01-12 12:53:54 -05:00
Tomasz Maczukin ab2c6cc01f Add some fixes 2016-01-12 18:32:18 +01:00
Yorick Peterse 83ad5fa5cb Merge branch 'remove-application-frames-from-views' into 'master'
See merge request !2392
2016-01-12 15:44:57 +00:00
Yorick Peterse 355c341fe7 Stop tracking call stacks for instrumented views
Where a vew is called from doesn't matter as much. We already know what
action they belong to and this is more than enough information. By
removing the file/line number from the list of tags we should also be
able to reduce the number of series stored in InfluxDB.
2016-01-12 15:41:22 +01:00
Gabriel Mazetto ac6a10f3e8 Codestyle changes 2016-01-12 12:29:10 -02:00
Yorick Peterse 5679ee0120 Track memory allocated during a transaction
This gives a very rough estimate of how much memory is allocated during
a transaction. This only works reliably when using a single-threaded
application server and a Ruby implementation with a GIL as otherwise
memory allocated by other threads might skew the statistics. Sadly
there's no way around this as Ruby doesn't provide a reliable way of
gathering accurate object sizes upon allocation on a per-thread basis.
2016-01-12 14:59:30 +01:00
Jason Lee 932a247f5f Use CGI.escape instead of URI.escape, because URI is obsoleted.
ref: https://github.com/ruby/ruby/commit/238b979f1789f95262a267d8df6239806f2859cc
2016-01-12 18:20:03 +08:00
Jason Lee 41bcab118a Fix #9963 reference_filter "Encoding::CompatibilityError" bug with some complex URL; 2016-01-12 18:19:55 +08:00
Douwe Maan 49f51ff164 Merge branch 'optimize_ldap' into 'master'
Optimize LDAP and add a search timeout

Related to #4282 

This merge request arranges some things in `access.rb` to facilitate some optimizations in EE (to come later). It also adds a 10 second timeout to all LDAP searches so the entire worker is not blocked if some query doesn't return in a reasonable amount of time. This timeout is configurable per LDAP server.

See merge request !2267
2016-01-11 17:32:33 +00:00
Yorick Peterse 35b501f30a Tag all transaction metrics with an "action" tag
Without this it's impossible to find out what methods/views/queries are
executed by a certain controller or Sidekiq worker. While this will
increase the total number of series it should stay within reasonable
limits due to the amount of "actions" being small enough.
2016-01-11 16:51:01 +01:00
Tomasz Maczukin 5dcfd7d067 Add TODO notice to build trace feature in CI API 2016-01-11 15:49:25 +01:00
Tomasz Maczukin a30377c6f1 Merge branch 'master' into ci/api-builds
* master: (143 commits)
  Only load autocomplete data when actually needed
  Check for current user
  Add pencil icon to edit group settings
  Issue #5817 wording of the web hooks updated on issue and merge events
  use JavaScript instead of CoffeeScript in Views, the reason #9819
  Before project save ensure that a runners_token exists
  Fix Error 500 when visiting build page of project with nil runners_token
  Remove outdated gitlab-git-http-server reference from Install doc
  Fix typo in build page of projects
  Update docs for shared runner default settings
  Disable "Already Blocked" button in admin abuse report page
  Add CHANGELOG entry for reply-by-email fix
  Use WOFF versions of SourceSansPro
  Clean up document on adding users to a project
  Refactor ZenMode
  Fix caching issue where build status was not updating in project dashboard
  Add a CHANGELOG entry for The Most Important Feature of All Time(TM)
  changes verb `references` to noun `reference`.
  fixes new branch button positioning, when visible and not visible container
  DRY up upload and download services
  ...
2016-01-11 15:34:29 +01:00
Tomasz Maczukin fc4108b38b Modify CI features in projects API 2016-01-11 15:27:20 +01:00
Drew Blessing 67aa0b8c4c Optimize LDAP and add a search timeout 2016-01-11 08:17:32 -06:00
Tomasz Maczukin 4e70f2519b Update ./doc/api/builds.md 2016-01-11 11:15:04 +01:00
Tomasz Maczukin 96bbc145f3 Change commit builds URL in builds API 2016-01-11 10:20:45 +01:00
Jeroen Nijhof 706255b926 Merge gitlab.com:gitlab-org/gitlab-ce 2016-01-11 09:32:35 +01:00
Rubén Dávila fed10766e5 Fix broken spec for submodule commit. #3945 2016-01-09 01:55:31 -05:00
Rubén Dávila 78d7c0e0d8 Fix broken specs. #3945 2016-01-08 19:05:55 -05:00
Tomasz Maczukin 4eb27d7c72 Add some modifications to builds API and specs 2016-01-08 23:33:45 +01:00
Tomasz Maczukin 1eb7b5ee8d Modify entities for builds API 2016-01-08 22:57:42 +01:00
Robert Speicher af68897acd Merge branch 'api-project-upload' into 'master'
Add API project upload endpoint

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/4317

See merge request !2329
2016-01-08 20:29:43 +00:00
Rubén Dávila 6282202ee8 Remove custom Lexer. #3945 [ci skip]
Inline diff is going to be generated client side now. #3945
2016-01-08 15:20:48 -05:00
Gabriel Mazetto 47e4613f4a Code style fixes and some code simplified 2016-01-08 16:26:04 -02:00