craigcondit commented on code in PR #170:
URL: https://github.com/apache/yunikorn-site/pull/170#discussion_r940551124


##########
src/pages/community/release_procedure.md:
##########
@@ -169,19 +169,50 @@ This is needed to allow the start the mirror sync process 
and allow for the down
 Cleanup of the older release is handled after the website has been updated in 
the [cleanup](#cleanup).
 
 #### Release Docker images
-The standard build process should be used to build the image.
-Run a `make image` in the `web`, and `k8shim` repositories to generate the 
four images required (web, scheduler, scheduler-plugin and 
admission-controller):
+As part of the release convenience images are build and uploaded to the Apache 
account on DockerHub.
+As we added multi architecture support the release of the images has become a 
bit more complex and is now tool driven.
+
+The Go compiler builtin in functionality is leveraged to cross-compile the 
executables for the scheduler and admission controller.
+The web UI is a javascript application which does not require any special 
handling.
+
+Besides that, the minimum requirement for building the multi architecture 
images is multi architecture support in Docker.
+Multi architecture support is needed to be able to build both `amd64` and 
`arm64` images on your local machine.
+Building the images for different architectures requires emulation of the 
non-native architecture to run the build instructions.
+
+Support for emulating different architectures is provided by 
[QEMU](https://www.qemu.org).
+The QEMU software is installed as part of Docker Desktop on Mac OSX and 
Windows.
+For linux based build machines a manual installation of the QEMU package has 
to be performed.
+The multi architecture build has been tested using Docker on Debian also. On 
Debian this only requires the `qemu-user-static` package.
+Other distribution might require different docker and or QEMU install 
instructions.
+
+The expectation is that this tool is run from the same location as the 
[release tool](#run-the-release-tool) was run from.
+Configuration and code used as the input for this build **must** be the same 
as that was used for the source release.
+
+Run the image release tool:
 ```shell script
-VERSION=0.8.0; make image
+python3 build-image.py
 ```
+A standard run of the tool will ask for the docker hub credentials.
+The credentials used must have _write_ access to the `apache/yunikorn` docker 
hub area.
 
-Make can also be used to build and push the image if you have access to the 
Apache docker hub YuniKorn container.
-Push the latest docker images to the apache docker hub using the release as 
tag.
-Make sure the docker image is built on the specific SHA.
+The tool will then build the all the images:
+* admission
+* scheduler
+* scheduler-plugin
+* web
+
+Each image will be build twice, once for `amd64` and once for `arm64`.

Review Comment:
   Nit: Change "build" to "built"



##########
src/pages/community/release_procedure.md:
##########
@@ -169,19 +169,50 @@ This is needed to allow the start the mirror sync process 
and allow for the down
 Cleanup of the older release is handled after the website has been updated in 
the [cleanup](#cleanup).
 
 #### Release Docker images
-The standard build process should be used to build the image.
-Run a `make image` in the `web`, and `k8shim` repositories to generate the 
four images required (web, scheduler, scheduler-plugin and 
admission-controller):
+As part of the release convenience images are build and uploaded to the Apache 
account on DockerHub.
+As we added multi architecture support the release of the images has become a 
bit more complex and is now tool driven.
+
+The Go compiler builtin in functionality is leveraged to cross-compile the 
executables for the scheduler and admission controller.

Review Comment:
   Nit: Change "builtin in" to "built-in".



##########
src/pages/community/release_procedure.md:
##########
@@ -169,19 +169,50 @@ This is needed to allow the start the mirror sync process 
and allow for the down
 Cleanup of the older release is handled after the website has been updated in 
the [cleanup](#cleanup).
 
 #### Release Docker images
-The standard build process should be used to build the image.
-Run a `make image` in the `web`, and `k8shim` repositories to generate the 
four images required (web, scheduler, scheduler-plugin and 
admission-controller):
+As part of the release convenience images are build and uploaded to the Apache 
account on DockerHub.
+As we added multi architecture support the release of the images has become a 
bit more complex and is now tool driven.
+
+The Go compiler builtin in functionality is leveraged to cross-compile the 
executables for the scheduler and admission controller.
+The web UI is a javascript application which does not require any special 
handling.
+
+Besides that, the minimum requirement for building the multi architecture 
images is multi architecture support in Docker.
+Multi architecture support is needed to be able to build both `amd64` and 
`arm64` images on your local machine.
+Building the images for different architectures requires emulation of the 
non-native architecture to run the build instructions.
+
+Support for emulating different architectures is provided by 
[QEMU](https://www.qemu.org).
+The QEMU software is installed as part of Docker Desktop on Mac OSX and 
Windows.
+For linux based build machines a manual installation of the QEMU package has 
to be performed.
+The multi architecture build has been tested using Docker on Debian also. On 
Debian this only requires the `qemu-user-static` package.
+Other distribution might require different docker and or QEMU install 
instructions.
+
+The expectation is that this tool is run from the same location as the 
[release tool](#run-the-release-tool) was run from.
+Configuration and code used as the input for this build **must** be the same 
as that was used for the source release.
+
+Run the image release tool:
 ```shell script
-VERSION=0.8.0; make image
+python3 build-image.py
 ```
+A standard run of the tool will ask for the docker hub credentials.
+The credentials used must have _write_ access to the `apache/yunikorn` docker 
hub area.
 
-Make can also be used to build and push the image if you have access to the 
Apache docker hub YuniKorn container.
-Push the latest docker images to the apache docker hub using the release as 
tag.
-Make sure the docker image is built on the specific SHA.
+The tool will then build the all the images:
+* admission
+* scheduler
+* scheduler-plugin
+* web
+
+Each image will be build twice, once for `amd64` and once for `arm64`.
+All images are pushed to the docker hub.
+When both architectures are build a manifest is created for the multi 
architecture image.

Review Comment:
   Nit: "build" to "built"



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to