Ohara: Could not add volumes in quickstart of docker mode

Created on 28 Oct 2020  ·  5Comments  ·  Source: oharastream/ohara

Describe the bug
Could not add volumes in quickstart of docker mode. The validation seems failed in stop phase.

To Reproduce
Steps to reproduce the behavior:

  1. navigate to http://ohara-jenkins-qa2-04:5050/
  2. Create nodes ["ohara-jenkins-qa2-01", "ohara-jenkins-qa2-02", "ohara-jenkins-qa2-03"]
    1.. enable volume and type /tmp/data
  3. click anywhere, waiting for validating

Expected behavior
Validating should pass

Screenshots
image
image

Additional context
Error message

http://ohara-jenkins-qa2-04:5050/api/volumes/szl29/stop?group=default

{"code":"java.rmi.RemoteException","message":"receive error message: Error: No such volume: default-szl29
; nested exception is: 
    java.rmi.RemoteException: Remote command failed (1): docker volume rm default-szl29; nested exception is: 
    java.rmi.ServerException: 1","stack":"java.rmi.RemoteException: receive error message: Error: No such volume: default-szl29
; nested exception is: 
    java.rmi.RemoteException: Remote command failed (1): docker volume rm default-szl29; nested exception is: 
    java.rmi.ServerException: 1
    at oharastream.ohara.agent.Agent$Builder$$anon$1.execute(Agent.scala:186)
    at oharastream.ohara.agent.docker.DockerClient$$anon$1.$anonfun$removeVolumes$3(DockerClient.scala:475)
    at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:430)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.RemoteException: Remote command failed (1): docker volume rm default-szl29; nested exception is: 
    java.rmi.ServerException: 1
    at org.apache.sshd.client.channel.ClientChannel.validateCommandExitStatusCode(ClientChannel.java:140)
    at org.apache.sshd.client.session.ClientSession.executeRemoteCommand(ClientSession.java:294)
    at oharastream.ohara.agent.Agent$Builder$$anon$1.execute(Agent.scala:182)
    ... 5 more
Caused by: java.rmi.ServerException: 1
    ... 8 more
"}
bug v0.12.0

All 5 comments

/cc @oharastream/developer

上面的問題看起來是 volume 被重複呼叫移除 (removeVolumes) 的動作了。

上面的問題看起來是 volume 被重複呼叫移除 (removeVolumes) 的動作了。

蠻有可能...

我有嘗試把 ServiceCollie#removeVolumes 修改成以下的寫法,就可以解決找不到 volume 的錯誤:

  final def removeVolumes(key: ObjectKey)(implicit executionContext: ExecutionContext): Future[Unit] =
    containerClient.removeVolumes(key.toPlain).map(_ => ())

這個 bug 暫時先完成了,之後我會另外開一個議題來做 volume name 的重構。所以我先把這個議題關閉

Was this page helpful?
0 / 5 - 0 ratings