Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node Selector doesn't get applied on K8s platforms #462

Closed
juanpablo-santos opened this issue Jul 4, 2024 · 4 comments · Fixed by #464
Closed

Node Selector doesn't get applied on K8s platforms #462

juanpablo-santos opened this issue Jul 4, 2024 · 4 comments · Fixed by #464
Assignees
Labels
status/in-progress Something is happening type/bug Is a bug report
Milestone

Comments

@juanpablo-santos
Copy link

Description:
per title, Node Selector configuration option doesn't get applied on K8s platforms, neither by setting spring.cloud.dataflow.task.platform.kubernetes.XXXX.deployment.nodeSelector nor by applying the configuration on task execution, through the UI (the deployer.XXXXXX.kubernetes.node-selector=NAME:VALUE)

Release versions:

{
  "versions": {
    "implementation": {
      "name": "spring-cloud-dataflow-server",
      "version": "2.11.2"
    },
    "core": {
      "name": "Spring Cloud Data Flow Core",
      "version": "2.11.2"
    },
    "dashboard": {
      "name": "Spring Cloud Dataflow UI",
      "version": "3.4.2"
    },
    "shell": {
      "name": "Spring Cloud Data Flow Shell",
      "version": "2.11.2",
      "url": "https://repo.maven.apache.org/maven2/org/springframework/cloud/spring-cloud-dataflow-shell/2.11.2/spring-cloud-dataflow-shell-2.11.2.jar"
    }
  },
  "features": {
    "streams": true,
    "tasks": true,
    "schedules": true,
    "monitoringDashboardType": "GRAFANA"
  },
  "runtimeEnvironment": {
    "appDeployer": {
      "deployerImplementationVersion": "2.11.2",
      "deployerName": "Spring Cloud Skipper Server",
      "deployerSpiVersion": "2.11.2",
      "javaVersion": "17.0.9",
      "platformApiVersion": "",
      "platformClientVersion": "",
      "platformHostVersion": "",
      "platformSpecificInfo": {
        "default": "kubernetes"
      },
      "platformType": "Skipper Managed",
      "springBootVersion": "2.7.18",
      "springVersion": "5.3.31"
    },
    "taskLaunchers": [
      {
        "deployerImplementationVersion": "unknown",
        "deployerName": "KubernetesTaskLauncher",
        "deployerSpiVersion": "unknown",
        "javaVersion": "17.0.9",
        "platformApiVersion": "v1",
        "platformClientVersion": "unknown",
        "platformHostVersion": "unknown",
        "platformSpecificInfo": {
          "namespace": "scdf",
          "master-url": "XXXXXXXXX"
        },
        "platformType": "Kubernetes",
        "springBootVersion": "2.7.18",
        "springVersion": "5.3.31"
      },
      {
        "deployerImplementationVersion": "unknown",
        "deployerName": "KubernetesTaskLauncher",
        "deployerSpiVersion": "unknown",
        "javaVersion": "17.0.9",
        "platformApiVersion": "v1",
        "platformClientVersion": "unknown",
        "platformHostVersion": "unknown",
        "platformSpecificInfo": {
          "namespace": "scdf",
          "master-url": "XXXXXXXXX"
        },
        "platformType": "Kubernetes",
        "springBootVersion": "2.7.18",
        "springVersion": "5.3.31"
      },
      {
        "deployerImplementationVersion": "unknown",
        "deployerName": "KubernetesTaskLauncher",
        "deployerSpiVersion": "unknown",
        "javaVersion": "17.0.9",
        "platformApiVersion": "v1",
        "platformClientVersion": "unknown",
        "platformHostVersion": "unknown",
        "platformSpecificInfo": {
          "namespace": "scdf",
          "master-url": "XXXXXXXXX"
        },
        "platformType": "Kubernetes",
        "springBootVersion": "2.7.18",
        "springVersion": "5.3.31"
      },
      {
        "deployerImplementationVersion": "unknown",
        "deployerName": "KubernetesTaskLauncher",
        "deployerSpiVersion": "unknown",
        "javaVersion": "17.0.9",
        "platformApiVersion": "v1",
        "platformClientVersion": "unknown",
        "platformHostVersion": "unknown",
        "platformSpecificInfo": {
          "namespace": "scdf",
          "master-url": "XXXXXXXXX"
        },
        "platformType": "Kubernetes",
        "springBootVersion": "2.7.18",
        "springVersion": "5.3.31"
      }
    ]
  },
  "monitoringDashboardInfo": {
    "url": "https://grafana.XXXXXXXXX.dom",
    "source": "default-scdf-source",
    "refreshInterval": 15
  },
  "security": {
    "isAuthentication": true,
    "isAuthenticated": true,
    "username": "YYYYYY",
    "roles": [
      "ROLE_CREATE",
      "ROLE_DEPLOY",
      "ROLE_DESTROY",
      "ROLE_MANAGE",
      "ROLE_MODIFY",
      "ROLE_SCHEDULE",
      "ROLE_VIEW"
    ]
  },
  "git": {
    "commit": "86b53e0"
  }
}

Custom apps:
N/A, issue is reproduced with any task execution.

Steps to reproduce:
Neither setting spring.cloud.dataflow.task.platform.kubernetes.XXXX.deployment.nodeSelector: "NAME:VALUE" nor by applying the configuration on task execution, through the UI (the deployer.XXXXXX.kubernetes.node-selector=NAME:VALUE.

Screenshots:
pod-describe
task-exec-config

Additional context:
Saw PR spring-cloud/spring-cloud-dataflow#301, the configuration provided there also doesn't work

@github-actions github-actions bot added the status/need-triage Team needs to triage and take a first look label Jul 4, 2024
@cppwfs cppwfs transferred this issue from spring-cloud/spring-cloud-dataflow Jul 5, 2024
@cppwfs cppwfs added for/team-attention For team attention and removed status/need-triage Team needs to triage and take a first look labels Jul 5, 2024
@cppwfs cppwfs modified the milestones: 2.9.4, 2.9.5 Jul 5, 2024
@cppwfs cppwfs added type/bug Is a bug report and removed for/team-attention For team attention labels Jul 8, 2024
@cppwfs
Copy link
Contributor

cppwfs commented Jul 8, 2024

@juanpablo-santos Thank you for reporting this issue:
A work around is to set the following property for node selectors: deployer.<appname>.kubernetes.deployment.nodeSelector=foo:bar

We will work on resolving this bug.

@juanpablo-santos
Copy link
Author

Hi @cppwfs! thanks a lot for the workaround :-)

I did try the property, but instead of using nodeSelector I did use node-selector (as generated by the UI), thought they were interchangeable and didn't thought on using nodeSelector. In any case, the workaround is more than enough for us until the issue is fixed.

cheers,
juan pablo

@corneil
Copy link
Contributor

corneil commented Jul 9, 2024

Thanks @juanpablo-santos for doing the legwork.
We will be fixing that one since was expecting a property named with nodeSelector instead of allowing node-selector.

@juanpablo-santos
Copy link
Author

Hi @corneil! saw the associated PR, would that cover the platform property as well? i.e., spring.cloud.dataflow.task.platform.kubernetes.XXXX.deployment.nodeSelector also doesn't get assigned

thanks for looking into this so fast :-)

@corneil corneil added the status/in-progress Something is happening label Jul 11, 2024
@corneil corneil self-assigned this Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/in-progress Something is happening type/bug Is a bug report
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants