Add astute run
This commit is contained in:
parent
1e8d02a0cb
commit
65ec325431
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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')
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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"}
|
||||
|
@ -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/"):
|
||||
|
@ -236,4 +236,4 @@ class Prepare(object):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
Prepare().prepare_tempest_folsom()
|
||||
Prepare().prepare_tempest_folsom()
|
@ -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)
|
||||
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user