Fixed dirty revert_vm script

Change-Id: I37ddbb335be2fbbc81acaaab6bb101cfc589ac04
This commit is contained in:
Timur Nurlygayanov
2013-11-02 23:07:37 +04:00
parent cd3e3b445f
commit 9fccc77b48

View File

@@ -14,70 +14,31 @@
# License for the specific language governing permissions and limitations
# under the License.
import os
import time
import argparse
import novaclient.v1_1.client as nvclient
from keystoneclient.v2_0 import client as ksclient
import novaclient.v1_1.client as nova_client
parser = argparse.ArgumentParser(description="Script for Jobs")
parser.add_argument("-openstack_user", dest='openstack_user', type=str,
help="Openstack username", default='admin')
parser.add_argument("-openstack_password", dest='openstack_password',
type=str, help="Openstack password", default='password')
parser.add_argument("-openstack_tenant", dest='openstack_tenant', type=str,
help="Openstack tenant", default='admin')
parser.add_argument("-keystone_url", dest='keystone_url', type=str,
help="Keystone url",
parser = argparse.ArgumentParser()
parser.add_argument('--user', type=str, default='admin')
parser.add_argument('--password', type=str, default='password')
parser.add_argument('--tenant', type=str, default='admin')
parser.add_argument('--keystone_url', type=str,
default='http://localhost:5000/v2.0/')
parser.add_argument("-instance_name", dest='instance_name', type=str,
help="Name of reverting instance", default='VM')
parser.add_argument("-snapshot_name", dest='snapshot_name', type=str,
help="Name of using snapshot", default="VM_snapshot")
parser.add_argument("-flavor_name", dest='flavor_name', type=str,
help="Name of using flavor", default="t1.test_node")
parser.add_argument("-user", dest='user', type=str, default="root")
parser.add_argument("-openstack_ip", dest='openstack_ip', type=str,
default="localhost")
parser.add_argument("-branch_name", dest='branch_name',
type=str, default="master")
parser.add_argument("-rabbitmq_port", dest='rabbitmq_port', type=str,
help="Port of RabbitMQ", default="5672")
parser.add_argument('--instance_name', type=str)
parser.add_argument('--snapshot_name', type=str)
args = parser.parse_args()
user = args.openstack_user
password = args.openstack_password
tenant = args.openstack_tenant
keystone_url = args.keystone_url
keystone_client = ksclient.Client(username=user, password=password,
tenant_name=tenant, auth_url=keystone_url)
nova = nvclient.Client(user, password, tenant, keystone_url,
service_type = "compute")
server = nova.servers.find(name=args.instance_name)
server.delete()
while 1:
try:
server = nova.servers.find(name=args.instance_name)
except:
break
nova = nova_client.Client(args.user, args.password, args.tenant,
args.keystone_url, service_type = 'compute')
image = nova.images.find(name=args.snapshot_name)
flavor = nova.flavors.find(name=args.flavor_name)
instance = nova.servers.create(name=args.instance_name,
image=image, flavor=flavor)
server = nova.servers.find(name=args.instance_name)
while server.status != "ACTIVE":
server.rebuild(image)
time.sleep(2) # Wait until the start of recovery
server = nova.servers.find(name=args.instance_name)
while server.status == 'REBUILD':
server = nova.servers.find(name=args.instance_name)
print dir(server)
## Excuse me for this code :) I will fix it
os.system("nova show " + str(server.id) + " | grep private > log.txt")
f = open("log.txt").read().split()[-2]
cmd = "expect infra/deploy_vm.sh %s %s %s %s %s"
os.system(cmd % (args.user, f, args.openstack_ip,
args.branch_name, args.rabbitmq_port))
if server.status != 'ACTIVE':
server.start()