diff options
| author | Jason DeTiberus <jdetiber@redhat.com> | 2015-03-23 23:53:17 -0400 | 
|---|---|---|
| committer | Jason DeTiberus <jdetiber@redhat.com> | 2015-04-03 14:51:26 -0400 | 
| commit | 4712e72c912a1102bff0508c98bd97da3f33ae95 (patch) | |
| tree | 04a2bfebd3ac8b746150921bd134dbde70a9a56a /roles/openshift_master | |
| parent | 59e69dd21c19bf745392b5e83bd652630ee870cc (diff) | |
| download | openshift-4712e72c912a1102bff0508c98bd97da3f33ae95.tar.gz openshift-4712e72c912a1102bff0508c98bd97da3f33ae95.tar.bz2 openshift-4712e72c912a1102bff0508c98bd97da3f33ae95.tar.xz openshift-4712e72c912a1102bff0508c98bd97da3f33ae95.zip | |
openshift_facts role/module refactor default settings
- Add openshift_facts role and module
  - Created new role openshift_facts that contains an openshift_facts module
  - Refactor openshift_* roles to use openshift_facts instead of relying on
    defaults
  - Refactor playbooks to use openshift_facts
  - Cleanup inventory group_vars
- Update defaults
  - update openshift_master role firewall defaults
    - remove etcd peer port, since we will not be supporting clustered embedded
      etcd
    - remove 8444 since console now runs on the api port by default
    - add 8444 and 7001 to disabled services to ensure removal if updating
- Add new role os_env_extras_node that is a subset of the docker role
  - previously, we were starting/enabling docker which was causing issues with some
  installations
  - Does not install or start docker, since the openshift-node role will
    handle that for us
  - Only adds root to the dockerroot group
  - Update playbooks to use ops_env_extras_node role instead of docker role
- os_firewall bug fixes
  - ignore ip6tables for now, since we are not configuring any ipv6 rules
  - if installing package do a daemon-reload before starting/enabling service
