Hey there guys,
We have been attempting to best understand how to structure our
configuration in Satellite so that it's easy to maintain moving forward.
We're building a relatively large infrastructure with multiple app
components and several hundred servers so we're hoping to get it right
first time if we can
Here's how we're thinking of naming and structuring each component of our
deployment. for the sake of the example below, we'll say that our company
is named "My Company" and our product is named "My Product" at "My
Location".
Organization
···
==========================================================================Examples seen in RedHat demos:
-
Seatech Science
-
Polycorp
-
Default_Organization
-
Superware
-
Goldensoft
-
Zemplex
Our proposal: My Company
Additional queries:
- Should this be split by department? Will this allow for better control
of roles and permissions to our Satellite instance?
Location
==========================================================================
Examples seen in RedHat demos:
-
Default_Location
-
San Francisco
Our proposal: My Location
Product
==========================================================================
Examples seen in RedHat demos:
-
Red Hat Enterprise Linux Server (relates to repo)
-
Red Hat Tools 6 Beta (relates to repo)
-
Wordpress (custom)
Our proposal:
-
Red Hat Enterprise Linux Server
-
Red Hat Enterprise Virtualization
-
EPEL 6
-
My Product (which will include RPM and Puppet repositories)
Additional queries:
- Should we consider splitting My Product into 2 products? One for RPMs
and one for Puppet (i.e. “My Product RPMs” and “My Product Puppet”)
Lifecycle
==========================================================================
Examples seen in RedHat demos:
-
Development
-
QA
-
Production
Our proposal:
-
Library > Development
-
Library > UAT 1
-
Library > UAT 2
-
Library > Production
Notes: We have chosen to this design becomes our code does not get deployed
into a linear lifecycle pattern as per usual, so we needed to keep each
stream separate and indepnedent.
Content View (incl. Composite Views)
==========================================================================
Examples seen in RedHat demos (Content Views):
-
ACME Tooling
-
EL6 SOE
-
Puppet Classes
-
motd
-
ntp
-
concat
-
firewall
-
mysql
-
stdlib
-
wordpress
-
(note: I was a bit surprised to see such low-level classes assigned
directly when RedHat officially recommend the roles and profiles
pattern) -
-
EL6 SOE with Tooling
-
LAMP Press
-
Wordpress
Examples seen in RedHat demos (Composite Content Views):
-
Wordpress Stack
-
RHEL 6
-
Wordpress
-
Our proposal:
-
My Product Stack (Composite)
-
RHEL 6
-
Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server
-
Red Hat Enterprise Linux 6 Server - RH Common RPMs x86_64 6Server
-
(other Red Hat base repos)
-
EPEL 6
-
-
Base SOE
-
RPM Repository
-
Puppet Repository
-
-
My Product
-
RPM Repository (application)
-
Puppet Repository (application)
-
-
Queries:
-
Our goal is to publish puppet modules as quickly as possible without
having to publish all the thousands of RPMs in the various Red Hat
repositories. However, when we tested publishing of the composite view as
described above, we found that it took as long if not longer than
publishing the RHEL 6 content view. This seemed to defeat the purpose for
us as it means that each time we push out Puppet code, we have a very long
time to wait to publish the composite view that comprises the code. Are we
purhaps missing something here? -
How are others structuring their content views? Do many use composite
views? What exactly are the pros and cons of using composite views? (we’re
presuming it relates to activation key assignment but aren’t too sure)
Host Groups
==========================================================================
Examples seen in RedHat:
- Wordpress
Our proposal:
-
Web Frontend
-
API
-
Database
Subscriptions (one per manifest)
==========================================================================
We notice that our Red Hat subscriptions show in here as expected, however
in addition to those, we see a subscription automatically added per
additional product that we add.
Queries:
- What is the purpose of subscriptions based on our own products here?
What purpose do they serve? Each of them state “X out of Unlimited” are
used, and therefore we’re not quite sure why they are created?
Activation Keys
==========================================================================
This component is probably the one that’s confused us the most.
Our Proposal:
- Create a My Product Key activation key and then ???
Queries:
-
It seems that we need an activation key for every content view /
lifecycle environment combination? Is that correct? This seems rather
tough to manage, is there any other way to simplify this? -
It then seems that Host Groups need to be assigned an activation key in
the “Activation Keys” tab as well. What’s the point of doing this here
exactly? Since we are applying the activation key to a lifecycle
environment already, shouldn’t Satellite inherit this license when being
assigned to a host group that is assigned to this environment?
Overall, if someone could kindly explain how this component of the system
works, we’d appreciate it. The docs don’t seem to be getting the message
across and it has us rather stumped.
Thank you so much for your time and help in advance!