Comments (4)
I've been testing it out the CloudProvisioningListener
interface with the Google Compute Engine plugin.
What have I seen so far?
- Google Compute Engine with
oneShot
configuration produces some stacktrace warnings
2021-05-21 12:02:51.759+0000 [id=100] WARNING hudson.slaves.NodeProvisioner#lambda$update$6: Unexpected exception encountered while provisioning agent obs11-ubuntu-18-linux-370cgd
java.io.IOException: Agent failed to connect, even though the launcher didn't report it. See the log output for details.
at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:320)
at hudson.slaves.SlaveComputer$$Lambda$264/0x0000000000000000.call(Unknown Source)
Caused: java.util.concurrent.ExecutionException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at com.google.jenkins.plugins.computeengine.ComputeEngineCloud.lambda$getPlannedNodeFuture$0(ComputeEngineCloud.java:315)
at com.google.jenkins.plugins.computeengine.ComputeEngineCloud$$Lambda$507/0x0000000000000000.call(Unknown Source)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
at java.util.concurrent.FutureTask.run(FutureTask.java)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:823)
Even though the agent was created when the build requested an agent and removed afterwards.
Pipeline:
pipeline {
agent {
label 'linux'
}
stages {
stage('Build') {
steps {
echo 'hi'
}
}
}
}
A bit of context,
- CloudProvisioningListener#onStarted is correctly executed.
- CloudProvisioningListener#onFailure is executed but I think it should not be since the worker was an ephemeral one and therefore the stacktrace should not happen after the build has finished correctly. See https://github.com/jenkinsci/jenkins/blob/862acf3e2d3fd48330a7326bd8901d82085244d6/core/src/main/java/hudson/slaves/NodeProvisioner.java#L235-L241
As far as I see the Google Compute Engine uses the OnceRetentionStrategy when the task has finished and therefore the taskCompleted is executed for the AbstractCloudSlave
.
I'm not sure if we can use the CloudProvisioningListener
without fixing the root cause error with the exceptions when using one shot workers.
What are your thoughts?
from opentelemetry-plugin.
I've just asked in the jenkins-dev-mailing-list
from opentelemetry-plugin.
The issue with the oneShot
provisioning seems to be fixed with the Jenkins core version in our test instance: 2.189.1
.
from opentelemetry-plugin.
Metrics are now available in the plugin, so I'd like now to move forward with the comment in #101 (comment) and tracking the provisioning of the cloud agents using a distributed trace.
Should both traces the one we are tracking so far, linked to the ci build, linked with the one for the cloud agents? I'm not sure whether it's possible though
from opentelemetry-plugin.
Related Issues (20)
- Grafana visualization link does not work HOT 1
- Add additional prometheus labels to metrics HOT 2
- Mirror logs into Elastic in an background like mode HOT 1
- Send Logs To Loki while Still Preserving Console Output HOT 5
- Allow to chose longer time range on grafana/tempo HOT 1
- When installing opentelemetry plugin in Cloudbees CI, traces are not getting generated. HOT 1
- Integrate Jenkins OpenTelemetry with Gradle OpenTelemetry HOT 4
- Generate AWS X-ray compatible trace IDs HOT 3
- We are not able to send Jenkins Logs on New Relic using this plugin on Jenkins server HOT 1
- Not getting all logs from build HOT 8
- Consume TRACEPARENT from upstream via environment variable while creating root span HOT 6
- No MonitoringAction found when Open the Console Output HOT 2
- Not getting queue metrics HOT 1
- [BUG] Missing properties causing java.lang.NullPointerException HOT 1
- Add additional metrics for Garbage Collection and Memory stats HOT 3
- [Regresion] Pipeline console logs repeat "View logs in Elastic Observability" HOT 3
- Trace Context not propagated in the plugin code that executes Jenkins agents
- Active resource attributes missing from configuration HOT 2
- Cannot install latest version of OpenTelemetry ver 3.1320.v2eededb_d909e on Jenkins ver 2.452.2 - service.name can't be null HOT 3
- logs both in Grafana and through Jenkins config - breaks displayed logs (colors?) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentelemetry-plugin.