summaryrefslogtreecommitdiffstats
path: root/build/undercloud.sh
blob: 02ff3ff6f8533c77051aee252cb38795f7f7239f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh
##############################################################################
# Copyright (c) 2015 Tim Rozet (Red Hat), Dan Radez (Red Hat) and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -e
source ./cache.sh
source ./variables.sh

populate_cache "$rdo_images_uri/undercloud.qcow2"
if [ ! -d images ]; then mkdir images/; fi
cp -f cache/undercloud.qcow2 images/

#Adding OpenStack packages to undercloud
pushd images > /dev/null

# install the packages above and enabling ceph to live on the controller
# OpenWSMan package update supports the AMT Ironic driver for the TealBox
LIBGUESTFS_BACKEND=direct virt-customize \
    --run-command "sed -i '/ControllerEnableCephStorage/c\\  ControllerEnableCephStorage: true' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml" \
    --run-command "sed -i '/  \$enable_ceph = /c\\  \$enable_ceph = true' /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller_pacemaker.pp" \
    --run-command "sed -i '/  \$enable_ceph = /c\\  \$enable_ceph = true' /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller.pp" \
    --run-command "curl http://download.opensuse.org/repositories/Openwsman/CentOS_CentOS-7/Openwsman.repo > /etc/yum.repos.d/wsman.repo" \
    --run-command "yum update -y openwsman*" \
    --run-command "cp /usr/share/instack-undercloud/undercloud.conf.sample /home/stack/undercloud.conf && chown stack:stack /home/stack/undercloud.conf" \
    -a undercloud.qcow2

# Patch in OpenDaylight installation and configuration
#LIBGUESTFS_BACKEND=direct virt-customize --upload ../opnfv-tripleo-heat-templates.patch:/tmp \
#                                         --run-command "cd /usr/share/openstack-tripleo-heat-templates/ && patch -Np1 < /tmp/opnfv-tripleo-heat-templates.patch" \
#                                         -a undercloud.qcow2
popd > /dev/null
span> = nova_client(self.conf.nova_version, get_session()) self.test_dir = get_doctor_test_root_dir() self.host = None self.GetLog = False self.disable_network_log = None def start(self, host): self.log.info('fault inject start......') self._set_link_down(host.ip) self.host = host self.log.info('fault inject end......') def cleanup(self): self.log.info('fault inject cleanup......') self.get_disable_network_log() def get_disable_network_log(self): if self.GetLog: self.log.info('Already get the disable_netork.log from down_host......') return self.disable_network_log if self.host is not None: client = SSHClient(self.host.ip, self.installer.node_user_name, key_filename=self.installer.get_ssh_key_from_installer(), look_for_keys=True, log=self.log) self.disable_network_log = '{0}/{1}'.format(self.test_dir, 'disable_network.log') client.scp('disable_network.log', self.disable_network_log, method='get') self.log.info('Get the disable_netork.log from down_host(host_name:%s, host_ip:%s)' % (self.host.name, self.host.ip)) self.GetLog = True return self.disable_network_log def _set_link_down(self, compute_ip): file_name = '{0}/{1}'.format(self.test_dir, 'disable_network.sh') with open(file_name, 'w') as file: file.write(LINK_DOWN_SCRIPT.format(compute_ip=compute_ip)) client = SSHClient(compute_ip, self.installer.node_user_name, key_filename=self.installer.get_ssh_key_from_installer(), look_for_keys=True, log=self.log) client.scp(file_name, 'disable_network.sh') command = 'bash disable_network.sh > disable_network.log 2>&1 &' client.ssh(command)