No rejoin-stack.sh script in my setup

2019-01-18 16:22发布

I've installed the "all-in-one" setup of DevStack.

But when I rebooted my system nothings works, and I lose all my already-created instances, images, configs, ...

I've found that I need to use the script rejoin-stack.sh but in my setup doesn't exists.

Please, any suggestions could help me, I'm blocked by the same problem since 1 week !

6条回答
乱世女痞
2楼-- · 2019-01-18 16:54

According to this git commit on openstack-dev it was intentionally removed. If somebody still need it it can be manually recreated from the above commit link.

查看更多
再贱就再见
3楼-- · 2019-01-18 17:09

I have the same problem, no rejoin-stack.sh I use ./stack.sh every time.

查看更多
手持菜刀,她持情操
4楼-- · 2019-01-18 17:14

From liberty release, .rejoin-stack.sh was removed by the openstack community, to get the screen you can execute the below command:

screen -c "your-screens-file-name"  

ex: screen -c stack-screenrc

stack-screenrc is the screen name located under devstack directory.

查看更多
Summer. ? 凉城
5楼-- · 2019-01-18 17:15

As mentioned elsewhere here, rejoin-stack.sh was recently removed. It was barely maintained and did not work for a lot of use cases, plus it encouraged an overall use case that DevStack is not intended to support, that of restoring a running stack after a reboot. You will need to run stack.sh and create a new cloud. Put the things that you always want done (like adding your public key, creating special flavors, etc) into local.sh and they will be done at the end of stack.sh.

DevStack is not meant and should not be used for running a cloud. If that is your need, please investigate one of the many alternatives that are designed and tested for cloud operation, including upgrades.

查看更多
家丑人穷心不美
6楼-- · 2019-01-18 17:16

It seems rejoin-stack.sh is missing. It is a bug.

查看更多
Animai°情兽
7楼-- · 2019-01-18 17:17

@Alex is right, the script can be recreated by switching to the kilo branch.

Here is the script >>

#!/usr/bin/env bash

# This script rejoins an existing screen, or re-creates a
# screen session from a previous run of stack.sh.

TOP_DIR=`dirname $0`

# Import common functions in case the localrc (loaded via stackrc)
# uses them.
source $TOP_DIR/functions

source $TOP_DIR/stackrc

# if screenrc exists, run screen
if [[ -e $TOP_DIR/stack-screenrc ]]; then
    if screen -ls | egrep -q "[0-9].stack"; then
        echo "Attaching to already started screen session.."
        exec screen -r stack
    fi
    exec screen -c $TOP_DIR/stack-screenrc
fi

echo "Couldn't find $TOP_DIR/stack-screenrc file; have you run stack.sh yet?"
exit 1

查看更多
登录 后发表回答