Поскольку OpenShift - это Kubernetes, возможно, стоит проверить, хотите ли вы использовать клиент Python Kubernetes для взаимодействия с OpenShift: https://github.com/kubernetes-client/python
Ваш код, использующий subprocess
выглядит правильно, поэтому проверьте, что напечатано в stdout
и stderr
:
import subprocess
project = 'simon'
process = subprocess.Popen(['oc','create','-n',project,'-f','resource.json'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,stdin=subprocess.PIPE)
for line in process.stderr:
print(line.strip())
for line in process.stdout:
print(line.strip())
Так, например:
$ python3 test.py
b'pod/test created'
$ python3 test.py
b'Error from server (AlreadyExists): error when creating "resource.json": pods "test" already exists'