diff options
Diffstat (limited to 'roles')
61 files changed, 244 insertions, 335 deletions
diff --git a/roles/ansible_service_broker/defaults/main.yml b/roles/ansible_service_broker/defaults/main.yml index 12929b354..9eb9db316 100644 --- a/roles/ansible_service_broker/defaults/main.yml +++ b/roles/ansible_service_broker/defaults/main.yml @@ -1,6 +1,7 @@  ---  ansible_service_broker_remove: false +ansible_service_broker_install: false  ansible_service_broker_log_level: info  ansible_service_broker_output_request: false  ansible_service_broker_recovery: true diff --git a/roles/ansible_service_broker/tasks/main.yml b/roles/ansible_service_broker/tasks/main.yml index b46ce8233..d8695bd3a 100644 --- a/roles/ansible_service_broker/tasks/main.yml +++ b/roles/ansible_service_broker/tasks/main.yml @@ -2,7 +2,7 @@  # do any asserts here  - include: install.yml -  when: not  ansible_service_broker_remove|default(false) | bool +  when: ansible_service_broker_install | default(false) | bool  - include: remove.yml -  when: ansible_service_broker_remove|default(false) | bool +  when: ansible_service_broker_remove | default(false) | bool diff --git a/roles/calico/tasks/main.yml b/roles/calico/tasks/main.yml index 39f730462..0e3863304 100644 --- a/roles/calico/tasks/main.yml +++ b/roles/calico/tasks/main.yml @@ -2,10 +2,14 @@  - name: Calico Node | Error if invalid cert arguments    fail:      msg: "Must provide all or none for the following etcd params: calico_etcd_cert_dir, calico_etcd_ca_cert_file, calico_etcd_cert_file, calico_etcd_key_file, calico_etcd_endpoints" -  when: (calico_etcd_cert_dir is defined or calico_etcd_ca_cert_file is defined or calico_etcd_cert_file is defined or calico_etcd_key_file is defined or calico_etcd_endpoints is defined) and not (calico_etcd_cert_dir is defined and calico_etcd_ca_cert_file is defined and calico_etcd_cert_file is defined and calico_etcd_key_file is defined and calico_etcd_endpoints is defined) +  when: +  - calico_etcd_cert_dir is defined or calico_etcd_ca_cert_file is defined or calico_etcd_cert_file is defined or calico_etcd_key_file is defined or calico_etcd_endpoints is defined +  - not (calico_etcd_cert_dir is defined and calico_etcd_ca_cert_file is defined and calico_etcd_cert_file is defined and calico_etcd_key_file is defined and calico_etcd_endpoints is defined)  - name: Calico Node | Generate OpenShift-etcd certs -  include: ../../../roles/etcd_client_certificates/tasks/main.yml +  include_role: +    name: etcd +    tasks_from: client_certificates    when: calico_etcd_ca_cert_file is not defined or calico_etcd_cert_file is not defined or calico_etcd_key_file is not defined or calico_etcd_endpoints is not defined or calico_etcd_cert_dir is not defined    vars:      etcd_cert_prefix: calico.etcd- @@ -28,18 +32,18 @@      msg: "Invalid etcd configuration for calico."    when: item is not defined or item == ''    with_items: -    - calico_etcd_ca_cert_file -    - calico_etcd_cert_file -    - calico_etcd_key_file -    - calico_etcd_endpoints +  - calico_etcd_ca_cert_file +  - calico_etcd_cert_file +  - calico_etcd_key_file +  - calico_etcd_endpoints  - name: Calico Node | Assure the calico certs are present    stat:      path: "{{ item }}"    with_items: -    - "{{ calico_etcd_ca_cert_file }}" -    - "{{ calico_etcd_cert_file }}" -    - "{{ calico_etcd_key_file }}" +  - "{{ calico_etcd_ca_cert_file }}" +  - "{{ calico_etcd_cert_file }}" +  - "{{ calico_etcd_key_file }}"  - name: Calico Node | Configure Calico service unit file    template: diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 7e206ded1..81f3ee9e4 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -1,6 +1,6 @@  ---  docker_cli_auth_config_path: '/root/.docker' -oreg_url: '' -oreg_host: "{{ oreg_url.split('/')[0] if '.' in oreg_url.split('/')[0] else '' }}" +# oreg_url is defined by user input. +oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"  oreg_auth_credentials_replace: False diff --git a/roles/docker/tasks/systemcontainer_crio.yml b/roles/docker/tasks/systemcontainer_crio.yml index 0bab0899c..8208fa68d 100644 --- a/roles/docker/tasks/systemcontainer_crio.yml +++ b/roles/docker/tasks/systemcontainer_crio.yml @@ -134,6 +134,14 @@      image: "{{ l_crio_image }}"      state: latest +- name: Remove CRI-o default configuration files +  file: +    path: "{{ item }}" +    state: absent +  with_items: +    - /etc/cni/net.d/200-loopback.conf +    - /etc/cni/net.d/100-crio-bridge.conf +  - name: Create the CRI-O configuration    template:      dest: /etc/crio/crio.conf diff --git a/roles/etcd/meta/main.yml b/roles/etcd/meta/main.yml index 9a955c822..d69366a39 100644 --- a/roles/etcd/meta/main.yml +++ b/roles/etcd/meta/main.yml @@ -18,5 +18,4 @@ galaxy_info:  dependencies:  - role: lib_openshift  - role: lib_os_firewall -- role: etcd_server_certificates  - role: etcd_common diff --git a/roles/etcd/tasks/ca.yml b/roles/etcd/tasks/ca.yml new file mode 100644 index 000000000..7cda49069 --- /dev/null +++ b/roles/etcd/tasks/ca.yml @@ -0,0 +1,2 @@ +--- +- include: ca/deploy.yml diff --git a/roles/etcd_ca/tasks/main.yml b/roles/etcd/tasks/ca/deploy.yml index b4dea4a07..3d32290a2 100644 --- a/roles/etcd_ca/tasks/main.yml +++ b/roles/etcd/tasks/ca/deploy.yml @@ -1,6 +1,8 @@  ---  - name: Install openssl -  package: name=openssl state=present +  package: +    name: openssl +    state: present    when: not etcd_is_atomic | bool    delegate_to: "{{ etcd_ca_host }}"    run_once: true diff --git a/roles/etcd/tasks/client_certificates.yml b/roles/etcd/tasks/client_certificates.yml new file mode 100644 index 000000000..2e9c078b9 --- /dev/null +++ b/roles/etcd/tasks/client_certificates.yml @@ -0,0 +1,2 @@ +--- +- include: client_certificates/fetch_from_ca.yml diff --git a/roles/etcd_client_certificates/tasks/main.yml b/roles/etcd/tasks/client_certificates/fetch_from_ca.yml index bbd29ece1..119071a72 100644 --- a/roles/etcd_client_certificates/tasks/main.yml +++ b/roles/etcd/tasks/client_certificates/fetch_from_ca.yml @@ -9,7 +9,7 @@  - fail:      msg: >        CA certificate {{ etcd_ca_cert }} doesn't exist on CA host -      {{ etcd_ca_host }}. Apply 'etcd_ca' role to +      {{ etcd_ca_host }}. Apply 'etcd_ca' action from `etcd` role to        {{ etcd_ca_host }}.    when: not g_ca_cert_stat_result.stat.exists | bool    run_once: true diff --git a/roles/etcd/tasks/main.yml b/roles/etcd/tasks/main.yml index 78e543ef1..870c11ad4 100644 --- a/roles/etcd/tasks/main.yml +++ b/roles/etcd/tasks/main.yml @@ -1,4 +1,6 @@  --- +- include: server_certificates.yml +  - name: Set hostname and ip facts    set_fact:      # Store etcd_hostname and etcd_ip such that they will be available diff --git a/roles/etcd/tasks/server_certificates.yml b/roles/etcd/tasks/server_certificates.yml new file mode 100644 index 000000000..f0ba58b6e --- /dev/null +++ b/roles/etcd/tasks/server_certificates.yml @@ -0,0 +1,2 @@ +--- +- include: server_certificates/fetch_from_ca.yml diff --git a/roles/etcd_server_certificates/tasks/main.yml b/roles/etcd/tasks/server_certificates/fetch_from_ca.yml index 4795188a6..064fe1952 100644 --- a/roles/etcd_server_certificates/tasks/main.yml +++ b/roles/etcd/tasks/server_certificates/fetch_from_ca.yml @@ -1,6 +1,12 @@  --- +- include: ../ca/deploy.yml +  when: +  - etcd_ca_setup | default(True) | bool +  - name: Install etcd -  package: name=etcd{{ '-' + etcd_version if etcd_version is defined else '' }} state=present +  package: +    name: "etcd{{ '-' + etcd_version if etcd_version is defined else '' }}" +    state: present    when: not etcd_is_containerized | bool  - name: Check status of etcd certificates diff --git a/roles/etcd_ca/templates/openssl_append.j2 b/roles/etcd/templates/openssl_append.j2 index f28316fc2..f28316fc2 100644 --- a/roles/etcd_ca/templates/openssl_append.j2 +++ b/roles/etcd/templates/openssl_append.j2 diff --git a/roles/etcd_ca/README.md b/roles/etcd_ca/README.md deleted file mode 100644 index 60a880e30..000000000 --- a/roles/etcd_ca/README.md +++ /dev/null @@ -1,34 +0,0 @@ -etcd_ca -======================== - -TODO - -Requirements ------------- - -TODO - -Role Variables --------------- - -TODO - -Dependencies ------------- - -TODO - -Example Playbook ----------------- - -TODO - -License -------- - -Apache License Version 2.0 - -Author Information ------------------- - -Scott Dodson (sdodson@redhat.com) diff --git a/roles/etcd_client_certificates/README.md b/roles/etcd_client_certificates/README.md deleted file mode 100644 index 269d5296d..000000000 --- a/roles/etcd_client_certificates/README.md +++ /dev/null @@ -1,34 +0,0 @@ -OpenShift Etcd Certificates -=========================== - -TODO - -Requirements ------------- - -TODO - -Role Variables --------------- - -TODO - -Dependencies ------------- - -TODO - -Example Playbook ----------------- - -TODO - -License -------- - -Apache License Version 2.0 - -Author Information ------------------- - -Scott Dodson (sdodson@redhat.com) diff --git a/roles/etcd_client_certificates/meta/main.yml b/roles/etcd_client_certificates/meta/main.yml deleted file mode 100644 index efebdb599..000000000 --- a/roles/etcd_client_certificates/meta/main.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -galaxy_info: -  author: Jason DeTiberus -  description: Etcd Client Certificates -  company: Red Hat, Inc. -  license: Apache License, Version 2.0 -  min_ansible_version: 2.1 -  platforms: -  - name: EL -    versions: -    - 7 -  categories: -  - cloud -  - system -dependencies: -- role: etcd_common diff --git a/roles/etcd_server_certificates/README.md b/roles/etcd_server_certificates/README.md deleted file mode 100644 index 269d5296d..000000000 --- a/roles/etcd_server_certificates/README.md +++ /dev/null @@ -1,34 +0,0 @@ -OpenShift Etcd Certificates -=========================== - -TODO - -Requirements ------------- - -TODO - -Role Variables --------------- - -TODO - -Dependencies ------------- - -TODO - -Example Playbook ----------------- - -TODO - -License -------- - -Apache License Version 2.0 - -Author Information ------------------- - -Scott Dodson (sdodson@redhat.com) diff --git a/roles/etcd_server_certificates/meta/main.yml b/roles/etcd_server_certificates/meta/main.yml deleted file mode 100644 index 4b6013a49..000000000 --- a/roles/etcd_server_certificates/meta/main.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -galaxy_info: -  author: Jason DeTiberus -  description: Etcd Server Certificates -  company: Red Hat, Inc. -  license: Apache License, Version 2.0 -  min_ansible_version: 2.1 -  platforms: -  - name: EL -    versions: -    - 7 -  categories: -  - cloud -  - system -dependencies: -- role: etcd_ca -  when: (etcd_ca_setup | default(True) | bool) diff --git a/roles/flannel/README.md b/roles/flannel/README.md index 0c7347603..b9e15e6e0 100644 --- a/roles/flannel/README.md +++ b/roles/flannel/README.md @@ -27,8 +27,6 @@ Role Variables  Dependencies  ------------ -openshift_facts -  Example Playbook  ---------------- diff --git a/roles/flannel/meta/main.yml b/roles/flannel/meta/main.yml index 35f825586..51128dba6 100644 --- a/roles/flannel/meta/main.yml +++ b/roles/flannel/meta/main.yml @@ -12,7 +12,4 @@ galaxy_info:    categories:    - cloud    - system -dependencies: -- role: openshift_facts -- role: openshift_etcd_client_certificates -  etcd_cert_prefix: flannel.etcd- +dependencies: [] diff --git a/roles/lib_openshift/src/test/integration/oc_configmap.yml b/roles/lib_openshift/src/test/integration/oc_configmap.yml index c0d200e73..6a452ccec 100755 --- a/roles/lib_openshift/src/test/integration/oc_configmap.yml +++ b/roles/lib_openshift/src/test/integration/oc_configmap.yml @@ -55,7 +55,7 @@          config: "{{ filename }}"        from_literal:          foo: notbar -        deployment_type: online +        deployment_type: openshift-enterprise    - name: fetch the updated configmap      oc_configmap: @@ -70,7 +70,7 @@      assert:        that:        - cmout.results.results[0].metadata.name == 'configmaptest' -      - cmout.results.results[0].data.deployment_type == 'online' +      - cmout.results.results[0].data.deployment_type == 'openshift-enterprise'        - cmout.results.results[0].data.foo == 'notbar'    ###### end update test ########### diff --git a/roles/lib_openshift/src/test/unit/test_oc_configmap.py b/roles/lib_openshift/src/test/unit/test_oc_configmap.py index 318fd6167..27042c64b 100755 --- a/roles/lib_openshift/src/test/unit/test_oc_configmap.py +++ b/roles/lib_openshift/src/test/unit/test_oc_configmap.py @@ -79,7 +79,7 @@ class OCConfigMapTest(unittest.TestCase):          ''' Testing a configmap create '''          params = copy.deepcopy(OCConfigMapTest.params)          params['from_file'] = {'test': '/root/file'} -        params['from_literal'] = {'foo': 'bar', 'deployment_type': 'online'} +        params['from_literal'] = {'foo': 'bar', 'deployment_type': 'openshift-enterprise'}          configmap = '''{                  "apiVersion": "v1", @@ -100,7 +100,7 @@ class OCConfigMapTest(unittest.TestCase):                  "apiVersion": "v1",                  "data": {                      "foo": "bar", -                    "deployment_type": "online", +                    "deployment_type": "openshift-enterprise",                      "test": "this is a file\\n"                  },                  "kind": "ConfigMap", @@ -128,7 +128,7 @@ class OCConfigMapTest(unittest.TestCase):          self.assertTrue(results['changed'])          self.assertEqual(results['results']['results'][0]['metadata']['name'], 'configmap') -        self.assertEqual(results['results']['results'][0]['data']['deployment_type'], 'online') +        self.assertEqual(results['results']['results'][0]['data']['deployment_type'], 'openshift-enterprise')      @unittest.skipIf(six.PY3, 'py2 test only')      @mock.patch('os.path.exists') diff --git a/roles/nuage_master/meta/main.yml b/roles/nuage_master/meta/main.yml index 3da340c85..e2f7af5ad 100644 --- a/roles/nuage_master/meta/main.yml +++ b/roles/nuage_master/meta/main.yml @@ -13,8 +13,5 @@ galaxy_info:    - cloud    - system  dependencies: -- role: nuage_ca -- role: nuage_common -- role: openshift_etcd_client_certificates  - role: lib_openshift  - role: lib_os_firewall diff --git a/roles/openshift_etcd_ca/meta/main.yml b/roles/openshift_etcd_ca/meta/main.yml deleted file mode 100644 index f1d669d6b..000000000 --- a/roles/openshift_etcd_ca/meta/main.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -galaxy_info: -  author: Tim Bielawa -  description: Meta role around the etcd_ca role -  company: Red Hat, Inc. -  license: Apache License, Version 2.0 -  min_ansible_version: 2.2 -  platforms: -  - name: EL -    versions: -    - 7 -  categories: -  - cloud -  - system -dependencies: -- role: openshift_etcd_facts -- role: etcd_ca -  when: (etcd_ca_setup | default(True) | bool) diff --git a/roles/openshift_etcd_client_certificates/meta/main.yml b/roles/openshift_etcd_client_certificates/meta/main.yml index 3268c390f..fbc72c8a3 100644 --- a/roles/openshift_etcd_client_certificates/meta/main.yml +++ b/roles/openshift_etcd_client_certificates/meta/main.yml @@ -11,6 +11,4 @@ galaxy_info:      - 7    categories:    - cloud -dependencies: -- role: openshift_etcd_facts -- role: etcd_client_certificates +dependencies: [] diff --git a/roles/openshift_etcd_client_certificates/tasks/main.yml b/roles/openshift_etcd_client_certificates/tasks/main.yml new file mode 100644 index 000000000..7f8b667f0 --- /dev/null +++ b/roles/openshift_etcd_client_certificates/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- include_role: +    name: etcd +    tasks_from: client_certificates diff --git a/roles/openshift_etcd_server_certificates/meta/main.yml b/roles/openshift_etcd_server_certificates/meta/main.yml deleted file mode 100644 index 7750f14af..000000000 --- a/roles/openshift_etcd_server_certificates/meta/main.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -galaxy_info: -  author: Jason DeTiberus -  description: OpenShift Etcd Server Certificates -  company: Red Hat, Inc. -  license: Apache License, Version 2.0 -  min_ansible_version: 2.1 -  platforms: -  - name: EL -    versions: -    - 7 -  categories: -  - cloud -dependencies: -- role: openshift_etcd_facts -- role: etcd_server_certificates diff --git a/roles/openshift_examples/README.md b/roles/openshift_examples/README.md index 8cc479c73..014cef111 100644 --- a/roles/openshift_examples/README.md +++ b/roles/openshift_examples/README.md @@ -21,13 +21,13 @@ Facts  Role Variables  -------------- -| Name                                | Default value                                       |                                          | -|-------------------------------------|-----------------------------------------------------|------------------------------------------| -| openshift_examples_load_centos      | true when openshift_deployment_typenot 'enterprise' | Load centos image streams                | -| openshift_examples_load_rhel        | true if openshift_deployment_type is 'enterprise'   | Load rhel image streams                  | -| openshift_examples_load_db_templates| true                                                | Loads database templates                 | -| openshift_examples_load_quickstarts | true                                                | Loads quickstarts ie: nodejs, rails, etc | -| openshift_examples_load_xpaas       | false                                               | Loads xpass streams and templates        | +| Name                                | Default value                                                  |                                          | +|-------------------------------------|----------------------------------------------------------------|------------------------------------------| +| openshift_examples_load_centos      | true when openshift_deployment_type not 'openshift-enterprise' | Load centos image streams                | +| openshift_examples_load_rhel        | true if openshift_deployment_type is 'openshift-enterprise'    | Load rhel image streams                  | +| openshift_examples_load_db_templates| true                                                           | Loads database templates                 | +| openshift_examples_load_quickstarts | true                                                           | Loads quickstarts ie: nodejs, rails, etc | +| openshift_examples_load_xpaas       | false                                                          | Loads xpass streams and templates        |  Dependencies diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 517e0231d..a76751e81 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -477,11 +477,7 @@ def set_selectors(facts):              facts if they were not already present      """ -    deployment_type = facts['common']['deployment_type'] -    if deployment_type == 'online': -        selector = "type=infra" -    else: -        selector = "region=infra" +    selector = "region=infra"      if 'hosted' not in facts:          facts['hosted'] = {} @@ -568,7 +564,7 @@ def set_identity_providers_if_unset(facts):                  name='allow_all', challenge=True, login=True,                  kind='AllowAllPasswordIdentityProvider'              ) -            if deployment_type in ['enterprise', 'atomic-enterprise', 'openshift-enterprise']: +            if deployment_type == 'openshift-enterprise':                  identity_provider = dict(                      name='deny_all', challenge=True, login=True,                      kind='DenyAllPasswordIdentityProvider' @@ -770,13 +766,11 @@ def set_deployment_facts_if_unset(facts):              service_type = 'atomic-openshift'              if deployment_type == 'origin':                  service_type = 'origin' -            elif deployment_type in ['enterprise']: -                service_type = 'openshift'              facts['common']['service_type'] = service_type      if 'docker' in facts:          deployment_type = facts['common']['deployment_type'] -        if deployment_type in ['enterprise', 'atomic-enterprise', 'openshift-enterprise']: +        if deployment_type == 'openshift-enterprise':              addtl_regs = facts['docker'].get('additional_registries', [])              ent_reg = 'registry.access.redhat.com'              if ent_reg not in addtl_regs: @@ -787,30 +781,21 @@ def set_deployment_facts_if_unset(facts):              deployment_type = facts['common']['deployment_type']              if 'registry_url' not in facts[role]:                  registry_url = 'openshift/origin-${component}:${version}' -                if deployment_type in ['enterprise', 'online', 'openshift-enterprise']: +                if deployment_type == 'openshift-enterprise':                      registry_url = 'openshift3/ose-${component}:${version}' -                elif deployment_type == 'atomic-enterprise': -                    registry_url = 'aep3_beta/aep-${component}:${version}'                  facts[role]['registry_url'] = registry_url      if 'master' in facts:          deployment_type = facts['common']['deployment_type']          openshift_features = ['Builder', 'S2IBuilder', 'WebConsole'] -        if 'disabled_features' in facts['master']: -            if deployment_type == 'atomic-enterprise': -                curr_disabled_features = set(facts['master']['disabled_features']) -                facts['master']['disabled_features'] = list(curr_disabled_features.union(openshift_features)) -        else: +        if 'disabled_features' not in facts['master']:              if facts['common']['deployment_subtype'] == 'registry':                  facts['master']['disabled_features'] = openshift_features      if 'node' in facts:          deployment_type = facts['common']['deployment_type']          if 'storage_plugin_deps' not in facts['node']: -            if deployment_type in ['openshift-enterprise', 'atomic-enterprise', 'origin']: -                facts['node']['storage_plugin_deps'] = ['ceph', 'glusterfs', 'iscsi'] -            else: -                facts['node']['storage_plugin_deps'] = [] +            facts['node']['storage_plugin_deps'] = ['ceph', 'glusterfs', 'iscsi']      return facts @@ -1671,7 +1656,7 @@ def set_container_facts_if_unset(facts):              facts      """      deployment_type = facts['common']['deployment_type'] -    if deployment_type in ['enterprise', 'openshift-enterprise']: +    if deployment_type == 'openshift-enterprise':          master_image = 'openshift3/ose'          cli_image = master_image          node_image = 'openshift3/node' @@ -1681,16 +1666,6 @@ def set_container_facts_if_unset(facts):          router_image = 'openshift3/ose-haproxy-router'          registry_image = 'openshift3/ose-docker-registry'          deployer_image = 'openshift3/ose-deployer' -    elif deployment_type == 'atomic-enterprise': -        master_image = 'aep3_beta/aep' -        cli_image = master_image -        node_image = 'aep3_beta/node' -        ovs_image = 'aep3_beta/openvswitch' -        etcd_image = 'registry.access.redhat.com/rhel7/etcd' -        pod_image = 'aep3_beta/aep-pod' -        router_image = 'aep3_beta/aep-haproxy-router' -        registry_image = 'aep3_beta/aep-docker-registry' -        deployer_image = 'aep3_beta/aep-deployer'      else:          master_image = 'openshift/origin'          cli_image = master_image diff --git a/roles/openshift_health_checker/openshift_checks/docker_image_availability.py b/roles/openshift_health_checker/openshift_checks/docker_image_availability.py index 9c35f0f92..98372d979 100644 --- a/roles/openshift_health_checker/openshift_checks/docker_image_availability.py +++ b/roles/openshift_health_checker/openshift_checks/docker_image_availability.py @@ -109,8 +109,6 @@ class DockerImageAvailability(DockerHostMixin, OpenShiftCheck):          # containerized etcd may not have openshift_image_tag, see bz 1466622          image_tag = self.get_var("openshift_image_tag", default="latest")          image_info = DEPLOYMENT_IMAGE_INFO[deployment_type] -        if not image_info: -            return required          # template for images that run on top of OpenShift          image_url = "{}/{}-{}:{}".format(image_info["namespace"], image_info["name"], "${component}", "${version}") @@ -160,7 +158,7 @@ class DockerImageAvailability(DockerHostMixin, OpenShiftCheck):          deployment_type = self.get_var("openshift_deployment_type")          if deployment_type == "origin" and "docker.io" not in regs:              regs.append("docker.io") -        elif "enterprise" in deployment_type and "registry.access.redhat.com" not in regs: +        elif deployment_type == 'openshift-enterprise' and "registry.access.redhat.com" not in regs:              regs.append("registry.access.redhat.com")          return regs diff --git a/roles/openshift_health_checker/test/docker_image_availability_test.py b/roles/openshift_health_checker/test/docker_image_availability_test.py index 6a7c16c7e..952fa9aa6 100644 --- a/roles/openshift_health_checker/test/docker_image_availability_test.py +++ b/roles/openshift_health_checker/test/docker_image_availability_test.py @@ -23,8 +23,6 @@ def task_vars():  @pytest.mark.parametrize('deployment_type, is_containerized, group_names, expect_active', [      ("origin", True, [], True),      ("openshift-enterprise", True, [], True), -    ("enterprise", True, [], False), -    ("online", True, [], False),      ("invalid", True, [], False),      ("", True, [], False),      ("origin", False, [], False), @@ -103,6 +101,39 @@ def test_all_images_unavailable(task_vars):      assert "required Docker images are not available" in actual['msg'] +def test_no_known_registries(): +    def execute_module(module_name=None, *_): +        if module_name == "command": +            return { +                'failed': True, +            } + +        return { +            'changed': False, +        } + +    def mock_known_docker_registries(): +        return [] + +    dia = DockerImageAvailability(execute_module, task_vars=dict( +        openshift=dict( +            common=dict( +                service_type='origin', +                is_containerized=False, +                is_atomic=False, +            ), +            docker=dict(additional_registries=["docker.io"]), +        ), +        openshift_deployment_type="openshift-enterprise", +        openshift_image_tag='latest', +        group_names=['nodes', 'masters'], +    )) +    dia.known_docker_registries = mock_known_docker_registries +    actual = dia.run() +    assert actual['failed'] +    assert "Unable to retrieve any docker registries." in actual['msg'] + +  @pytest.mark.parametrize("message,extra_words", [      (          "docker image update failure", diff --git a/roles/openshift_master/defaults/main.yml b/roles/openshift_master/defaults/main.yml index 4c8d6fdad..73e935d3f 100644 --- a/roles/openshift_master/defaults/main.yml +++ b/roles/openshift_master/defaults/main.yml @@ -20,8 +20,8 @@ r_openshift_master_os_firewall_allow:    port: 4001/tcp    cond: "{{ groups.oo_etcd_to_config | default([]) | length == 0 }}" -oreg_url: '' -oreg_host: "{{ oreg_url.split('/')[0] if '.' in oreg_url.split('/')[0] else '' }}" +# oreg_url is defined by user input +oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"  oreg_auth_credentials_path: "{{ r_openshift_master_data_dir }}/.docker"  oreg_auth_credentials_replace: False  l_bind_docker_reg_auth: False diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 6203bfc7b..94b7df1fc 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -224,7 +224,7 @@    - restart master api  - set_fact: -    translated_identity_providers: "{{ openshift.master.identity_providers | translate_idps('v1', openshift.common.version, openshift.common.deployment_type) }}" +    translated_identity_providers: "{{ openshift.master.identity_providers | translate_idps('v1') }}"  # TODO: add the validate parameter when there is a validation command to run  - name: Create master config diff --git a/roles/openshift_master_facts/filter_plugins/openshift_master.py b/roles/openshift_master_facts/filter_plugins/openshift_master.py index 56c864ec7..f7f3ac2b1 100644 --- a/roles/openshift_master_facts/filter_plugins/openshift_master.py +++ b/roles/openshift_master_facts/filter_plugins/openshift_master.py @@ -6,10 +6,6 @@ Custom filters for use in openshift-master  import copy  import sys -# pylint import-error disabled because pylint cannot find the package -# when installed in a virtualenv -from distutils.version import LooseVersion  # pylint: disable=no-name-in-module,import-error -  from ansible import errors  from ansible.parsing.yaml.dumper import AnsibleDumper  from ansible.plugins.filter.core import to_bool as ansible_bool @@ -82,23 +78,8 @@ class IdentityProviderBase(object):          self._allow_additional = True      @staticmethod -    def validate_idp_list(idp_list, openshift_version, deployment_type): +    def validate_idp_list(idp_list):          ''' validates a list of idps ''' -        login_providers = [x.name for x in idp_list if x.login] - -        multiple_logins_unsupported = False -        if len(login_providers) > 1: -            if deployment_type in ['enterprise', 'online', 'atomic-enterprise', 'openshift-enterprise']: -                if LooseVersion(openshift_version) < LooseVersion('3.2'): -                    multiple_logins_unsupported = True -            if deployment_type in ['origin']: -                if LooseVersion(openshift_version) < LooseVersion('1.2'): -                    multiple_logins_unsupported = True -        if multiple_logins_unsupported: -            raise errors.AnsibleFilterError("|failed multiple providers are " -                                            "not allowed for login. login " -                                            "providers: {0}".format(', '.join(login_providers))) -          names = [x.name for x in idp_list]          if len(set(names)) != len(names):              raise errors.AnsibleFilterError("|failed more than one provider configured with the same name") @@ -471,7 +452,7 @@ class FilterModule(object):      ''' Custom ansible filters for use by the openshift_master role'''      @staticmethod -    def translate_idps(idps, api_version, openshift_version, deployment_type): +    def translate_idps(idps, api_version):          ''' Translates a list of dictionaries into a valid identityProviders config '''          idp_list = [] @@ -487,7 +468,7 @@ class FilterModule(object):              idp_inst.set_provider_items()              idp_list.append(idp_inst) -        IdentityProviderBase.validate_idp_list(idp_list, openshift_version, deployment_type) +        IdentityProviderBase.validate_idp_list(idp_list)          return u(yaml.dump([idp.to_dict() for idp in idp_list],                             allow_unicode=True,                             default_flow_style=False, diff --git a/roles/openshift_metrics/README.md b/roles/openshift_metrics/README.md index 1f10de4a2..ed698daca 100644 --- a/roles/openshift_metrics/README.md +++ b/roles/openshift_metrics/README.md @@ -39,6 +39,8 @@ For default values, see [`defaults/main.yaml`](defaults/main.yaml).  - `openshift_metrics_hawkular_replicas:` The number of replicas for Hawkular metrics. +- `openshift_metrics_hawkular_route_annotations`: Dictionary with annotations for the Hawkular route. +  - `openshift_metrics_cassandra_replicas`: The number of Cassandra nodes to deploy for the    initial cluster. diff --git a/roles/openshift_metrics/defaults/main.yaml b/roles/openshift_metrics/defaults/main.yaml index d9a17ae7f..f45100be3 100644 --- a/roles/openshift_metrics/defaults/main.yaml +++ b/roles/openshift_metrics/defaults/main.yaml @@ -12,6 +12,7 @@ openshift_metrics_hawkular_cert: ""  openshift_metrics_hawkular_key: ""  openshift_metrics_hawkular_ca: ""  openshift_metrics_hawkular_nodeselector: "" +openshift_metrics_hawkular_route_annotations: {}  openshift_metrics_cassandra_replicas: 1  openshift_metrics_cassandra_storage_type: "{{ openshift_hosted_metrics_storage_kind | default('emptydir') }}" diff --git a/roles/openshift_metrics/tasks/install_hawkular.yaml b/roles/openshift_metrics/tasks/install_hawkular.yaml index 6b37f85ab..b63f5ca8c 100644 --- a/roles/openshift_metrics/tasks/install_hawkular.yaml +++ b/roles/openshift_metrics/tasks/install_hawkular.yaml @@ -40,6 +40,7 @@        dest: "{{ mktemp.stdout }}/templates/hawkular-metrics-route.yaml"      vars:        name: hawkular-metrics +      annotations: "{{ openshift_metrics_hawkular_route_annotations }}"        labels:          metrics-infra: hawkular-metrics        host: "{{ openshift_metrics_hawkular_hostname }}" diff --git a/roles/openshift_metrics/templates/route.j2 b/roles/openshift_metrics/templates/route.j2 index 423ab54a3..253d6ecf5 100644 --- a/roles/openshift_metrics/templates/route.j2 +++ b/roles/openshift_metrics/templates/route.j2 @@ -2,6 +2,9 @@ apiVersion: v1  kind: Route  metadata:    name: {{ name }} +{% if annotations is defined %} +  annotations: {{ annotations | to_yaml }} +{% endif %}  {% if labels is defined and labels %}    labels:  {% for k, v in labels.iteritems() %} diff --git a/roles/openshift_node/defaults/main.yml b/roles/openshift_node/defaults/main.yml index 433e92201..ed3516d04 100644 --- a/roles/openshift_node/defaults/main.yml +++ b/roles/openshift_node/defaults/main.yml @@ -82,8 +82,8 @@ default_r_openshift_node_os_firewall_allow:  # Allow multiple port ranges to be added to the role  r_openshift_node_os_firewall_allow: "{{ default_r_openshift_node_os_firewall_allow | union(openshift_node_open_ports | default([])) }}" -oreg_url: '' -oreg_host: "{{ oreg_url.split('/')[0] if '.' in oreg_url.split('/')[0] else '' }}" +# oreg_url is defined by user input +oreg_host: "{{ oreg_url.split('/')[0] if (oreg_url is defined and '.' in oreg_url.split('/')[0]) else '' }}"  oreg_auth_credentials_path: "{{ openshift_node_data_dir }}/.docker"  oreg_auth_credentials_replace: False  l_bind_docker_reg_auth: False diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml index ef79b6ac0..e82fb42b8 100644 --- a/roles/openshift_node/tasks/main.yml +++ b/roles/openshift_node/tasks/main.yml @@ -2,7 +2,8 @@  - fail:      msg: "SELinux is disabled, This deployment type requires that SELinux is enabled."    when: -    - (not ansible_selinux or ansible_selinux.status != 'enabled') and deployment_type in ['enterprise', 'online', 'atomic-enterprise', 'openshift-enterprise'] +    - (not ansible_selinux or ansible_selinux.status != 'enabled') +    - deployment_type == 'openshift-enterprise'      - not openshift_use_crio | default(false)  - name: setup firewall diff --git a/roles/openshift_node/tasks/node_system_container.yml b/roles/openshift_node/tasks/node_system_container.yml index b2dceedbe..0ca44c292 100644 --- a/roles/openshift_node/tasks/node_system_container.yml +++ b/roles/openshift_node/tasks/node_system_container.yml @@ -9,4 +9,6 @@    oc_atomic_container:      name: "{{ openshift.common.service_type }}-node"      image: "{{ 'docker:' if openshift.common.system_images_registry == 'docker' else openshift.common.system_images_registry + '/' }}{{ openshift.node.node_system_image }}:{{ openshift_image_tag }}" +    values: +    - "DNS_DOMAIN={{ openshift.common.dns_domain }}"      state: latest diff --git a/roles/openshift_node_dnsmasq/files/networkmanager/99-origin-dns.sh b/roles/openshift_node_dnsmasq/files/networkmanager/99-origin-dns.sh index 61d2a5b51..df02bcf0e 100755 --- a/roles/openshift_node_dnsmasq/files/networkmanager/99-origin-dns.sh +++ b/roles/openshift_node_dnsmasq/files/networkmanager/99-origin-dns.sh @@ -114,6 +114,8 @@ EOF        echo "nameserver "${def_route_ip}"" >> ${NEW_RESOLV_CONF}        if ! grep -q 'search.*cluster.local' ${NEW_RESOLV_CONF}; then          sed -i '/^search/ s/$/ cluster.local/' ${NEW_RESOLV_CONF} +      elif ! grep -qw search ${NEW_RESOLV_CONF}; then +        echo 'search cluster.local' >> ${NEW_RESOLV_CONF}        fi        cp -Z ${NEW_RESOLV_CONF} /etc/resolv.conf      fi diff --git a/roles/openshift_repos/README.md b/roles/openshift_repos/README.md index abd1997dd..ce3b51454 100644 --- a/roles/openshift_repos/README.md +++ b/roles/openshift_repos/README.md @@ -1,4 +1,4 @@ -OpenShift Repos  +OpenShift Repos  ================  Configures repositories for an OpenShift installation @@ -12,10 +12,10 @@ rhel-7-server-extra-rpms, and rhel-7-server-ose-3.0-rpms repos.  Role Variables  -------------- -| Name                          | Default value |                                    | -|-------------------------------|---------------|------------------------------------| -| openshift_deployment_type     | None          | Possible values enterprise, origin | -| openshift_additional_repos    | {}            | TODO                               | +| Name                          | Default value |                                              | +|-------------------------------|---------------|----------------------------------------------| +| openshift_deployment_type     | None          | Possible values openshift-enterprise, origin | +| openshift_additional_repos    | {}            | TODO                                         |  Dependencies  ------------ diff --git a/roles/openshift_sanitize_inventory/tasks/main.yml b/roles/openshift_sanitize_inventory/tasks/main.yml index 47d7be05a..59ce505d3 100644 --- a/roles/openshift_sanitize_inventory/tasks/main.yml +++ b/roles/openshift_sanitize_inventory/tasks/main.yml @@ -12,27 +12,6 @@        deployment_type is deprecated in favor of openshift_deployment_type.        Please specify only openshift_deployment_type, or make both the same. -# osm_cluster_network_cidr, osm_host_subnet_length and openshift_portal_net are -# now required to avoid changes that may occur between releases -# -# Note: We will skip these checks when some tests run which don't -# actually do any insalling/upgrading/scaling/etc.. -# Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1451023 -- when: -    - not testing_skip_some_requirements|default(False)|bool -  assert: -    that: -      - "osm_cluster_network_cidr is defined" -      - "osm_host_subnet_length is defined" -      - "openshift_portal_net is defined" -    msg: > -      osm_cluster_network_cidr, osm_host_subnet_length, and openshift_portal_net are required inventory -      variables. If you are upgrading or scaling up these variables should match what is currently used -      in the cluster. If you don't remember what these values are you can find them in -      /etc/origin/master/master-config.yaml on a master with the names clusterNetworkCIDR -      (osm_cluster_network_cidr), hostSubnetLength (osm_host_subnet_length), -      and serviceNetworkCIDR (openshift_portal_net). -  - name: Standardize on latest variable names    set_fact:      # goal is to deprecate deployment_type in favor of openshift_deployment_type. diff --git a/roles/openshift_sanitize_inventory/vars/main.yml b/roles/openshift_sanitize_inventory/vars/main.yml index da48e42c1..37e88758d 100644 --- a/roles/openshift_sanitize_inventory/vars/main.yml +++ b/roles/openshift_sanitize_inventory/vars/main.yml @@ -1,7 +1,4 @@  ---  # origin uses community packages named 'origin' -# online currently uses 'openshift' packages -# enterprise is used for OSE 3.0 < 3.1 which uses packages named 'openshift' -# atomic-enterprise uses Red Hat packages named 'atomic-openshift' -# openshift-enterprise uses Red Hat packages named 'atomic-openshift' starting with OSE 3.1 -known_openshift_deployment_types: ['origin', 'online', 'enterprise', 'atomic-enterprise', 'openshift-enterprise'] +# openshift-enterprise uses Red Hat packages named 'atomic-openshift' +known_openshift_deployment_types: ['origin', 'openshift-enterprise'] diff --git a/roles/openshift_service_catalog/files/openshift-ansible-catalog-console.js b/roles/openshift_service_catalog/files/openshift-ansible-catalog-console.js index 16a307c06..d0a9f11dc 100644 --- a/roles/openshift_service_catalog/files/openshift-ansible-catalog-console.js +++ b/roles/openshift_service_catalog/files/openshift-ansible-catalog-console.js @@ -1 +1,2 @@ -window.OPENSHIFT_CONSTANTS.ENABLE_TECH_PREVIEW_FEATURE.service_catalog_landing_page = true; +// empty file so that the master-config can still point to a file that exists +// this file will be replaced by the template service broker role if enabled diff --git a/roles/openshift_service_catalog/tasks/install.yml b/roles/openshift_service_catalog/tasks/install.yml index 746c73eaf..faf1aea97 100644 --- a/roles/openshift_service_catalog/tasks/install.yml +++ b/roles/openshift_service_catalog/tasks/install.yml @@ -6,8 +6,6 @@    register: mktemp    changed_when: False -- include: wire_aggregator.yml -  - name: Set default image variables based on deployment_type    include_vars: "{{ item }}"    with_first_found: @@ -112,15 +110,6 @@    when:      - not admin_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['instances', 'bindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not admin_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch']) -- shell: > -    oc get policybindings/kube-system:default -n kube-system || echo "not found" -  register: get_kube_system -  changed_when: no - -- command: > -    oc create policybinding kube-system -n kube-system -  when: "'not found' in get_kube_system.stdout" -  - oc_adm_policy_user:      namespace: kube-service-catalog      resource_kind: scc diff --git a/roles/openshift_service_catalog/tasks/wire_aggregator.yml b/roles/openshift_service_catalog/tasks/wire_aggregator.yml index 1c788470a..6431c6d3f 100644 --- a/roles/openshift_service_catalog/tasks/wire_aggregator.yml +++ b/roles/openshift_service_catalog/tasks/wire_aggregator.yml @@ -18,11 +18,10 @@    changed_when: false    delegate_to: "{{ first_master }}" -  # TODO: this currently has a bug where hostnames are required  - name: Creating First Master Aggregator signer certs    command: > -    oc adm ca create-signer-cert +    {{ hostvars[first_master].openshift.common.client_binary }} adm ca create-signer-cert      --cert=/etc/origin/master/front-proxy-ca.crt      --key=/etc/origin/master/front-proxy-ca.key      --serial=/etc/origin/master/ca.serial.txt @@ -79,7 +78,7 @@  - name: Create first master api-client config for Aggregator    command: > -    oc adm create-api-client-config +    {{ hostvars[first_master].openshift.common.client_binary }} adm create-api-client-config      --certificate-authority=/etc/origin/master/front-proxy-ca.crt      --signer-cert=/etc/origin/master/front-proxy-ca.crt      --signer-key=/etc/origin/master/front-proxy-ca.key diff --git a/roles/rhel_subscribe/tasks/enterprise.yml b/roles/rhel_subscribe/tasks/enterprise.yml index 39d59db70..9738929d2 100644 --- a/roles/rhel_subscribe/tasks/enterprise.yml +++ b/roles/rhel_subscribe/tasks/enterprise.yml @@ -3,20 +3,17 @@    command: subscription-manager repos --disable="*"  - set_fact: -    default_ose_version: '3.0' -  when: deployment_type == 'enterprise' - -- set_fact:      default_ose_version: '3.6' -  when: deployment_type in ['atomic-enterprise', 'openshift-enterprise'] +  when: deployment_type == 'openshift-enterprise'  - set_fact:      ose_version: "{{ lookup('oo_option', 'ose_version') | default(default_ose_version, True) }}"  - fail:      msg: "{{ ose_version }} is not a valid version for {{ deployment_type }} deployment type" -  when: ( deployment_type == 'enterprise' and ose_version not in ['3.0'] ) or -        ( deployment_type in ['atomic-enterprise', 'openshift-enterprise'] and ose_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6'] ) +  when: +    - deployment_type == 'openshift-enterprise' +    - ose_version not in ['3.1', '3.2', '3.3', '3.4', '3.5', '3.6'] )  - name: Enable RHEL repositories    command: subscription-manager repos \ diff --git a/roles/rhel_subscribe/tasks/main.yml b/roles/rhel_subscribe/tasks/main.yml index 2a2cf40f3..c43e5513d 100644 --- a/roles/rhel_subscribe/tasks/main.yml +++ b/roles/rhel_subscribe/tasks/main.yml @@ -62,12 +62,12 @@    when: openshift_pool_id.stdout == '' and openshift_pool_attached is defined and openshift_pool_attached.stdout == ''  - name: Attach to OpenShift Pool -  command: subscription-manager subscribe --pool {{ openshift_pool_id.stdout_lines[0] }} +  command: subscription-manager attach --pool {{ openshift_pool_id.stdout_lines[0] }}    register: subscribe_pool    until: subscribe_pool | succeeded    when: openshift_pool_id.stdout != ''  - include: enterprise.yml    when: -  - deployment_type in [ 'enterprise', 'atomic-enterprise', 'openshift-enterprise' ] +  - deployment_type == 'openshift-enterprise'    - not ostree_booted.stat.exists | bool diff --git a/roles/template_service_broker/defaults/main.yml b/roles/template_service_broker/defaults/main.yml new file mode 100644 index 000000000..fb407c4a2 --- /dev/null +++ b/roles/template_service_broker/defaults/main.yml @@ -0,0 +1,4 @@ +--- +# placeholder file? +template_service_broker_remove: False +template_service_broker_install: False diff --git a/roles/template_service_broker/files/openshift-ansible-catalog-console.js b/roles/template_service_broker/files/openshift-ansible-catalog-console.js new file mode 100644 index 000000000..b3a3d3428 --- /dev/null +++ b/roles/template_service_broker/files/openshift-ansible-catalog-console.js @@ -0,0 +1 @@ +window.OPENSHIFT_CONSTANTS.ENABLE_TECH_PREVIEW_FEATURE.template_service_broker = true; diff --git a/roles/template_service_broker/files/remove-openshift-ansible-catalog-console.js b/roles/template_service_broker/files/remove-openshift-ansible-catalog-console.js new file mode 100644 index 000000000..d0a9f11dc --- /dev/null +++ b/roles/template_service_broker/files/remove-openshift-ansible-catalog-console.js @@ -0,0 +1,2 @@ +// empty file so that the master-config can still point to a file that exists +// this file will be replaced by the template service broker role if enabled diff --git a/roles/etcd_ca/meta/main.yml b/roles/template_service_broker/meta/main.yml index e3e2f7781..ab5a0cf08 100644 --- a/roles/etcd_ca/meta/main.yml +++ b/roles/template_service_broker/meta/main.yml @@ -1,7 +1,7 @@  ---  galaxy_info: -  author: Jason DeTiberus -  description: Etcd CA +  author: OpenShift Red Hat +  description: OpenShift Template Service Broker    company: Red Hat, Inc.    license: Apache License, Version 2.0    min_ansible_version: 2.1 @@ -11,6 +11,3 @@ galaxy_info:      - 7    categories:    - cloud -  - system -dependencies: -- role: etcd_common diff --git a/roles/template_service_broker/tasks/install.yml b/roles/template_service_broker/tasks/install.yml new file mode 100644 index 000000000..199df83c2 --- /dev/null +++ b/roles/template_service_broker/tasks/install.yml @@ -0,0 +1,47 @@ +--- +# Fact setting +- name: Set default image variables based on deployment type +  include_vars: "{{ item }}" +  with_first_found: +    - "{{ openshift_deployment_type | default(deployment_type) }}.yml" +    - "default_images.yml" + +- name: set ansible_service_broker facts +  set_fact: +    template_service_broker_image: "{{ template_service_broker_image | default(__template_service_broker_image) }}" + +- oc_project: +    name: openshift-template-service-broker +    state: present + +- command: mktemp -d /tmp/tsb-ansible-XXXXXX +  register: mktemp +  changed_when: False +  become: no + +- copy: +    src: "{{ __tsb_files_location }}/{{ item }}" +    dest: "{{ mktemp.stdout }}/{{ item }}" +  with_items: +    - "{{ __tsb_template_file }}" +    - "{{ __tsb_rbac_file }}" + +- name: Apply template file +  shell: > +    oc process -f "{{ mktemp.stdout }}/{{ __tsb_template_file }}" --param API_SERVER_CONFIG="{{ lookup('file', __tsb_files_location ~ '/' ~ __tsb_config_file) }}" | kubectl apply -f - + +# reconcile with rbac +- name: Reconcile with RBAC file +  shell: > +    oc process -f "{{ mktemp.stdout }}/{{ __tsb_rbac_file }}" | oc auth reconcile -f - + +- name: copy tech preview extension file for service console UI +  copy: +    src: openshift-ansible-catalog-console.js +    dest: /etc/origin/master/openshift-ansible-catalog-console.js + +- file: +    state: absent +    name: "{{ mktemp.stdout }}" +  changed_when: False +  become: no diff --git a/roles/template_service_broker/tasks/main.yml b/roles/template_service_broker/tasks/main.yml new file mode 100644 index 000000000..d7ca970c7 --- /dev/null +++ b/roles/template_service_broker/tasks/main.yml @@ -0,0 +1,8 @@ +--- +# do any asserts here + +- include: install.yml +  when: template_service_broker_install | default(false) | bool + +- include: remove.yml +  when: template_service_broker_remove | default(false) | bool diff --git a/roles/template_service_broker/tasks/remove.yml b/roles/template_service_broker/tasks/remove.yml new file mode 100644 index 000000000..207dd9bdb --- /dev/null +++ b/roles/template_service_broker/tasks/remove.yml @@ -0,0 +1,28 @@ +--- +- command: mktemp -d /tmp/tsb-ansible-XXXXXX +  register: mktemp +  changed_when: False +  become: no + +- copy: +    src: "{{ __tsb_files_location }}/{{ item }}" +    dest: "{{ mktemp.stdout }}/{{ __tsb_template_file }}" + +- name: Delete TSB objects +  shell: > +    oc process -f "{{ __tsb_files_location }}/{{ __tsb_template_file }}" | kubectl delete -f - + +- name: empty out tech preview extension file for service console UI +  copy: +    src: remove-openshift-ansible-catalog-console.js +    dest: /etc/origin/master/openshift-ansible-catalog-console.js + +- oc_project: +    name: openshift-template-service-broker +    state: absent + +- file: +    state: absent +    name: "{{ mktemp.stdout }}" +  changed_when: False +  become: no diff --git a/roles/template_service_broker/vars/default_images.yml b/roles/template_service_broker/vars/default_images.yml new file mode 100644 index 000000000..807f2822c --- /dev/null +++ b/roles/template_service_broker/vars/default_images.yml @@ -0,0 +1,2 @@ +--- +__template_service_broker_image: "" diff --git a/roles/template_service_broker/vars/main.yml b/roles/template_service_broker/vars/main.yml new file mode 100644 index 000000000..372ab8f6f --- /dev/null +++ b/roles/template_service_broker/vars/main.yml @@ -0,0 +1,6 @@ +--- +__tsb_files_location: "../../../files/origin-components/" + +__tsb_template_file: "apiserver-template.yaml" +__tsb_config_file: "apiserver-config.yaml" +__tsb_rbac_file: "rbac-template.yaml" diff --git a/roles/template_service_broker/vars/openshift-enterprise.yml b/roles/template_service_broker/vars/openshift-enterprise.yml new file mode 100644 index 000000000..807f2822c --- /dev/null +++ b/roles/template_service_broker/vars/openshift-enterprise.yml @@ -0,0 +1,2 @@ +--- +__template_service_broker_image: ""  | 
