Thanks Justin,

Is it of interest that the plugin’s create() behaves differently to the 
command-line? It just doesn't _feel_ right. I could create an issue in the 
client plugin GitHub project if the consensus is that the behaviour is wrong. 
After all, why does create() care? Its command-line-cousin doesn’t.

At the moment my work-around (inspecting the namespace) and iterating through 
the objects feels more pleasant than using raw.

Alan.

> On 19 Dec 2017, at 14:09, Justin Pierce <jupie...@redhat.com> wrote:
> 
> Alan - This might be a use case for the openshift.raw API [1]. It will simply 
> pass through any arguments you give it. 
> 
> Best Regards,
> Justin
> [1] https://github.com/openshift/jenkins-client-plugin#i-need-more 
> <https://github.com/openshift/jenkins-client-plugin#i-need-more>
> 
> On Tue, Dec 19, 2017 at 6:57 AM, Alan Christie 
> <achris...@informaticsmatters.com <mailto:achris...@informaticsmatters.com>> 
> wrote:
> I appear to be able to work-around the problem by iterating through the 
> objects created by the call to process() and conditionally setting the 
> namespace, i.e. by doing this…
> 
>       def objs = openshift.process('—filename=<template-file>’)
>       for (obj in objs) {
>               if (obj.metadata.namespace == “X") {
>                       openshift.create(obj, "—namespace=X")
>                 } else {
>                               openshift.create(obj)
>                       }
>       }
>              
> 
> But this is not ideal and just creates noise. Ideally I simply want create() 
> in the pipeline to be able to reproduce create() on the command-line.
> 
> 
> 
>> On 19 Dec 2017, at 11:26, Alan Christie <achris...@informaticsmatters.com 
>> <mailto:achris...@informaticsmatters.com>> wrote:
>> 
>> Hi guys,
>> 
>> I have a template that can be successfully processed and the objects created 
>> using oc from the command-line. The template is supposed to run in one 
>> namespace (let’s call it Y) but it creates secrets that are placed in 
>> another namespace/project (let’s call that X). The namespaces are managed 
>> the same user. Both namespaces exist and the following command when run on 
>> the command-line is valid and is successful:
>> 
>>      oc process -f <template-file> | oc create -f -
>> 
>> The act of processing and creating templates works in the Jenkins pipeline 
>> except when the template creates objects in different namespaces. When I try 
>> and reproduce these actions from within a Jenkins pipeline job that is using 
>> the OpenShift Jenkins Pipeline (DSL) Plugin, i.e. when I do something like 
>> this…
>> 
>>      openshift.withCluster("${CLUSTER}") {
>>              openshift.withProject(“${Y}") {
>>                      def objs = 
>> openshift.process('—filename=<template-file>’)
>>                      openshift.create(objs)
>>              }
>>      }
>> 
>> I get the following error reported in the Jenkins Job output:
>> 
>>      err=error: the namespace from the provided object “X" does not match 
>> the namespace “Y". You must pass '—namespace=X' to perform this operation., 
>> verb=create
>> 
>> How do replicate the actions that appear to be legitimate from the 
>> command-line but using the Pipeline Plugin? Its error does not make sense. 
>> Instead the plugin appears to assume that the objects created form the 
>> template must reside in the namespace in which I am running and therefore 
>> insists on it.
>> 
>> Should I raise an issue on the Plugin project?
>> 
>>      https://github.com/openshift/jenkins-client-plugin 
>> <https://github.com/openshift/jenkins-client-plugin>
>> 
>> Thank you in advance of any help but, in the meantime I will continue to 
>> search for a solution.
>> 
>> Alan Christie
>> Informatics Matters
>> 
>> 
> 
> 
> _______________________________________________
> dev mailing list
> dev@lists.openshift.redhat.com <mailto:dev@lists.openshift.redhat.com>
> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev 
> <http://lists.openshift.redhat.com/openshiftmm/listinfo/dev>
> 
> 

_______________________________________________
dev mailing list
dev@lists.openshift.redhat.com
http://lists.openshift.redhat.com/openshiftmm/listinfo/dev

Reply via email to