diff --git a/auth/csit/README.txt b/auth/csit/README.txt
index 81e3e4f..6c89b89 100644
--- a/auth/csit/README.txt
+++ b/auth/csit/README.txt
@@ -22,6 +22,7 @@
 in the csit/plans/aaf/aafapi directory (where 'csit' is an ONAP Project)
 
 You can emulate the JENKINS build locally
+PRELIMINARY) Make sure authz/auth/docker/d.props.csit is the right version
 
 1) Start in the directory you put your ONAP source in
   cd <root onap source dir>
diff --git a/auth/docker/d.props.csit b/auth/docker/d.props.csit
new file mode 100644
index 0000000..59fa746
--- /dev/null
+++ b/auth/docker/d.props.csit
@@ -0,0 +1,65 @@
+#########
+#  ============LICENSE_START====================================================
+#  org.onap.aaf
+#  ===========================================================================
+#  Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+#  ===========================================================================
+#  Licensed 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.
+#  ============LICENSE_END====================================================
+#
+# Variables for building Docker entities
+#
+# NOTE: THIS FILE SHOULD MATCH THE normal "d.props" file in "authz/auth/docker", but hold the 
+# CURRENT version needed for CSIT from Nexus Repos, which isn't necessarily the same during 
+# version deployments.
+#
+
+ORG=onap
+PROJECT=aaf
+DOCKER_PULL_REGISTRY=nexus3.onap.org:10001
+DOCKER_REPOSITORY=nexus3.onap.org:10003
+VERSION=2.1.11
+CONF_ROOT_DIR=/opt/app/osaaf
+# For local builds, set PREFIX=   
+PREFIX="$DOCKER_REPOSITORY/"
+NAMESPACE=onap
+DUSER=aaf
+
+HOSTNAME=aaf.osaaf.org
+
+# AAF Machine info
+AAF_ENV=DEV
+LATITUDE=38
+LONGITUDE=-72
+
+# Initial AAF Certificate (not Generated)
+CADI_X509_ISSUERS="CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US"
+AAF_INITIAL_X509_P12=
+AAF_INITIAL_X509_PASSWORD=
+CADI_X509_ISSUERS=
+
+
+# CA info (leave blank unless functioning as CA)
+CM_CA_LOCAL=
+AAF_SIGNER_P12=
+AAF_SIGNER_PASSWORD=
+AAF_SIGNER_ALIAS=
+
+# OPTIONALLY ADD THESE CASSANDRA PROPERTIES
+# Note:  Setting "CASSANDRA_DOCKER" will setup the appropriate CASSANDRA_CLUSTER, etc in Docker Properties.
+CASSANDRA_DOCKER=aaf-cass
+# CASSANDRA_CLUSTER=
+# CASSANDRA_USER=
+# CASSANDRA_PASSWORD=
+# CASSANDRA_PORT=
+
diff --git a/auth/docker/d.props.init b/auth/docker/d.props.init
index 75453b9..b9eb016 100644
--- a/auth/docker/d.props.init
+++ b/auth/docker/d.props.init
@@ -23,7 +23,7 @@
 # Note: Override can happen on dbuild.sh Commandline, -r <registry>
 DOCKER_PULL_REGISTRY=nexus3.onap.org:10001
 DOCKER_REPOSITORY=nexus3.onap.org:10003
-VERSION=2.1.11
+VERSION=2.1.11-SNAPSHOT
 CONF_ROOT_DIR=/opt/app/osaaf
 # For local builds, set PREFIX=   
 PREFIX="$DOCKER_REPOSITORY/"
