<p>I'm trying to create a Kubeflow Pipeline component. My command works fine in a local Docker container, but within a Pod in a Kubeflow Pipeline it terminates with:</p>
<blockquote>
<p>ipython /tmp/input-postgresql.ipynb: 1: ipython /tmp/input-postgresql.ipynb: Syntax error: end of file unexpected</p>
</blockquote>
<p>To reproduce on Docker:</p>
<blockquote>
<p>docker run -it continuumio/anaconda3:2020.07 /bin/sh<br />
curl -o /tmp/input-postgresql.ipynb <a href="https://raw.githubusercontent.com/IBM/claimed/master/component-library/input/input-postgresql.ipynb" rel="nofollow noreferrer">https://raw.githubusercontent.com/IBM/claimed/master/component-library/input/input-postgresql.ipynb</a> &amp;&amp; ipython /tmp/input-postgresql.ipynb</p>
</blockquote>
<p>To reproduce on Kubeflow 1.6.0 please use the <a href="https://gist.github.com/romeokienzler/465834d666d65feaef8a7c50e8bdb1a8" rel="nofollow noreferrer">pipeline.yaml</a> file</p>

Romeo Kienzler
<p>Had to change the <a href="https://gist.github.com/romeokienzler/9eb9e422d1ec2c1d1c5f7ad73bb7f6f9" rel="nofollow noreferrer">component.yaml</a> now it works</p>
<p>Changed syntax for command definition and therefore also needed to find out how to pass parameters:</p>
<pre><code>implementation:
  container:
    image: continuumio/anaconda3:2020.07
    command:
    - sh
    - -ec
    - |
      host=$0
      database=$1
      user=$2
      password=$3
      port=$4
      sql=$5
      data_dir=$6
      output_data_csv=$7
      mkdir -p $output_data_csv
      wget https://raw.githubusercontent.com/IBM/claimed/master/component-library/input/input-postgresql.ipynb
      ipython ./input-postgresql.ipynb host=$host database=$database user=$user password=$password port=$port sql=$sql data_dir=$data_dir output_data_csv=$output_data_csv
    - {inputValue: host}
    - {inputValue: database}
    - {inputValue: user}
    - {inputValue: password}
    - {inputValue: port}
    - {inputValue: sql}
    - {inputValue: data_dir}
    - {outputPath: output_data_csv}
</code></pre>
