Code Monkey home page Code Monkey logo

installation's Introduction

Integreatly Installation

Overview

The purpose of this repository is to provide a set of Ansible playbooks that can be used to install a range of Red Hat middleware products on Openshift.

These products include:

  • Single Sign On
  • Managed Services Broker
  • EnMasse
  • Eclipse Che
  • Launcher
  • 3Scale

Prerequisites

  • Ansible v2.6
  • Openshift Container Platform v3.10
  • Openshift CLI (OC) v3.10
  • SSH Access to Openshift master(s)
  • Cluster administrator permissions

Installation Steps

The following section demonstrates how to install each of the products listed above on an existing Openshift cluster.

1. Clone installation GIT repository locally

git clone https://github.com/integr8ly/installation.git

2. Update inventory hosts file

Prior to running the playbooks the master hostname and associated SSH username must be set in the inventory host file to match the target cluster configuration. The following example sets the SSH username to evals and the master hostname to master.evals.example.com:

~/installation/evals/inventories/hosts

[local:vars]
ansible_connection=local

[local]
127.0.0.1

[OSEv3:children]
master

[OSEv3:vars]
ansible_user=evals

[master]
master.evals.example.com

3. Run Install Playbooks

There are currently two options for installing:

Install all products from a single playbook

All products can be installed using the install.yml playbook located in the evals/playbooks/ directory.

Before running the installer, please consider the following variables:

  • eval_self_signed_certs - Whether the OpenShift cluster uses self-signed certs or not. Defaults to true.

Run the playbook:

oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/install.yml

Install each product individually

Each product has an associated install playbook available from the evals/playbooks/ directory.

Run Single Sign On install playbook

oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/rhsso.yml

Upon completion, a new identity provider named rh_sso should be presented on the Openshift master console login screen.

Default login credentials are [email protected] / Password1

To configure custom account credentials, simply override the rhsso role environment variables by specifying user parameters as part of the install command:

ansible-playbook -i inventories/hosts playbooks/rhsso.yml -e rhsso_evals_username=<username> -e rhsso_evals_password=<password>

Run EnMasse install playbook

oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/enmasse.yml

Once the playbook has completed a service named EnMasse (standard) will be available in the Service Catalog. This can be provisioned into your namespace to use EnMasse.

Run Che install playbook

Set the following variables:

  • che_route_suffix - The router suffix of the OpenShift cluster.
  • che_keycloak_host - The route to the previously created SSO, without protocol.
  • che_keycloak_user - Username to authenticate as, this would be the admin user by default.
  • che_keycloak_password - Password of the user.
  • che_namespace - The namesapce to provision che into.
  • che_infra_namespace - This can usually be the same as che_namespace.
oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/che-install.yml

Run Launcher install playbook

The Launcher playbook also requires information about the existing SSO that was provisioned previously. It needs to know the route of the SSO. This can be retrieved using:

oc get route secure-sso -o jsonpath='{.spec.host}' -n rhsso

It also needs to know the realm to interact with. By default this would be openshift. Finally it needs the credentials of a user to login as, by default this would be the admin user created by the SSO playbook.

Specify the following variables in the inventory files or as --extra-vars when running the playbook.

  • launcher_openshift_sso_route - The route to the previously created SSO, without protocol.
  • launcher_openshift_sso_realm - The realm to create resources in the SSO, this would be openshift by default.
  • launcher_openshift_sso_username - Username to authenticate as, this would be the admin user by default.
  • launcher_openshift_sso_password - Password of the user.

If using self signed certs set launcher_sso_validate_certs to no/false. Without this, an error will be thrown similar to this:

fatal: [127.0.0.1]: FAILED! => {"msg": "The conditional check 'launcher_sso_auth_response.status == 200' failed. The error was: error while evaluating conditional (launcher_sso_auth_response.status == 200): 'dict object' has no attribute 'status'"}

Next, run the playbook.

oc login https://<openshift-master-url>
cd evals
ansible-playbook -i inventories/hosts playbooks/launcher.yml

Once the playbook has completed it will print a debug message saying to update the Authorization callback URL of the GitHub OAuth Application. Once this is done the launcher setup has finished.

Run 3Scale install playbook

Note: 3Scale requires access to ReadWriteMany PVs. As such, it will only work on Openshift clusters that have RWX PVs available.

oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/3scale.yml -e threescale_route_suffix=<openshift-router-suffix>
Run Webapp install playbook
oc login https://<openshift-master-url>
cd evals/
ansible-playbook -i inventories/hosts playbooks/webapp.yml

Uninstallation steps

Run the uninstall.yml playbook from inside the evals directory:

cd evals/
ansible-playbook -i inventories/hosts playbooks/uninstall.yml

By default this will delete all user-created namespaces as well, if you wish to keep these namespaces then add the following flag:

-e keep_namespaces=true

installation's People

Contributors

odra avatar david-martin avatar pmccarthy avatar aidenkeating avatar philbrookes avatar maleck13 avatar jameelb avatar sedroche avatar jasonmadigan avatar mikenairn avatar pwright avatar rhuss avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.