mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
travis: Use patched version of ipmitool for tests
- For out-of-band management feature (CLOUDSTACK-9299) use patched version of ipmitool that would work on trusty travis machines - The ipmitool used is from xenial/16.04 release with patch from RedHat https://bugzilla.redhat.com/show_bug.cgi?id=1286035 - Installs ipmitool from xenial repositories to get all the dependencies and then install patched deb version - Skip test if the known failure occurs Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
07564469e9
commit
4d5e8df2f9
@ -116,7 +116,7 @@ INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
|
||||
|
||||
INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
|
||||
VALUES ('Advanced', 'DEFAULT', 'management-server',
|
||||
'outofbandmanagement.sync.interval', '2000');
|
||||
'outofbandmanagement.sync.interval', '1000');
|
||||
|
||||
-- Enable dynamic RBAC by default for fresh deployments
|
||||
INSERT INTO `cloud`.`configuration` (category, instance, component, name, value)
|
||||
|
||||
@ -226,7 +226,7 @@
|
||||
},
|
||||
{
|
||||
"name": "outofbandmanagement.sync.interval",
|
||||
"value": "2000"
|
||||
"value": "1000"
|
||||
}
|
||||
],
|
||||
"mgtSvr": [
|
||||
|
||||
@ -70,6 +70,7 @@ class TestOutOfBandManagement(cloudstackTestCase):
|
||||
if self.server:
|
||||
self.server.shutdown()
|
||||
self.server.server_close()
|
||||
IpmiServerContext('reset')
|
||||
except Exception as e:
|
||||
raise Exception("Warning: Exception during cleanup : %s" % e)
|
||||
|
||||
@ -143,7 +144,13 @@ class TestOutOfBandManagement(cloudstackTestCase):
|
||||
cmd.action = action
|
||||
if timeout:
|
||||
cmd.timeout = timeout
|
||||
|
||||
try:
|
||||
return self.apiclient.issueOutOfBandManagementPowerAction(cmd)
|
||||
except Exception as e:
|
||||
if "packet session id 0x0 does not match active session" in str(e):
|
||||
raise self.skipTest("Known ipmitool issue hit, skipping test")
|
||||
raise e
|
||||
|
||||
|
||||
def configureAndEnableOobm(self):
|
||||
@ -166,8 +173,14 @@ class TestOutOfBandManagement(cloudstackTestCase):
|
||||
|
||||
|
||||
def checkSyncToState(self, state, interval):
|
||||
self.debug("Waiting for background thread to update powerstate to " + state)
|
||||
time.sleep(1 + int(interval)*2/1000) # interval is in ms
|
||||
def checkForStateSync(expectedState):
|
||||
response = self.getHost(hostId=self.getHost().id).outofbandmanagement
|
||||
return response.powerstate == expectedState, None
|
||||
|
||||
sync_interval = 1 + int(interval)/1000
|
||||
res, _ = wait_until(sync_interval, 10, checkForStateSync, state)
|
||||
if not res:
|
||||
self.fail("Failed to get host.powerstate synced to expected state:" + state)
|
||||
response = self.getHost(hostId=self.getHost().id).outofbandmanagement
|
||||
self.assertEqual(response.powerstate, state)
|
||||
|
||||
|
||||
@ -86,18 +86,22 @@ sudo service mysql restart
|
||||
echo -e "\nInstalling Development tools: "
|
||||
RETRY_COUNT=3
|
||||
|
||||
sudo apt-get -q -y install uuid-runtime genisoimage netcat freeipmi-common freeipmi-tools libfreeipmi12 > /dev/null
|
||||
sudo apt-get -q -y install uuid-runtime genisoimage netcat > /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo -e "\napt-get packages failed to install"
|
||||
fi
|
||||
|
||||
# We need version 1.8.15 or above, default installed version is buggy
|
||||
wget http://mirrors.kernel.org/ubuntu/pool/universe/i/ipmitool/ipmitool_1.8.15-1ubuntu1.1_amd64.deb -O /tmp/ipmitool.deb
|
||||
if [[ $? -eq 0 ]]; then
|
||||
sudo dpkg -i /tmp/ipmitool.deb
|
||||
sudo apt-get install -f -y
|
||||
# Use latest ipmitool 1.8.16 dependencies
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551
|
||||
sudo sh -c 'echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" >> /etc/apt/sources.list'
|
||||
sudo apt-get update -q -y > /dev/null
|
||||
sudo apt-get -q -y -V install freeipmi-common libfreeipmi16 libgcrypt20 libgpg-error-dev libgpg-error0 libopenipmi0 --no-install-recommends > /dev/null
|
||||
|
||||
# Installed version 1.8.16 with patch: https://bugzilla.redhat.com/show_bug.cgi?id=1286035
|
||||
wget http://packages.shapeblue.com/contribs/ipmitool_1.8.16_travis_amd64.deb -O ipmitool.deb > /dev/null
|
||||
sudo dpkg -i ipmitool.deb
|
||||
|
||||
ipmitool -V
|
||||
fi
|
||||
|
||||
echo "<settings>
|
||||
<mirrors>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user