2016-03-28 6 views
3

Ich habe das "All-in-One" Setup von DevStack installiert.Kein rejoin-stack.sh-Skript in meinem Setup

Aber wenn ich mein System nothings Werke neu gestartet, und ich verliere alle meine bereits erstellten Instanzen, Bilder, configs, ...

Ich habe festgestellt, dass ich das Skript rejoin-Stack verwenden müssen. sh aber in meinem Setup existiert nicht.

Bitte, irgendwelche Vorschläge könnten mir helfen, ich bin durch das gleiche Problem seit 1 Woche blockiert!

Antwort

1

Ich habe das gleiche Problem, nicht rejoin-stack.sh Ich benutze ./stack.sh jedes Mal.

+0

Aber wie behalten Sie den Zustand von Instanzen, VMs, ... nach dem Neustart Ihres Rechners? Ist das ein Problem in DevStack oder ein normaler Mangel? – Ouadi

-3

Es scheint, dass rejoin-stack.sh fehlt. Es ist ein Fehler.

+0

Es ist kein Fehler, wie oben erwähnt. – Paul

2

Entsprechend dieser git commit auf openstack-dev wurde es absichtlich entfernt. Wenn jemand es noch benötigt, kann es manuell aus dem obigen Commit-Link neu erstellt werden.

+0

Danke @Alex für Ihre Antwort. Ich habe die git commit überprüft, ich habe keine alternative offizielle Lösung gefunden, die sich damit beschäftigt, nach dem Neustart von DevStack (Instanzen, VMs, Configs, ...) zurück zu bleiben. Arbeiten sie daran oder gibt es eine andere offizielle Lösung? – Ouadi

5

Wie an anderer Stelle hier erwähnt, wurde rejoin-stack.sh kürzlich entfernt. Es wurde kaum gewartet und funktionierte nicht für viele Anwendungsfälle, und es ermutigte einen allgemeinen Anwendungsfall, den DevStack nicht unterstützen soll, nämlich einen laufenden Stapel nach einem Neustart wiederherzustellen. Sie müssen stack.sh ausführen und eine neue Cloud erstellen. Legen Sie die Dinge, die Sie immer tun möchten (wie das Hinzufügen Ihres öffentlichen Schlüssels, Erstellen spezieller Aromen usw.) in local.sh und sie werden am Ende von stack.sh erledigt.

DevStack ist nicht gemeint und sollte nicht für den Betrieb einer Cloud verwendet werden. Wenn dies Ihr Bedarf ist, untersuchen Sie eine der vielen Alternativen, die für den Cloud-Betrieb entwickelt und getestet wurden, einschließlich Upgrades.

+0

Dank @DeanTroyer für Ihre hilfreichen Erklärungen, könnten Sie mir eine OpenSource oder kostenlose Alternative vorschlagen, die für den Cloud-Betrieb entwickelt und getestet wurde, wie meine Fallstudie. – Ouadi

+0

Das klingt, als ob Sie etwas tun, das OpenStack nicht entwickelt oder testet? DevStack ist NICHT dazu gedacht, für den laufenden Cloud-Betrieb verwendet zu werden und erfordert, dass Instanzen wiederhergestellt werden, nachdem ein Host-Neustart in diese Kategorie fällt.Es gibt viele Alternativen für den Betrieb von OpenStack-Clouds. Beginnen Sie mit einem der großen Linux-Distributionen, sie haben alle Pakete und Implementierungs-Setups. –

+0

Ich möchte eine Cloud-VM in Ubuntu auf meinem Laptop, und konfigurieren Sie es mit Java, Application Server, ... und stellen Sie einige Web-Services auf und testen Sie es. Das bedeutet, dass alle Konfigurationen und installierten Tools in meiner VM nach dem Neustart meines Laptops oder VMWare weiterhin konfiguriert bleiben. Ich weiß nicht, welche Cloud-Lösung ich verwenden soll? – Ouadi

1

@Alex ist richtig, das Skript kann durch Umschalten auf den Kilo-Zweig neu erstellt werden. Hier

ist das Skript >>

#!/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

1

Von Freiheit Release, .rejoin-stack.sh durch die Openstack-Gemeinschaft entfernt wurde, um den Bildschirm zu erhalten Sie den folgenden Befehl ausführen können :

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

ex: screen -c stack-screenrc

stack-screenrc ist der Name des Bildschirms, der sich im Verzeichnis devstack befindet.