summaryrefslogtreecommitdiffstats
path: root/release-notes/src/main/asciidoc/install_guide
diff options
context:
space:
mode:
Diffstat (limited to 'release-notes/src/main/asciidoc/install_guide')
-rw-r--r--release-notes/src/main/asciidoc/install_guide/install_from_available_archives.adoc14
-rw-r--r--release-notes/src/main/asciidoc/install_guide/install_from_available_binary_packages.adoc66
-rw-r--r--release-notes/src/main/asciidoc/install_guide/install_guide.adoc23
-rw-r--r--release-notes/src/main/asciidoc/install_guide/install_manual_build.adoc196
4 files changed, 299 insertions, 0 deletions
diff --git a/release-notes/src/main/asciidoc/install_guide/install_from_available_archives.adoc b/release-notes/src/main/asciidoc/install_guide/install_from_available_archives.adoc
new file mode 100644
index 000000000..5eeb4fee2
--- /dev/null
+++ b/release-notes/src/main/asciidoc/install_guide/install_from_available_archives.adoc
@@ -0,0 +1,14 @@
+= Installing from available archives
+
+link:release_notes.html[< Home]
+
+Honeycomb provides zip and tar.gz archives that can be downloaded and extracted to provide Honeycomb VPP distribution.
+
+== Downloading archives
+In https://nexus.fd.io/#nexus-search;quick~vpp-integration-distribution[Honeycomb's nexus] look for vpp-integration-distribution artifact with version {project-version} and download either zip or tar.gz. After Extracting the archive, a folder vpp-integration-distribution-<version> will be created.
+
+== Running extracted distribution[edit]
+In the new folder, locate honeycomb executable shell script and run it.
+
+Note: sudo privileges are necessary with default configuration.
+
diff --git a/release-notes/src/main/asciidoc/install_guide/install_from_available_binary_packages.adoc b/release-notes/src/main/asciidoc/install_guide/install_from_available_binary_packages.adoc
new file mode 100644
index 000000000..c9e629427
--- /dev/null
+++ b/release-notes/src/main/asciidoc/install_guide/install_from_available_binary_packages.adoc
@@ -0,0 +1,66 @@
+= Installing from available binary packages
+
+link:release_notes.html[< Home]
+
+== Centos
+=== CentOS 7.2 - Honeycomb Release RPMs
+==== Add fd.io repo
+Create a file /etc/yum.repos.d/honeycomb-release.repo with contents:
+
+ [honeycomb-release]
+ name=honeycomb release branch latest merge
+ baseurl=https://nexus.fd.io/content/repositories/fd.io.centos7/
+ enabled=1
+ gpgcheck=0
+
+==== Install honeycomb packages
+
+ sudo yum install honeycomb
+
+== Ubuntu
+=== Ubuntu 14.04 - Honeycomb Release DEB
+
+[CAUTION]
+====
+Add openjdk-8 repository. 1404 does not provide openjdk-8 by default
+
+ According to http://stackoverflow.com/questions/32942023/ubuntu-openjdk-8-unable-to-locate-package
+====
+
+Pick Ubuntu version:
+
+ export UBUNTU="trusty"
+
+Then run:
+
+ sudo rm /etc/apt/sources.list.d/99fd.io.list
+ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+ sudo apt-get update
+ sudo apt-get install honeycomb
+
+[CAUTION]
+====
+Uninstall previously installed java 7
+
+ look for packages e.g. openjdk-7-* and uninstall them
+====
+
+=== Ubuntu 16.04 - Honeycomb Release DEB
+
+Pick Ubuntu version:
+
+ export UBUNTU="xenial"
+
+Then run:
+
+ sudo rm /etc/apt/sources.list.d/99fd.io.list
+ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+ sudo apt-get update
+ sudo apt-get install honeycomb
+
+== SNAPSHOT versions
+
+For SNAPSHOT versions, SNAPSHOT repositories have to be used.
+Each branch has its own repository at: https://nexus.fd.io/content/repositories/.
+In case SNAPSHOT versions needs to be used, update the URL pointing to the repository from previous steps
+according to the repository names listed at provided link. \ No newline at end of file
diff --git a/release-notes/src/main/asciidoc/install_guide/install_guide.adoc b/release-notes/src/main/asciidoc/install_guide/install_guide.adoc
new file mode 100644
index 000000000..de2e02eda
--- /dev/null
+++ b/release-notes/src/main/asciidoc/install_guide/install_guide.adoc
@@ -0,0 +1,23 @@
+== Install guide
+
+Installing binaries:
+
+* link:install_from_available_binary_packages.html[Installing from available binary packages]
+* link:install_from_available_archives.html[Installing from available archives]
+
+=== Manual build
+
+* link:install_manual_build.html[Manual build]
+
+=== Distribution notes
+Honeycomb is packaged as a static set of jars, that are loaded by Honeycomb Main class, where pre-configured plugins are then started.
+
+=== Footprint
+
+Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 100Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 150Mb.
+The footprint varies depending on:
+
+* VM load. Under heavier load, JVM tends to release some unused memory used during Honeycomb initialization.
+* Northbound interface configuration (4 interfaces started by default: Restconf HTTP, HTTPS, Netconf TCP, SSH). Minimal footprint can be achieved by using only a single interface.
+* JVM configuration. Even lower footprint numbers can be achieved by using aggressive JVM memory options: -client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify
+* Amount of data stored by Honeycomb. \ No newline at end of file
diff --git a/release-notes/src/main/asciidoc/install_guide/install_manual_build.adoc b/release-notes/src/main/asciidoc/install_guide/install_manual_build.adoc
new file mode 100644
index 000000000..6fa4caa45
--- /dev/null
+++ b/release-notes/src/main/asciidoc/install_guide/install_manual_build.adoc
@@ -0,0 +1,196 @@
+= Manual build
+
+link:release_notes.html[< Home]
+
+== Prerequisites
+Building Honeycomb project requires:
+
+* Java 8
+* Maven (version 3.2.5 and above should be fine)
+* Properly set maven settings(displayed below) to access nexus.fd.io
+
+== Obtain the honeycomb source code
+TIP: Make sure you have https://wiki.fd.io/view/DEV/Setting_up_Gerrit[registered your ssh key with gerrit].
+
+ git clone ssh://[username]@gerrit.fd.io:29418/honeycomb
+ cd honeycomb
+ git checkout {project-branch}
+
+== Building the code
+Make sure all the prerequisites are installed.
+
+NOTE: To make sure fresh Honeycomb build is compatible with VPP, building VPP is also required to make sure the same JVpp version is used preventing out-of-sync exceptions. In case only Honeycomb needs to be built, skip Building VPP section.
+
+=== Building VPP
+Clone VPP according to: https://gerrit.fd.io/r/#/admin/projects/vpp and checkout {project-branch} branch
+
+Dive into VPP's build-root folder:
+
+ cd vpp/build-root/
+
+Build VPP:
+
+ make distclean && ./bootstrap.sh && make V=0 PLATFORM=vpp TAG=vpp install-deb
+
+Install VPP:
+
+ sudo dpkg -i *.deb
+
+Start VPP:
+
+ sudo start vpp
+
+Install JVpp into local maven repository to make Honeycomb pick up the same JVpp version
+
+ cd build-vpp-native/vpp-api/java/
+ mvn install:install-file -Dfile=jvpp-registry-{project-vpp-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-registry -Dversion={project-vpp-snapshot-version} -Dpackaging=jar
+ mvn install:install-file -Dfile=jvpp-core-{project-vpp-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-core -Dversion={project-vpp-snapshot-version}-Dpackaging=jar
+ cd ../../plugins/snat-plugin/
+ mvn install:install-file -Dfile=jvpp-snat-{project-snat-version}.jar -DgroupId=io.fd.vpp -DartifactId=jvpp-snat -Dversion={project-snat-snapshot-version} -Dpackaging=jar
+
+Now current Vpp is up and running and prepared for integration with HC.
+
+=== Building Honeycomb
+Now Honeycomb can be built and it will use latest JVpp produced during VPP build.
+
+==== Setup settings.xml
+Put the following in your ~/.m2/settings.xml:
+
+[source,xml]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=2 tabstop=2: -->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+
+ <profiles>
+ <profile>
+ <id>fd.io-release</id>
+ <repositories>
+ <repository>
+ <id>fd.io-mirror</id>
+ <name>fd.io-mirror</name>
+ <url>https://nexus.fd.io/content/groups/public/</url>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>fd.io-mirror</id>
+ <name>fd.io-mirror</name>
+ <url>https://nexus.fd.io/content/repositories/public/</url>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+
+ <profile>
+ <id>fd.io-snapshots</id>
+ <repositories>
+ <repository>
+ <id>fd.io-snapshot</id>
+ <name>fd.io-snapshot</name>
+ <url>https://nexus.fd.io/content/repositories/fd.io.snapshot/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>fd.io-snapshot</id>
+ <name>fd.io-snapshot</name>
+ <url>https://nexus.fd.io/content/repositories/fd.io.snapshot/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ <profile>
+ <id>opendaylight-snapshots</id>
+ <repositories>
+ <repository>
+ <id>opendaylight-snapshot</id>
+ <name>opendaylight-snapshot</name>
+ <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>opendaylight-shapshot</id>
+ <name>opendaylight-snapshot</name>
+ <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+
+ <activeProfiles>
+ <activeProfile>fd.io-release</activeProfile>
+ <activeProfile>fd.io-snapshots</activeProfile>
+ <activeProfile>opendaylight-snapshots</activeProfile>
+ </activeProfiles>
+</settings>
+----
+
+==== Building Honeycomb
+cd honeycomb/
+
+ mvn clean install
+
+Now Honeycomb can be run with:
+
+ sudo sh vpp-integration/minimal-distribution/target/vpp-integration-distribution-1.16.9-SNAPSHOT-hc/vpp-integration-distribution-1.16.9-SNAPSHOT/honeycomb
+
+=== Building packages
+After the code has been built, you can build an RPM or DEB package for honeycomb.
+
+==== RPM
+Export build number variable:
+
+ export BUILD_NUMBER=33
+
+Run package building script from:
+
+ packaging/rpm/rpmbuild.sh
+
+==== DEB
+Export build number variable:
+
+ export BUILD_NUMBER=33
+
+Run package building script from:
+
+ packaging/deb/debuild.sh \ No newline at end of file