- Add aws support to bin/cluster
- Add list action to bin/cluster
- Add update action to bin/cluster
- cleanup some stray debug statements
- some variable renaming for clarity
Diffstat (limited to 'roles/openshift_master')
| -rw-r--r-- | roles/openshift_master/README.md | 28 | ||||
| -rw-r--r-- | roles/openshift_master/defaults/main.yml | 13 | ||||
| -rw-r--r-- | roles/openshift_master/handlers/main.yml | 1 | ||||
| -rw-r--r-- | roles/openshift_master/tasks/main.yml | 50 | ||||
| -rw-r--r-- | roles/openshift_master/vars/main.yml | 2 | 
5 files changed, 49 insertions, 45 deletions
| diff --git a/roles/openshift_master/README.md b/roles/openshift_master/README.md index 2d898bc3b..9f9d0a613 100644 --- a/roles/openshift_master/README.md +++ b/roles/openshift_master/README.md @@ -13,20 +13,24 @@ Role Variables  --------------  From this role: -| Name                                     | Default value         | -| -|------------------------------------------|-----------------------|----------------------------------------| -| openshift_master_manage_service_externally | False                 | Should the openshift-master role manage the openshift-master service? | -| openshift_master_debug_level               | openshift_debug_level | Verbosity of the debug logs for openshift-master | -| openshift_node_ips                         | []                    | List of the openshift node ip addresses, that we want to pre-register to the system when openshift-master starts up | -| openshift_registry_url                     | UNDEF (Optional)      | Default docker registry to use | +| Name                                | Default value         |                                                  | +|-------------------------------------|-----------------------|--------------------------------------------------| +| openshift_master_debug_level        | openshift_debug_level | Verbosity of the debug logs for openshift-master | +| openshift_node_ips                  | []                    | List of the openshift node ip addresses to pre-register when openshift-master starts up | +| openshift_registry_url              | UNDEF                 | Default docker registry to use | +| openshift_master_api_port           | UNDEF                 | | +| openshift_master_console_port       | UNDEF                 | | +| openshift_master_api_url            | UNDEF                 | | +| openshift_master_console_url        | UNDEF                 | | +| openshift_master_public_api_url     | UNDEF                 | | +| openshift_master_public_console_url | UNDEF                 | |  From openshift_common: -| Name                          |  Default Value      |                     | -|-------------------------------|---------------------|---------------------| -| openshift_debug_level         | 0                   | Global openshift debug log verbosity | -| openshift_public_ip           | UNDEF (Required)    | Public IP address to use for this host | -| openshift_hostname            | UNDEF (Required)    | hostname to use for this instance | +| Name                          | Default Value  |                                        | +|-------------------------------|----------------|----------------------------------------| +| openshift_debug_level         | 0              | Global openshift debug log verbosity   | +| openshift_public_ip           | UNDEF          | Public IP address to use for this host | +| openshift_hostname            | UNDEF          | hostname to use for this instance      |  Dependencies  ------------ diff --git a/roles/openshift_master/defaults/main.yml b/roles/openshift_master/defaults/main.yml index 0159afbb5..87fb347a8 100644 --- a/roles/openshift_master/defaults/main.yml +++ b/roles/openshift_master/defaults/main.yml @@ -1,16 +1,17 @@  --- -openshift_master_manage_service_externally: false -openshift_master_debug_level: "{{ openshift_debug_level | default(0) }}"  openshift_node_ips: [] + +# TODO: update setting these values based on the facts +# TODO: update for console port change  os_firewall_allow:  - service: etcd embedded    port: 4001/tcp -- service: etcd peer -  port: 7001/tcp  - service: OpenShift api https    port: 8443/tcp -- service: OpenShift web console https -  port: 8444/tcp  os_firewall_deny:  - service: OpenShift api http    port: 8080/tcp +- service: former OpenShift web console port +  port: 8444/tcp +- service: former etcd peer port +  port: 7001/tcp diff --git a/roles/openshift_master/handlers/main.yml b/roles/openshift_master/handlers/main.yml index 503d08d41..6fd4dfb51 100644 --- a/roles/openshift_master/handlers/main.yml +++ b/roles/openshift_master/handlers/main.yml @@ -1,4 +1,3 @@  ---  - name: restart openshift-master    service: name=openshift-master state=restarted -  when: not openshift_master_manage_service_externally diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 52f5f694c..aa615df39 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -1,19 +1,37 @@  --- -# TODO: allow for overriding default ports where possible -# TODO: if setting up multiple masters, will need to predistribute the certs -# to the additional masters before starting openshift-master +# TODO: actually have api_port, api_use_ssl, console_port, console_use_ssl, +# etcd_use_ssl actually change the master config. + +- name: Set master OpenShift facts +  openshift_facts: +    role: 'master' +    local_facts: +      debug_level: "{{ openshift_master_debug_level | default(openshift.common.debug_level) }}" +      api_port: "{{ openshift_master_api_port | default(None) }}" +      api_url: "{{ openshift_master_api_url | default(None) }}" +      api_use_ssl: "{{ openshift_master_api_use_ssl | default(None) }}" +      public_api_url: "{{ openshift_master_public_api_url | default(None) }}" +      console_port: "{{ openshift_master_console_port | default(None) }}" +      console_url: "{{ openshift_master_console_url | default(None) }}" +      console_use_ssl: "{{ openshift_master_console_use_ssl | default(None) }}" +      public_console_url: "{{ openshift_master_public_console_url | default(None) }}" +      etcd_use_ssl: "{{ openshift_master_etcd_use_ssl | default(None) }}"  - name: Install OpenShift Master package    yum: pkg=openshift-master state=installed +# TODO: We should pre-generate the master config and point to the generated +# config rather than setting command line flags here  - name: Configure OpenShift settings    lineinfile:      dest: /etc/sysconfig/openshift-master      regexp: '^OPTIONS=' -    line: "OPTIONS=\"--public-master={{ openshift_hostname }} {% if openshift_node_ips %} --nodes={{ openshift_node_ips | join(',') }} {% endif %} --loglevel={{ openshift_master_debug_level }}\"" +    line: "OPTIONS=\"--master={{ openshift.common.hostname }} --public-master={{ openshift.common.public_hostname }} {% if openshift_node_ips %} --nodes={{ openshift_node_ips | join(',') }} {% endif %} --loglevel={{ openshift.master.debug_level }}\""    notify:    - restart openshift-master +# TODO: should this be populated by a fact based on the deployment type +# (origin, online, enterprise)?  - name: Set default registry url    lineinfile:      dest: /etc/sysconfig/openshift-master @@ -23,34 +41,18 @@    notify:    - restart openshift-master -- name: Set master OpenShift facts -  include: "{{ role_path | dirname }}/openshift_common/tasks/set_facts.yml" -  facts: -  - section: master -    option: debug_level -    value: "{{ openshift_master_debug_level }}" -  - section: master -    option: public_ip -    value: "{{ openshift_public_ip }}" -  - section: master -    option: externally_managed -    value: "{{ openshift_master_manage_service_externally }}" -  - name: Start and enable openshift-master    service: name=openshift-master enabled=yes state=started -  when: not openshift_master_manage_service_externally -  register: result - -- name: Disable openshift-master if openshift-master is managed externally -  service: name=openshift-master enabled=false -  when: openshift_master_manage_service_externally  - name: Create .kube directory    file:      path: /root/.kube      state: directory      mode: 0700 + +# TODO: Update this file if the contents of the source file are not present in +# the dest file, will need to make sure to ignore things that could be added  - name: Configure root user kubeconfig -  command: cp /var/lib/openshift/openshift.local.certificates/admin/.kubeconfig /root/.kube/.kubeconfig +  command: cp /var/lib/openshift/openshift.local.certificates/openshift-client/.kubeconfig /root/.kube/.kubeconfig    args:      creates: /root/.kube/.kubeconfig diff --git a/roles/openshift_master/vars/main.yml b/roles/openshift_master/vars/main.yml deleted file mode 100644 index 9a8c4bba2..000000000 --- a/roles/openshift_master/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -openshift_host_type: master | 
