Project

General

Profile

Bug #15112

expose/add more options to the installer (was: how to manually install katello)

Added by Stephan Schultchen almost 6 years ago. Updated almost 4 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
Installer
Target version:
Difficulty:
Triaged:
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

hey,

the katello installer, as nice at it is, is not capable of setting up a redundant & highly available production ready installation.

my main problems are:

elasticsearch:
- i am unable to point to a custom endpoint, that could represent a elasticsearch cluster
- i am not able to tweak any elasticsearch setting (memory, data path, logs)
- i am not able to specify a custom index name that should be used, or other index settings, like number of shards/replicas

mongodb:
- i cannot use a replicaset, or even sharding, the installer will setup a "stupid" stand alone mongodb
- i am not able to enable authentication and authorization via the installer

postgres/mysql/sql backends:
- not able to provide a custom endpoint or setup a redundant database cluster

Qpid:
- i cannot point to a custom endpoint, or setup a clustered environment via the installer

foreman, smart proxy:
- i am not able to setup multiple smart proxies via the installer, allowing me to have them sit in different network locations

Pulp:
- it is not clear how to setup a distributed installation, using a shared file system

Apache/Rack/candlepind/$WhatElseDidIMiss::
- there is no way to setup a load balanced installation
- it is unclear how failover scenarios could/should be implemented.

i know i could adjust most of these things manually, but whenever i need to upgrade, the katello installer will brick my installation :-/

donĀ“t get me wrong, i know you are trying you best with the katello installer. but for real production ready setup, there is no other way then providing a manual step by step guide, that explains what component is talking with which other component & how each component has to be setup for its own. in the current state, there is no way to figure out which process on the katello machine is serving which purpose :-/

without knowing this, there is no way to run this in a real production environment, so please provide a real installation instructions for katello.

Best Regards,

Stephan


Related issues

Related to Katello - Feature #8125: As a user with multiple data centers, I need Katello to support MySQL backend so that I can use my fancy-schmancy replicated database universe for making sure Katello is happy when half the world blows up.Rejected
Related to Katello - Bug #10516: Hide parameters in the installer that are not relevant to Katello (i.e. Foreman mysql options)Rejected

History

#1 Updated by Anonymous almost 6 years ago

  • Subject changed from how to manually install katello to expose/add more options to the installer (was: how to manually install katello)
  • Category changed from Documentation to Installer

I'm not a Katello expert, but some notes from what I can say:

- Elasticsearch: will be gone with Katello 3.0
- MongoDB: Is used by Pulp and there's an ongoing effort to replace it with PostgreSQL in Pulp 3.0
- DB backends: foreman-installer does expose these (e.g. --foreman-db-manage=false --foreman-db-host=mydbhost --foreman-db-password=db123 and so on), no idea about katello, but at least for the main Foreman/Katello DB it would technically be possible. Note, that katello does only support PostgreSQL at the moment, AFAIK)
- Smart Proxy: I'm unsure if I do understand the requirement correctly, but have a look at the Capsule docs, mainly http://www.katello.org/docs/3.0/installation/capsule.html and http://www.katello.org/docs/3.0/user_guide/capsules/
- All the rest: for some of these things, options are exposed in our Puppet modules (which are consumed by the installer, but the Katello scenario will probably mask some of these), for some others the needed additions would need to get implemented in the respective modules.

From my experience with the usual Foreman/Puppet install with DNS/DHCP I can't imagine a manual Katello install to be really an option, so the focus here would really be to enhance the Puppet modules and installer(s) to be feasible for more use cases.

#2 Updated by Anonymous almost 6 years ago

  • Related to Feature #8125: As a user with multiple data centers, I need Katello to support MySQL backend so that I can use my fancy-schmancy replicated database universe for making sure Katello is happy when half the world blows up. added

#3 Updated by Anonymous almost 6 years ago

  • Related to Bug #10516: Hide parameters in the installer that are not relevant to Katello (i.e. Foreman mysql options) added

#4 Updated by Stephan Schultchen almost 6 years ago

quote: "I can't imagine a manual Katello install to be really an option" it should be an option, manual installation & manual upgrading is crucial for understanding what is going on. And there are some people out there, that like to understand what is going on under the hood, without relying on a installer to do all the magic.

so please, this request is about a documentation on what needs to be done to install (and update) katello manually, without the need for an installer, that maybe hides interesting options.

#5 Updated by Anonymous almost 6 years ago

Stephan Schultchen wrote:

quote: "I can't imagine a manual Katello install to be really an option" it should be an option, manual installation & manual upgrading is crucial for understanding what is going on. And there are some people out there, that like to understand what is going on under the hood, without relying on a installer to do all the magic.

so please, this request is about a documentation on what needs to be done to install (and update) katello manually, without the need for an installer, that maybe hides interesting options.

I leave that to the Katello team, but personally I can't image that to happen.

#6 Updated by Eric Helms almost 6 years ago

  • Legacy Backlogs Release (now unused) set to 114

Stephan,

I appreciate the issue as it provides us with real world scenarios for how backend components might want to be deployed by users in ways other than the single box deployment. That type of information and data will prove invaluable to try and tackle this problem. In some cases, this comes down to how we have the puppet modules for certain services wrapped to ensure they are configured properly. In other cases, it may be more fundamental to how we approach installation. For example, puppet-pulp allows for use with a mongodb not under it's control. We currently do not expose that as an option due to the puppet wrapping.

I do want to reiterate what Michael said, the amount of work, dependencies and complexity involved in the install at present is more than I could fathom trying to write a manual installation guide for. I do think it would be worth while to take each of the use cases you provide and break them into individual Redmine stories that we link to a single Tracker so that we can tackle them individually but treat multi-machine installation as an epic. This would also allow us to discuss design and prioritize which particular services to tackle first (attack the constraints).

If this approach seems amenable to you, I'd ask that you begin turning each case into a Redmine issue and I can assist with the tracker. If you are unsure how to break them down, I can do my best to break them down and let you vet them. Another option would be to comment on the Redmine issue here with a the list of stories and I can then file them in Redmine.

#7 Updated by Anonymous almost 5 years ago

  • Status changed from New to Rejected

no reaction, closing.

#8 Updated by Eric Helms almost 5 years ago

  • Legacy Backlogs Release (now unused) deleted (114)

#9 Updated by Justin Sherrill almost 5 years ago

  • Legacy Backlogs Release (now unused) set to 166

Also available in: Atom PDF