diff options
| author | Jason DeTiberus <jdetiber@redhat.com> | 2015-11-24 14:47:54 -0500 | 
|---|---|---|
| committer | Jason DeTiberus <jdetiber@redhat.com> | 2015-11-24 14:47:54 -0500 | 
| commit | b169e206f7964b3dcf3c1d142d945042618782a7 (patch) | |
| tree | d8ce3a291a4309bdff5ac1308418ed1149b85499 | |
| parent | 4ffde064c126e54930f776c727ab91b8c150166d (diff) | |
| download | openshift-b169e206f7964b3dcf3c1d142d945042618782a7.tar.gz openshift-b169e206f7964b3dcf3c1d142d945042618782a7.tar.bz2 openshift-b169e206f7964b3dcf3c1d142d945042618782a7.tar.xz openshift-b169e206f7964b3dcf3c1d142d945042618782a7.zip | |
more aws support for scaleup
| -rwxr-xr-x | bin/cluster | 25 | ||||
| -rw-r--r-- | playbooks/aws/openshift-cluster/addNodes.yml | 58 | ||||
| -rw-r--r-- | playbooks/aws/openshift-cluster/scaleup.yml | 9 | 
3 files changed, 92 insertions, 0 deletions
| diff --git a/bin/cluster b/bin/cluster index a3d4b629c..9b02b4347 100755 --- a/bin/cluster +++ b/bin/cluster @@ -67,6 +67,21 @@ class Cluster(object):          self.action(args, inventory, env, playbook) +    def addNodes(self, args): +        """ +        Add nodes to an existing cluster for given provider +        :param args: command line arguments provided by user +        """ +        env = {'cluster_id': args.cluster_id, +               'deployment_type': self.get_deployment_type(args)} +        playbook = "playbooks/{0}/openshift-cluster/addNodes.yml".format(args.provider) +        inventory = self.setup_provider(args.provider) + +        env['num_nodes'] = args.nodes +        env['num_infra'] = args.infra + +        self.action(args, inventory, env, playbook) +      def terminate(self, args):          """          Destroy OpenShift cluster @@ -292,6 +307,16 @@ if __name__ == '__main__':                                 help='number of external etcd hosts to create in cluster')      create_parser.set_defaults(func=cluster.create) + +    create_parser = action_parser.add_parser('addNodes', help='Add nodes to a cluster', +                                             parents=[meta_parser]) +    create_parser.add_argument('-n', '--nodes', default=1, type=int, +                               help='number of nodes to add to the cluster') +    create_parser.add_argument('-i', '--infra', default=1, type=int, +                               help='number of infra nodes to add to the cluster') +    create_parser.set_defaults(func=cluster.addNodes) + +      config_parser = action_parser.add_parser('config',                                               help='Configure or reconfigure a cluster',                                               parents=[meta_parser]) diff --git a/playbooks/aws/openshift-cluster/addNodes.yml b/playbooks/aws/openshift-cluster/addNodes.yml new file mode 100644 index 000000000..09bf34666 --- /dev/null +++ b/playbooks/aws/openshift-cluster/addNodes.yml @@ -0,0 +1,58 @@ +--- +- name: Launch instance(s) +  hosts: localhost +  connection: local +  gather_facts: no +  vars_files: +  - vars.yml +  - ["vars.{{ deployment_type }}.{{ cluster_id }}.yml", vars.defaults.yml] +  tasks: +  - fail: +      msg: Deployment type not supported for aws provider yet +    when: deployment_type == 'enterprise' + +  - include: ../../common/openshift-cluster/tasks/set_etcd_launch_facts.yml +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ etcd_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "default" + +  - include: ../../common/openshift-cluster/tasks/set_master_launch_facts.yml +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ master_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "default" + +  - include: ../../common/openshift-cluster/tasks/set_node_launch_facts.yml +    vars: +      type: "compute" +      count: "{{ num_nodes }}" +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ node_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "{{ sub_host_type }}" + +  - include: ../../common/openshift-cluster/tasks/set_node_launch_facts.yml +    vars: +      type: "infra" +      count: "{{ num_infra }}" +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ node_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "{{ sub_host_type }}" + +  - add_host: +      name: "{{ master_names.0 }}" +      groups: service_master +    when: master_names is defined and master_names.0 is defined + +- include: update.yml +- include: list.yml diff --git a/playbooks/aws/openshift-cluster/scaleup.yml b/playbooks/aws/openshift-cluster/scaleup.yml index 3c2deff70..d7454b6d6 100644 --- a/playbooks/aws/openshift-cluster/scaleup.yml +++ b/playbooks/aws/openshift-cluster/scaleup.yml @@ -8,6 +8,15 @@    - set_fact:        g_ssh_user_tmp: "{{ deployment_vars[deployment_type].ssh_user }}"        g_sudo_tmp: "{{ deployment_vars[deployment_type].sudo }}" +  - name: Evaluate oo_hosts_to_update +    add_host: +      name: "{{ item }}" +      groups: oo_hosts_to_update +      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" +      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" +    with_items: groups.nodes_to_add + +- include: ../../common/openshift-cluster/update_repos_and_packages.yml  - include: ../../common/openshift-cluster/scaleup.yml    vars: | 
