Unexpected HTTP status code: 401'sudo apt-get install libssh2-1-dev libssl-dev python-dev libffi-dev cmake pkg-config libcurl4-openssl-dev libhttp-parser-dev python-pip
wget https://github.com/libgit2/libgit2/archive/v0.23.3.tar.gz
tar -xvf v0.23.3.tar.gz
cd libgit2-0.23.3/
cmake .
make
sudo make install
sudo pip install --upgrade pip
sudo pip install cffi
sudo pip install pygit2
sudo ldconfig
python -c 'import pygit2'
fileserver_backend:
- roots
- git
gitfs_provider: pygit2
gitfs_remotes:
- https://a.com/test-salt-depot:
- user: bob
- password: bobpass
2015-10-13 05:30:47,950 [salt.utils.gitfs ][ERROR ][28058] Exception 'Unexpected HTTP status code: 401' caught while fetching gitfs remote 'https://a.com/test-salt-depot'
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/salt/utils/gitfs.py", line 1702, in fetch_remotes
if repo.fetch():
File "/usr/lib/python2.7/dist-packages/salt/utils/gitfs.py", line 882, in fetch
fetch_results = origin.fetch()
File "/usr/local/lib/python2.7/dist-packages/pygit2/remote.py", line 378, in fetch
check_error(err)
File "/usr/local/lib/python2.7/dist-packages/pygit2/errors.py", line 64, in check_error
raise GitError(message)
GitError: Unexpected HTTP status code: 401
2015-10-13 05:30:47,952 [salt.utils.gitfs ][DEBUG ][28058] Removed lock for https://a.com/test-salt-depot
import logging
import pygit2
cachedir = '/home/vagrant/tmp-git/cache'
url = 'https://gerrit.zz.com/test-salt-depot'
print("Init repository at {0}".format(cachedir))
repo = pygit2.init_repository(cachedir)
repo.create_remote('origin', url)
repo.config.set_multivar(
'remote.origin.fetch',
'FOO',
'+refs/tags/*:refs/tags/*'
)
repo.config.set_multivar(
'http.sslVerify',
'',
'False'
)
origin = repo.remotes[0]
origin.credentials = pygit2.UserPass('b...@gerrit.zz.com', 'aaa')
print("Fetching repository at {0}".format(cachedir))
fetch_results = origin.fetch()
Init repository at /home/vagrant/tmp-git/cache
Fetching repository at /home/vagrant/tmp-git/cache
Traceback (most recent call last):
File "/vagrant/stuff.py", line 26, in <module>
fetch_results = origin.fetch()
File "/usr/local/lib/python2.7/dist-packages/pygit2/remote.py", line 378, in fetch
check_error(err)
File "/usr/local/lib/python2.7/dist-packages/pygit2/errors.py", line 64, in check_error
raise GitError(message)
_pygit2.GitError: Unexpected HTTP status code: 401
$ cd /home/vagrant/tmp-git/cache
~/tmp-git/cache$ git fetch
Username for ...
Password for ...
... Receiving objects: 100% (556/556), 152.34 KiB | 0 bytes/s, done.
* [new branch] master -> origin/master
Traceback (most recent call last):
File "/vagrant/stuff.py", line 26, in <module>
fetch_results = origin.fetch()
File "/usr/local/lib/python2.7/dist-packages/pygit2/remote.py", line 378, in fetch
check_error(err)
File "/usr/local/lib/python2.7/dist-packages/pygit2/errors.py", line 64, in check_error
raise GitError(message)
_pygit2.GitError: Unexpected HTTP status code: 401
$ cd /home/vagrant/tmp-git/cache
~/tmp-git/cache$ git fetch
Username for ...
Password for ...
... Receiving objects: 100% (556/556), 152.34 KiB | 0 bytes/s, done.
* [new branch] master -> origin/master