diff options
| author | Samuel Padgett <spadgett@redhat.com> | 2018-01-15 09:06:16 -0500 | 
|---|---|---|
| committer | Samuel Padgett <spadgett@redhat.com> | 2018-01-16 16:16:01 -0500 | 
| commit | b498f10bf3e0c755dba6ce45913bd163475989fb (patch) | |
| tree | eb8e58b6e4f5221bfe8500fc43af5ee769c2979c | |
| parent | 9424e6ffe7919c9651e860fe606895c7ab6b7ca8 (diff) | |
| download | openshift-b498f10bf3e0c755dba6ce45913bd163475989fb.tar.gz openshift-b498f10bf3e0c755dba6ce45913bd163475989fb.tar.bz2 openshift-b498f10bf3e0c755dba6ce45913bd163475989fb.tar.xz openshift-b498f10bf3e0c755dba6ce45913bd163475989fb.zip  | |
Update console config for API changes
| -rw-r--r-- | files/origin-components/console-config.yaml | 41 | ||||
| -rw-r--r-- | roles/openshift_logging/tasks/install_logging.yaml | 9 | ||||
| -rw-r--r-- | roles/openshift_metrics/tasks/install_metrics.yaml | 9 | ||||
| -rw-r--r-- | roles/openshift_web_console/tasks/install.yml | 29 | ||||
| -rw-r--r-- | roles/openshift_web_console/tasks/update_console_config.yml (renamed from roles/openshift_web_console/tasks/update_asset_config.yml) | 19 | 
5 files changed, 84 insertions, 23 deletions
diff --git a/files/origin-components/console-config.yaml b/files/origin-components/console-config.yaml index e104e8028..901518b28 100644 --- a/files/origin-components/console-config.yaml +++ b/files/origin-components/console-config.yaml @@ -1,5 +1,34 @@ -kind: WebConsoleConfiguration  apiVersion: webconsole.config.openshift.io/v1 +kind: WebConsoleConfiguration +clusterInfo: +  consolePublicURL: https://127.0.0.1:8443/console/ +  loggingPublicURL: "" +  logoutPublicURL: "" +  masterPublicURL: https://127.0.0.1:8443 +  metricsPublicURL: "" +# TODO: The new extensions properties cannot be set until +# origin-web-console-server has been updated with the API changes since +# `extensions` in the old asset config was an array. +#extensions: +#  scriptURLs: [] +#  stylesheetURLs: [] +#  properties: null +features: +  inactivityTimeoutMinutes: 0 +servingInfo: +  bindAddress: 0.0.0.0:8443 +  bindNetwork: tcp4 +  certFile: /var/serving-cert/tls.crt +  clientCA: "" +  keyFile: /var/serving-cert/tls.key +  maxRequestsInFlight: 0 +  namedCertificates: null +  requestTimeoutSeconds: 0 + +# START deprecated properties +# These properties have been renamed and will be removed from the install +# in a future pull. Keep both the old and new properties for now so that +# the install is not broken while the origin-web-console image is updated.  extensionDevelopment: false  extensionProperties: null  extensionScripts: null @@ -10,12 +39,4 @@ logoutURL: ""  masterPublicURL: https://127.0.0.1:8443  metricsPublicURL: ""  publicURL: https://127.0.0.1:8443/console/ -servingInfo: -  bindAddress: 0.0.0.0:8443 -  bindNetwork: tcp4 -  certFile: /var/serving-cert/tls.crt -  clientCA: "" -  keyFile: /var/serving-cert/tls.key -  maxRequestsInFlight: 0 -  namedCertificates: null -  requestTimeoutSeconds: 0 +# END deprecated properties diff --git a/roles/openshift_logging/tasks/install_logging.yaml b/roles/openshift_logging/tasks/install_logging.yaml index ebd2d747b..ff62b6136 100644 --- a/roles/openshift_logging/tasks/install_logging.yaml +++ b/roles/openshift_logging/tasks/install_logging.yaml @@ -321,9 +321,14 @@  - name: Add Kibana route information to web console asset config    include_role:      name: openshift_web_console -    tasks_from: update_asset_config.yml +    tasks_from: update_console_config.yml    vars: -    asset_config_edits: +    console_config_edits: +    - key: clusterInfo#loggingPublicURL +      value: "https://{{ openshift_logging_kibana_hostname }}" +    # Continue to set the old deprecated property until the +    # origin-web-console image is updated for the new name. +    # This will be removed in a future pull.      - key: loggingPublicURL        value: "https://{{ openshift_logging_kibana_hostname }}"    when: openshift_web_console_install | default(true) | bool diff --git a/roles/openshift_metrics/tasks/install_metrics.yaml b/roles/openshift_metrics/tasks/install_metrics.yaml index 0866fe0d2..4a63d081e 100644 --- a/roles/openshift_metrics/tasks/install_metrics.yaml +++ b/roles/openshift_metrics/tasks/install_metrics.yaml @@ -74,9 +74,14 @@  - name: Add metrics route information to web console asset config    include_role:      name: openshift_web_console -    tasks_from: update_asset_config.yml +    tasks_from: update_console_config.yml    vars: -    asset_config_edits: +    console_config_edits: +      - key: clusterInfo#metricsPublicURL +        value: "https://{{ openshift_metrics_hawkular_hostname}}/hawkular/metrics" +      # Continue to set the old deprecated property until the +      # origin-web-console image is updated for the new name. +      # This will be removed in a future pull.        - key: metricsPublicURL          value: "https://{{ openshift_metrics_hawkular_hostname}}/hawkular/metrics"    when: openshift_web_console_install | default(true) | bool diff --git a/roles/openshift_web_console/tasks/install.yml b/roles/openshift_web_console/tasks/install.yml index 287d8973d..50e72657f 100644 --- a/roles/openshift_web_console/tasks/install.yml +++ b/roles/openshift_web_console/tasks/install.yml @@ -39,13 +39,40 @@    yedit:      src: "{{ mktemp.stdout }}/{{ __console_config_file }}"      edits: -      - key: logoutURL +      - key: clusterInfo#consolePublicURL +        # Must have a trailing slash +        value: "{{ openshift.master.public_console_url }}/" +      - key: clusterInfo#masterPublicURL +        value: "{{ openshift.master.public_api_url }}" +      - key: clusterInfo#logoutPublicURL          value: "{{ openshift.master.logout_url | default('') }}" +      - key: features#inactivityTimeoutMinutes +        value: "{{ openshift_web_console_inactivity_timeout_minutes | default(0) }}" + +      # TODO: The new extensions properties cannot be set until +      # origin-web-console-server has been updated with the API changes since +      # `extensions` in the old asset config was an array. + +      # - key: extensions#scriptURLs +      #   value: "{{ openshift_web_console_extension_script_urls | default([]) }}" +      # - key: extensions#stylesheetURLs +      #   value: "{{ openshift_web_console_extension_stylesheet_urls | default([]) }}" +      # - key: extensions#properties +      #   value: "{{ openshift_web_console_extension_properties | default({}) }}" + +      # DEPRECATED PROPERTIES +      # These properties have been renamed and will be removed from the install +      # in a future pull. Keep both the old and new properties for now so that +      # the install is not broken while the origin-web-console image is updated.        - key: publicURL          # Must have a trailing slash          value: "{{ openshift.master.public_console_url }}/" +      - key: logoutURL +        value: "{{ openshift.master.logout_url | default('') }}"        - key: masterPublicURL          value: "{{ openshift.master.public_api_url }}" +    separator: '#' +    state: present  - slurp:      src: "{{ mktemp.stdout }}/{{ __console_config_file }}" diff --git a/roles/openshift_web_console/tasks/update_asset_config.yml b/roles/openshift_web_console/tasks/update_console_config.yml index 21b293bed..e347c0193 100644 --- a/roles/openshift_web_console/tasks/update_asset_config.yml +++ b/roles/openshift_web_console/tasks/update_console_config.yml @@ -1,9 +1,9 @@  ---  # This task updates asset config values in the webconsole-config config map in  # the openshift-web-console namespace. The values to set are pased in the -# variable `asset_config_edits`, which is an array of objects with `key` and +# variable `console_config_edits`, which is an array of objects with `key` and  # `value` properties in the same format as `yedit` module `edits`. Only -# properties passed are updated. +# properties passed are updated. The separator for nested properties is `#`.  #  # Note that this triggers a redeployment on the console and a brief downtime  # since it uses a `Recreate` strategy. @@ -12,10 +12,10 @@  #  # - include_role:  #     name: openshift_web_console -#     tasks_from: update_asset_config.yml +#     tasks_from: update_console_config.yml  #   vars: -#     asset_config_edits: -#       - key: loggingPublicURL +#     console_config_edits: +#       - key: clusterInfo#loggingPublicURL  #         value: "https://{{ openshift_logging_kibana_hostname }}"  #   when: openshift_web_console_install | default(true) | bool @@ -31,15 +31,17 @@    register: mktemp_console    changed_when: False -- name: Copy asset config to temp file +- name: Copy web console config to temp file    copy:      content: "{{webconsole_config.results.results[0].data['webconsole-config.yaml']}}"      dest: "{{ mktemp_console.stdout }}/webconsole-config.yaml" -- name: Change asset config properties +- name: Change web console config properties    yedit:      src: "{{ mktemp_console.stdout }}/webconsole-config.yaml" -    edits: "{{asset_config_edits}}" +    edits: "{{console_config_edits}}" +    separator: '#' +    state: present  - name: Update web console config map    oc_configmap: @@ -55,6 +57,7 @@      name: "{{ mktemp_console.stdout }}"    changed_when: False +# TODO: Only rollout if config has changed.  # There's currently no command to trigger a rollout for a k8s deployment  # without changing the pod spec. Add an annotation to force a rollout after  # the config map has been edited.  | 
