Module: Katello::ContentSourceHelper

Included in:
Api::V2::HostsBulkActionsController, Katello::Concerns::BaseTemplateScopeExtensions
Defined in:
app/helpers/katello/content_source_helper.rb

Instance Method Summary collapse

Instance Method Details

#configure_subman(content_source) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/helpers/katello/content_source_helper.rb', line 27

def configure_subman(content_source)
  <<~CMD
    # Configure subscription-manager
    RHSM_CFG=/etc/rhsm/rhsm.conf

    test -f $RHSM_CFG.bak || cp $RHSM_CFG $RHSM_CFG.bak

    subscription-manager config \
      --server.hostname="#{content_source.rhsm_url.host}" \
      --server.port="#{content_source.rhsm_url.port}" \
      --server.prefix="#{content_source.rhsm_url.path}" \
      --rhsm.repo_ca_cert="$KATELLO_SERVER_CA_CERT" \
      --rhsm.baseurl="#{content_source.pulp_content_url}"

    subscription-manager facts --update
  CMD
end

#missing_content_source(host) ⇒ Object



3
4
5
6
7
8
# File 'app/helpers/katello/content_source_helper.rb', line 3

def missing_content_source(host)
  <<~CMD
    echo "Host [#{host.name}] doesn't have an assigned content source!"
    exit 1
  CMD
end

#prepare_ssl_cert(ca_cert) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/helpers/katello/content_source_helper.rb', line 10

def prepare_ssl_cert(ca_cert)
  <<~CMD
    # Prepare SSL certificate

    KATELLO_SERVER_CA_CERT=/etc/rhsm/ca/katello-server-ca.pem
    SSL_CA_CERT=$(mktemp)
    cat << EOF > $SSL_CA_CERT
    #{ca_cert}
    EOF

    mkdir -p /etc/rhsm/ca
    cp -f $SSL_CA_CERT $KATELLO_SERVER_CA_CERT
    chmod 644 $KATELLO_SERVER_CA_CERT

  CMD
end

#reconfigure_yggdrasild(host) ⇒ Object



45
46
47
48
49
50
51
52
# File 'app/helpers/katello/content_source_helper.rb', line 45

def reconfigure_yggdrasild(host)
  template = Template.find_by(name: 'remote_execution_pull_setup')
  return '' unless template

  source = Foreman::Renderer.get_source(template: template, host: host)
  scope = Foreman::Renderer.get_scope(source: source, host: host)
  Foreman::Renderer.render(source, scope)
end