Add astute run

This commit is contained in:
monroid 2013-05-07 17:36:01 +04:00
parent 1e8d02a0cb
commit 65ec325431
10 changed files with 63 additions and 54 deletions

View File

@ -59,8 +59,8 @@ class BaseTestCase(unittest.TestCase):
def do(self, nodes, command):
results = []
for node in nodes:
print "node", node.get_ip_address_by_network_name("public")
remote = node.remote('public', login='root', password='r00tme')
print "node", node.get_ip_address_by_network_name("internal")
remote = node.remote('internal', login='root', password='r00tme')
results.append(remote.sudo.ssh.execute(command, verbose=True))
return results

View File

@ -7,13 +7,18 @@ from fuel_test.settings import CREATE_SNAPSHOTS
class FullTestCase(CobblerTestCase):
def test_full(self):
Manifest().write_openstack_manifest(
remote=self.remote(),
template=Template.full(), ci=self.ci(),
manifest = Manifest().generate_openstack_manifest(
template=Template.full(),
ci=self.ci(),
controllers=self.nodes().controllers,
proxies=self.nodes().proxies,
quantums=self.nodes().quantums,
quantum=True)
quantum=True,
use_syslog=False
)
Manifest().write_manifest(remote=self.remote(), manifest=manifest)
self.validate(self.nodes().proxies[:1], 'puppet agent --test 2>&1')
self.validate(self.nodes().proxies[1:], 'puppet agent --test 2>&1')
self.validate(self.nodes().storages, 'puppet agent --test 2>&1')
@ -21,6 +26,7 @@ class FullTestCase(CobblerTestCase):
self.validate(self.nodes().controllers[1:], 'puppet agent --test 2>&1')
self.validate(self.nodes().controllers[:1], 'puppet agent --test 2>&1')
self.validate(self.nodes().computes, 'puppet agent --test 2>&1')
if CREATE_SNAPSHOTS:
self.environment().snapshot('full', force=True)

View File

@ -1,11 +1,19 @@
import unittest
from fuel_test.cobbler.vm_test_case import CobblerTestCase
from fuel_test.config import Config
from fuel_test.helpers import write_config
from fuel_test.manifest import Manifest, Template
from fuel_test.settings import CREATE_SNAPSHOTS
from fuel_test.settings import CREATE_SNAPSHOTS, ASTUTE_USE
class MinimalTestCase(CobblerTestCase):
def deploy(self):
if ASTUTE_USE:
self.prepare_astute()
self.deploy_by_astute()
else:
self.prepare_only_site_pp()
self.deploy_one_by_one()
def deploy_one_by_one(self):
self.validate(self.nodes().controllers[:1], 'puppet agent --test')
@ -13,41 +21,34 @@ class MinimalTestCase(CobblerTestCase):
self.validate(self.nodes().controllers[:1], 'puppet agent --test')
self.validate(self.nodes().computes, 'puppet agent --test')
def _deploy(self):
#
#astute.run
pass
def deploy(self):
#if DEBUG
self.deploy_minimal_one_by_one()
#else
self._deploy()
def deploy_by_astute(self):
self.remote().check_stderr("astute -f astute.yaml")
def prepare_only_site_pp(self):
Manifest.write_manifest(
self.remote(),
Manifest().generate_openstack_manifest(
template=Template.minimal(), ci=self.ci(),
manifest = Manifest().generate_openstack_manifest(
template=Template.minimal(),
ci=self.ci(),
controllers=self.nodes().controllers,
quantums=self.nodes().quantums,
quantum=True
)
)
Manifest().write_manifest(remote=self.remote(), manifest=manifest)
def prepare_astute(self):
Config().write_config(
self.remote(),
Config().generate(
config = Config().generate(
template=Template.minimal(),
ci=self.ci(),
quantums=self.nodes().quantums,
quantum=True
)
)
config_path = "/root/config.yaml"
write_config(self.remote(), config_path, str(config))
self.remote().check_stderr("openstack_system -c config.yaml -o /etc/puppet/manifests/site.pp -a astute.yaml")
def test_minimal(self):
self.deploy()
if CREATE_SNAPSHOTS:
self.environment().snapshot('minimal', force=True)

View File

@ -6,10 +6,14 @@ from fuel_test.settings import OPENSTACK_SNAPSHOT, CREATE_SNAPSHOTS
class SimpleTestCase(CobblerTestCase):
def test_simple(self):
Manifest().write_openstack_simple_manifest(
remote=self.remote(),
manifest = Manifest().generate_openstack_simple_manifest(
ci=self.ci(),
controllers=self.nodes().controllers)
controllers=self.nodes().controllers,
use_syslog=False
)
Manifest().write_manifest(remote=self.remote(), manifest=manifest)
self.validate(
self.nodes().controllers[:1] + self.nodes().computes,
'puppet agent --test 2>&1')

View File

@ -104,12 +104,6 @@ class CobblerTestCase(BaseTestCase):
gateway=self.ci().internal_router()
)
def _static(self, node_name):
if node_name.count('quantum'):
return "1"
else:
return "0"
def _add_node(self, client, token, cobbler, node_name, node_mac0, node_mac1,
node_mac2, node_ip, stomp_name, gateway, net_mask):
system_id = client.new_system(token)
@ -129,12 +123,12 @@ class CobblerTestCase(BaseTestCase):
netboot_enabled="1")
client.modify_system(system_id, 'modify_interface', {
"macaddress-eth0": str(node_mac0),
"static-eth0": self._static(node_name),
"static-eth0": "1",
"macaddress-eth1": str(node_mac1),
"ipaddress-eth1": str(node_ip),
"netmask-eth1": str(net_mask),
"dnsname-eth1": node_name + ".your-domain-name.com",
"static-eth1": self._static(node_name),
"static-eth1": "1",
"macaddress-eth2": str(node_mac2),
"static-eth2": "1"
}, token)
@ -163,7 +157,7 @@ class CobblerTestCase(BaseTestCase):
token,
cobbler,
node,
gateway=self.ci().internal_router(),
gateway=cobbler.get_ip_address_by_network_name('internal'),
net_mask=self.ci().internal_net_mask()
)
@ -193,8 +187,8 @@ class CobblerTestCase(BaseTestCase):
node.start()
node.await('internal')
sleep(20)
for node in self.ci().client_nodes():
node_remote = node.remote('public', login='root', password='r00tme')
#for node in self.ci().client_nodes():
# node_remote = node.remote('public', login='root', password='r00tme')
#puppet_apply(node_remote, 'class {rsyslog::client: log_remote => true, server => "%s"}' % cobbler_ip)
self.environment().snapshot('nodes-deployed', force=True)

