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
Aleksandr Melnikov
9ec45e4f34
Formatting feedback and fix.
2020-09-21 16:12:53 -07:00
Aleksandr Melnikov
48e2050e97
Adjusting code so that we don't need the nodePoolLabel to figure
...
out the selected Node.
- The nodePoolLabel can change with the params.yaml and different
k8s versions.
2020-09-18 16:34:07 -07:00
Aleksandr Melnikov
d42f88e04c
Adding flag to decide when to add pod affinity.
...
- This avoids adding it every time the loop finds a nodeSelector that's
not nil in a template
2020-09-18 15:53:00 -07:00
Aleksandr Melnikov
6dd7c0ac70
Adjusting the pod anti-affinity per feedback.
...
- The pod anti-affinity should be set for a template that has a nodeSelector
value (not nil).
- If the template does not have a nodeSelector, we do nothing.
2020-09-18 15:51:48 -07:00
Aleksandr Melnikov
31076bc70d
Adding systemConfig to function.
...
- Also added error return
2020-09-18 15:50:28 -07:00
Aleksandr Melnikov
aaf20b4ab6
Updating code to use the returned wf.
2020-09-17 17:43:40 -07:00
Aleksandr Melnikov
7bc1056bc6
Updating function to return the updated workflow.
2020-09-17 17:42:23 -07:00