Как создать новый Unix станок с WLST - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь создать Docker образ для WebLogi c Управляемый сервер. Мое изображение почти готово, только образ работы отсутствует на изображении.

Как я знаю, чтобы иметь менеджера работы, мне нужно создать Machine. Я использую инструмент WLST для создания сервера, кластера и т. Д. c. и все выглядит отлично, кроме создания новой детали машины.

Вот так выглядит мой метод Фитона:

1 def createMachine(_machineName):
2  print ('creating a new machine...')
3  cd('/')
4  cmo.createUnixMachine(_machineName)
5  cd('/Machines/' + _machineName + '/NodeManager/' + _machineName)
6  cmo.setNMType('Plain')
7  cmo.setListenAddress('localhost')
8  cmo.setListenPort(8888)
9  cmo.setDebugEnabled(false)

Строка 4 выдает мне ошибку:

creating a new machine...
Error: only getter and setter are supported
Error: cd() failed. Do dumpStack() to see details.
Error: runCmd() failed. Do dumpStack() to see details.
Problem invoking WLST - Traceback (innermost last):
  File "/u01/oracle/create-wls-domain.py", line 114, in ?
  File "/u01/oracle/create-wls-domain.py", line 104, in main
  File "/u01/oracle/create-wls-domain.py", line 36, in createMachine
  File "/tmp/WLSTOfflineIni692244145222764912.py", line 55, in cd
  File "/tmp/WLSTOfflineIni692244145222764912.py", line 19, in command
    at com.oracle.cie.domain.script.jython.CommandExceptionHandler.handleException(CommandExceptionHandler.java:69)
    at com.oracle.cie.domain.script.jython.WLScriptContext.handleException(WLScriptContext.java:2983)
    at com.oracle.cie.domain.script.jython.WLScriptContext.runCmd(WLScriptContext.java:735)
    at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

com.oracle.cie.domain.script.jython.WLSTException: com.oracle.cie.domain.script.jython.WLSTException: No element AnyMachine was found

Сервер WL не работает во время выполнения сценария * .py, поэтому я нахожусь в автономном режиме, так как домен не готов, он создается сценарием * .py.

Что не так с моим методом создания машины?

ОБНОВЛЕНИЕ

Так что это рабочий метод для создания WebLogi c Machine:

def createMachine(_machineName):
    print('creating a new machine...')
    cd('/')
    create(_machineName,'UnixMachine')

    # if you need NodeManager as well 
    # cd('/UnixMachine/' + _machineName)
    # create(_machineName, 'NodeManager')
    # cd('NodeManager/' + _machineName)
    # setNMType('Plain')
    # set('ListenAddress', 'localhost')
    # set('ListenPort', _nodeManagerPort)
    # setDebugEnabled(false)

1 Ответ

0 голосов
/ 28 января 2020

строка 4 должна быть

create (_machineName, 'UnixMachine')

...