Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1490460 - [RFE] satellite-installer should check for satellite-specific hardware requirements/warnings
Summary: [RFE] satellite-installer should check for satellite-specific hardware requir...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Installation
Version: 6.3.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Devendra Singh
URL:
Whiteboard:
: 1435421 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-11 16:07 UTC by Craig Donnelly
Modified: 2019-11-22 17:55 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-22 17:55:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 1458933 0 None None None 2017-09-11 16:13:33 UTC

Description Craig Donnelly 2017-09-11 16:07:46 UTC
Description of problem:
Currently, satellite-installer only checks for upstream memory requirements.

The requirement that is built in here does not align with the requirements for the Satellite shipped product: https://github.com/Katello/katello-installer/blob/master/hooks/pre/17-memory_check.rb

We need to implement a new way of maintaining requirements for Satellite's downstream documentation.

An idea was thrown around to design a new 'profile' system for foreman / katello satellite.

The profiles would specify the requirements and therefore fail if not met.

In this process we should also cover some disk-space / partition checks for important mount points. There is no sense in allowing someone to install with /var containing 5GB of space when we know within the next hour, the partition will be full and databases corrupt.

Version-Release number of selected component (if applicable):
Satellite -> All.

Steps to Reproduce:
1. Install Satellite with 8gb of memory and 1cpu, and no space in important places.

Actual results:
Performance is as to be expected for a growing environment with no hardware, disk space.

Expected results:
Announce, Log, and kill installs for poor environment choices.

Additional info:

Comment 2 Craig Donnelly 2017-09-11 21:05:08 UTC
This should cover all installation scenarios in the event of different minimum requirements (i.e. Satellite, Capsule, etc..).

Comment 3 Evgeni Golov 2017-09-12 06:31:07 UTC
So to write down my ideas from yesterday:

* We already have a check for 8G RAM in the Katello installer (https://github.com/Katello/katello-installer/blob/master/hooks/pre/17-memory_check.rb) which also triggers on Satellite installs.
* The check should be moved to the Foreman installer, and load values based on the scenario, that way we could provide different "profiles" with different requirements.
* The check should "just" use facter instead of trying to parse stuff itself.

An example profile could then look like this:
memorysize_mb: 7900
processorcount: 4

Or if we would want to make it more flexible:
memorysize_mb:
  compare: min
  limit: 7900
processorcount:
  compare: min
  limit: 4

Checking for free space would be a bit harder, because
* facter does not really provide that data
* you have to account for different partition layouts

Comment 4 Evgeni Golov 2017-09-12 12:00:16 UTC
How about this?

PUPPETLABS_FACTER_RB = '/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb'

if File.exists?(PUPPETLABS_FACTER_RB)
  require PUPPETLABS_FACTER_RB
else
  require 'facter'
end

checks = [
  { :name => 'memory', :fact => :memorysize_mb, :value => 7_900, :compare => :min, :unit => 'MB'}
]

def run_check(value, check)
  if check[:compare] == :min
    return value < check[:value]
  elsif check[:compare] == :max
    return value > check[:value]
  end
end

if app_value(:disable_system_checks) || Kafo::Helpers.module_enabled?(@kafo, 'foreman_proxy_certs')
  logger.warn 'Skipping system checks.'
else
  checks.each do |check|
    current = Facter.value(check[:fact]).to_i
    if run_check(current, check)
      $stderr.puts "This system has #{current} #{check[:unit]} #{check[:name]}, but #{check[:compare]} #{check[:value]} #{check[:unit]} are required."
      kafo.class.exit(1)
    end
  end
end

Comment 5 Brad Buckingham 2017-09-12 17:28:14 UTC
Ivan, would this be a good candidate for foreman-maintain or stay on installer?

Comment 6 Ivan Necas 2017-09-13 06:33:13 UTC
Yes, I believe this should be in a realm of the foreman-maintain, rather than the installer.

Comment 7 Ivan Necas 2017-09-13 06:38:41 UTC
On the other hand, until the foreman-maintain is well established in the process, we might need to have it on both places. Adding Anurag to cc as well

Comment 8 Evgeni Golov 2017-09-13 07:24:44 UTC
Are we going to use foreman-maintain to install Satellite? If not, I'd vote for it goes to the installer, as otherwise people will overlook the requirements.

Comment 9 Ivan Necas 2017-09-13 14:06:21 UTC
True, as this is not the case at the moment +1 for keeping it in installer for now

Comment 10 Ewoud Kohl van Wijngaarden 2017-09-14 11:22:53 UTC
My vote is to move this into foreman-installer and store the requirements in the scenario file. That allows us to set different requirements for foreman, katello, foreman_proxy_content and devel. It also makes it easy to have different requirements downstream. It would also reduce the amount of hooks in katello-installer and ease the path of merging it into foreman-installer.

I also agree with Evgeni that foreman-maintain is not the right place.

Comment 11 Chris Roberts 2017-09-15 20:51:50 UTC
Can we also check for /var/lib/pulp and /var/cache/pulp residing on the same FS

Comment 12 Chris Roberts 2017-09-15 20:53:00 UTC
*** Bug 1435421 has been marked as a duplicate of this bug. ***

Comment 13 Klaas Demter 2017-09-20 10:24:46 UTC
(In reply to Chris Roberts from comment #11)
> Can we also check for /var/lib/pulp and /var/cache/pulp residing on the same
> FS

Why don't we put the cache into the lib dir? Then you could put all pulp data on a single filesystem that doesn't need to be the same as /var

see http://docs.pulpproject.org/en/2.13/user-guide/troubleshooting.html?highlight=cache#pulp-workers-not-starting-due-to-permission-denied-exception on how to relocate it

Comment 14 Bryan Kearney 2019-11-04 14:33:56 UTC
The Satellite Team is attempting to provide an accurate backlog of bugzilla requests which we feel will be resolved in the next few releases. We do not believe this bugzilla will meet that criteria, and have plans to close it out in 1 month. This is not a reflection on the validity of the request, but a reflection of the many priorities for the product. If you have any concerns about this, feel free to contact Red Hat Technical Support or your account team. If we do not hear from you, we will close this bug out. Thank you.

Comment 15 Bryan Kearney 2019-11-22 17:55:20 UTC
Thank you for your interest in Satellite 6. We have evaluated this request, and while we recognize that it is a valid request, we do not expect this to be implemented in the product in the foreseeable future. This is due to other priorities for the product, and not a reflection on the request itself. We are therefore closing this out as WONTFIX. If you have any concerns about this, please do not reopen. Instead, feel free to contact Red Hat Technical Support. Thank you.


Note You need to log in before you can comment on or make changes to this bug.