[
https://issues.jboss.org/browse/JBIDE-22626?page=com.atlassian.jira.plugi...
]
Dmitrii Bocharov commented on JBIDE-22626:
------------------------------------------
[~adietish], [~xcoulon], [~jcantrill] need your help with the task, as i'm not quite
confident in this Deployment stuff and what is happening.
I saw in [Jeff's
fix|https://github.com/jbosstools/jbosstools-openshift/pull/1148]
that he firstly tries to get ImageStream from connection and then if there is no one,
create it.
I've implemented the same logic for other resources: SERVICE, ROUTE and
DEPLOYMENT_CONFIG, e.g.:
{code:java}
private IService stubService(IResourceFactory factory, String name, String selectorKey,
String selectorValue) {
IService service = findServiceFor(parameters.getProject().getName());
if (service == null) {
service = factory.stub(ResourceKind.SERVICE, name, parameters.getProject().getName());
}
service.setPorts(parameters.getServicePorts());
service.setSelector(selectorKey, selectorValue);
return service;
}
{code}
Also i changed
[
here|https://github.com/jbosstools/jbosstools-openshift/blob/d4565ac20d6e...]
from just retrieving\refreshing resource to _connection.updateResource(resource)_;
If there is no any of the resources - [i create
it|https://github.com/jbosstools/jbosstools-openshift/blob/cf442398a36631...].
However, i have problem with updating DeploymentConfig.
Here is the DC i have before update:
https://gist.github.com/bdshadow/271754b11a9f5945de1a107390bcc5ec
Here is my request for update:
https://gist.github.com/bdshadow/49acf54196091bb772f2a368fd57348b
request: Request{method=PUT,
url=https://10.1.2.2:8443/oapi/v1/namespaces/sample-project/deploymentconfigs/aloha,
tag=null}
But i get:
{code:json}
!MESSAGE Error creating resource: {
"kind" : "Status",
"apiVersion" : "v1",
"metadata" : {},
"status" : "Failure",
"message" : "DeploymentConfig \"aloha\" is invalid:
spec.template.spec.containers[1].name: Duplicate value: \"aloha\"",
"reason" : "Invalid",
"details" : {
"name" : "aloha",
"kind" : "DeploymentConfig",
"causes" : [{
"reason" : "FieldValueDuplicate",
"message" : "Duplicate value: \"aloha\"",
"field" : "spec.template.spec.containers[1].name"
}]
},
"code" : 422
}
{code}
I don't have such an error for ROUTE or IMAGE_STREAM. I can even see in Web Console
that a new tag appeared for the Image Stream.
I understand the message of the error. But how can i then update the DeploymentConfig to
point at image with new tag? What should request look like? Is DafaultClient update
suitable for this?
We also figured out with [~jeffmaury] that we can update the lines:
{code:java}
containers:
-
name: aloha
image: 'foo/aloha:1'
ports:
{code}
to have 'foo/aloha:2' just simply through Web Console or even through CLI without
any problem, but only when image isn't pushed to registry. When it is, the DC looks
like:
{code:java}
-
name: aloha
image:
'172.30.189.18:5000/sample-project/aloha@sha256:5d4937328d7801654118efc25500a78a0901b161267e3e08c54e7...'
ports:
{code}
and you can't change this link with sha to another image. Web Console lets you do
this, but if you press Edit YAML again after - you'll see the same line.
Finally, if you still read =) How can i update the DeploymentConfig and what am i doing
wrong? Is it possible at all to update it from client and using our openshift-restclient?
I'll be very grateful for any help, as i'm really confused about this JIRA
Updating deployed docker image on OpenShift does not work
---------------------------------------------------------
Key: JBIDE-22626
URL:
https://issues.jboss.org/browse/JBIDE-22626
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: openshift
Affects Versions: 4.4.0.Final
Reporter: Marián Labuda
Assignee: Dmitrii Bocharov
Priority: Critical
Labels: docker, openshift_v3
Fix For: 4.4.1.Final
In JBIDE-22515 was fixed use case when user have an image with specific tag. That works
now ok.
But if user deploys image with tag e.g. :0.8 to OpenShift, resources are created for this
specific tag. When I am trying to Deploy to OS image with tag :0.9 afterwards, everything
finish without an error. No new resources are created, but no existing resources are
modified to contain this new image. Deployment config still contains tag :0.8 and thus new
deployment is not done.
Basically we need to modify deployment config in such cases to contains newer tag and let
OpenShift do all magic and redeploy it.
In order to add this version tag after semicolon, right-click on the image -> Add tag
-> Re-type namespace/imagename + add ":0.8" e.g.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)