diff options
Diffstat (limited to 'playbooks')
| -rw-r--r-- | playbooks/adhoc/openshift_hosted_logging_efk.yaml | 16 | ||||
| -rw-r--r-- | playbooks/openshift-hosted/private/openshift_default_storage_class.yml | 4 | ||||
| -rw-r--r-- | playbooks/openshift-logging/private/config.yml | 1 | ||||
| -rw-r--r-- | playbooks/openshift-metrics/private/config.yml | 1 | ||||
| -rwxr-xr-x | playbooks/openstack/inventory.py | 48 | 
5 files changed, 43 insertions, 27 deletions
| diff --git a/playbooks/adhoc/openshift_hosted_logging_efk.yaml b/playbooks/adhoc/openshift_hosted_logging_efk.yaml deleted file mode 100644 index faeb332ad..000000000 --- a/playbooks/adhoc/openshift_hosted_logging_efk.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- hosts: masters[0] -  roles: -  - role: openshift_logging -    openshift_hosted_logging_cleanup: no - -- name: Update master-config for publicLoggingURL -  hosts: masters:!masters[0] -  pre_tasks: -  - set_fact: -      openshift_logging_kibana_hostname: "{{ openshift_hosted_logging_hostname | default('kibana.' ~ openshift_master_default_subdomain }}" -  tasks: -  - import_role: -      name: openshift_logging -      tasks_from: update_master_config -    when: openshift_hosted_logging_deploy | default(false) | bool diff --git a/playbooks/openshift-hosted/private/openshift_default_storage_class.yml b/playbooks/openshift-hosted/private/openshift_default_storage_class.yml index 62fe0dd60..c59ebcead 100644 --- a/playbooks/openshift-hosted/private/openshift_default_storage_class.yml +++ b/playbooks/openshift-hosted/private/openshift_default_storage_class.yml @@ -3,4 +3,6 @@    hosts: oo_first_master    roles:    - role: openshift_default_storage_class -    when: openshift_cloudprovider_kind is defined and (openshift_cloudprovider_kind == 'aws' or openshift_cloudprovider_kind == 'gce' or openshift_cloudprovider_kind == 'openstack') +    when: +    - openshift_cloudprovider_kind is defined +    - openshift_cloudprovider_kind in ['aws','gce','openstack','vsphere'] diff --git a/playbooks/openshift-logging/private/config.yml b/playbooks/openshift-logging/private/config.yml index d6b26647c..07aa8bfde 100644 --- a/playbooks/openshift-logging/private/config.yml +++ b/playbooks/openshift-logging/private/config.yml @@ -24,6 +24,7 @@      - import_role:          name: openshift_logging          tasks_from: update_master_config +      when: not openshift.common.version_gte_3_9  - name: Logging Install Checkpoint End    hosts: all diff --git a/playbooks/openshift-metrics/private/config.yml b/playbooks/openshift-metrics/private/config.yml index 1e237e3f0..889ea77b1 100644 --- a/playbooks/openshift-metrics/private/config.yml +++ b/playbooks/openshift-metrics/private/config.yml @@ -25,6 +25,7 @@      import_role:        name: openshift_metrics        tasks_from: update_master_config.yaml +    when: not openshift.common.version_gte_3_9  - name: Metrics Install Checkpoint End    hosts: all diff --git a/playbooks/openstack/inventory.py b/playbooks/openstack/inventory.py index 76e658eb7..d5a8c3e24 100755 --- a/playbooks/openstack/inventory.py +++ b/playbooks/openstack/inventory.py @@ -15,18 +15,10 @@ import json  import shade -def build_inventory(): -    '''Build the dynamic inventory.''' -    cloud = shade.openstack_cloud() - +def base_openshift_inventory(cluster_hosts): +    '''Set the base openshift inventory.'''      inventory = {} -    # TODO(shadower): filter the servers based on the `OPENSHIFT_CLUSTER` -    # environment variable. -    cluster_hosts = [ -        server for server in cloud.list_servers() -        if 'metadata' in server and 'clusterid' in server.metadata] -      masters = [server.name for server in cluster_hosts                 if server.metadata['host-type'] == 'master'] @@ -67,6 +59,34 @@ def build_inventory():      inventory['dns'] = {'hosts': dns}      inventory['lb'] = {'hosts': load_balancers} +    return inventory + + +def get_docker_storage_mountpoints(volumes): +    '''Check volumes to see if they're being used for docker storage''' +    docker_storage_mountpoints = {} +    for volume in volumes: +        if volume.metadata.get('purpose') == "openshift_docker_storage": +            for attachment in volume.attachments: +                if attachment.server_id in docker_storage_mountpoints: +                    docker_storage_mountpoints[attachment.server_id].append(attachment.device) +                else: +                    docker_storage_mountpoints[attachment.server_id] = [attachment.device] +    return docker_storage_mountpoints + + +def build_inventory(): +    '''Build the dynamic inventory.''' +    cloud = shade.openstack_cloud() + +    # TODO(shadower): filter the servers based on the `OPENSHIFT_CLUSTER` +    # environment variable. +    cluster_hosts = [ +        server for server in cloud.list_servers() +        if 'metadata' in server and 'clusterid' in server.metadata] + +    inventory = base_openshift_inventory(cluster_hosts) +      for server in cluster_hosts:          if 'group' in server.metadata:              group = server.metadata.group @@ -76,6 +96,9 @@ def build_inventory():      inventory['_meta'] = {'hostvars': {}} +    # cinder volumes used for docker storage +    docker_storage_mountpoints = get_docker_storage_mountpoints(cloud.list_volumes()) +      for server in cluster_hosts:          ssh_ip_address = server.public_v4 or server.private_v4          hostvars = { @@ -111,6 +134,11 @@ def build_inventory():          if node_labels:              hostvars['openshift_node_labels'] = node_labels +        # check for attached docker storage volumes +        if 'os-extended-volumes:volumes_attached' in server: +            if server.id in docker_storage_mountpoints: +                hostvars['docker_storage_mountpoints'] = ' '.join(docker_storage_mountpoints[server.id]) +          inventory['_meta']['hostvars'][server.name] = hostvars      return inventory | 
