diff options
author | Maros Marsalek <mmarsale@cisco.com> | 2016-10-14 14:09:02 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2016-10-21 05:41:19 +0000 |
commit | 5f1baedefebd2ee3c5003957a3441ca54ff3380e (patch) | |
tree | 2584e81f81e2d4052846aa9771089304bf6a16cd /release-notes/src/main/asciidoc/install_guide | |
parent | be37eab49d25c4ed179acfd2d4c896ac1a70de1c (diff) |
Release notes
- migrated from wiki
- updated versions to current version
- notes are built with each regular build
- notes root is at: target/generated-docs/release_notes.html
- notes are inlined into site
Change-Id: I581898988f41f77f5eafb20e9e61e08f09908b98
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'release-notes/src/main/asciidoc/install_guide')
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 |