Commit Graph

285 Commits

Author SHA1 Message Date
Aleksandr Melnikov
a5ec80e586 If tty is set to true, mirror the main container volume mounts to
sidecars.
- This way, sidecars have access
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
a67012f893 Tweaking the dependencies of the sys-exit task.
- This ensures that multiple sidecars will vertically end
at the sys-exit task.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
806d15f4c9 Adjusting the exit-handler task order.
- sys-exit will run after deletion of service and virtual service
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
74752efd20 Adding output parameters to the template with the sidecars.
- These are the URLs for the side-cars.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
5e4d5c0242 Changed the order of tasks for the exit handler.
- The clean up tasks for service(s) and virtualservice(s) will
now display vertically.
If multiple sidecars were present, parallel vertical rows will display.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
c699b5b2ba Changed the order of tasks per feedback.
The new structure is:
 sys-send-status -> service -> virtual service -> main task
If there are multiple sidecars for the same template, they
are displayed next to each other, vertically and in parallel.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
5bd7f222cd Removing the workflow.uid, because it causes a doubly long uid string. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
04a1db0f81 Adding "sys-" prefix to onepanel injected services and virtualservices. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
d4846b521e Putting the services and virtualservices for sidecars logic, into
it's own function.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
544991117c Changing the label that maps between the service and pod.
- For multiple sidecars, this needs to be unique as well.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
8057098e29 Fixing envoyfilter by adding "--" to the sub-domain url that gets
generate.d
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
ccb991207b Adding code to clean-up the service and virtualservice after the
workflow is finished.
- Adding clean-up code to run alongside any onExit tasks.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
70007d6d23 Codacy: Fixing variable names. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
af47ffbd2f Updating logic that checks if a sidecar needs routing and service.
- Check if tty is set to true on the sidecar.
- Updated formatting.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
d8101bff8e Checking for istio injection by checking if the sidecar has "tty"
set to true.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
e1c3dc3979 Enabling Istio for workflows with sidecars.
- WIP
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
7698b705d8 Removing unused code. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
7b7142da49 Generating names using uuid.
- workflow.name is assigned at run-time, and may not be DNS compliant
for a service name. So that variable is not used.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
d903baea00 Adding uuid generating library 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
530e24180d Simplifying prefix to "/" 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
f5fb44c59b Port and TargetPort are assumed to be the same.
If Tensorboard has 6006 set, we also set it to 6006.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
6d42a44957 Removing condition tests. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
2fef7d78c1 Fixing typo. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
b46e7fd3b9 Excluding istio side-car from resource creation.
- Otherwise, the step hangs and never finishes, so long as istio
container runs.
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
e5f2f3e937 Adding k8s-service-resource and k8s-routes-resource as tasks
and dependencies to the entry point template.
- Issue: Argo throws this error

Message:             invalid spec: templates.main.tasks.train-model.dependencies[1] dependency 'k8s-service-resource' not defined
2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
af361d5045 Renaming the side-car check per feedback. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
3e1a4dd313 Refactoring code since it's empty initialization. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
d2dfd4cc34 Updating the host placeholder. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
2d45b0a015 Using the right yaml library to marshal. 2020-11-10 15:58:26 -08:00
Aleksandr Melnikov
cb7bb793e7 Adding code to support sidecars and accessing them.
- Specifically, if a sidecar is labeled with "sys-tensorboard-like",
code attempts to create services and virtual services (routes).
- Code will create argo templates that are resource type, where the
manifests are the generated resources.
The templates are then added right before the template with the
sidecar that requires these services and routes.
2020-11-10 15:58:26 -08:00
rushtehrani
875097fed7 only inject one sys-send-status task 2020-11-06 17:35:55 -08:00
Andrey Melnikov
7129fdf55f fix: issue where s3 with gcs wasn't working because of incompatible listing of files. 2020-10-16 16:41:49 -07:00
Andrey Melnikov
20c4950b69 feat: revert jwt token from auth 2020-10-14 11:53:05 -07:00
Aleksandr Melnikov
83a2543b13 Updating function name to reflect what it's doing. 2020-10-05 14:04:32 -07:00
Aleksandr Melnikov
e8dae0f2e9 Since we're no longer relying on running nodes, we don't need logic
relating to them.
- We can just check if a nodeSelector is set on the template.
2020-10-05 13:59:14 -07:00
Aleksandr Melnikov
7fe0ab2654 Tweaking names so it's more clear why they are there. 2020-10-05 11:51:04 -07:00
Aleksandr Melnikov
cc2c51ace5 Removing resource requests and limits.
- Using hostPort on the node as a way to require dedicated nodes
for workspaces and workflows.
2020-10-05 11:46:01 -07:00
Aleksandr Melnikov
656026ac84 Refactored workflow_execution resource calculation to use the new
function, to put the logic into the same place.
2020-10-02 13:08:48 -07:00
Andrey Melnikov
49b9bc4f93 fix: unit tests 2020-09-30 12:54:35 -07:00
Andrey Melnikov
83a4238153 Merge pull request #617 from Vafilor/feat/workspace.listing
feat: workspace list filtering, sorting and statistics
2020-09-29 11:20:46 -07:00
Andrey Melnikov
77716ba56b chore: updated method docs 2020-09-29 11:17:50 -07:00
Andrey Melnikov
8b4a70d958 feat: added support for sorting and filtering workspaces.
* Also added a LabelFilter interface
2020-09-28 12:09:16 -07:00
Rush Tehrani
91b97d9243 Merge pull request #611 from aleksandrmelnikov/feat/core.607-revert.to.resource.limits.requests
feat: Undo pod anti-affinity for scheduling nodes, use resource requests instead.
2020-09-25 14:02:02 -07:00
Aleksandr Melnikov
e7cef240c4 Fixing code that assigns a GPU limit for a workflow.
- This GPU assignment works for cron created workflows as well.
2020-09-25 10:38:21 -07:00
Aleksandr Melnikov
dca6db842c Adding back injectContainerResourceQuotas for workflows.
- This time, the node capacity is grabbed from running nodes instead
of information from configmap (which is grabbed from params.yaml)
- Added support for two different instance-type keys.
Note that GPU support does not work at this time.
- There is no ResourceName "nvidia.com/gpu" in library code, so it throws
a deref nil error.
2020-09-24 17:28:54 -07:00
Andrey Melnikov
f7770618ca update: added parameter to control listing of system workflows 2020-09-24 12:32:35 -07:00
Aleksandr Melnikov
77812419d2 Removing pod anti-affinity injection from workflows.
- Workspaces end up calling workflows. This has to be removed
as part of switching back to resource requests.
2020-09-24 11:03:37 -07:00
Andrey Melnikov
6fa123b122 feat: added explicit nulls sorting for workflow execution columns. Idea is to treat null as an empty/zero value. So in asc, it is first. 2020-09-23 19:13:53 -07:00
Andrey Melnikov
b1d0ab1d59 update: added workflow template name and uid to select of workflow executions 2020-09-23 16:20:38 -07:00
Rush Tehrani
c45231c106 Merge pull request #585 from aleksandrmelnikov/feat/core.583-workflows.use.pod.anti.affinity
feat: Updated Workflows, and Cron created Workflows, to ensure they get their own pod by using Pod AntiAffinity. This replaces resource limits and/or requests.
2020-09-21 16:20:13 -07:00