<p dir="auto"><strong>Is this a request for help?</strong> (If yes, you should use our troubleshooting guide and community support channels, see <a href="http://kubernetes.io/docs/troubleshooting/" rel="nofollow">http://kubernetes.io/docs/troubleshooting/</a>.):<br>
no</p>
<p dir="auto"><strong>What keywords did you search in Kubernetes issues before filing this one?</strong> (If you have found any duplicates, you should instead reply there.):<br>
kube-apiserver.log<br>
kube api logs<br>
log file link</p>
<hr>
<p dir="auto"><strong>Is this a BUG REPORT or FEATURE REQUEST?</strong> (choose one):</p>

<p dir="auto"><strong>Kubernetes version</strong> (use <code class="notranslate">kubectl version</code>):<br>
Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.3", GitCommit:"4957b090e9a4f6a68b4a40375408fdc74a212260", GitTreeState:"clean", BuildDate:"2016-10-16T06:20:04Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}</p>
<p dir="auto"><strong>Environment</strong>:</p>
<ul dir="auto">
<li><strong>Cloud provider or hardware configuration</strong>: aws</li>
<li><strong>OS</strong> (e.g. from /etc/os-release): what kops provisions by default</li>
<li><strong>Kernel</strong> (e.g. <code class="notranslate">uname -a</code>): what kops provisions by default</li>
<li><strong>Install tools</strong>: kops</li>
<li><strong>Others</strong>:</li>
</ul>
<p dir="auto"><strong>What happened</strong>:<br>
The HTML links generated by the kube api server for the /logs endpoint do not prefix the filename with /logs.</p>
<p dir="auto"><strong>What you expected to happen</strong>:<br>
Clicking the link to a log file should result in a request GET /logs/kube-apiserver.log</p>
<p dir="auto"><strong>How to reproduce it</strong> (as minimally and precisely as possible):<br>
Request to api server: GET /logs<br>
Click link for kube-apiserver.log</p>
<p dir="auto"><strong>Anything else do we need to know</strong>:<br>
no</p>
<p dir="auto">In <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="44001551" data-permission-text="Title is private" data-url="https://github.com/kubernetes/kubernetes/issues/1458" data-hovercard-type="pull_request" data-hovercard-url="/kubernetes/kubernetes/pull/1458/hovercard" href="https://github.com/kubernetes/kubernetes/pull/1458">#1458</a>, Brendan introduced a pattern for accessing and defaulting values:  Rather than actually setting the value in the struct during validation (which we do for some other fields), he wrapped the comparisons in functions that captured the defaulting.</p>
<p dir="auto">This pattern has a distinct advantage of working in tests, where input validation has not run.  It has the distinct disadvantage that not all fields are so self-contained - some set their default based on another field's value.</p>
<p dir="auto">We should choose a pattern and apply it liberally.  I'd like to be consistent as much as possible.</p>