Comments (17)
@gabemontero @bparees what do you think?
from jenkins-plugin.
@mfojtik +1
@gabemontero and I already did some light reviewing of these messages, but there is definitely more aggressive editing that can be done.
from jenkins-plugin.
I'll add the specific message edits. @bparees had another one he noted via a gist (though I'm not 100% sure what is wrong with what he posted, need to look again).
And I think the idea of replacing the java class name with some sort of reference to what the build step is a good one. I'm thinking the build step display name when they select it, unless you all have another suggestion.
Apologies, but I'm not in agreement about losing the EXIT prints. They have already served as useful debug, without the full verbose option, for customer questions, and have expedited either debug or correction to user error on several occasions already.
There is an option to dump the build output. It currently is not real time because of some java level concerns. The openshift-restclient-java package from the eclipse folks have real time version, but it employs the oc
binary located in the jenkins image under the covers. If you all recall, we made a conscious decision to not depend on the oc
binary (I'm assuming the reasons are self explanatory).
Links to the console ... is the login URL another env var that @mfojtik has recently added ? ... even if it is, I'm on the fence
from jenkins-plugin.
Apologies, but I'm not in agreement about losing the EXIT prints
I'm sympathetic to that and since you're the guy who's going to bear most of the burden of debugging these issues, it should probably be left up to you. That said, we can probably at least make them more human readable and less debug-looking.
eg "Finished xyz with result abc"
Links to the console ... is the login URL another env var that @mfojtik has recently added ? ... even if it is, I'm on the fence
it's not, which is definitely a significant challenge. I don't know that we have a good way to know what the console url is. I would definitely leave that as a separate wishlist item from the other cleanup.
from jenkins-plugin.
OK cool ... got to spend some online cycles, but hope to circle back to this before EOB today.
from jenkins-plugin.
@bparees @mfojtik - I have a preliminary sample. Before I took the time to apply a similar pattern to all the steps, I'd like to solicit feedback. Note, the "Starting ...Started..." is one line (in case this comment does not render it that way):
Starting the "Perform builds in OpenShift" build step with build config frontend from the project test. Started build frontend-3 and will not wait for any subsequent deployment to succeed.
Exiting "Perform builds in OpenShift" succesfully; build frontend-3 has completed.
from jenkins-plugin.
-
We should quote all the parameters, eg
Starting the "Perform builds in OpenShift" build step with build config "frontend" from the project "test". Started build "frontend-3" and will not wait for any subsequent deployment to succeed.
-
Regarding the exact message... in the case where we're not doing something (not waiting for deployment, not waiting for exact replica count, etc) i'd just not mention it, eg:
Started build foo and will wait for build completion
Started build foo and will wait for build completion followed by a new deployment
-
"Perform builds in OpenShift" sounds pretty wordy as a step name, and "build step" is probably redundant since everything jenkins does is a build step. (just "step" should be sufficient), so how about, pulling it all together:
Starting the "Trigger OpenShift Build" step with build config "foo" from project "test". Started build "foo-1" and waiting for build completion..."
-
though you said those two things are on the same line, I think they might be better as two lines:
Starting the "Trigger OpenShift Build" step with build config "foo" from project "test".
Started build "foo-1" and waiting for build completion..."
(or if the checkbox to watch for a deployment is set):
Started build "foo-1" and waiting for build completion followed by a new deployment..."
(note also the addition of the "..." to indicate an in progress step)
- For the exit message:
Exiting "Trigger OpenShift Build" successfully; build "foo-1" has completed with status: [complete|failed|error]
(I assume "successfully" would also say "unsuccessfully" if the build had failed/errored?)
Also what exit message will you give if the build completed successfully but we were waiting for a deployment to be triggered and it wasn't?
from jenkins-plugin.
OK, I'll apply 1) through 5). Answers to your questions embedded below.
On Wed, Feb 24, 2016 at 4:59 PM, Ben Parees [email protected]
wrote:
We should quote all the parameters, eg
Starting the "Perform builds in OpenShift" build step with build config
"frontend" from the project "test". Started build "frontend-3" and will not
wait for any subsequent deployment to succeed.Regarding the exact message... in the case where we're not doing
something (not waiting for deployment, not waiting for exact replica count,
etc) i'd just not mention it, eg:Started build foo and will wait for build completion
Started build foo and will wait for build completion followed by a new
deployment
"Perform builds in OpenShift" sounds pretty wordy as a step name, and
"build step" is probably redundant since everything jenkins does is a build
step. (just "step" should be sufficient), so how about, pulling it all
together:
Starting the "Trigger OpenShift Build" step with build config "foo" from
project "test". Started build "foo-1" and waiting for build completion..."though you said those two things are on the same line, I think they
might be better as two lines:
Starting the "Trigger OpenShift Build" step with build config "foo" from
project "test".
Started build "foo-1" and waiting for build completion..."(or if the checkbox to watch for a deployment is set):
Started build "foo-1" and waiting for build completion followed by a new
deployment..."(note also the addition of the "..." to indicate an in progress step)
- For the exit message:
Exiting "Trigger OpenShift Build" successfully; build "foo-1" has
completed with status: [complete|failed|error](I assume "successfully" would also say "unsuccessfully" if the build had
failed/errored?)
Yes it would. Right now (not accounting for your above edits around step
name, etc. - I will similarly apply those comments), there are these set of
messages:
a) Exiting "%s" unsuccesfully; a build could not be started.
b) Exiting "%s" unsuccesfully; the build pod for build %s was not found
in time.
c) Exiting "%s" unsuccesfully; the state of the build %s is %s.
d) Exiting "%s" unsuccesfully for build %s; not all deployments with
ImageChange triggers based on this build's output triggered off of the new
image.
e) Exiting "%s" unsuccesfully; the build config % could not be read.
f) Exiting "%s" unsuccesfully; a client connection to %s could not be
obtained.
for a) the REST call to start the build came back in error
for b) we failed to access the build pod via REST ... we do this to dump
the build logs
for c) either it explicitly failed, or by the end of our wait timeout, the
state of the build is something other than COMPLETE
for d) we are in verify deployment mode, and some deployments did not fire
in time
for e) we could not access the build config via the REST api
for f) we could not get a client connection
Also what exit message will you give if the build completed successfully
but we were waiting for a deployment to be triggered and it wasn't?
see above
—
Reply to this email directly or view it on GitHub
#17 (comment)
.
from jenkins-plugin.
two s's in successfully/unsuccessfully, but otherwise cool, that makes sense.
from jenkins-plugin.
OK ... some posting of updated samples for the build step. Pending more fine tuning, will move on to next step:
Starting the "Trigger OpenShift Build" step with build config "frontend" from the project "test".
Started build "frontend-2" and waiting for build completion ...
Exiting "Trigger OpenShift Build" successfully; build "frontend-2" has completed with status: [Complete].
Starting the "Trigger OpenShift Build" step with build config "frontend" from the project "test".
Started build "frontend-3" and waiting for build completion followed by a new deployment...
Exiting "Trigger OpenShift Build" successfully; build "frontend-3" has completed with status: [Complete]. All deployments with ImageChange triggers based on this build's output triggered off of the new image.
from jenkins-plugin.
A couple of samples for the new scaler messages:
Starting the "Scale OpenShift Deployment" step with deployment config "frontend" from the project "test".
Scaling to "0" replicas and verifying the replica count is reached....
Exiting "Scale OpenShift Deployment" successfully, where the deployment "frontend-5" reached "0" replicas.
Starting the "Scale OpenShift Deployment" step with deployment config "frontend" from the project "test".
Scaling to "0" replicas...
Exiting "Scale OpenShift Deployment" successfully.
from jenkins-plugin.
they look good to me. probably wait until @mfojtik gives it a second set of eyes before committing to making changes though.
from jenkins-plugin.
Roger that (comment above ^^).
Some samples for the deploy verify:
Starting the "Verify OpenShift Deployment" step with deployment config "frontend" from the project "test".
Verifying deployment state...
Exiting "Verify OpenShift Deployment" successfully.
Starting the "Verify OpenShift Deployment" step with deployment config "frontend" from the project "test".
Verifying deployment state and verifying the current deployment is at "1" replica(s)....
Exiting "Verify OpenShift Deployment" successfully, where the deployment "frontend-5" is at "1" replicas.
from jenkins-plugin.
verify deployment step messages look good to me.
from jenkins-plugin.
@bparees @gabemontero much better now :-) looks good to me as well.
from jenkins-plugin.
@bparees @mfojtik cool deal ... do you all want me to continue to post the updates for each build step as I compose them, or have we established enough of a pattern where it is essentially plug-n-play.
Here is the list of renamed step names as noted in the readme, and will show up as from the pull down:
- "Trigger OpenShift Build"
- "Scale OpenShift Deployment"
- "Trigger OpenShift Deployment"
- "Verify OpenShift Service"
- "Tag OpenShift Image"
- "Verify OpenShift Deployment"
- "Verify OpenShift Build"
- "Create OpenShift Resource(s)"
The post build actions:
- "Cancel OpenShift Builds"
- "Cancel OpenShift Deployments"
Image stream poller:
"Monitor OpenShift ImageStreams"
from jenkins-plugin.
yeah i think we can probably hash out any further nuances in your PR
from jenkins-plugin.
Related Issues (20)
- Patch / Update resources HOT 9
- jenkins template using spec.clusterIP instead of spec.portalIP HOT 2
- Build output sometimes not shown in jenkins console output HOT 2
- Deployments don't work HOT 3
- Environment Variables don't respect Parameterised Builds HOT 6
- Timeout of builds HOT 3
- Unable to do openshiftTag() in pipeline HOT 1
- FR: Support of variables inside Openshift Exec HOT 9
- BUG: "Test connection" always returns "Connections successful" HOT 11
- BUG: OpenshiftExec ignores timeout HOT 12
- Confusing print statement if openshiftVerifyDeployment fails HOT 1
- okhttp binary changes break plugin when others installed HOT 11
- Externalize the CERT_FILE = "/run/secrets/kubernetes.io/serviceaccount/ca.crt"; HOT 7
- Issue with Jenkin's Verify Build OpenShift plug-in functionality HOT 9
- Declarative pipeline support? HOT 4
- openshift-client-plugin really still a "tech preview" ? HOT 3
- Jenkins throws an error when using the openhiftBuild with the buildConfig parameter HOT 3
- Resulting GDSL is Broken HOT 2
- openshiftBuild should support binary build type. HOT 10
- Add deprecation warning and link to new plugin as first thing in repo
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 jenkins-plugin.