View File

@ -1,3 +1,4 @@
import yaml
from fuel_test.manifest import Manifest
from fuel_test.settings import CURRENT_PROFILE, PUPPET_VERSION, INTERFACE_ORDER, INTERFACES
@ -23,7 +24,7 @@ class Config():
config.update(self.cobbler_nodes(ci, ci.nodes()))
return config
return yaml.safe_dump(config, default_flow_style=False)
def orchestrator_common(self, ci, template):
config = {"task_uuid": "deployment_task"}

View File

@ -180,7 +180,6 @@ def setup_puppet_master(remote):
puppet_apply(remote.sudo.ssh, 'class {puppet::fileserver_config:}')
puppet_apply(remote.sudo.ssh, 'class {puppetdb:}')
puppet_apply(remote.sudo.ssh, 'class {puppetdb::master::config: puppet_service_name=>"%s"}' % PUPPET_MASTER_SERVICE)
puppet_apply(remote.sudo.ssh, 'class {rsyslog::server: enable_tcp => false, enable_udp => true}')
remote.sudo.ssh.check_call("service %s restart" % PUPPET_MASTER_SERVICE)
def upload_recipes(remote, remote_dir="/etc/puppet/modules/"):

View File

@ -236,4 +236,4 @@ class Prepare(object):
if __name__ == '__main__':
Prepare().prepare_tempest_folsom()
Prepare().prepare_tempest_folsom()

View File

@ -1,7 +1,7 @@
import os
OS_FAMILY = os.environ.get('OS_FAMILY', "centos")
PUPPET_GEN = os.environ.get('PUPPET_GEN', "3")
PUPPET_GEN = os.environ.get('PUPPET_GEN', "2")
DEFAULT_IMAGES = {
'centos': '/var/lib/libvirt/images/centos63-cobbler-base.qcow2',
@ -58,10 +58,14 @@ ADMIN_TENANT_ESSEX = 'openstack'
ADMIN_TENANT_FOLSOM = 'admin'
CIRROS_IMAGE = 'http://srv08-srt.srt.mirantis.net/cirros-0.3.0-x86_64-disk.img'
CONTROLLERS = int(os.environ.get('CONTROLLERS', 3))
COMPUTES = int(os.environ.get('COMPUTES', 3))
STORAGES = int(os.environ.get('STORAGES', 3))
PROXIES = int(os.environ.get('PROXIES', 2))
#CONTROLLERS = int(os.environ.get('CONTROLLERS', 3))
#COMPUTES = int(os.environ.get('COMPUTES', 3))
#STORAGES = int(os.environ.get('STORAGES', 3))
#PROXIES = int(os.environ.get('PROXIES', 2))
CONTROLLERS = int(os.environ.get('CONTROLLERS', 2))
COMPUTES = int(os.environ.get('COMPUTES', 1))
STORAGES = int(os.environ.get('STORAGES', 1))
PROXIES = int(os.environ.get('PROXIES', 1))
EMPTY_SNAPSHOT = os.environ.get('EMPTY_SNAPSHOT', 'empty')
OPENSTACK_SNAPSHOT = os.environ.get('OPENSTACK_SNAPSHOT', 'openstack')
@ -88,12 +92,12 @@ DHCP = {
DEFAULT_POOLS = {
'centos': {
'public': '172.18.95.0/24,172.18.91.0/24:27',
'public': '10.108.0.0/16:24',
'private': '10.108.0.0/16:24',
'internal': '10.108.0.0/16:24',
},
'ubuntu': {
'public': '172.18.94.0/24,172.18.90.0/24:27',
'public': '10.107.0.0/16:24',
'private': '10.107.0.0/16:24',
'internal': '10.107.0.0/16:24',
},
@ -120,5 +124,5 @@ PROFILES_COBBLER_COMMON = {
'ubuntu': 'ubuntu_1204_x86_64'
}
ASTUTE_USE = os.environ.get('ASTUTE_USE', 'true') == 'true'
CURRENT_PROFILE = PROFILES_COBBLER_COMMON.get(OS_FAMILY)

View File

@ -55,10 +55,10 @@ class TestConfig(BaseTestCase):
def test_generate_stomp(self):
print yaml.safe_dump(Config().generate(
print Config().generate(
ci=self.ci(),
template=Template.stomp()),
default_flow_style=False)
template=Template.stomp())
if __name__ == '__main__':
unittest.main()