commit | 53dc1419b05bc2dd937e98047cb73c6ef0bd7e31 | [log] [tgz] |
---|---|---|
author | Carlos Frias <friasc@google.com> | Tue May 08 20:40:46 2018 -0400 |
committer | Carlos Frias <friasc@google.com> | Tue May 08 20:40:46 2018 -0400 |
tree | 33b3eefbd424678c629b6876de5fa405d9f0e694 | |
parent | 59f6514d2cd5100ff2089dc3e8606e35e81387f1 [diff] |
updated docs
The purpose of this project is to help configure Ansible for the use of Apigee OPDK roles.
These roles and playbooks contain a fairly complete set of functionality to assist in the management of Apigee planet instances using Ansible. The functionality for the installation, expansion, upgrade and maintenance of an Apigee Planet is provided so as to apply Apigee system recommendations to systems that are not aligned with Apigee system recommendations. Further information regarding the features list of these playbooks can be found in README-FEATURES.md. For the installation of Apigee planet instances for systems that are aligned with Apigee recommendations you may benefit from using our simplified installer.
Conventions have been used regarding the placement of files and the names of inventory groups. The placement of files is described below as are the names of inventory groups. The playbooks rely on these conventions. These conventions have reduced the installation of the Edge platform to updating attributes in property files and the judicious use of tags around the points of installation failure. The playbooks make use of tags so that functionality can be targeted as needed. Finally, take note that templates are provided to guide how you should update your inventory and to generate the required response files from the updated inventory.
Please note that this installation framework uses Ansible. Please install Ansible 4.x prior to cloning this project. Once Ansible is ready for use you can follow these steps:
ansible-playbook setup.yml
to create a local development environment.The quick installation will create several folders where configurations and playbooks will be located. The folders and initial files are listed as follows:
~/.ansible/configurations/{configuration file name.cfg}
: This contains ansible configuration files.~/.ansible/inventory/{environment inventory}/
: This contains several templates to guide how you should configure the inventory.~/.apigee/
: This folder contains files used to install Apigee components.~/.apigee/license.txt
: This is the license file you received from Apigee.~/.apigee/custom-properties.yml
: The installation framework is parameterized. Variables can be either uncommented and used or added to this file.~/.apigee-secure
: This folder contains file that contain sensitive attributes that should be secured.~/.apigee-secure
: This file contains the credentials to be used during the installation of Apigee components.~/.apigee-secure/license.txt
.remote_user
ANSIBLE_CONFIG
environmental variable pointing to the ansible.cfg
you are using. Please do this like this: export ANSIBLE_CONFIG=~/.ansible/configurations/{configuration file name.cfg}
ping
module.~/apigee-workspace/apigee-opdk-playbook-workspace/apigee-opdk-playbook-installation-single-region
and download the Ansible roles using Ansible Galaxy to the location you indicated in the ansible.cfg
file you are using. Take note that files that end in -requirements.yml
are Ansible Galaxy requirement files. Update the roles following this sample: ansible-galaxy install -r install-edge-requirements.yml
The playbook that the -requirements.yml
file supports is the playbook with the same name as the first part of the requirements file. This means that install-edge-requirements.yml
updates the roles for the playbook install-edge.yml
ansible-playbook install-edge.yml -b --tags={cache,ds,ms,rmp,qs,org} {Any optional parameters}
Please see the provided Cygwin readme for instructions on installing Ansible on Windows.
We use provide a pip requirements file for pip to install Ansible and its dependencies. This requires the installation of pip on your system. Once pip is installed then the provided requirements file will install Ansible and the necessary dependencies on your system.
It may be necessary to configure pip to work with a repository that is internally managed. This can be accomplished by updating the pip.conf file with the url of your managed repository. To accomplish this please follow these steps:
mkdir ~/.pip touch ~/.pip/pip.conf vi ~/.pip/pip.conf [global] index-url = {{ pip_index_url }}
Please note that the url can be found in the your ~/apigee-workspace/apigee/custom-properties.yml. Please replace as follows:
{{ pip_index_url }} >> "https://private.repository.com/api/pypi/Pypi-remote/simple"
pip install -U pip
pip install -r ansible-pip-requirements.txt
Set up your a workspace at ~/apigee-workspace/ if you already have git and pip installed:
ansible-playbook setup-base.yml
Requirements are declared in the pip requirements file. The requirements are listed as follows:
This playbook will perform the following activities:
A description of the how the Inventory File should be setup.
This playbook will create the correct folders for you. Folder location can be modified by updating the workspace-folders.yml.
Sample configuration templates for single and multi-dc planets
Sample configuration inventory template files that model the required group semantics used.
Folder to contain credentials, downloaded logs, configs and maintain the edge license.txt file. The setup-apigee-license.yml playbook will take a specified license file and install it in the correct location for your this workspace.
Starter templates for playbooks. Use these playbooks as accelerators for your own.
Workspace containing the roles used by the playbooks.
Configuring of installation credentials is described in the credentials readme.
Ansible can be configured to make use of the above folders by providing an Ansible configuration file. The Ansible configuration file can be generated in using the setup-ansible-config.yml
playbook.
ansible-playbook setup-ansible-config.yml
This is not an officially supported Google product.
We'd love to accept your patches and contributions to this project. Please review our guidelines.