airship-in-a-bottle/manifests/dev_single_node
Roman Gorshunov eba7bd8d46 Assume "yes" for settings detection
Completely lazy mode without any questions asked if launched with "-y" option.

Change-Id: Ib4925a00989553a0bb829b9dedb8a0fc485d7ab3
2018-05-21 18:04:29 +02:00
..
README.txt Definition for deploying behind a proxy 2018-04-26 09:57:30 -05:00
airship-in-a-bottle.sh Assume "yes" for settings detection 2018-05-21 18:04:29 +02:00
creds.sh Set up single-node deployment files 2018-03-31 10:24:10 -05:00
deploy-airship.sh Add basic OpenStack components to single node dev 2018-05-20 18:12:26 -05:00
set-env.sh Shells Out Getting hostname 2018-05-18 17:36:17 -05:00

README.txt

# Copyright 2018 AT&T Intellectual Property.  All other 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.

dev_single_node
===============

Sets up and deploys an instance of UCP using the images pinned in the versions
file of the targeted deployment_files based site definitions.
versions file: deployment_files/global/v1.0u/software/config/versions.yaml

Running deploy-ucp will download and build into the /root/deploy directory.

Process
-------
1) Set up as large a VM as you can reasonably set up. 8 core/16GB is
   recommended
2) become root. All the commands are run as root.
3) update etc/hosts with IP/Hostname of your VM. e.g. 10.0.0.15 testvm1
4) go to /root and clone ucp integration. Pull the latest patchset if needed
   (a) if you instead clone ucp integration into /root/deploy (the workspace
       used by the deploy script), ucp-integration will not be re-cloned during
       deployment. This allows you to modify the deployment_files directory
       contents that will be used by the deployment - which would enable
       deployment of charts and/or images with versions other than those that
       are specified by the committed contents. (i.e. you can configure the
       deployment contents this way)
5) cd into ucp-integration/manifests/dev_single_node
6) Update the set-env.sh with the hostname and ip on the appropriate lines.
7) set the UCP integration repo and refspec to the gerrithub & patchset of the
   deployment you want to use. (if you used 4.a, this is not necessary)

E.g.:

export UCP_INTEGRATION_REPO="https://review.gerrithub.io/att-comdev/ucp-integration"
export UCP_INTEGRATION_REFSPEC="refs/changes/03/404203/32"

8) set the pegleg image, since :latest is not right as of 3/21/2018

export PEGLEG_IMAGE="artifacts-aic.atlantafoundry.com/att-comdev/pegleg:f019b4ff594db7d13a2ac444c001f867b3a67c50"

9) source set-env.sh

NOTE: If running this behind a corporate proxy, you will need to update the
      file deployment_files/site/dev-proxy/networks/common-addresses.yaml to
      specify your proxy server and appropriate no_proxy list. Also change set-env.sh
      to use TARGET_SITE of 'dev-proxy'.

10) ./deploy-ucp.sh

If you want to stop the deployment before it starts running genesis and inspect
the produced files, comment the last few lines of the deploy-ucp.sh to not
trigger the genesis steps.

Next Steps
----------
All of the documents used for a subsequent deploy_site action are now placed
into the /root/deploy/site directory for ease of use - instructions are
provided by the script at the end of a successful genesis process.

In the same directory as the deploy-ucp.sh script, there is a file creds.sh
that can be sourced to set environment variables that will enable keystone
authoriation to use for running shipyard.

Example:

. creds.sh


The files produced into the /root/deploy/genesis directory contain two yaml
files: certificates.yaml and deployment_files.yaml. These files can be used as
input to shipyard using the script found at /root/deploy/shipyard/tools/run_shipyard.sh

Example: (assuming creds.sh is sourced as above)

cd /root/deploy/shipyard/tools
cp /root/deploy/genesis/*.yaml /root/deploy/shipyard/tools
# Note that /home/shipyard/host is where the host's pwd is mounted in the shipyard container.
./run_shipyard.sh create configdocs design --filename=/home/shipyard/host/deployment_files.yaml
./run_shipyard.sh create configdocs secrets --filename=/home/shipyard/host/certificates.yaml --append

Please note: The deployment_files.yaml document may have the SiteDefinition
document defined twice in it due to a bug in how the documents are gathered by
Pegleg. Simply deleting the second copy of the SiteDefinition (at the very end
of the deployment_files.yaml) will allow the documents to be loaded without a
"conflict" response.