-
Notifications
You must be signed in to change notification settings - Fork 192
can't start container which has been run #715
Comments
looks like some bugs in rollback procedures. What is the |
a7c41708ef58 is my docker image which pull form my registry hyperctl imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE |
could you try and could you try list all pod and containers? Looks the message shows there is no pod named as hello, but there has already been a container named with |
when hyperd runing, all operation is normal. When I restart hyperd, the hyperctl list cmd can't list container which I create by running hyperctl run cmd. #hyperd restart: |
I had a similar issue with container name conflicts appearing in the hyperd INFO, WARNING and ERROR logs (/var/log/hyper/hyperd.*). It turned out to be some orphan hosts (/var/lib/hyper/hosts/) and containers (/var/lib/hyper/containers/) hanging around after a hyperd service restart. These were enough to trigger the errors and cause contracts to fail, but would never appear in the POD list (hyperctl list)... just like you're describing. After I deleted everything from the hosts and containers directories, and restarted hyperd, everything worked fine. It would be good if a hyperd service restart somehow triggered a graceful stop of any active PODs, and then started them again afterwards. Theory needs testing, but I think this would avoid creating the orphans. |
@joelmcdonald which version of hyperd are you working on? master branch or a binary package? |
good question, it was installed by remote script as part of setting up a codius host... https://codius.s3.amazonaws.com/hyper-bootstrap.sh 'hyperctl info' shows Library Version: 1.02.146-RHEL7 (2018-01-22) |
After the release, there are quite a few fixes landed in master branch, and we are going to release a new package in a week (some of the PRs have not been merged), before that, would you mind try built with the latest master? |
Happy to try, I'll come back with the results |
@gnawux I'm having trouble with the make... returns lots of "cannot use description in field value" type errors Pre-requisites all installed ok, though I did have to add a symlink to resolve a failed file path. Below path looks very circular... I get 10+ of these on screen, then make [2] fails with error 2, and make [1] fails with error 1. Have I missed something?
github.com/hyperhq/hyperd/vendor/github.com/hyperhq/hyperd/daemon/pod/usr/lib/golang/src/github.com/hyperhq/hyperd/vendor/github.com/hyperhq/hyperd/daemon/pod/persist.go:359:11: cannot use c.descript (type *"github.com/hyperhq/hyperd/vendor/github.com/hyperhq/hyperd/vendor/github.com/hyperhq/runv/api".ContainerDescription) as type *"github.com/hyperhq/hyperd/vendor/github.com/hyperhq/hyperd/vendor/github.com/hyperhq/hyperd/vendor/github.com/hyperhq/runv/api".ContainerDescription in field value` |
could you try these RPMs: https://s3-us-west-1.amazonaws.com/hypercontainer-build/upload/1.1-rc1/hyper-container-1.0.0-1.el7.src.rpm I have just built them for release test, and have not update the package meta (still show version |
Installed OK, service started OK... I'll load a pod, restart and see if it errors `[root@auscodius centos]# systemctl status hyperd Jul 10 08:47:11 auscodius.com systemd[1]: Started hyperd. |
Unfortunately, the issue is still there in the new rpms.
|
could you purge your old pods and try again with the new binaries? purge the |
Pretty sure that's what I did... stopped and removed all PODs, stopped hyperd, deleted all hosts and containers, installed new rpms with --force option, started hyperd, etc per above Did I miss anything? |
sorry... just read the second half of your message. I'll purge those files, apply the new binaries and retest |
OK, purged /var/lib/hyper/* but left kernel and hyper-initrd.img, reinstalled new binaries, started service and retested... The issue is still there. Logs report container name conflict, old containers and host are still present, but nothing shows in hyperctl list |
Weird, as it report name conflict, the old leveldb file should still be there. |
No rush, it will be 24 hours before I have a chance to retest any further updates. What's the path for leveldb file? |
it should under |
Within /var/lib/hyper/lib/hyper.db I have 3 .ldb files, 1 .log file, and a CURRENT, LOCK, LOG and MANIFEST-000010 file. Only the log file has been updated since the service was restarted. hyperd service status file list of hyper.db |
Any luck on this? |
@1maginarium @linengier @joelmcdonald We have recently release v1.1.0 and it contains several bugfix on resource management. Would you please see if the problem still exists? |
This issue is very easily reproduced by simply stopping or restarting hyperd / the server while a pod is running. |
when I start my container "hello", the result is "please create it first".But when I create container "hello", hyperctl output the words ""/hello" is already in use". when I use hyperctl list cmd , there did't outpur anything. It's a bug or hyper not support as docker container? Item /var/lib/hyper/ has the same files as docker.
hyperctl start hello
hyperctl ERROR: Error from daemon's response: The pod(hello) can not be found, please create it first
hyperctl run -d --name hello a7c41708ef58
hyperctl ERROR: Error from daemon's response: Conflict. The name "/hello" is already in use by container 20d8fea07a87785aced03c1e7be26f4fb5b268f958f287619dfce5a2becfea70. You have to remove (or rename) that container to be able to reuse that name.
hyperctl list -p hello
POD ID POD Name VM name Status
The text was updated successfully, but these errors were encountered: