diff --git a/dynamicInventory b/dynamicInventory deleted file mode 100755 index 5ada7f57b7544089b04deef1de67a7b92b1fd1a9..0000000000000000000000000000000000000000 --- a/dynamicInventory +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env python -import sys, os, string, subprocess, socket, re -import copy, shlex,uuid, random, multiprocessing, time, shutil, json -#import novaclient.v1_1.client as nvclient -#import novaclient.exceptions as nvexceptions -from keystoneclient.auth.identity import v2 as v2_auth -#from heatclient import client as heat_client -#from novaclient import client as nova_client -#from cinderclient import client as cinder_client -import heatclient -import novaclient -import cinderclient -import heatclient.client -import novaclient.client -import cinderclient.client -import keystoneclient.client -from keystoneclient.auth.identity import v2 -from keystoneclient import session -from novaclient import client - -from keystoneclient import session as kssession -#NOVA_STANDALONE=True -NOVA_STANDALONE=False - - -class OpenStackConnection: - - def __init__(self, username, passwd): - self.username=username - self.passwd=passwd - self.tenantName= os.environ['OS_TENANT_NAME'] - self.tenantID= os.environ['OS_TENANT_ID'] - self.authUrl="https://keystone.rc.nectar.org.au:5000/v2.0" - - def get_stack_name(self,stack): - stacks=[] - for s in self.hc.stacks.list(): - stacks.append(s.stack_name) - if stack in stacks: - return stack - elif len(stacks)==1: - return stacks[0] - elif len(stacks)==0: - raise Exception("You do not have any heat stacks in your OpenStack Project") - else: - raise Exception("You have multiple heat stacks in your OpenStack Project and I'm not sure which one to use.\n You can select a stack by symlinking to a stack, for example if you have a stack called mycluster do ln -s %s mycluster\n"%stack) - - def auth(self): - - - kwargs = { - 'username': self.username, - 'password': self.passwd, - 'tenant_id': self.tenantID, - 'auth_url':self.authUrl, - } - - auth = v2.Password(**kwargs) - sess = session.Session(auth=auth) - kwargs = { - 'session':sess, - - } - api_version='2' - self.nc = novaclient.client.Client(api_version, session=sess) - - api_version=1 - endpoint="https://heat.rc.nectar.org.au:8004/v1/%s"%self.tenantID - self.hc = heatclient.client.Client(api_version, endpoint, session=sess) - - api_version=1 - self.cc = cinderclient.client.Client(api_version, session=sess) - - - def recurse_resources(self,stack,resource): - result=[] - if 'OS::Nova::Server' in resource.resource_type: - result.append(resource.physical_resource_id) - if 'OS::Heat::ResourceGroup' in resource.resource_type: - for r in self.hc.resources.list(resource.physical_resource_id): - result.extend(self.recurse_resources(stack,r)) - - return result - - def gatherInfo(self,stack_name): - - ## Fetch the Nova Object - instance_ids=[] - for i in self.hc.stacks.list(): - if i.stack_name == stack_name: - for r in self.hc.resources.list(i.stack_name): - instance_ids.extend(self.recurse_resources(stack=i,resource=r)) - - nc=self.nc - cc=self.cc - inventory = {} - inventory['_meta'] = { 'hostvars': {} } - for server in nc.servers.list(): - if server.id in instance_ids: - if server.metadata and 'ansible_host_groups' in server.metadata: - hostname=server.name - groups = json.loads(server.metadata['ansible_host_groups']) - for group in groups: - if group in inventory: - inventory[group].append(hostname) - else: - inventory[group] = [ hostname ] - elif server.metadata and 'ansible_host_group' in server.metadata: - #hostname = socket.gethostbyaddr(server.networks.values()[0][0])[0] - hostname = server.name - # Set Ansible Host Group - if server.metadata['ansible_host_group'] in inventory: - inventory[server.metadata['ansible_host_group']].append(hostname) - else: - inventory[server.metadata['ansible_host_group']] = [hostname] - #print dir(server) - # Set the other host variables - inventory['_meta']['hostvars'][hostname] = {} - inventory['_meta']['hostvars'][hostname]['ansible_ssh_host'] = server.networks.values()[0][0] - inventory['_meta']['hostvars'][hostname]['ansible_remote_tmp'] = '/tmp/ansible' - for key in server.metadata.keys(): - if 'ansible_ssh' in key: - inventory['_meta']['hostvars'][hostname][key] = server.metadata[key] - inventory['_meta']['hostvars'][hostname]['ansible_ssh_user'] = 'ec2-user' - for vol in server.to_dict()['os-extended-volumes:volumes_attached']: - for cv in cc.volumes.findall(): - if cv.id == vol['id']: - devname = '/dev/disk/by-id/virtio-'+cv.id[0:20] - if not 'ansible_host_volumes' in inventory['_meta']['hostvars'][hostname]: - inventory['_meta']['hostvars'][hostname]['ansible_host_volumes']={} - inventory['_meta']['hostvars'][hostname]['ansible_host_volumes'][cv.display_name]={'uuid':vol['id'],'dev':devname} - print json.dumps(inventory) - -if __name__ == "__main__": - stack_name=os.path.basename(sys.argv[0]) - username = os.environ['OS_USERNAME'] - passwd = os.environ['OS_PASSWORD'] - openstack = OpenStackConnection(username, passwd) - openstack.auth() - stack_name=openstack.get_stack_name(stack_name) - openstack.gatherInfo(stack_name) diff --git a/provisionCluster.yaml b/provisionCluster.yaml deleted file mode 100644 index 910d5ea4192c1e29d1f490c4505fb49d4e771d99..0000000000000000000000000000000000000000 --- a/provisionCluster.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -description: " A simple template to boot a 3 node cluster" -heat_template_version: 2013-05-23 -parameters: - image_id: - type: string - label: Image ID - description: Image to be used for compute instance - default: a5e74703-f343-415a-aa23-bd0f0aacfc9e - key_name: - type: string - label: Key Name - description: Name of key-pair to be used for compute instance - default: shahaan - availability_z: - type: string - label: Availability Zone - description: Availability Zone to be used for launching compute instance - default: monash-01 -resources: - computeNodes: - type: "OS::Heat::ResourceGroup" - properties: - count: 2 - resource_def: - type: "OS::Nova::Server" - properties: - availability_zone: { get_param: availability_z } - flavor: m1.small - image: { get_param: image_id } - key_name: { get_param: key_name } - metadata: - ansible_host_group: computeNodes - ansible_ssh_user: ec2-user - ansible_ssh_private_key_file: /home/sgeadmin/.ssh/shahaan.pem - headNodes: - type: "OS::Heat::ResourceGroup" - properties: - count: 1 - resource_def: - type: headNode.yaml diff --git a/roles/easy-rsa-certificate/tasks/buildCert.yml b/roles/easy-rsa-certificate/tasks/buildCert.yml index 32f5a06f62d3461e0e9f63a2c6c1fa0a55c09c76..df849b969aee561f41ddb16a4481e1ace89b890c 100644 --- a/roles/easy-rsa-certificate/tasks/buildCert.yml +++ b/roles/easy-rsa-certificate/tasks/buildCert.yml @@ -31,7 +31,7 @@ when: cert.stat.exists == false or cert.stat.size == 0 - name: "Delete Zero Sized Ceritificates" - remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}" + remote_user: "{{ hostvars[x509_ca_server]['ansible_user'] }}" delegate_to: "{{ x509_ca_server }}" shell: rm -rf /etc/easy-rsa/2.0/keys/{{ x509_common_name }}.* when: cert is defined and cert.stat.size == 0 @@ -61,28 +61,28 @@ when: needcert - name: "Copy CSR to CA" - remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}" + remote_user: "{{ hostvars[x509_ca_server]['ansible_user'] }}" delegate_to: "{{ x509_ca_server }}" copy: "src=/tmp/{{ inventory_hostname }}/{{ inventory_hostname }}.csr dest=/etc/easy-rsa/2.0/keys/{{ x509_common_name }}.csr force=yes" when: needcert sudo: true - name: "Sign Certificate" - remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}" + remote_user: "{{ hostvars[x509_ca_server]['ansible_user'] }}" delegate_to: "{{ x509_ca_server }}" shell: "cd /etc/easy-rsa/2.0; . ./vars; export EASY_RSA=\"${EASY_RSA:-.}\" ;\"$EASY_RSA\"/pkitool --sign {{ x509_sign_args }} {{ x509_common_name }}" when: needcert sudo: true - name: "Copy the Certificate to ansible host" - remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}" + remote_user: "{{ hostvars[x509_ca_server]['ansible_user'] }}" delegate_to: "{{ x509_ca_server }}" fetch: "src=/etc/easy-rsa/2.0/keys/{{ x509_common_name }}.crt dest=/tmp/{{ inventory_hostname }}/{{ x509_common_name }}.crt fail_on_missing=yes validate_md5=yes flat=yes" sudo: true when: needcert - name: "Copy the CA Certificate to the ansible host" - remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}" + remote_user: "{{ hostvars[x509_ca_server]['ansible_user'] }}" delegate_to: "{{ x509_ca_server }}" fetch: "src=/etc/easy-rsa/2.0/keys/ca.crt dest=/tmp/{{ inventory_hostname }}/ca.crt fail_on_missing=yes validate_md5=yes flat=yes" sudo: true diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml index d2541f9f40d2cd8dd2506357443a0b045c9d56be..3b360634ffe4669b42f19b5b4be2fba3c3cce72a 100644 --- a/roles/mellanox_drivers/tasks/main.yml +++ b/roles/mellanox_drivers/tasks/main.yml @@ -33,11 +33,11 @@ # when: ansible_os_family == "RedHat" and drivers_installed|failed # #- name: waiting for server to come back -# local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH +# local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH # sudo: false # #- name: waiting for server to come back number 2 -# local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH +# local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH # sudo: false @@ -120,12 +120,12 @@ when: ansible_os_family=="Debian" and drivers_installed|failed - name: waiting for server to come back - local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH + local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH sudo: false when: drivers_installed|failed - name: waiting for server to come back 2 - local_action: wait_for host={{ ansible_ssh_host }} state=started port=22 delay=10 search_regex=OpenSSH + local_action: wait_for host={{ ansible_host }} state=started port=22 delay=10 search_regex=OpenSSH when: drivers_installed|failed - name: bring up interface diff --git a/roles/move_homedir/tasks/main.yml b/roles/move_homedir/tasks/main.yml index 9ed97c5d5d6dcd1098e8a734af3d8d926aa67260..e0f4863464e6aff0ea2b3c6a6898d1e0b3da4336 100644 --- a/roles/move_homedir/tasks/main.yml +++ b/roles/move_homedir/tasks/main.yml @@ -2,8 +2,8 @@ file: path=/local_home owner=root group=root state=directory sudo: true -- name: copy the {{ ansible_ssh_user }} home - shell: cp -ar /home/{{ ansible_ssh_user }} /local_home +- name: copy the {{ ansible_user }} home + shell: cp -ar /home/{{ ansible_user }} /local_home ignore_errors: true sudo: true register: home_copied @@ -13,8 +13,8 @@ lineinfile: args: dest: /etc/passwd - regexp: '{{ ansible_ssh_user }}:x:(.*):(.*):(.*):/home/{{ ansible_ssh_user }}:(.*)' - line: '{{ ansible_ssh_user }}:x:\1:\2:\3:/local_home/{{ ansible_ssh_user }}:\4' + regexp: '{{ ansible_user }}:x:(.*):(.*):(.*):/home/{{ ansible_user }}:(.*)' + line: '{{ ansible_user }}:x:\1:\2:\3:/local_home/{{ ansible_user }}:\4' backrefs: yes sudo: true register: edit