<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Have a single go implementation of the "List then Watch" pattern. Use this everywhere.
<ul class="contains-task-list">
<li>This is about hiding the details of calling list and watch and restarting watches.</li>
<li>This is about apiserver watches.  Etcd use cases going away, so don't worry about them.</li>
<li>The <code class="notranslate">Reflector</code> object in <code class="notranslate">pkg/client/cache</code> is trying to be this.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Reconcile duplicated implementations in <code class="notranslate">pkg/proxy/config</code> and <code class="notranslate">pkg/client/cache</code> (the latter used by scheduler, and by kubelet after <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="53949968" data-permission-text="Title is private" data-url="https://github.com/kubernetes/kubernetes/issues/3385" data-hovercard-type="pull_request" data-hovercard-url="/kubernetes/kubernetes/pull/3385/hovercard" href="https://github.com/kubernetes/kubernetes/pull/3385">#3385</a> is merged.  differences include:
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Jittering in <code class="notranslate">pkg/proxy/config/api.go</code>,</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> resource-specific <code class="notranslate">ServicesWatcher</code> interface in <code class="notranslate">pkg/proxy/config</code> vs generic <code class="notranslate">ListerWatcher</code> interface in <code class="notranslate">pkg/client/cache</code>.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> one writes complete state to a Store and the other writes deltas to a channel.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> differences in error handling in the watch implementations: make sure we keep best from each.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p dir="auto">If I follow the docker getting started guide from here <a href="https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker.md">https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker.md</a></p>
<p dir="auto">It instructs me to start the kubelet with the following command</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker run \
    --volume=/:/rootfs:ro \
    --volume=/sys:/sys:ro \
    --volume=/dev:/dev \
    --volume=/var/lib/docker/:/var/lib/docker:rw \
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    --volume=/var/run:/var/run:rw \
    --net=host \
    --pid=host \
    --privileged=true \
    -d \
    gcr.io/google_containers/hyperkube:v1.1.2 \
    /hyperkube kubelet --containerized --hostname-override=&quot;127.0.0.1&quot; --address=&quot;0.0.0.0&quot; --api-servers=http://localhost:8080 --config=/etc/kubernetes/manifests"><pre class="notranslate"><code class="notranslate">docker run \
    --volume=/:/rootfs:ro \
    --volume=/sys:/sys:ro \
    --volume=/dev:/dev \
    --volume=/var/lib/docker/:/var/lib/docker:rw \
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    --volume=/var/run:/var/run:rw \
    --net=host \
    --pid=host \
    --privileged=true \
    -d \
    gcr.io/google_containers/hyperkube:v1.1.2 \
    /hyperkube kubelet --containerized --hostname-override="127.0.0.1" --address="0.0.0.0" --api-servers=http://localhost:8080 --config=/etc/kubernetes/manifests
</code></pre></div>
<p dir="auto">When I do this I'm no longer able to create any terminals. I'm running Ubuntu 15.04.<br>
The error I get when starting terminal is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="There was an error creating the child process for this terminal
getpt failed: Permission denied"><pre class="notranslate"><code class="notranslate">There was an error creating the child process for this terminal
getpt failed: Permission denied
</code></pre></div>
<p dir="auto">I can collect additional diags if someone can guide me on what to collect...</p>