{"action":"opened","issue":{"url":"https://api.github.com/repos/iocage/iocage/issues/314","repository_url":"https://api.github.com/repos/iocage/iocage","labels_url":"https://api.github.com/repos/iocage/iocage/issues/314/labels{/name}","comments_url":"https://api.github.com/repos/iocage/iocage/issues/314/comments","events_url":"https://api.github.com/repos/iocage/iocage/issues/314/events","html_url":"https://github.com/iocage/iocage/issues/314","id":247975444,"number":314,"title":"Cannot upgrade to 0.99.1 from 0.98.x without restarting all my cages! Really? :(","user":{"login":"Infiniverse","id":2773422,"avatar_url":"https://avatars1.githubusercontent.com/u/2773422?v=4","gravatar_id":"","url":"https://api.github.com/users/Infiniverse","html_url":"https://github.com/Infiniverse","followers_url":"https://api.github.com/users/Infiniverse/followers","following_url":"https://api.github.com/users/Infiniverse/following{/other_user}","gists_url":"https://api.github.com/users/Infiniverse/gists{/gist_id}","starred_url":"https://api.github.com/users/Infiniverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Infiniverse/subscriptions","organizations_url":"https://api.github.com/users/Infiniverse/orgs","repos_url":"https://api.github.com/users/Infiniverse/repos","events_url":"https://api.github.com/users/Infiniverse/events{/privacy}","received_events_url":"https://api.github.com/users/Infiniverse/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-08-04T11:12:13Z","updated_at":"2017-08-04T11:12:13Z","closed_at":null,"body":"We are running iocage in production across many hundreds of cages. We've just upgraded to the python version of iocage from 1.74 to 0.98.x with no disruption to services.\r\n\r\nWe are now upgrading to 0.99.1 because of a performance issue that has just been solved (taking too long to do 'iocage list' for example).\r\n\r\nI'm very surprised to find that I need to shutdown all of my cages to do the migration - is that _really_ necessary? What is it in the running configuration that prevents the meta data from just being updated (or is iocage really needing to refactor all of the filesystems.... is that documented? We rely on the layout!)\r\n\r\n    fatal: [s1]: FAILED! => {\"changed\": false, \"failed\": true, \"msg\": \"_get_iocage_facts():\\ncmd:\r\n     '/usr/local/bin/iocage list -hl' return 1\\nstdout: ''\\nstderr: 'Traceback (most recent call last):\\n\r\n    File \\\"/usr/local/bin/iocage\\\", line 10, in <module>\\n    sys.exit(cli())\\n  File\r\n    \\\"/usr/local/lib/python3.6/site-packages/click/core.py\\\", line 722, in __call__\\n\r\n    return self.main(*args, **kwargs)\\n  File \\\"/usr/local/lib/python3.6/site-packages/click/core.py\\\",\r\n    line 697, in main\\n    rv = self.invoke(ctx)\\n  File \\\"/usr/local/lib/python3.6/site-packages/click/core.py\\\",\r\n    line 1066, in invoke\\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\\n  File\r\n    \\\"/usr/local/lib/python3.6/site-packages/click/core.py\\\", line 895, in invoke\\n\r\n    return ctx.invoke(self.callback, **ctx.params)\\n  File \\\"/usr/local/lib/python3.6/site-packages/click/core.py\\\",\r\n    line 535, in invoke\\n    return callback(*args, **kwargs)\\n  File\r\n    \\\"/usr/local/lib/python3.6/site-packages/iocage/cli/list.py\\\", line 74, in cli\\n\r\n    plugin=plugins, quick=quick)\\n  File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/iocage.py\\\", line 889, in list\\n\r\n    plugin=plugin, quick=quick).list_datasets()\\n  File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_list.py\\\",\r\n     line 72, in list_datasets\\n    _all = self.list_all(ds)\\n \r\n    File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_list.py\\\", line 150, in list_all\\n\r\n    conf = iocage.lib.ioc_json.IOCJson(mountpoint).json_load()\\n  File\r\n    \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_json.py\\\", line 292, in json_load\\n\r\n    conf = self.json_check_config(conf)\\n  File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_json.py\\\", line\r\n    715, in json_check_config\\n    silent=self.silent)\\n  File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_common.py\\\",\r\n    line 78, in logit\\n    _callback({\\\"level\\\": level, \\\"message\\\": msg})\\n \r\n    File \\\"/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_common.py\\\", line 61,\r\n    in callback\\n    raise\r\n    **RuntimeError(log['message'])\\nRuntimeError: ddinvite is running, all jails must be stopped before iocage will continue migration\\n')\"**}\r\n"}}
{"actor":{"display_login":"Infiniverse"}}