summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Radez <dradez@redhat.com>2016-11-23 11:38:27 -0500
committerDan Radez <dradez@redhat.com>2016-12-02 15:49:14 -0500
commit32add4b10a93bacbee9162ec9bf1f5be38c8a2fb (patch)
treebe55f505acb8b6d615c938f7f1adbd3abcf6afa3
parentbdc8b51164dff9f47be11bbd7a5cbf9789068489 (diff)
Adding a release RPM
JIRA: APEX-351 Change-Id: I9b8b74073287005221a7a3f6dfe2d52a7d1cf667 Signed-off-by: Dan Radez <dradez@redhat.com> (cherry picked from commit 72f30f98de111e9f10a58829b78e51e80a5a52a5)
-rw-r--r--build/Makefile29
-rw-r--r--build/rpm_specs/opnfv-apex-release.spec30
-rwxr-xr-xci/build.sh12
-rw-r--r--config/yum.repos.d/opnfv-apex.repo6
-rw-r--r--docs/installationprocedure/baremetal.rst38
-rw-r--r--docs/releasenotes/release-notes.rst1
6 files changed, 102 insertions, 14 deletions
diff --git a/build/Makefile b/build/Makefile
index b6efdf6..f4a1b2e 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -12,7 +12,10 @@ export CENTDNLD = http://mirrors.cat.pdx.edu/centos/7.2.1511/isos/x86_64/CentOS-
export CENTISO = $(shell pwd)/$(shell basename $(CENTDNLD))
export RELEASE = "0"
export ISO = $(shell pwd)/release/OPNFV-CentOS-7-x86_64-${RELEASE}.iso
+
+export RELRPMVERS = $(shell grep Version $(shell pwd)/rpm_specs/opnfv-apex-release.spec | head -n 1 | awk '{ print $$2 }')
export RPMVERS = $(shell grep Version $(shell pwd)/rpm_specs/opnfv-apex.spec | head -n 1 | awk '{ print $$2 }')
+export RPMREL = $(shell pwd)/noarch/opnfv-apex-release-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
export RPMCOM = $(shell pwd)/noarch/opnfv-apex-common-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
export RPMUDR = $(shell pwd)/noarch/opnfv-apex-undercloud-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
export RPMODL = $(shell pwd)/noarch/opnfv-apex-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
@@ -39,10 +42,32 @@ images-clean: undercloud-clean overcloud-full-clean overcloud-opendaylight-clean
rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm
.PHONY: rpms-check
-rpms-check: common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check
+rpms-check: release-rpm-check common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check
.PHONY: rpms-clean
-rpms-clean: common-rpm-clean undercloud-rpm-clean opendaylight-rpm-clean onos-rpm-clean
+rpms-clean: release-rpm-clean common-rpm-clean undercloud-rpm-clean opendaylight-rpm-clean onos-rpm-clean
+ rm -rf noarch
+ rm -rf BUILDROOT
+
+opnfv-apex-release.tar.gz:
+ pushd ../ && git archive --format=tar.gz --prefix=opnfv-apex-release-$(RELRPMVERS)/ HEAD > build/opnfv-apex-release.tar.gz
+
+.PHONY: release-rpm-check
+release-rpm-check: opnfv-apex-release.tar.gz
+ rpmbuild --clean -bi -bl rpm_specs/opnfv-apex-release.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 "release $(shell echo $(RELEASE) | tr -d '_-')"
+
+.PHONY: release-rpm
+release-rpm: opnfv-apex-release.tar.gz $(RPMREL)
+
+$(RPMREL):
+ @echo "Building the Apex Release RPM"
+ # build the release RPM
+ rpmbuild --clean -ba rpm_specs/opnfv-apex-release.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 "release $(shell echo $(RELEASE) | tr -d '_-')"
+
+.PHONY: release-rpm-clean
+release-rpm-clean:
+ rm -rf opnfv-apex-release-$(RPMVERS)
+ rm -rf opnfv-apex-release.tar.gz
opnfv-apex-common.tar.gz:
pushd ../ && git archive --format=tar.gz --prefix=opnfv-apex-common-$(RPMVERS)/ HEAD > build/opnfv-apex-common.tar.gz
diff --git a/build/rpm_specs/opnfv-apex-release.spec b/build/rpm_specs/opnfv-apex-release.spec
new file mode 100644
index 0000000..cc06ab5
--- /dev/null
+++ b/build/rpm_specs/opnfv-apex-release.spec
@@ -0,0 +1,30 @@
+Name: opnfv-apex-release
+Version: colorado
+Release: %{release}
+Summary: RPM Release file
+
+Group: System Environment
+License: Apache 2.0
+URL: https://gerrit.opnfv.org/gerrit/apex.git
+Source0: opnfv-apex-release.tar.gz
+
+BuildArch: noarch
+Requires: rdo-release = mitaka epel-release libvirt-python
+
+%description
+RPM Release file that provides a yum repo file to install OPNFV Apex
+
+%prep
+%setup -q
+
+%install
+mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d/
+install config/yum.repos.d/opnfv-apex.repo %{buildroot}%{_sysconfdir}/yum.repos.d/
+
+%files
+%defattr(644, root, root, -)
+%{_sysconfdir}/yum.repos.d/opnfv-apex.repo
+
+%changelog
+* Wed Nov 23 2016 Dan Radez <dradez@redhat.com> - 3.0-1
+- Initial Packaging
diff --git a/ci/build.sh b/ci/build.sh
index f1333ce..1b66d55 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -36,6 +36,7 @@ CACHE_DIR="cache"
CACHE_NAME="apex-cache"
MAKE_TARGETS="images"
REQUIRED_PKGS="rpm-build python-docutils"
+RELEASE_RPM=""
parse_cmdline() {
while [ "${1:0:1}" = "-" ]
@@ -63,6 +64,11 @@ parse_cmdline() {
echo "Buiding opnfv-apex RPMs"
shift 1
;;
+ --release-rpm )
+ RELEASE_RPM=" release-rpm"
+ echo "Buiding opnfv-apex RPMs"
+ shift 1
+ ;;
--debug )
debug="TRUE"
echo "Enable debug output"
@@ -83,6 +89,9 @@ run_make() {
parse_cmdline "$@"
+# Add release rpm to make targets if defined
+MAKE_TARGETS+=$RELEASE_RPM
+
# Install build dependencies
for pkg in $REQUIRED_PKGS; do
if ! rpm -q $pkg > /dev/null; then
@@ -123,6 +132,9 @@ if [[ "$MAKE_TARGETS" == "images" ]]; then
if [[ $commit_file_list == *build/rpm_specs/opnfv-apex-undercloud.spec* ]]; then
MAKE_TARGETS+=" undercloud-rpm-check"
fi
+ if [[ $commit_file_list == *build/rpm_specs/opnfv-apex-release.spec* ]]; then
+ MAKE_TARGETS+=" release-rpm-check"
+ fi
if [[ $commit_file_list == *build/rpm_specs/opnfv-apex-common.spec* ]]; then
MAKE_TARGETS+=" common-rpm-check"
fi
diff --git a/config/yum.repos.d/opnfv-apex.repo b/config/yum.repos.d/opnfv-apex.repo
new file mode 100644
index 0000000..c091ac4
--- /dev/null
+++ b/config/yum.repos.d/opnfv-apex.repo
@@ -0,0 +1,6 @@
+[opnfv-apex]
+name=OPNFV Apex Colorado
+baseurl=http://artifacts.opnfv.org/apex/colorado/yumrepo/
+failovermethod=priority
+enabled=1
+gpgcheck=0
diff --git a/docs/installationprocedure/baremetal.rst b/docs/installationprocedure/baremetal.rst
index b103213..3236695 100644
--- a/docs/installationprocedure/baremetal.rst
+++ b/docs/installationprocedure/baremetal.rst
@@ -94,9 +94,10 @@ Install Bare Metal Jumphost
support is completed.
1b. If your Jump host already has CentOS 7 with libvirt running on it then
- install the install the RDO Release RPM:
+ install the install the RDO Mitaka Release RPM and epel-release:
- ``sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm``
+ ``sudo yum install https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-6.noarch.rpm``
+ ``sudo yum install epel-release``
The RDO Project release repository is needed to install OpenVSwitch, which
is a dependency of opnfv-apex. If you do not have external connectivity to
@@ -113,11 +114,26 @@ Install Bare Metal Jumphost
the USB device as the boot media on your Jumphost
2b. If your Jump host already has CentOS 7 with libvirt running on it then
- install the opnfv-apex RPMs from the OPNFV artifacts site
- <http://artifacts.opnfv.org/apex.html>. The following RPMS are available
- for installation:
+ install the opnfv-apex RPMs using the OPNFV artifacts yum repo. This yum
+ repo is created at release. It will not exist before release day.
+
+ ``sudo yum install http://artifacts.opnfv.org/apex/colorado/opnfv-apex-release-colorado.noarch.rpm``
+
+ Once you have installed the repo definitions for Apex, RDO and EPEL then
+ yum install Apex:
+
+ ``sudo yum install opnfv-apex``
- - opnfv-apex - OpenDaylight L2 / L3 and ONOS support *
+ If ONOS will be used, install the ONOS rpm instead of the opnfv-apex rpm.
+
+ ``sudo yum install opnfv-apex-onos``
+
+2c. If you choose not to use the Apex yum repo or you choose to use
+ pre-released RPMs you can download and install the required RPMs from the
+ artifacts site <http://artifacts.opnfv.org/apex.html>. The following RPMs
+ are available for installation:
+
+ - opnfv-apex - OpenDaylight L2 / L3 and ODL SFC support *
- opnfv-apex-onos - ONOS support *
- opnfv-apex-undercloud - (reqed) Undercloud Image
- opnfv-apex-common - (reqed) Supporting config files and scripts
@@ -136,20 +152,18 @@ Install Bare Metal Jumphost
no longer carry them and they will not need special handling for
installation.
- Python 3.4 is also required and it needs to be installed if you are using
- the Centos 7 base image:
+ The EPEL and RDO yum repos are still required:
``sudo yum install epel-release``
- ``sudo yum install python34``
+ ``sudo yum install https://repos.fedorapeople.org/repos/openstack/openstack-mitaka/rdo-release-mitaka-6.noarch.rpm``
- To install these RPMs download them to the local disk on your CentOS 7
- install and pass the file names directly to yum:
+ Once the apex RPMs are downloaded install them by passing the file names
+ directly to yum:
``sudo yum install python34-markupsafe-<version>.rpm
python3-jinja2-<version>.rpm python3-ipmi-<version>.rpm``
``sudo yum install opnfv-apex-<version>.rpm
opnfv-apex-undercloud-<version>.rpm opnfv-apex-common-<version>.rpm``
-
3. After the operating system and the opnfv-apex RPMs are installed, login to
your Jumphost as root.
diff --git a/docs/releasenotes/release-notes.rst b/docs/releasenotes/release-notes.rst
index 0c2c56a..bf1b636 100644
--- a/docs/releasenotes/release-notes.rst
+++ b/docs/releasenotes/release-notes.rst
@@ -305,6 +305,7 @@ Deliverables
Software Deliverables
~~~~~~~~~~~~~~~~~~~~~
- Apex .iso file
+- Apex release .rpm (opnfv-apex-release)
- Apex overcloud .rpm (opnfv-apex) - For nosdn and OpenDaylight Scenarios
- Apex overcloud onos .rpm (opnfv-apex-onos) - ONOS Scenarios
- Apex undercloud .rpm (opnfv-apex-undercloud)