cloudstack/tools/test/cloudkit.py
2012-07-04 18:45:08 -04:00

79 lines
3.1 KiB
Python

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from apisession import ApiSession
from physicalresource import ZoneCreator
from globalconfig import GlobalConfig
from db import Database
import random
import uuid
def fix_default_db():
database = Database()
statement="""
UPDATE vm_template SET url='%s'
WHERE unique_name='%s' """
database.update(statement % ('http://nfs1.lab.vmops.com/templates/dummy/systemvm.vhd', 'routing-1'))
database.update(statement % ('http://nfs1.lab.vmops.com/templates/dummy/systemvm.qcow2', 'routing-3'))
database.update(statement % ('http://nfs1.lab.vmops.com/templates/dummy/systemvm.ova', 'routing-8'))
database.update(statement % ('http://nfs1.lab.vmops.com/templates/dummy/builtin.vhd', 'centos53-x86_64'))
database.update(statement % ('http://nfs1.lab.vmops.com/templates/dummy/builtin.ova', 'centos53-x64'))
statement="""UPDATE vm_template SET checksum=NULL"""
database.update(statement)
statement="""
UPDATE vm_template SET url='%s', unique_name='%s', name='%s', display_text='%s'
WHERE id=4 """
database.update(statement % ('http://nfs1.lab.vmops.com/templates/rightscale/RightImage_CentOS_5.4_x64_v5.6.34.qcow2.bz2', 'Rightscale CentOS 5.4', 'Rightscale CentOS 5.4', 'Rightscale CentOS 5.4'))
statement="""UPDATE disk_offering set use_local_storage=1"""
database.update(statement)
def config():
config = GlobalConfig(api)
config.update('use.local.storage', 'true')
config.update('max.template.iso.size', '20')
def create_zone():
zonecreator = ZoneCreator(api, random.randint(2,1000))
zoneid = zonecreator.create()
database = Database()
statement="""INSERT INTO data_center_details (dc_id, name, value)
VALUES (%s, '%s', '0')"""
database.update(statement % (zoneid, 'enable.secstorage.vm'))
database.update(statement % (zoneid, 'enable.consoleproxy.vm'))
statement="""INSERT INTO data_center_details (dc_id, name, value)
VALUES (%s, '%s', '%s')"""
database.update(statement % (zoneid, 'zone.dhcp.strategy', 'external'))
statement="""UPDATE data_center set dhcp_provider='ExternalDhcpServer' where id=%s"""
database.update(statement % (zoneid))
if __name__ == "__main__":
fix_default_db()
api = ApiSession('http://localhost:8080/client/api', 'admin', 'password')
api.login()
config()
create_zone()
print "guid=%s" % str(uuid.uuid4())