Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An ability to use Deckard on Debian Jessie #6

Closed
pavel-odintsov opened this issue Aug 10, 2017 · 5 comments
Closed

An ability to use Deckard on Debian Jessie #6

pavel-odintsov opened this issue Aug 10, 2017 · 5 comments

Comments

@pavel-odintsov
Copy link
Contributor

pavel-odintsov commented Aug 10, 2017

Hello!

I'm trying to migrate our DNS test suite to a new version of Deckard. But unfortunately, it does not work as expected.

I use Debian Jessie and it has a pretty outdated version of Augeas:

dpkg -l|grep augeas
ii  augeas-lenses                          1.2.0-0.2+deb8u1                   all          Set of lenses needed by libaugeas0 to parse config files
ii  libaugeas-dev                          1.2.0-0.2+deb8u1                   amd64        Development files for writing applications based on libaugeas0
ii  libaugeas0                             1.2.0-0.2+deb8u1                   amd64        Augeas configuration editing library and API

And according to 0321306 I need at least Augeas 1.5.

Any chance to use Deckard with old versions of Augeas?

Also, external binary dependency makes our deployment process extremely complicated because we have number of different versions of Debian :(

@vcunat
Copy link
Member

vcunat commented Aug 10, 2017

Comment only mentions slowness, nothing else.

we want to install newer version of Augeas because those from Ubuntu repositories are incredibly slow on some operations

@pavel-odintsov
Copy link
Contributor Author

pavel-odintsov commented Aug 10, 2017

Thank you for the fast response! I appreciate it! :)

But after upgrade Deckard fails for some reasons in Augeas code (I found "value MUST be a string or None" in pyaugeas):

Run test  system/tests/test_dns_71.rpl
Scenario failed:  value MUST be a string or None!

I use following scenario:

cat tests/system/tests/test_dns_71.rpl
SCENARIO_BEGIN Test case for subd.mytestzone.io A (NOERROR)

STEP QUERY external
ENTRY_BEGIN
SECTION QUESTION
subd.mytestzone.io IN A
ENTRY_END

STEP CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA  NOERROR
SECTION QUESTION
subd.mytestzone.io IN A
SECTION ANSWER
subd.mytestzone.io. 300 IN A 1.1.1.1
ENTRY_END

@pavel-odintsov
Copy link
Contributor Author

I migrated our test suite to Python 3 but I'm still hitting same error.

Scenario failed:  value MUST be a string or None!
Traceback (most recent call last):
  File "./runtests.py", line 385, in main
    stage, _ = scenario.parse_file(fileinput.input(name))
  File "/Users/pavel/.CFGOPATHRRDNS/src/code.cfops.it/sys/rrdns/linux_venv/lib/python3.4/site-packages/pydnstest/scenario.py", line 983, in parse_file
    confpath=path, lens='Deckard', loadpath=os.path.dirname(__file__))
  File "/Users/pavel/.CFGOPATHRRDNS/src/code.cfops.it/sys/rrdns/linux_venv/lib/python3.4/site-packages/pydnstest/augwrap.py", line 70, in __init__
    self._aug.set(join(aug_load_path, 'incl[0]'), confpath)
  File "/Users/pavel/.CFGOPATHRRDNS/src/code.cfops.it/sys/rrdns/linux_venv/lib/python3.4/site-packages/augeas/__init__.py", line 163, in set
    raise TypeError("value MUST be a string or None!")
TypeError: value MUST be a string or None!

Could you help with it?

Thank you!

@pspacek
Copy link
Contributor

pspacek commented Nov 27, 2017

Hello Pavel.

sorry for taking so long to reply - I didn't have watch set on this repo.

Our CI is running on Debian Jessie so you can look into our Dockerfile to see what we did:
https://gitlab.labs.nic.cz/knot/knot-resolver/blob/master/ci/Dockerfile
Right now our Docker image contains libaugeas0 version 1.8.0-1+deb9u1 and python-augeas binding for Python 3 installed via pip, version 1.0.3.

Speaking of binary depedencies, well, one alternative I'm aware of is to use network namespaces from Linux kernel. It would mean that Deckard is Linux-only and it would also require root privileges.

BTW "official" repo is in CZ.NIC's Gitlab, I just created Github issue #7 to explain this to newcommers. It might be better to continue discussion in real time, please join us @ https://gitter.im/CZ-NIC-deckard.

@pspacek pspacek closed this as completed Nov 27, 2017
@pavel-odintsov
Copy link
Contributor Author

Thanks! Will do :) Just created account for your GitLab bug tracker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants