directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From smckin...@apache.org
Subject directory-fortress-core git commit: FC-212 - ApacheDS in Docker
Date Mon, 19 Jun 2017 14:40:17 GMT
Repository: directory-fortress-core
Updated Branches:
  refs/heads/master 5621dcf68 -> a5d7b19c6


FC-212 - ApacheDS in Docker


Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/a5d7b19c
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/a5d7b19c
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/a5d7b19c

Branch: refs/heads/master
Commit: a5d7b19c6526a4cf0af8ab532ee78e7923c7af11
Parents: 5621dcf
Author: Shawn McKinney <smckinney@apache.org>
Authored: Mon Jun 19 09:40:12 2017 -0500
Committer: Shawn McKinney <smckinney@apache.org>
Committed: Mon Jun 19 09:40:12 2017 -0500

----------------------------------------------------------------------
 README-QUICKSTART-DOCKER-APACHEDS.md | 234 ++++++++++++++++++++++++++++++
 1 file changed, 234 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5d7b19c/README-QUICKSTART-DOCKER-APACHEDS.md
----------------------------------------------------------------------
diff --git a/README-QUICKSTART-DOCKER-APACHEDS.md b/README-QUICKSTART-DOCKER-APACHEDS.md
new file mode 100644
index 0000000..1c67aa9
--- /dev/null
+++ b/README-QUICKSTART-DOCKER-APACHEDS.md
@@ -0,0 +1,234 @@
+
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+# APACHEDS & Fortress QUICKSTART on DOCKER
+
+-------------------------------------------------------------------------------
+## Table of Contents
+
+ * Document Overview
+ * SECTION 1. Prerequisites
+ * SECTION 2. Apache Fortress Core Setup using APACHEDS Docker Image
+ * SECTION 3. Apache Fortress Core Integration Test
+ * SECTION 4. Docker Commands
+___________________________________________________________________________________
+## Document Overview
+
+ * This document contains instructions to install Apache Fortress Core using APACHEDS Docker
image.
+ * It uses [apacheds-for-apache-fortress-tests](src/docker/apacheds-for-apache-fortress-tests/Dockerfile)
+
+-------------------------------------------------------------------------------
+## SECTION 1. Prerequisites
+
+Minimum hardware requirements:
+ * 2 Cores
+ * 4GB RAM
+
+Minimum software requirements:
+ * Centos or Debian Machine
+ * Java SDK 8
+ * Apache Maven3++
+ * docker-engine
+
+___________________________________________________________________________________
+## SECTION 2. Apache Fortress Core Setup using OpenLDAP Docker Image
+
+1. Download the apache directory fortress-core source from apache git repo:
+
+ a. from the command line:
+ ```
+ git clone https://git-wip-us.apache.org/repos/asf/directory-fortress-core.git
+ cd directory-fortress-core
+ ```
+
+2. Now build the apache directory fortress docker image (trailing dot matters):
+
+ ```
+ docker build -t apachedirectory/apacheds-for-apache-fortress-tests -f src/docker/apacheds-for-apache-fortress-tests/Dockerfile
.
+
+ ```
+
+3. Run the docker container:
+
+ ```
+ CONTAINER_ID=$(docker run -d -P apachedirectory/openldap-for-apache-fortress-tests)
+ CONTAINER_PORT=$(docker inspect --format='{{(index (index .NetworkSettings.Ports "103389/tcp")
0).HostPort}}' $CONTAINER_ID)
+ echo $CONTAINER_PORT
+ ```
+
+ *note: make note of the port as it's needed later
+ *depending on your docker setup may need to run as root or sudo priv's.
+
+4. Prepare fortress to use the apacheds running inside docker container:
+
+ ```
+ cp build.properties.example build.properties
+ ```
+
+5. Edit the *build.properties* file:
+
+ ```
+ vi build.properties
+ ```
+
+6. Update the *ldap.port* prop:
+
+ ```
+ ldap.port= port from earlier step
+ ```
+
+7. Save and exit
+
+8. Prepare your terminal for execution of maven commands.
+
+ ```
+ #!/bin/sh
+ export M2_HOME=...
+ export JAVA_HOME=...
+ export PATH=$PATH:$M2_HOME/bin
+ ```
+
+9. Run the maven install to build fortress lib and prepare its configuration (fortress.properties):
+
+ ```
+ mvn clean install
+ ```
+
+___________________________________________________________________________________
+## SECTION 3. Apache Fortress Core Integration Test
+
+1. From fortress core base folder, enter the following commands:
+
+ ```
+ mvn install -Dload.file=./ldap/setup/refreshLDAPData.xml
+ mvn install -Dload.file=./ldap/setup/DelegatedAdminManagerLoad.xml
+ ```
+
+ *These will build the Directory Information Tree (DIT), create the config and data policies
needed for the integration test to follow.*
+
+2. Next, enter the following command:
+
+ ```
+ mvn -Dtest=FortressJUnitTest test
+ ```
+
+ *Tests the APIs against your LDAP server.*
+
+3. Verify the tests worked:
+
+ ```
+ Tests run: 122, Failures: 0, Errors: 0, Skipped: 0
+ Results :
+
+ Tests run: 122, Failures: 0, Errors: 0, Skipped: 0
+
+ [INFO]
+ [INFO] --- maven-antrun-plugin:1.8:run (default) @ fortress-core ---
+ [INFO] Executing tasks
+
+ fortress-load:
+ [INFO] Executed tasks
+ [INFO] ------------------------------------------------------------------------
+ [INFO] BUILD SUCCESS
+ ```
+
+4. Rerun the tests to verify teardown APIs work:
+
+ ```
+ mvn -Dtest=FortressJUnitTest test
+ ```
+
+5. Verify that worked also:
+
+ ```
+ Results :
+
+ Tests run: 154, Failures: 0, Errors: 0, Skipped: 0
+
+ [INFO]
+ [INFO] --- maven-antrun-plugin:1.8:run (default) @ fortress-core ---
+ [INFO] Executing tasks
+
+ fortress-load:
+ [INFO] Executed tasks
+ [INFO] ------------------------------------------------------------------------
+ [INFO] BUILD SUCCESS
+ [INFO] ------------------------------------------------------------------------
+ ```
+ Notice 154 tests ran this time vs 122 the first time.
+
+ Test Notes:
+  * If tests complete without errors Apache Fortress works with your ApacheDS server (in
Docker).
+  * These tests load thousands of objects into the target ldap server.
+  * Warning messages are negative tests in action.
+
+6. Optional sections in the [README](README.md) file:
+
+ * SECTION 11. Instructions to run the Apache Fortress Command Line Interpreter (CLI).
+ * SECTION 12. Instructions to run the Apache Fortress Command Console.
+ * SECTION 13. Instructions to build and test the Apache Fortress samples.
+ * SECTION 14. Instructions to performance test.
+
+___________________________________________________________________________________
+## SECTION 4. Docker Commands
+
+Here are some common commands needed to manage the Docker image.
+
+#### Build image
+
+ ```
+ docker build -t apachedirectory/openldap-for-apache-fortress-tests -f src/docker/openldap-for-apache-fortress-tests/Dockerfile
.
+ ```
+
+ * trailing dot matters
+
+Or just to be sure don't use cached layers:
+
+ ```
+ docker build   --no-cache=true -t apachedirectory/openldap-for-apache-fortress-tests -f
src/docker/openldap-for-apache-fortress-tests/Dockerfile .
+ ```
+
+#### Run container
+
+ ```
+ CONTAINER_ID=$(docker run -d -P apachedirectory/openldap-for-apache-fortress-tests)
+ CONTAINER_PORT=$(docker inspect --format='{{(index (index .NetworkSettings.Ports "103389/tcp")
0).HostPort}}' $CONTAINER_ID)
+ echo $CONTAINER_PORT
+ ```
+
+#### Go into the container
+
+ ```
+ docker exec -it $CONTAINER_ID bash
+ ```
+
+#### Restart container
+
+ ```
+ docker restart $CONTAINER_ID
+ ```
+
+#### Stop and delete container
+
+ ```
+ docker stop $CONTAINER_ID
+ docker rm $CONTAINER_ID
+ ```
+
+____________________________________________________________________________________
+#### END OF README-QUICKSTART-DOCKER-APACHEDS
\ No newline at end of file


Mime
View raw message