summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile51
-rw-r--r--build/opnfv-apex-common.spec2
-rwxr-xr-xbuild/undercloud.sh9
-rwxr-xr-xci/deploy.sh2
-rwxr-xr-xci/dev_deploy_check.sh4
-rw-r--r--docs/installation-instructions/baremetal.rst15
-rw-r--r--docs/installation-instructions/index.rst2
-rw-r--r--docs/installation-instructions/introduction.rst9
-rw-r--r--docs/installation-instructions/requirements.rst2
-rw-r--r--docs/installation-instructions/verification.rst7
-rw-r--r--lib/python/apex/common/constants.py1
-rw-r--r--lib/python/apex/network_settings.py3
12 files changed, 88 insertions, 19 deletions
diff --git a/build/Makefile b/build/Makefile
index 4d024a3b..3f3d1c3a 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -248,7 +248,16 @@ iso: iso-clean images rpms $(CENTISO)
@ln $(RPMODL) centos/Packages
@ln $(RPMONO) centos/Packages
@ln $(RPMSFC) centos/Packages
- cd centos/Packages && yumdownloader openvswitch && yumdownloader openstack-tripleo && yumdownloader jq
+ # add packages to the centos packages
+ cd centos/Packages && yumdownloader openvswitch
+ cd centos/Packages && yumdownloader openstack-tripleo
+ cd centos/Packages && yumdownloader jq
+ cd centos/Packages && yumdownloader python34
+ cd centos/Packages && yumdownloader python34-libs
+ cd centos/Packages && yumdownloader python34-yaml
+ cd centos/Packages && yumdownloader python34-setuptools
+ cd centos/Packages && curl -O https://radez.fedorapeople.org/python34-markupsafe-0.23-9.el7.centos.x86_64.rpm
+ cd centos/Packages && curl -O https://radez.fedorapeople.org/python3-jinja2-2.8-5.el7.centos.noarch.rpm
# regenerate yum repo data
@echo "Generating new yum metadata"
createrepo --update -g ../c7-opnfv-x86_64-comps.xml centos
@@ -257,3 +266,43 @@ iso: iso-clean images rpms $(CENTISO)
mkisofs -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -V "OPNFV CentOS 7 x86_64" -R -J -v -T -o $(ISO) centos
isohybrid $(ISO)
@printf "\n\nISO is built at $(ISO)\n\n"
+
+###################
+# python3-jinja2 #
+###################
+
+.PHONY: python3-jinja2
+python3-jinja2: python3-markupsafe python-jinja2-2.8-5.fc24.src.rpm
+ curl -O http://ftp.linux.ncsu.edu/pub/fedora/linux//development/24/Everything/source/tree/Packages/p/python-jinja2-2.8-5.fc24.src.rpm
+ rpm2cpio python-jinja2-2.8-5.fc24.src.rpm | cpio -idmv
+ sed -i 's/python3-devel/python34-devel/' python-jinja2.spec
+ sed -i 's/python3-setuptools/python34-setuptools/' python-jinja2.spec
+ sed -i 's/python3-pytest/python34-pytest/' python-jinja2.spec
+ sed -i 's/python3-markupsafe/python34-markupsafe/' python-jinja2.spec
+ rpmbuild -ba python-jinja2.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "with_python3 1"
+
+.PHONY: python3-jinja2-clean
+python3-jinja2-clean:
+ rm -f python-jinja2-2.8-5.fc24.src.rpm
+ rm -f python-jinja2.spec
+ rm -f Jinja2-2.8.tar.gz
+
+########################
+# python3-markupsafe #
+########################
+
+.PHONY: python3-markupsafe
+python3-markupsafe: python-markupsafe-0.23-9.fc24.src.rpm
+ curl -O http://ftp.linux.ncsu.edu/pub/fedora/linux//development/24/Everything/source/tree/Packages/p/python-markupsafe-0.23-9.fc24.src.rpm
+ rpm2cpio python-markupsafe-0.23-9.fc24.src.rpm | cpio -idmv
+ sed -i 's/python3-devel/python34-devel/' python-markupsafe.spec
+ sed -i 's/python3-setuptools/python34-setuptools/' python-markupsafe.spec
+ sed -i 's/python3-pytest/python34-pytest/' python-markupsafe.spec
+ sed -i 's/python3-markupsafe/python34-markupsafe/' python-markupsafe.spec
+ rpmbuild -ba python-markupsafe.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "with_python3 1"
+
+.PHONY: python3-markupsafe-clean
+python3-markupsafe-clean:
+ rm -f python-markupsafe-0.23-9.fc24.src.rpm
+ rm -f python-markupsafe.spec
+ rm -f MarkupSafe-0.23.tar.gz
diff --git a/build/opnfv-apex-common.spec b/build/opnfv-apex-common.spec
index fc82fca7..536f9ec3 100644
--- a/build/opnfv-apex-common.spec
+++ b/build/opnfv-apex-common.spec
@@ -11,7 +11,7 @@ Source0: opnfv-apex-common.tar.gz
BuildArch: noarch
BuildRequires: python-docutils python34-devel
Requires: openstack-tripleo opnfv-apex-sdn opnfv-apex-undercloud openvswitch qemu-kvm bridge-utils libguestfs-tools
-Requires: initscripts net-tools iputils iproute iptables python34 python34-yaml python34-setuptools
+Requires: initscripts net-tools iputils iproute iptables python34 python34-yaml python3-jinja2
%description
Scripts for OPNFV deployment using RDO Manager
diff --git a/build/undercloud.sh b/build/undercloud.sh
index f2e98795..551dbd88 100755
--- a/build/undercloud.sh
+++ b/build/undercloud.sh
@@ -13,7 +13,7 @@ source ./variables.sh
populate_cache "$rdo_images_uri/undercloud.qcow2"
if [ ! -d images ]; then mkdir images/; fi
-cp -f cache/undercloud.qcow2 images/
+cp -f cache/undercloud.qcow2 images/undercloud_build.qcow2
#Adding OpenStack packages to undercloud
pushd images > /dev/null
@@ -56,7 +56,7 @@ git archive --format=tar.gz --prefix=openstack-tripleo-heat-templates/ HEAD > ..
popd > /dev/null
LIBGUESTFS_BACKEND=direct virt-customize --upload opnfv-tht.tar.gz:/usr/share \
--run-command "cd /usr/share && rm -rf openstack-tripleo-heat-templates && tar xzf opnfv-tht.tar.gz" \
- -a undercloud.qcow2
+ -a undercloud_build.qcow2
# install the packages above and enabling ceph to live on the controller
# OpenWSMan package update supports the AMT Ironic driver for the TealBox
@@ -68,7 +68,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "cp /usr/share/instack-undercloud/undercloud.conf.sample /home/stack/undercloud.conf && chown stack:stack /home/stack/undercloud.conf" \
--upload ../opnfv-environment.yaml:/home/stack/ \
--upload ../virtual-environment.yaml:/home/stack/ \
- -a undercloud.qcow2
+ -a undercloud_build.qcow2
# Add custom IPA to allow kernel params
wget https://raw.githubusercontent.com/trozet/ironic-python-agent/opnfv_kernel/ironic_python_agent/extensions/image.py
@@ -79,6 +79,7 @@ LIBGUESTFS_BACKEND=direct virt-customize --upload ../build_perf_image.sh:/home/s
--upload ../set_perf_images.sh:/home/stack \
--upload image.py:/root \
--upload image.pyc:/root \
- -a undercloud.qcow2
+ -a undercloud_build.qcow2
+mv -f undercloud_build.qcow2 undercloud.qcow2
popd > /dev/null
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 25dc6aa4..7c07ae63 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -1255,8 +1255,6 @@ parse_cmdline() {
##END FUNCTIONS
main() {
- # Make sure jinja2 is installed
- easy_install-3.4 jinja2 > /dev/null
parse_cmdline "$@"
echo -e "${blue}INFO: Parsing network settings file...${reset}"
parse_network_settings
diff --git a/ci/dev_deploy_check.sh b/ci/dev_deploy_check.sh
index e93e9f4f..8ba46ab0 100755
--- a/ci/dev_deploy_check.sh
+++ b/ci/dev_deploy_check.sh
@@ -35,3 +35,7 @@ for i in epel-release python34-PyYAML openvswitch openstack-tripleo libguestfs l
fi
fi
done
+
+
+# Make sure jinja2 is installed
+easy_install-3.4 jinja2
diff --git a/docs/installation-instructions/baremetal.rst b/docs/installation-instructions/baremetal.rst
index e3257009..e60ec9dc 100644
--- a/docs/installation-instructions/baremetal.rst
+++ b/docs/installation-instructions/baremetal.rst
@@ -10,9 +10,10 @@ platform. All the networks involved in the OPNFV infrastructure as well as the
networks and the private tenant VLANs needs to be manually configured.
The Jumphost can be installed using the bootable ISO or by other means including the
-(``opnfv-apex*.rpm``) RPMs and virtualization capabilities. The Jumphost should then be
-configured with an IP gateway on its admin or public interface and configured with a
-working DNS server. The Jumphost should also have routable access to the lights out network.
+(``opnfv-apex*.rpm``) RPMs, their dependencies and virtualization capabilities. The
+Jumphost should then be configured with an IP gateway on its admin or public interface
+and configured with a working DNS server. The Jumphost should also have routable access
+to the lights out network.
``opnfv-deploy`` is then executed in order to deploy the Undercloud VM. ``opnfv-deploy`` uses
three configuration files in order to know how to install and provision the OPNFV target system.
@@ -102,13 +103,21 @@ Install Bare Metal Jumphost
- opnfv-apex-opendaylight-sfc - OpenDaylight SFC support **
- opnfv-apex-undercloud - (required) Undercloud Image
- opnfv-apex-common - (required) Supporting config files and scripts
+ - python34-markupsafe - (required) Dependency of opnfv-apex-common ***
+ - python3-jinja2 - (required) Dependency of opnfv-apex-common ***
** One or more of these RPMs is required
Only one of opnfv-apex, opnfv-apex-onos and opnfv-apex-opendaylight-sfc is required. It is
safe to leave the unneeded SDN controller's RPMs uninstalled if you do not intend to use them.
+ *** These RPMs are not yet distributed by CentOS or EPEL.
+ Apex has built these for distribution with Apex while CentOS and EPEL do not distribute them. Once
+ they are carried in an upstream channel Apex will no longer carry them and they will not need
+ special handling for installation.
+
To install these RPMs download them to the local disk on your CentOS 7 install and pass the
file names directly to yum:
+ ``sudo yum install python34-markupsafe-<version>.rpm python3-jinja2-<version>.rpm``
``sudo yum install opnfv-apex-<version>.rpm opnfv-apex-undercloud-<version>.rpm opnfv-apex-common-<version>.rpm``
diff --git a/docs/installation-instructions/index.rst b/docs/installation-instructions/index.rst
index 1c3f4fe1..0dd3d87b 100644
--- a/docs/installation-instructions/index.rst
+++ b/docs/installation-instructions/index.rst
@@ -19,7 +19,7 @@ Contents:
:Authors: Tim Rozet (trozet@redhat.com)
:Authors: Dan Radez (dradez@redhat.com)
-:Version: 1.0
+:Version: 3.0
Indices and tables
==================
diff --git a/docs/installation-instructions/introduction.rst b/docs/installation-instructions/introduction.rst
index 3d5d1bc4..14fe04be 100644
--- a/docs/installation-instructions/introduction.rst
+++ b/docs/installation-instructions/introduction.rst
@@ -20,10 +20,11 @@ The Apex deployment artifacts contain the necessary tools to deploy and
configure an OPNFV target system using the Apex deployment toolchain.
These artifacts offer the choice of using the Apex bootable ISO
(``opnfv-apex-colorado.iso``) to both install CentOS 7 and the
-necessary materials to deploy or the Apex RPMs (``opnfv-apex*.rpm``)
-which expects installation to a CentOS 7 libvirt enabled host. The RPM
-contains a collection of configuration files, prebuilt disk images,
-and the automatic deployment script (``opnfv-deploy``).
+necessary materials to deploy or the Apex RPMs (``opnfv-apex*.rpm``),
+and their associated dependencies, which expects installation to a
+CentOS 7 libvirt enabled host. The RPM contains a collection of
+configuration files, prebuilt disk images, and the automatic deployment
+script (``opnfv-deploy``).
An OPNFV install requires a "Jumphost" in order to operate. The bootable
ISO will allow you to install a customized CentOS 7 release to the Jumphost,
diff --git a/docs/installation-instructions/requirements.rst b/docs/installation-instructions/requirements.rst
index ff9dc2ad..af03aac8 100644
--- a/docs/installation-instructions/requirements.rst
+++ b/docs/installation-instructions/requirements.rst
@@ -15,7 +15,7 @@ The Jumphost requirements are outlined below:
4. minimum 2 networks and maximum 6 networks, multiple NIC and/or VLAN combinations are supported.
This is virtualized for a VM deployment.
-5. The Colorado Apex RPMs.
+5. The Colorado Apex RPMs and their dependencies.
6. 16 GB of RAM for a bare metal deployment, 64 GB of RAM for a VM deployment.
diff --git a/docs/installation-instructions/verification.rst b/docs/installation-instructions/verification.rst
index 42dcb8c5..0ff56322 100644
--- a/docs/installation-instructions/verification.rst
+++ b/docs/installation-instructions/verification.rst
@@ -3,9 +3,12 @@ Verifying the Setup
Once the deployment has finished, the OPNFV deployment can be accessed via the Undercloud node. From
the jump host ssh to the Undercloud host and become the stack user. Alternativly ssh keys have been
-setup such that the root user on the jump host can ssh to Undercloud directly as the stack user.
+setup such that the root user on the jump host can ssh to Undercloud directly as the stack user. For
+convenience a utility script has been provided to look up the undercloud's ip address and ssh to the
+undercloud all in one command. An optional user name can be passed to indicate whether to connect as
+the stack or root user. The stack user is default if a username is not specified.
-| ``ssh root@192.0.2.1``
+| ``opnfv-util undercloud root``
| ``su - stack``
Once connected to Undercloud as the stack user look for two keystone files that can be used to
diff --git a/lib/python/apex/common/constants.py b/lib/python/apex/common/constants.py
index 506b7b2b..8ed49ff7 100644
--- a/lib/python/apex/common/constants.py
+++ b/lib/python/apex/common/constants.py
@@ -14,3 +14,4 @@ STORAGE_NETWORK = 'storage_network'
API_NETWORK = 'api_network'
OPNFV_NETWORK_TYPES = [ADMIN_NETWORK, PRIVATE_NETWORK, PUBLIC_NETWORK,
STORAGE_NETWORK, API_NETWORK]
+DNS_SERVERS = ["8.8.8.8", "8.8.4.4"]
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index ea7f4ca9..1ddf4620 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -70,6 +70,9 @@ class NetworkSettings:
logging.info("{} is not in specified, will collapse with "
"admin_network".format(network))
+ self.settings_obj['dns_servers'] = self.settings_obj.get(
+ 'dns_servers', constants.DNS_SERVERS)
+
def _config_required_settings(self, network):
"""
Configures either CIDR or bridged_interface setting