diff options
| -rw-r--r-- | playbooks/byo/openshift-cluster/config.yml | 1 | ||||
| -rw-r--r-- | playbooks/common/openshift-cluster/additional_config.yml | 4 | ||||
| -rw-r--r-- | roles/cockpit-ui/meta/main.yml | 13 | ||||
| -rw-r--r-- | roles/cockpit-ui/tasks/main.yml | 19 | ||||
| -rw-r--r-- | roles/openshift_examples/defaults/main.yml | 2 | ||||
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 10 | ||||
| -rw-r--r-- | roles/openshift_facts/tasks/main.yml | 2 | ||||
| -rw-r--r-- | utils/src/ooinstall/cli_installer.py | 1 | ||||
| -rw-r--r-- | utils/src/ooinstall/oo_config.py | 1 | ||||
| -rw-r--r-- | utils/src/ooinstall/openshift_ansible.py | 6 | ||||
| -rw-r--r-- | utils/src/ooinstall/variants.py | 13 | 
11 files changed, 65 insertions, 7 deletions
| diff --git a/playbooks/byo/openshift-cluster/config.yml b/playbooks/byo/openshift-cluster/config.yml index 389ba3419..6c5ece9bd 100644 --- a/playbooks/byo/openshift-cluster/config.yml +++ b/playbooks/byo/openshift-cluster/config.yml @@ -26,3 +26,4 @@      openshift_cluster_id: "{{ cluster_id | default('default') }}"      openshift_debug_level: "{{ debug_level | default(2) }}"      openshift_deployment_type: "{{ deployment_type }}" +    openshift_deployment_subtype: "{{ deployment_subtype }}" diff --git a/playbooks/common/openshift-cluster/additional_config.yml b/playbooks/common/openshift-cluster/additional_config.yml index ebbd45a67..c3b1a9365 100644 --- a/playbooks/common/openshift-cluster/additional_config.yml +++ b/playbooks/common/openshift-cluster/additional_config.yml @@ -15,6 +15,8 @@      when: openshift.common.use_manageiq | bool    - role: cockpit      when: not openshift.common.is_atomic and ( deployment_type in ['atomic-enterprise','openshift-enterprise'] ) and -      (osm_use_cockpit | bool or osm_use_cockpit is undefined ) +      (osm_use_cockpit | bool or osm_use_cockpit is undefined ) and ( deployment_subtype != 'registry' ) +  - role: cockpit-ui +    when: not openshift.common.is_atomic and ( deployment_subtype == 'registry' )    - role: flannel_register      when: openshift.common.use_flannel | bool diff --git a/roles/cockpit-ui/meta/main.yml b/roles/cockpit-ui/meta/main.yml new file mode 100644 index 000000000..6ad2e324a --- /dev/null +++ b/roles/cockpit-ui/meta/main.yml @@ -0,0 +1,13 @@ +--- +galaxy_info: +  author: Samuel Munilla +  description: Deploy and Enable cockpit-ui +  company: Red Hat, Inc. +  license: Apache License, Version 2.0 +  min_ansible_version: 2.1 +  platforms: +  - name: EL +    versions: +    - 7 +  categories: +  - cloud diff --git a/roles/cockpit-ui/tasks/main.yml b/roles/cockpit-ui/tasks/main.yml new file mode 100644 index 000000000..1fa289653 --- /dev/null +++ b/roles/cockpit-ui/tasks/main.yml @@ -0,0 +1,19 @@ +--- +- name: Expose registry with route +  command: oc expose service docker-registry + +- name: Install Cockpit template +  command: oc create -f registry-console.yaml -n default + +- name: Create passthrough route for Registry +  command: oc create route passthrough --service registry-console --port registry-console -n default + +- name: Deploy Registry +  command: oc new-app -n default --template=registry-console -p OPENSHIFT_OAUTH_PROVIDER_URL="{{ openshift_https_proxy }}:8443",REGISTRY_HOST=$(oc get route docker-registry -n default --template='{{ .spec.host }}'),COCKPIT_KUBE_URL=$(oc get route registry-console -n default --template='https://{{ .spec.host }}') + +- name: Enable cockpit-ui +  service: +    name: cockpit.socket +    enabled: true +    state: started +  when: not openshift.common.is_containerized | bool diff --git a/roles/openshift_examples/defaults/main.yml b/roles/openshift_examples/defaults/main.yml index a15285417..e843049f9 100644 --- a/roles/openshift_examples/defaults/main.yml +++ b/roles/openshift_examples/defaults/main.yml @@ -20,6 +20,8 @@ xpaas_templates_base: "{{ examples_base }}/xpaas-templates"  quickstarts_base: "{{ examples_base }}/quickstart-templates"  infrastructure_origin_base: "{{ examples_base }}/infrastructure-templates/origin"  infrastructure_enterprise_base: "{{ examples_base }}/infrastructure-templates/enterprise" +cockpit_ui_base: "{{ examples_base }}/infrastructure-templates/enterprise" +  openshift_examples_import_command: "create"  registry_url: "" diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index ff4d9c946..805f36cec 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -1657,7 +1657,12 @@ class OpenShiftFacts(object):          else:              deployment_type = 'origin' -        defaults = self.get_defaults(roles, deployment_type) +        if 'common' in local_facts and 'deployment_subtype' in local_facts['common']: +            deployment_subtype = local_facts['common']['deployment_subtype'] +        else: +            deployment_subtype = 'basic' + +        defaults = self.get_defaults(roles, deployment_type, deployment_subtype)          provider_facts = self.init_provider_facts()          facts = apply_provider_facts(defaults, provider_facts)          facts = merge_facts(facts, @@ -1689,7 +1694,7 @@ class OpenShiftFacts(object):              facts = set_installed_variant_rpm_facts(facts)          return dict(openshift=facts) -    def get_defaults(self, roles, deployment_type): +    def get_defaults(self, roles, deployment_type, deployment_subtype):          """ Get default fact values              Args: @@ -1709,6 +1714,7 @@ class OpenShiftFacts(object):          defaults['common'] = dict(use_openshift_sdn=True, ip=ip_addr,                                    public_ip=ip_addr,                                    deployment_type=deployment_type, +                                  deployment_subtype=deployment_subtype,                                    hostname=hostname,                                    public_hostname=hostname,                                    portal_net='172.30.0.0/16', diff --git a/roles/openshift_facts/tasks/main.yml b/roles/openshift_facts/tasks/main.yml index 4dbbd7f45..725bb2160 100644 --- a/roles/openshift_facts/tasks/main.yml +++ b/roles/openshift_facts/tasks/main.yml @@ -24,6 +24,7 @@      local_facts:        # TODO: Deprecate deployment_type in favor of openshift_deployment_type        deployment_type: "{{ openshift_deployment_type | default(deployment_type) }}" +      deployment_subtype: "{{ openshift_deployment_subtype | default(deployment_subtype) }}"        cluster_id: "{{ openshift_cluster_id | default('default') }}"        hostname: "{{ openshift_hostname | default(None) }}"        ip: "{{ openshift_ip | default(None) }}" @@ -40,4 +41,3 @@  - name: Set repoquery command    set_fact:      repoquery_cmd: "{{ 'dnf repoquery --latest-limit 1 -d 0' if ansible_pkg_mgr == 'dnf' else 'repoquery --plugins' }}" - diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py index 67f3659ff..4d678fb98 100644 --- a/utils/src/ooinstall/cli_installer.py +++ b/utils/src/ooinstall/cli_installer.py @@ -638,6 +638,7 @@ https://docs.openshift.com/enterprise/latest/admin_guide/install/prerequisites.h          variant, version = get_variant_and_version()          oo_cfg.settings['variant'] = variant.name          oo_cfg.settings['variant_version'] = version.name +        oo_cfg.settings['variant_subtype'] = version.subtype          click.clear()      if not oo_cfg.deployment.hosts: diff --git a/utils/src/ooinstall/oo_config.py b/utils/src/ooinstall/oo_config.py index b9f0cc65c..351c9905d 100644 --- a/utils/src/ooinstall/oo_config.py +++ b/utils/src/ooinstall/oo_config.py @@ -17,6 +17,7 @@ CONFIG_PERSIST_SETTINGS = [      'deployment',      'version',      'variant', +    'variant_subtype',      'variant_version',  ] diff --git a/utils/src/ooinstall/openshift_ansible.py b/utils/src/ooinstall/openshift_ansible.py index 001c58d73..4bb5b0b9b 100644 --- a/utils/src/ooinstall/openshift_ansible.py +++ b/utils/src/ooinstall/openshift_ansible.py @@ -22,8 +22,12 @@ ROLES_TO_GROUPS_MAP = {  VARIABLES_MAP = {      'ansible_ssh_user': 'ansible_ssh_user',      'deployment_type': 'deployment_type', +    'variant_subtype': 'deployment_subtype',      'master_routingconfig_subdomain': 'openshift_master_default_subdomain',      'proxy_http': 'openshift_http_proxy', +    'variant_subtype': 'deployment_subtype', +    'master_routingconfig_subdomain':'openshift_master_default_subdomain', +    'proxy_http':'openshift_http_proxy',      'proxy_https': 'openshift_https_proxy',      'proxy_exclude_hosts': 'openshift_no_proxy',  } @@ -128,6 +132,8 @@ def write_inventory_vars(base_inventory, multiple_masters, lb):      ver = find_variant(CFG.settings['variant'],                         version=CFG.settings.get('variant_version', None))[1]      base_inventory.write('deployment_type={}\n'.format(ver.ansible_key)) +    if getattr(ver, 'variant_subtype', False): +        base_inventory.write('deployment_subtype={}\n'.format(ver.deployment_subtype))      if 'OO_INSTALL_ADDITIONAL_REGISTRIES' in os.environ:          base_inventory.write('openshift_docker_additional_registries={}\n'.format( diff --git a/utils/src/ooinstall/variants.py b/utils/src/ooinstall/variants.py index c723c7e61..11817c00e 100644 --- a/utils/src/ooinstall/variants.py +++ b/utils/src/ooinstall/variants.py @@ -16,10 +16,11 @@ installer_log = logging.getLogger('installer')  class Version(object): -    def __init__(self, name, ansible_key): +    def __init__(self, name, ansible_key, subtype=''):          self.name = name  # i.e. 3.0, 3.1          self.ansible_key = ansible_key +        self.subtype = subtype  class Variant(object): @@ -43,6 +44,12 @@ OSE = Variant('openshift-enterprise', 'OpenShift Container Platform',                ]  ) +REG = Variant('openshift-enterprise', 'Registry', +    [ +        Version('3.2', 'openshift-enterprise', 'registry'), +    ] +) +  origin = Variant('origin', 'OpenShift Origin',                   [                       Version('1.2', 'origin'), @@ -58,8 +65,8 @@ LEGACY = Variant('openshift-enterprise', 'OpenShift Container Platform',  )  # Ordered list of variants we can install, first is the default. -SUPPORTED_VARIANTS = (OSE, origin, LEGACY) -DISPLAY_VARIANTS = (OSE, ) +SUPPORTED_VARIANTS = (OSE, REG, origin, LEGACY) +DISPLAY_VARIANTS = (OSE, REG,)  def find_variant(name, version=None): | 
