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

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
http://lists.openshift.redhat.com/openshiftmm/listinfo/dev

Reply via email to