{"action":"created","issue":{"url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/14","repository_url":"https://api.github.com/repos/rhinstaller/kickstart-tests","labels_url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/14/comments","events_url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/14/events","html_url":"https://github.com/rhinstaller/kickstart-tests/pull/14","id":146222433,"number":14,"title":"rework proxy test generation, make tests more robust","user":{"login":"AdamWill","id":916551,"avatar_url":"https://avatars.githubusercontent.com/u/916551?v=3","gravatar_id":"","url":"https://api.github.com/users/AdamWill","html_url":"https://github.com/AdamWill","followers_url":"https://api.github.com/users/AdamWill/followers","following_url":"https://api.github.com/users/AdamWill/following{/other_user}","gists_url":"https://api.github.com/users/AdamWill/gists{/gist_id}","starred_url":"https://api.github.com/users/AdamWill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AdamWill/subscriptions","organizations_url":"https://api.github.com/users/AdamWill/orgs","repos_url":"https://api.github.com/users/AdamWill/repos","events_url":"https://api.github.com/users/AdamWill/events{/privacy}","received_events_url":"https://api.github.com/users/AdamWill/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-04-06T07:55:00Z","updated_at":"2016-04-07T14:15:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rhinstaller/kickstart-tests/pulls/14","html_url":"https://github.com/rhinstaller/kickstart-tests/pull/14","diff_url":"https://github.com/rhinstaller/kickstart-tests/pull/14.diff","patch_url":"https://github.com/rhinstaller/kickstart-tests/pull/14.patch"},"body":"While working on running kickstart-tests in openQA we noticed\r\nthat the proxy tests had some unspoken assumptions: that the\r\nrepo URL would be a direct mirror URL (not a mirror list) and\r\nthat it would use HTTP (not HTTPS).\r\n\r\nWhile fixing that, I noticed there's quite a bit of duplication\r\nbetween proxy-auth and proxy-kickstart, and proxy-cmdline is\r\nmore or less a subset of them only they had diverged quite a\r\nlot in style. I also thought the mechanism for getting the proxy\r\ncode into the kickstart %pre - which requires both make *and*\r\nksflatten - seemed a bit over-complex for really just sticking\r\nchunks of text together.\r\n\r\nThis is my suggestion for resolving most of the problems. It uses\r\na Makefile to produce all three proxy .ks.in files from the\r\nsame template plus a few snippet files and proxy.py, and makes\r\nthe tests more robust against use of mirror lists and HTTPS\r\nfor the base repo. Caveats:\r\n\r\n* It does not cover use of HTTPS for the addon repo, that is\r\n  still required to be served as HTTP. We *could* allow for\r\n  this by just weakening a couple of the proxy-repo.inc tests\r\n  for the 'httpslist' and 'httpsdir' cases, I'm not sure if\r\n  it's worth it.\r\n\r\n* proxy.py seems not to be capable of proxying HTTPS traffic\r\n  with password authentication enabled, so you still can't\r\n  do proxy-auth with an HTTPS mirror or mirrorlist. This is\r\n  a pre-existing issue, I believe.\r\n\r\nNote I *have not tested this* with the official runner yet, only with openQA and direct manual testing in a VM. I think the changes to the runner and the `.sh` files are correct, but this could stand testing."},"comment":{"url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/comments/206926171","html_url":"https://github.com/rhinstaller/kickstart-tests/pull/14#issuecomment-206926171","issue_url":"https://api.github.com/repos/rhinstaller/kickstart-tests/issues/14","id":206926171,"user":{"login":"dashea","id":4419868,"avatar_url":"https://avatars.githubusercontent.com/u/4419868?v=3","gravatar_id":"","url":"https://api.github.com/users/dashea","html_url":"https://github.com/dashea","followers_url":"https://api.github.com/users/dashea/followers","following_url":"https://api.github.com/users/dashea/following{/other_user}","gists_url":"https://api.github.com/users/dashea/gists{/gist_id}","starred_url":"https://api.github.com/users/dashea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dashea/subscriptions","organizations_url":"https://api.github.com/users/dashea/orgs","repos_url":"https://api.github.com/users/dashea/repos","events_url":"https://api.github.com/users/dashea/events{/privacy}","received_events_url":"https://api.github.com/users/dashea/received_events","type":"User","site_admin":false},"created_at":"2016-04-07T14:15:25Z","updated_at":"2016-04-07T14:15:25Z","body":"I'm not a fan of having two ways to generate the actual .ks stuff. And it is a lot harder to tell what's going on in the source files for the proxy tests now, so based on that I'm leaning more toward just leaving some level of duplication in.\r\n\r\nWhat do you mean by simplifying the proxy.py inclusion? The change in the PR is doing basically the same thing, just in a different place and three times instead of once."}}