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
Support labels to run build on Mesos. #30
Conversation
Summary: JIRA issues:
It's still failing with
Super strange. |
It seems that |
I cut a JIRA to Jenkins https://issues.jenkins-ci.org/browse/JENKINS-57024. |
Summary: This patch simplifies the USI flow and avoids usage of the kill switch. It's all been taken care of by USI.
* Introduce MesosAgentSpec for label configuration
It finally loads the plugin. However, jobs are not run. Here is the test flow so far. We will encode it at smome point:
You should see that one node is pending but USI keeps launching new agents. So something is still wrong. If you look into the sandbox you see that the agent jar launches and connects but the Jenkins master has |
@@ -20,7 +22,7 @@ dependencies { | |||
api ('com.mesosphere.usi:core') { version { branch = usiBranch } } | |||
api ('com.mesosphere.usi:core-models') { version { branch = usiBranch } } | |||
api ('com.mesosphere.usi:mesos-client') { version { branch = usiBranch } } | |||
api group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26' | |||
api group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why the downgrade here? is that version only supported in java 11?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the plugin to use its class loader first. This resulted in a version conflict with Jenkins. So I downgraded it. I since dropped it.
build.gradle
Outdated
|
||
jenkinsPlugin { | ||
coreVersion = "2.155" | ||
coreVersion = "2.173" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we set to 2.164? that maps to the next jenkins version we have queued up for release to the universe. Jenkins doesn't garuntee downgrade
https://github.com/mesosphere/dcos-jenkins-service/blob/3.5.x/Dockerfile#L1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll try.
@@ -30,9 +30,9 @@ | |||
import org.slf4j.LoggerFactory; | |||
|
|||
/** Representation of a Jenkins node on Mesos. */ | |||
public class MesosSlave extends AbstractCloudSlave implements EphemeralNode { | |||
public class MesosAgent extends AbstractCloudSlave implements EphemeralNode { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe MesosJenkinsAgent is a better name? I suppose the name MesosAgent gets confusing in the context of mesos
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I renamed it but we also have MesosAgentSpecTemplate
. We probably need a few more iterations on naming 🙂
lgtm after comments |
Summary:
This enables the plugin to actually run builds on Mesos. I validated the
behavior manually since a full integration test requires some work with
the Jenkins fixture. To get everything working I added a template for
pod specs that is configured by users and introduced the provisioning
strategy.
We also go back to Java 8 since some Jenkins components do not
support Java 11 yet.
JIRA issues: DCOS_OSS-5056