<p dir="auto">Background: I've implemented most of the multi-architecture Kubernetes has today, and wrote the proposal here: <a href="https://github.com/kubernetes/community/tree/master/contributors/design-proposals/multi-platform.md">https://github.com/kubernetes/community/tree/master/contributors/design-proposals/multi-platform.md</a></p>
<p dir="auto">Now it's time to continue improving the multi-arch experience as well.<br>
Tasks to do:</p>
<ul dir="auto">
<li>Deprecate <code class="notranslate">armel</code> and use <code class="notranslate">armhf</code> images instead and use <code class="notranslate">GOARM=7</code> instead of <code class="notranslate">GOARM=6</code>
<ul dir="auto">
<li>Motivation:
<ul dir="auto">
<li>The only <code class="notranslate">GOARM=6</code> board Go will support in go1.8 is the Raspberry Pi 1 which is just too slow to run newer Kubernetes versions.</li>
<li>Small performance improvements when using <code class="notranslate">GOARM=7</code></li>
<li>The <code class="notranslate">armel</code> (<a href="http://hub.docker.com/u/armel" rel="nofollow">http://hub.docker.com/u/armel</a>) images are not updated as often as the  <code class="notranslate">armhf</code> (<a href="http://hub.docker.com/u/armhf" rel="nofollow">http://hub.docker.com/u/armhf</a>) images are.</li>
</ul>
</li>
</ul>
</li>
<li>Use go1.8 as fast as possible for arm and ppc64le (and of course generally as well, but that will require the "real" release)
<ul dir="auto">
<li>Motivation:
<ul dir="auto">
<li>Brings us a lot of mandatory fixes for arm and ppc64le</li>
<li>Brings us the SSA backend which is ~30% faster</li>
<li>We can remove the patched golang for arm and start building ppc64le binaries by default again</li>
<li>arm hyperkube will start working again</li>
<li>Even if it's beta, it's probably better than a self-patched version of go1.7</li>
</ul>
</li>
<li>Proposal:
<ul dir="auto">
<li>Use <code class="notranslate">go1.8-beta1</code> for the arm builds already in the v1.5 release cc <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/saad-ali/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/saad-ali">@saad-ali</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pwittrock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pwittrock">@pwittrock</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jessfraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jessfraz">@jessfraz</a></li>
</ul>
</li>
</ul>
</li>
<li>Reenable ppc64le builds again by using go1.8betas until the stable version of go1.8 is released and release v1.6 of kubernetes for ppc64le with go1.8</li>
<li>Evalute <code class="notranslate">s390x</code> as a new platform
<ul dir="auto">
<li>If no one loudly complains, I'm gonna take care of the PRs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="190332721" data-permission-text="Title is private" data-url="https://github.com/kubernetes/kubernetes/issues/37092" data-hovercard-type="pull_request" data-hovercard-url="/kubernetes/kubernetes/pull/37092/hovercard" href="https://github.com/kubernetes/kubernetes/pull/37092">#37092</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="186747750" data-permission-text="Title is private" data-url="https://github.com/kubernetes/kubernetes/issues/36050" data-hovercard-type="pull_request" data-hovercard-url="/kubernetes/kubernetes/pull/36050/hovercard" href="https://github.com/kubernetes/kubernetes/pull/36050">#36050</a> and merge them in time for v1.6</li>
</ul>
</li>
<li>Convert the essential images that are named <code class="notranslate">registry/binary:version</code> to manifest lists
<ul dir="auto">
<li>TODO: Investigate rkt support for manifest lists: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="171578874" data-permission-text="Title is private" data-url="https://github.com/appc/docker2aci/issues/193" data-hovercard-type="issue" data-hovercard-url="/appc/docker2aci/issues/193/hovercard" href="https://github.com/appc/docker2aci/issues/193">appc/docker2aci#193</a></li>
<li>Wait for gcr.io to roll out a v2 schema 2 registry that support manifest lists. <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aronchick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aronchick">@aronchick</a> told me it's gonna happen mid-December.</li>
<li>Start building manifest lists when releasing Kubernetes (kube-apiserver, kube-scheduler, etc.)</li>
<li>Basically, all images will be named <code class="notranslate">registry/binary-arch:version</code> as most of them are now, but then the image <em>without</em> the <code class="notranslate">-arch</code> bit will be a manifest list which points to the right <code class="notranslate">-arch</code> image depending on which arch docker runs on.</li>
<li>Convert all other essential images to manifest lists, namely:
<ul dir="auto">
<li>etcd</li>
<li>all kube-dns images</li>
<li>the dashboard image</li>
<li>all heapster images: first step: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="190175572" data-permission-text="Title is private" data-url="https://github.com/kubernetes-retired/heapster/issues/1387" data-hovercard-type="pull_request" data-hovercard-url="/kubernetes-retired/heapster/pull/1387/hovercard" href="https://github.com/kubernetes-retired/heapster/pull/1387">kubernetes-retired/heapster#1387</a></li>
</ul>
</li>
</ul>
</li>
<li>Convert the ingress images to multiple architectures</li>
</ul>
<p dir="auto">cc-ing involved people here:<br>
<a class="team-mention js-team-mention notranslate" data-error-text="Failed to load team members" data-id="1910056" data-permission-text="Team members are private" data-url="/orgs/kubernetes/teams/sig-testing/members" data-hovercard-type="team" data-hovercard-url="/orgs/kubernetes/teams/sig-testing/hovercard" href="https://github.com/orgs/kubernetes/teams/sig-testing">@kubernetes/sig-testing</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/david-mcmahon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/david-mcmahon">@david-mcmahon</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/saad-ali/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/saad-ali">@saad-ali</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pwittrock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pwittrock">@pwittrock</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pensu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pensu">@Pensu</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ixdy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ixdy">@ixdy</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jessfraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jessfraz">@jessfraz</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thockin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thockin">@thockin</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishh">@vishh</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gajju26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gajju26">@gajju26</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brendandburns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brendandburns">@brendandburns</a></p>
<p dir="auto">Federation: hack/update-codegen.sh fails to generate</p>
<ul dir="auto">
<li>import_known_versions.go</li>
<li>namespace_expansion.go</li>
<li>fake_namespace_expansion.go</li>
</ul>