RhodeCode - issues: Issueshttps://issues.rhodecode.com/https://issues.rhodecode.com/favicon.ico?16960560042016-08-11T15:42:05ZRhodeCode - issues
Redmine RhodeCode CE/EE - Task #4167 (Closed): Drop fabric requirement for enterprise-cehttps://issues.rhodecode.com/issues/41672016-08-11T15:42:05ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Noticed we depend on Fabric and we don't use it. We should remove it.</p>
RhodeCode CE/EE - Bug #4158 (Closed): [ce, ee] pylons.config is missing settingshttps://issues.rhodecode.com/issues/41582016-08-10T00:06:46ZDaniel Ddaniel@rhodecode.com
<p>Problem seems to be after the settings refactor, some of the settings that load_enviromnent() was adding such as 'vcs.hooks.direct_calls' are now not getting added to the pylons.config (<code>from pylons import config</code>) - which is breaking code that depends on this - it is hard to say which parts of code are affected, the @vcsconnection celery decorator for example showed this problem - there may be other places.</p>
<p>Celery Traceback:</p>
<pre><code>[2016-08-09 21:19:55,904: ERROR/MainProcess] Task rhodecode.lib.celerylib.tasks.create_repo_fork[7d3a210e-d20f-4216-bc8d-99fcdf69947d] raised exception: KeyError('vcs.hooks.direct_calls',)
Traceback (most recent call last):
File "/nix/store/gjgiaqj5n9kvvmabxk79i3yf9m9172yf-python2.7-celery-2.2.10/lib/python2.7/site-packages/celery/execute/trace.py", line 34, in trace
return cls(states.SUCCESS, retval=fun(*args, **kwargs))
File "/nix/store/dxvzsgk8skfvl7pp14wjn8v9sh97r776-python2.7-rhodecode-enterprise-ce-4.3.0+20160809x150712xcbe557819f37/lib/python2.7/site-packages/rhodecode/lib/celerylib/__init__.py", line 130, in __call__
return super(RhodecodeCeleryTask, self).__call__(*args, **kwargs)
File "/nix/store/gjgiaqj5n9kvvmabxk79i3yf9m9172yf-python2.7-celery-2.2.10/lib/python2.7/site-packages/celery/task/base.py", line 241, in __call__
return self.run(*args, **kwargs)
File "/nix/store/gjgiaqj5n9kvvmabxk79i3yf9m9172yf-python2.7-celery-2.2.10/lib/python2.7/site-packages/celery/app/__init__.py", line 141, in run
return fun(*args, **kwargs)
File "<string>", line 2, in create_repo_fork
File "/nix/store/dxvzsgk8skfvl7pp14wjn8v9sh97r776-python2.7-rhodecode-enterprise-ce-4.3.0+20160809x150712xcbe557819f37/lib/python2.7/site-packages/rhodecode/lib/celerylib/__init__.py", line 203, in __wrapper
ret = func(*fargs, **fkwargs)
File "<string>", line 2, in create_repo_fork
File "/nix/store/dxvzsgk8skfvl7pp14wjn8v9sh97r776-python2.7-rhodecode-enterprise-ce-4.3.0+20160809x150712xcbe557819f37/lib/python2.7/site-packages/rhodecode/lib/celerylib/__init__.py", line 221, in __wrapper
utils.configure_vcs(config)
File "/nix/store/dxvzsgk8skfvl7pp14wjn8v9sh97r776-python2.7-rhodecode-enterprise-ce-4.3.0+20160809x150712xcbe557819f37/lib/python2.7/site-packages/rhodecode/config/utils.py", line 59, in configure_vcs
conf.settings.HOOKS_DIRECT_CALLS = config['vcs.hooks.direct_calls']
File "/nix/store/sb9n37049lc5dgny1jnhi92gxpxz134y-python2.7-Paste-2.0.2/lib/python2.7/site-packages/paste/registry.py", line 146, in __getitem__
return self._current_obj()[key]
KeyError: 'vcs.hooks.direct_calls'
None
</code></pre> RhodeCode CE/EE - Bug #4127 (Closed): auth_cache_ttl settings are not correctly storedhttps://issues.rhodecode.com/issues/41272016-07-26T12:12:15ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p><a href="https://internal-code.rhodecode.com/rhodecode-enterprise-ce/files/tip/rhodecode/authentication/base.py#L568" class="external">https://internal-code.rhodecode.com/rhodecode-enterprise-ce/files/tip/rhodecode/authentication/base.py#L568</a></p>
<p>Seems if you set this inside the web interface it's not correctly stored, and cache_ttl is always 0</p>
<p>It's again issue with settings naming/storing for auth-plugins i think it happened not for the first time. Could we additionally do a sanity check for all the auth-plugin settings and make sure values are correctly stored ?</p>
RhodeCode CE/EE - Feature #4113 (Closed): [tests] Add ability to discover available repositories.https://issues.rhodecode.com/issues/41132016-07-21T15:45:55ZMartin Bornholdmartin@rhodecode.com
<p>Currently the tests are relying on the default vcs test repositories like <code>test_vcs_svn</code>. If the tests are able to auto discover which repositories are available and use them for testing it will simplify setting up the correct environment to run the tests.</p>
RhodeCode CE/EE - Bug #4112 (Closed): [vcs] Passing wrong content length header to subversion cli...https://issues.rhodecode.com/issues/41122016-07-21T13:22:09ZMartin Bornholdmartin@rhodecode.com
<p>We are proxying the SVN request to apache. If we get the apache response it may be compressed. The python requests library handles the decompression automatically for us. But when creating our response which is sent to the SVN client we are reusing the headers from the apache response. These headers contain the Content-Length from the compressed content but that is not correct because we are returning the uncompressed content in out response.</p>
<p>In most cases this only leads to a warning because actual length is bigger than Content-Length header says. This seems to be ignored by the SVN client. But there are also cases where the compressed length is greater than the decompressed length. I think this only happens for very small contents. But that leads to an error in the SVN client which complains about a truncated response from server. Even more confusing the behaviour of svn 1.8 and 1.9 slightly differs at this point. svn 1.9 seems to also tolerate the too short content at first but then it seems to truncate the content and it fails later on when trying to parse the xml</p>
RhodeCode CE/EE - Bug #4105 (Closed): [vcs] Recursive lookup of SVN root repo also tries to looku...https://issues.rhodecode.com/issues/41052016-07-18T16:32:35ZMartin Bornholdmartin@rhodecode.com
<p>When checking if a path is a valid repository we have to treat the SVN case in a special way. SVN allows to also access subdirectories as if they were a repository. This results in commit-requests to paths like this "/all-repos/svn-repo/subdir1/subdir2/". To find the root repository directory "all-repos/svn-repo" we have to check upwards all path elements until we find a directory which is not a SVN repository (assuming that the the initial path is a SVN repository).</p>
<p>The log output looks like we are not only checking on SVN repositories but also HG and GIT when going upwards the path. And we are also doing this if the initial path is not a SVN repository. This may lead to an invalid return value of the "is_valid_repository" method. Imagine a case where the "/all-repos" directory itself is a repository. If we are checking "is_valid_repo_path('/all-repos/no-repo-here')" it will tell us that there is a valid repository at "/all-repos" instead of "not there is no repo at '/all-repos/no-repo-here'"</p>
<p>This is exactly what happens on jenkins, all repos are stored in another repo. This is the log output from jenkins:</p>
<pre><code>=================================== FAILURES ===================================
______________________________ test_get_repo_err _______________________________
def test_get_repo_err():
blank_repo_path = os.path.join(TESTS_TMP_PATH, 'blank-error-repo')
if os.path.isdir(blank_repo_path):
shutil.rmtree(blank_repo_path)
os.mkdir(blank_repo_path)
> pytest.raises(VCSError, get_repo, blank_repo_path)
E Failed: DID NOT RAISE
rhodecode/tests/vcs/test_vcs.py:101: Failed
------------------------------ Captured log call -------------------------------
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp/rc_test_TplK5u/blank-error-repo
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c34d0, connected, for PYRO:git_remote@localhost:42034>@assert_correct_path
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp/rc_test_TplK5u/blank-error-repo
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c3590, connected, for PYRO:svn_remote@localhost:42034>@is_path_valid_repository
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp/rc_test_TplK5u
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c34d0, connected, for PYRO:git_remote@localhost:42034>@assert_correct_path
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp/rc_test_TplK5u
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c3590, connected, for PYRO:svn_remote@localhost:42034>@is_path_valid_repository
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c34d0, connected, for PYRO:git_remote@localhost:42034>@assert_correct_path
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121/tmp
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c3590, connected, for PYRO:svn_remote@localhost:42034>@is_path_valid_repository
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c34d0, connected, for PYRO:git_remote@localhost:42034>@assert_correct_path
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19c3590, connected, for PYRO:svn_remote@localhost:42034>@is_path_valid_repository
client.py 183 DEBUG RepoMaker call on /home/jenkins/workspace/rhodecode-enterprise-commits/jenkins-rhodecode-enterprise-commits-121
client.py 271 DEBUG Calling <Pyro4.core.Proxy at 0x7fd6c19a7ed0, connected, for PYRO:hg_remote@localhost:42034>@localrepository
</code></pre> RhodeCode CE/EE - Support #4104 (Closed): Switch to commit in file view PBhttps://issues.rhodecode.com/issues/41042016-07-18T16:06:35ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>[tenderapp] report: <a href="https://rhodecode.tenderapp.com/help/discussions/problems/9564" class="external">https://rhodecode.tenderapp.com/help/discussions/problems/9564</a> reported by user: <a href="mailto:alexis.jeandet@lpp.polytechnique.fr">alexis.jeandet@lpp.polytechnique.fr</a></p>
<p>Hi,</p>
<p>When we browse our repository in the file view, the "switch to commit" combo box seems to redirect us to a bad address.</p>
<p>With this repository(public):<br>
<a href="https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/qtcharts" class="external">https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/qtcharts</a><br>
jumping to 5.6 branch redirects to:<br>
<a href="https://hephaistos.lpp.polytechnique.fr/rhodecode/qtcharts/files/5.6/?at=5.6" class="external">https://hephaistos.lpp.polytechnique.fr/rhodecode/qtcharts/files/5.6/?at=5.6</a><br>
instead of:<br>
<a href="https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/qtcharts/files/5.6/?at=5.6" class="external">https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/qtcharts/files/5.6/?at=5.6</a></p>
<p>It just skip all the sub-repositories in the path.</p>
<p>Best regards,<br>
Alexis.</p>
RhodeCode CE/EE - Feature #4098 (Closed): [tests] Add svn support to locust performance testhttps://issues.rhodecode.com/issues/40982016-07-18T08:50:52ZMartin Bornholdmartin@rhodecode.com
<p>The current implementation is limited to the hg backend.</p>
<p>Goal:</p>
<ul>
<li>Performance tests are able to execute svn operations (clone/commit)</li>
</ul>
RhodeCode CE/EE - Feature #4097 (Closed): [test] Add git support to locust performance testhttps://issues.rhodecode.com/issues/40972016-07-18T08:49:13ZMartin Bornholdmartin@rhodecode.com
<p>The current implementation is limited to the hg backend.</p>
<p>Goal:</p>
<ul>
<li>Performance tests are able to execute git operations (clone/push/pull)</li>
</ul>
RhodeCode CE/EE - Feature #4096 (Closed): [test] Extend locust performance tests to add commitshttps://issues.rhodecode.com/issues/40962016-07-18T08:47:07ZMartin Bornholdmartin@rhodecode.com
<p>The current implementation executes the pull/push commands without adding new commits to the repository. Would be great if the tests are also adding commits prior to pushing to the repository.</p>
<p>Goal:</p>
<ul>
<li>Add a method that creates commits in the local repository.</li>
</ul>
RhodeCode CE/EE - Task #4095 (Closed): [tests] Move locust based performance tests to ac-tests re...https://issues.rhodecode.com/issues/40952016-07-18T08:42:19ZMartin Bornholdmartin@rhodecode.com
<p>Currently we have at least two test which are based on locust that are living at CE/rhodecode/tests/load/. It has nothin in common with the application and is executed outside of the application context. Therefore we should remove it from the CE repo and add it to the ac-tests repository.</p>
RhodeCode CE/EE - Bug #4069 (Closed): pyro4 proxy errorshttps://issues.rhodecode.com/issues/40692016-07-04T22:41:59ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>When running invoke tasks that runs proxy i'm getting this error.</p>
<pre><code>/nix/store/pghc397q4rgsyzbw9vwszxifaw00frzd-python2.7-SQLAlchemy-0.9.9/lib/python2.7/site-packages/sqlalchemy/engine/default.py:579: SAWarning: Unicode type received non-unicodebind param value.
param.append(processors[key](compiled_params[key]))
Traceback (most recent call last):
File "/nix/store/bf36jzdxns5fixzyfygsb3x92275pzk7-python2.7-invoke-0.13.0/bin/.invoke-wrapped", line 12, in <module>
sys.exit(program.run())
File "/nix/store/bf36jzdxns5fixzyfygsb3x92275pzk7-python2.7-invoke-0.13.0/lib/python2.7/site-packages/invoke/program.py", line 270, in run
self.execute()
File "/nix/store/bf36jzdxns5fixzyfygsb3x92275pzk7-python2.7-invoke-0.13.0/lib/python2.7/site-packages/invoke/program.py", line 381, in execute
executor.execute(*self.tasks)
File "/nix/store/bf36jzdxns5fixzyfygsb3x92275pzk7-python2.7-invoke-0.13.0/lib/python2.7/site-packages/invoke/executor.py", line 113, in execute
result = call.task(*args, **call.kwargs)
File "/nix/store/bf36jzdxns5fixzyfygsb3x92275pzk7-python2.7-invoke-0.13.0/lib/python2.7/site-packages/invoke/tasks.py", line 111, in __call__
result = self.body(*args, **kwargs)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-automation/tasks/generate.py", line 53, in js_i18n
gen_js_i18n.gen_js_i18n_files(ctx)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-automation/tasks/file_generation/gen_js_i18n.py", line 96, in gen_js_i18n_files
gen_translations(js_strings, filename_pattern)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-automation/tasks/file_generation/gen_js_i18n.py", line 68, in gen_translations
maybe_setup_pylons_environment()
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-automation/tasks/file_generation/__init__.py", line 29, in maybe_setup_pylons_environment
setup_pylons_environment()
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-automation/tasks/file_generation/__init__.py", line 19, in setup_pylons_environment
return _setup_pylons_environment(config, environ)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/tests/pylons_plugin.py", line 405, in _setup_pylons_environment
'config:' + pylons_config, relative_to=current_path)
File "/nix/store/3287dj6vssaad5bpjn4x6rnbd2kn1wy3-python2.7-PasteDeploy-1.5.2/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
return loadobj(APP, uri, name=name, **kw)
File "/nix/store/3287dj6vssaad5bpjn4x6rnbd2kn1wy3-python2.7-PasteDeploy-1.5.2/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
return context.create()
File "/nix/store/3287dj6vssaad5bpjn4x6rnbd2kn1wy3-python2.7-PasteDeploy-1.5.2/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
return self.object_type.invoke(self)
File "/nix/store/3287dj6vssaad5bpjn4x6rnbd2kn1wy3-python2.7-PasteDeploy-1.5.2/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
return fix_call(context.object, context.global_conf, **context.local_conf)
File "/nix/store/3287dj6vssaad5bpjn4x6rnbd2kn1wy3-python2.7-PasteDeploy-1.5.2/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/config/middleware.py", line 143, in make_pyramid_app
includeme(config)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/config/middleware.py", line 241, in includeme
**config.registry._pylons_compat_settings)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/config/middleware.py", line 79, in make_app
config = load_environment(global_conf, app_conf)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/config/environment.py", line 163, in load_environment
repo2db_mapper(ScmModel().repo_scan(repos_path), remove_obsolete=False)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/model/scm.py", line 225, in repo_scan
for name, path in get_filesystem_repos(repos_path, recursive=True):
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/utils.py", line 224, in _get_repos
scm_info = get_scm(cur_path)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/utils/helpers.py", line 62, in get_scm
found_scms = get_scms(path)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/utils/helpers.py", line 60, in get_scms
return [(scm, path) for scm in get_scms_for_path(path)]
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/utils/helpers.py", line 111, in get_scms_for_path
if backend.is_valid_repository(path):
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/backends/git/repository.py", line 141, in is_valid_repository
GitRepository(path)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/backends/git/repository.py", line 68, in __init__
self.path, self.config, with_wire=with_wire)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/client.py", line 185, in __call__
path, config, remote_proxy=self._proxy_factory(),
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/client.py", line 211, in __call__
return self.getProxy(request)
File "/mnt/hgfs/marcink-shared/workspace/rhodecode-enterprise-ce/rhodecode/lib/vcs/client.py", line 230, in getProxy
request.add_finished_callback(self._returnProxy)
AttributeError: 'NoneType' object has no attribute 'add_finished_callback'
</code></pre> RhodeCode CE/EE - Bug #4048 (Closed): saving form with wrong values on LDAP raises 500 errorhttps://issues.rhodecode.com/issues/40482016-06-27T22:14:23ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Basically failing test is: test_ldap_error_form_wrong_port_number, we should fix it it's a release blocker</p>
RhodeCode CE/EE - Bug #4043 (Closed): flash message problem on login/restiration pageshttps://issues.rhodecode.com/issues/40432016-06-24T18:16:46ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>During the testing of issues with social auth i relizied that flash messages with errors are somehow not working.</p>
<p>Steps to reproduce.</p>
<ul>
<li>turn of anonnymous access</li>
<li>misconfigure the social auth (enable google/github, put wrong tokens)</li>
<li>go to register/login page, and click a gh/google button</li>
</ul>
<p>see that page reloads and nothing happens. There's a call to </p>
<p><code>def _handle_social_auth_error(self, result):</code></p>
<p>Which does log.error, and does session.flash with an error message.</p>
<p>When you disable anonymous access redirect is to the home page where the flash message is shown, so the problem is in the way that we generate register/login pages.</p>
RhodeCode CE/EE - Feature #4021 (Closed): Expose VCS settings API for reposhttps://issues.rhodecode.com/issues/40212016-06-15T13:24:48ZMarcin Kuzminski [CTO]marcin@rhodecode.com
<p>Currently we have a nice way to configure VCS specific settings for repositories in WEB. There's however no API to configure phases, inline comments, pull requests settings.</p>
<p>We should build an API for that to allow more automation.</p>