* Introduce ManageBy field to RunPolicy
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Make mpi-operator a default value for ManagedBy
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Add validation for ManagedBy field
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Make use of ManagedBy in reconciliation process
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Regenerate code after adding managedBy field
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Add e2e tests
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Update after code review
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Update tests
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Remove default value for ManagedBy
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Add optional tag
Replace backoff and consistently with sleep
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Create common util package for integration and e2e tests with sleep/wait constants
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
---------
Signed-off-by: Michal Szadkowski <michal_szadkowski@epam.com>
* Add support for MPICH
* Fix CI errors
* Temporary: manual trigger
* Fix file name
* Add an empty line at the end of the file
* Fix formatting
* Revert "Temporary: manual trigger"
This reverts commit 15164a8b70.
* fix formatting
* Regenerate the mpi-operator.yaml
* Adding an empy line at the end of Dockerfiles
* Share the same entrypoin for Intel and MPICH
* share hostfile generation between Intel and MPICH
* Add validation test for MPICH
* Fix formatting
* Don't over engineer the tests - be explicit
* add non-root tests for IntelMPI and MPICH
* Implement Suspend semantics for MPIJob
# Conflicts:
# pkg/apis/kubeflow/v2beta1/types.go
# pkg/controller/mpi_job_controller.go
# pkg/controller/mpi_job_controller_status.go
# pkg/controller/mpi_job_controller_test.go
# test/integration/mpi_job_controller_test.go
* Changes
- add unit tests for creating suspended, suspending and resuming
- use fake clock for unit tests
- do not return from the syncHandler after worker pods cleanup on
suspend - this allows to continue with the MPIJob update in the same sync
# Conflicts:
# pkg/controller/mpi_job_controller.go
* Ensure restart policy is Never or OnFailure
Always doesn't make sense for Jobs
* Manage launcher through k8s Job
Still tracking Running status of the job pods.
* Add launcher Pod failed reason
* Add support for Intel MPI
Adds the field .spec.mpiImplementation, defaults to OpenMPI
The Intel implementation requires a Service fronting the launcher.
* Add an example image that uses Intel MPI
* Allow running MPI applications as non-root
Adds the spec field sshAuthMountPath for MPIJob.
The init script sets the permissions and ownership based on the securityContext of the launcherPod
* Add pure MPI sample that run as non-root
* Do inter-pod communication through SSH
The controller generates keys and mounts them to the containers. The container images must know how to place the credentials and set file permissions.
* Use init-container instead of entrypoint
* Fix scheme for recorder and defaults
* Add integration tests for v2 controller
* manifests: Move manifests development upstream
As part of the work of wg-manifests for 1.3
(https://github.com/kubeflow/manifests/issues/1735), we are moving manifests
development in upstream repos. This gives the application developers full
ownership of their manifests, tracked in a single place.
This commit copies the manifests for application `MPI Operator`
from path `apps/mpi-job/upstream` of kubeflow/manifests to path
`manifests` of the upstream repo (https://github.com/kubeflow/mpi-operator).
Signed-off-by: Yannis Zarkadas <yanniszark@arrikto.com>
* README: Update README to point to new manifests location
Signed-off-by: Yannis Zarkadas <yanniszark@arrikto.com>