move backend deployment integration test to actions, make test logging to tmp file. make update an extra databag item from config.
Change-Id: I4ba825d9046b9b8563215fed5a73097077460889
This commit is contained in:
parent
149107c53c
commit
f9798e01df
@ -54,7 +54,10 @@ TO_CLUSTER_TRANSLATORS = {
|
||||
translated_keys=['/networking/public/interface']
|
||||
)],
|
||||
'/networking/interfaces/tenant/nic': [KeyTranslator(
|
||||
translated_keys=['/networking/tenant/interface']
|
||||
translated_keys=[
|
||||
'/networking/tenant/interface',
|
||||
'/networking/plugins/ovs/gre/local_ip_interface'
|
||||
]
|
||||
)],
|
||||
}
|
||||
),
|
||||
|
@ -239,6 +239,7 @@ class TestEndToEnd(unittest2.TestCase):
|
||||
session.add(host)
|
||||
|
||||
def setUp(self):
|
||||
super(TestEndToEnd, self).setUp()
|
||||
database.create_db()
|
||||
shutil.rmtree = Mock()
|
||||
os.system = Mock()
|
||||
@ -250,9 +251,17 @@ class TestEndToEnd(unittest2.TestCase):
|
||||
self.os_installer_checker_['cobbler'] = self._check_cobbler
|
||||
self.package_installer_checker_ = {}
|
||||
self.package_installer_checker_['chef'] = self._check_chef
|
||||
self.backup_logfile = flags.OPTIONS.logfile
|
||||
if not flags.OPTIONS.logfile:
|
||||
flags.OPTIONS.logfile = '/tmp/test_trigger_install.log'
|
||||
|
||||
logsetting.init()
|
||||
|
||||
def tearDown(self):
|
||||
flags.OPTIONS.logfile = self.backup_logfile
|
||||
logsetting.init()
|
||||
database.drop_db()
|
||||
super(TestEndToEnd, self).tearDown()
|
||||
|
||||
def test_1(self):
|
||||
self._test('test1')
|
@ -49,8 +49,15 @@ class ApiTestCase(unittest2.TestCase):
|
||||
# We do not want to send a real task as our test environment
|
||||
# does not have a AMQP system set up. TODO(): any better way?
|
||||
current_app.send_task = Mock()
|
||||
self.backup_logfile = flags.OPTIONS.logfile
|
||||
if not flags.OPTIONS.logfile:
|
||||
flags.OPTIONS.logfile = '/tmp/test_api.log'
|
||||
|
||||
logsetting.init()
|
||||
|
||||
def tearDown(self):
|
||||
flags.OPTIONS.logfile = self.backup_logfile
|
||||
logsetting.init()
|
||||
database.drop_db()
|
||||
super(ApiTestCase, self).tearDown()
|
||||
|
||||
|
@ -7,17 +7,46 @@ import sys
|
||||
from optparse import OptionParser
|
||||
|
||||
|
||||
PARSER = OptionParser()
|
||||
OPTIONS = None
|
||||
class Flags(object):
|
||||
PARSER = OptionParser()
|
||||
PARSED_OPTIONS = None
|
||||
|
||||
def parse_args(self):
|
||||
(options, argv) = Flags.PARSER.parse_args()
|
||||
sys.argv = [sys.argv[0]] + argv
|
||||
Flags.PARSED_OPTIONS = options
|
||||
|
||||
def __getattr__(self, name):
|
||||
if Flags.PARSED_OPTIONS and hasattr(Flags.PARSED_OPTIONS, name):
|
||||
return getattr(Flags.PARSED_OPTIONS, name)
|
||||
|
||||
for option in Flags.PARSER.option_list:
|
||||
if option.dest == name:
|
||||
return option.default
|
||||
|
||||
raise AttributeError('Option instance has no attribute %s' % name)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
if Flags.PARSED_OPTIONS and hasattr(Flags.PARSED_OPTIONS, name):
|
||||
setattr(Flags.PARSED_OPTIONS, name, value)
|
||||
return
|
||||
|
||||
for option in Flags.PARSER.option_list:
|
||||
if option.dest == name:
|
||||
option.default = value
|
||||
return
|
||||
|
||||
object.__setattr__(self, name, value)
|
||||
|
||||
|
||||
OPTIONS = Flags()
|
||||
|
||||
|
||||
def init():
|
||||
"""Init flag parsing.
|
||||
"""
|
||||
global OPTIONS
|
||||
(options, argv) = PARSER.parse_args()
|
||||
sys.argv = [sys.argv[0]] + argv
|
||||
OPTIONS = options
|
||||
OPTIONS.parse_args()
|
||||
|
||||
|
||||
def add(flagname, **kwargs):
|
||||
@ -26,7 +55,8 @@ def add(flagname, **kwargs):
|
||||
:param flagname: flag name declared in cmd as --<flagname>=...
|
||||
:type flagname: str
|
||||
"""
|
||||
PARSER.add_option('--%s' % flagname, dest=flagname, **kwargs)
|
||||
Flags.PARSER.add_option('--%s' % flagname,
|
||||
dest=flagname, **kwargs)
|
||||
|
||||
|
||||
def add_bool(flagname, default=True, **kwargs):
|
||||
@ -37,9 +67,9 @@ def add_bool(flagname, default=True, **kwargs):
|
||||
:param default: default value
|
||||
:type default: bool
|
||||
"""
|
||||
PARSER.add_option('--%s' % flagname,
|
||||
dest=flagname, default=default,
|
||||
action="store_true", **kwargs)
|
||||
PARSER.add_option('--no%s' % flagname,
|
||||
dest=flagname,
|
||||
action="store_false", **kwargs)
|
||||
Flags.PARSER.add_option('--%s' % flagname,
|
||||
dest=flagname, default=default,
|
||||
action="store_true", **kwargs)
|
||||
Flags.PARSER.add_option('--no%s' % flagname,
|
||||
dest=flagname,
|
||||
action="store_false", **kwargs)
|
||||
|
@ -43,10 +43,22 @@ fi
|
||||
sudo sed -i "/COBBLER_INSTALLER_URL/c\COBBLER_INSTALLER_URL = 'http:\/\/$ipaddr/cobbler_api'" /etc/compass/setting
|
||||
sudo sed -i "/CHEF_INSTALLER_URL/c\CHEF_INSTALLER_URL = 'https:\/\/$ipaddr/'" /etc/compass/setting
|
||||
|
||||
|
||||
# add cookbooks, databags and roles
|
||||
sudo /opt/compass/bin/addcookbooks.py --cookbooks_dir=$ADAPTER_HOME/chef/cookbooks
|
||||
sudo /opt/compass/bin/adddatabags.py --databags_dir=$ADAPTER_HOME/chef/databags
|
||||
sudo /opt/compass/bin/addroles.py --roles_dir=$ADAPTER_HOME/chef/roles
|
||||
sudo mkdir -p /var/chef/cookbooks/
|
||||
sudo mkdir -p /var/chef/databags/
|
||||
sudo mkdir -p /var/chef/roles/
|
||||
sudo cp -r $ADAPTER_HOME/chef/cookbooks/* /var/chef/cookbooks/
|
||||
sudo cp -r $ADAPTER_HOME/chef/databags/* /var/chef/databags/
|
||||
sudo cp -r $ADAPTER_HOME/chef/roles/* /var/chef/roles/
|
||||
|
||||
sudo chmod +x /opt/compass/bin/addcookbooks.py
|
||||
sudo chmod +x /opt/compass/bin/adddatabags.py
|
||||
sudo chmod +x /opt/compass/bin/addroles.py
|
||||
|
||||
sudo /opt/compass/bin/addcookbooks.py --cookbooks_dir=/var/chef/cookbooks
|
||||
sudo /opt/compass/bin/adddatabags.py --databags_dir=/var/chef/databags
|
||||
sudo /opt/compass/bin/addroles.py --roles_dir=/var/chef/roles
|
||||
|
||||
# copy the chef validatation keys to cobbler snippets
|
||||
sudo cp -rf /etc/chef-server/chef-validator.pem /var/lib/cobbler/snippets/chef-validator.pem
|
||||
|
Loading…
x
Reference in New Issue
Block a user