Giter Club home page Giter Club logo

satellite's People

Contributors

greg-hellings avatar ogajduse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

satellite's Issues

Directly modifying the answers file

This role directly manages the answers file. As the Installer maintainer (both upstream and downstream) I'd consider this an unsupported workflow.

It heavily relies on our installer migrations because we change things. It looks like we unconditionally store the applied migrations so you are breaking upgrades between minor versions.

Not storing the answers file makes debugging harder. It's included in sosreports and I do use it to figure out what went wrong.

I'd strongly urge you against this workflow.

Implement custom SSL certificate support

It would be extremely handy, if this role would also support installing Satellite with custom SSL certificates.

Official documentation:

NOTE: The procedure differs from Satellite 6.5 where it is required to create a certificate tar ball: official documentation
The question is whether older releases should be still supported as full support for 6.5 already ended and maintenance support will be dropped in Spring 2020: Lifecycle Documentation

Implementation TODOs:

  • create variables to supply custom SSL certificate (server_ssl_cert), private key (server_ssl_key) and CA certificate/trust-chain (ca_cert)
  • create task to validate chain via katello-certs-check -c <cert> -k <key> -b <ca_cert>
  • add parameters to satellite-installer command: --certs-server-cert <cert> --certs-server-key <key> --certs-server-ca-cert <ca_cert>
    • if certificates should be updates in a later step, also add --certs-update-server and --certs-update-server-ca
  • OPTIONAL: implement older tasks for Satellite 6.5
  • add molecule test for checking whether certificates have been created

Role is not idempotent

When running the role this task:

oasis_roles.satellite : edit scenario file

triggers the:
oasis_roles.satellite : run satellite installer

located here:

oasis_roles.satellite/handlers/main.yml

If the satellite installer fails and the user runs the playbook again nothing will happen. This is because the "edit scenario file" does not register a change and does not therefore trigger the satellite installer. The satellite installer task should probably not be a handler.

Installation not working for Satellite 6.6

The installation of Satellite 6.6 (based on Foreman 1.22) currently fails as the Docker support was removed. Anyhow, the answers file template (satellite-answers.yaml) still contains the Docker line:

foreman::plugin::docker: true

See also https://github.com/oasis-roles/satellite/blob/master/templates/satellite-answers.yaml#L58

This was also mentioned here: #5 (comment)_

Foreman Community thread with the same problem: https://community.theforeman.org/t/receiving-no-puppet-module-parser-is-installed-error-when-trying-to-run-foreman-installer-upgrade/14717/2

Error message:

    fatal: [rhel7]: FAILED! => {"changed": true, "cmd": ["satellite-installer", "--scenario", "satellite", "--dont-save-answers"], "delta": "0:00:01.834879", "end": "2020-02-19 13:46:30.398727", "msg": "non-zero return code", "rc": 1, "start": "2020-02-19 13:46:28.563848", "stderr": "/usr/share/gems/gems/kafo-3.0.0/lib/kafo/puppet_module.rb:69:in `parse': No Puppet module parser is installed and no cache of the file /usr/share/foreman-installer/modules/foreman/manifests/plugin/docker.pp is available. Please check debug logs and install optional dependencies for the parser. (Kafo::ParserError)\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `block in modules'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `map'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `modules'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:214:in `params'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:224:in `preset_defaults_from_puppet'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:285:in `set_parameters'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:100:in `initialize'\n\tfrom /usr/share/gems/gems/clamp-1.1.2/lib/clamp/command.rb:132:in `new'\n\tfrom /usr/share/gems/gems/clamp-1.1.2/lib/clamp/command.rb:132:in `run'\n\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:163:in `run'\n\tfrom /sbin/satellite-installer:8:in `<main>'", "stderr_lines": ["/usr/share/gems/gems/kafo-3.0.0/lib/kafo/puppet_module.rb:69:in `parse': No Puppet module parser is installed and no cache of the file /usr/share/foreman-installer/modules/foreman/manifests/plugin/docker.pp is available. Please check debug logs and install optional dependencies for the parser. (Kafo::ParserError)", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `block in modules'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `map'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:96:in `modules'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:214:in `params'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/configuration.rb:224:in `preset_defaults_from_puppet'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:285:in `set_parameters'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:100:in `initialize'", "\tfrom /usr/share/gems/gems/clamp-1.1.2/lib/clamp/command.rb:132:in `new'", "\tfrom /usr/share/gems/gems/clamp-1.1.2/lib/clamp/command.rb:132:in `run'", "\tfrom /usr/share/gems/gems/kafo-3.0.0/lib/kafo/kafo_configure.rb:163:in `run'", "\tfrom /sbin/satellite-installer:8:in `<main>'"], "stdout": "", "stdout_lines": []}

When removing the line from the file, installation works again.

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.