diff --git a/dynamicInventory-mcc2 b/dynamicInventory-mcc2 index 6d94d8c0601aa9855f4c4ca47975ed8dd9ecdcb3..dd761641e840f69e8c20ecf3d19965069f4a3e61 100755 --- a/dynamicInventory-mcc2 +++ b/dynamicInventory-mcc2 @@ -1,14 +1,15 @@ #!/usr/bin/env python import sys, os, string, socket, re import shlex, multiprocessing, time, shutil, json -import novaclient.v1_1.client as nvclient +from novaclient import client as nvclient import novaclient.exceptions as nvexceptions import keystoneclient.v2_0.client as ksclient from joblib import Parallel, delayed from multiprocessing import Process, Manager, Pool +from libnmap.process import NmapProcess +from libnmap.parser import NmapParser, NmapParserException def gatherInfo(tenantName, tenantID, userName, passwd, authUrl, inventory): - ## Fetch the Nova Object projectName = os.path.basename(sys.argv[0]) nc = nvclient.Client( auth_url=authUrl, @@ -16,24 +17,23 @@ def gatherInfo(tenantName, tenantID, userName, passwd, authUrl, inventory): api_key=passwd, project_id=tenantName, tenant_id=tenantID, - service_type="compute" + version="2" ) for server in nc.servers.list(): if server.metadata and \ 'ansible_host_groups' in server.metadata and \ - server.metadata['project_name'] == projectName.strip(): + 'project_name' in server.metadata: + if server.metadata['project_name'].strip() != projectName.strip(): continue unwantedChars = """][")(""" rgx = re.compile('[%s]' % unwantedChars) ansible_groups = rgx.sub('', server.metadata['ansible_host_groups']).split(',') hostname = socket.gethostbyaddr(server.networks.values()[0][0])[0] - closed=True - while closed: - hostSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - if not hostSocket.connect_ex((hostname, 22)): - closed = False - break - time.sleep(5) - hostSocket.close() + novaVolumes = nc.volumes.get_server_volumes(server.id) + # Let's do some port scanning using nmap + nmproc = NmapProcess(hostname, "-p 22 -sV -Pn") + rc = nmproc.run() + if rc != 0: continue + parsed = NmapParser.parse(nmproc.stdout) # Set Ansible Host Group for group in ansible_groups: groupName = group.strip() @@ -43,11 +43,12 @@ def gatherInfo(tenantName, tenantID, userName, passwd, authUrl, inventory): for key, value in server.metadata.iteritems(): if key not in ('project_name','ansible_host_groups'): inventory['_meta']['hostvars'][hostname] = { key:value } + if novaVolumes: + inventory['_meta']['hostvars'][hostname]['volumeList'] = [ volume.id for volume in novaVolumes ] + inventory['_meta']['hostvars'][hostname]['status'] = parsed.hosts[0].status else: continue #print inventory - #inventoryList.append(inventory) - #print json.dumps(inventory) if __name__ == "__main__": inventory = {} diff --git a/roles/centos7Base/tasks/installBasePackages.yml b/roles/centos7Base/tasks/installBasePackages.yml new file mode 100644 index 0000000000000000000000000000000000000000..74f25096720e42f66a08b597b87bb3c00ef076d7 --- /dev/null +++ b/roles/centos7Base/tasks/installBasePackages.yml @@ -0,0 +1,31 @@ +--- +- + name: Removing the RDO repository + file: path=/etc/yum.repos.d/rdo-release.repo state=absent + sudo: true +- + name: Install epel-release + yum: name=epel-release-7-5.noarch state=present + sudo: true +- + name: Enable epel + command: yum-config-manager --enable epel + sudo: true +- + name: Installing Base Packages + yum: name={{ item }} state=present + with_items: + - yum-utils + - deltarpm-3.6-3.el7.x86_64 + - yum-plugin-versionlock + sudo: true +- + name: Installing Core packages + yum: name="{{ item.software }}-{{ item.version }}.{{ item.arch }}" state=present + with_items: package_list + sudo: true +- + name: Performing version lock on the packages + shell: yum versionlock \* + sudo: true + diff --git a/roles/centos7Base/tasks/main.yml b/roles/centos7Base/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..92c1b261d7f41238af21738ef8ffe501c1ca43a8 --- /dev/null +++ b/roles/centos7Base/tasks/main.yml @@ -0,0 +1,2 @@ +--- +- include: installBasePackages.yml diff --git a/roles/centos7Base/vars/main.yml b/roles/centos7Base/vars/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..832ba06d894f5d61fb9979b9a4e9af377b4e2817 --- /dev/null +++ b/roles/centos7Base/vars/main.yml @@ -0,0 +1,355 @@ +--- +package_list: + - { software: "ModemManager-glib", version: "1.1.0-6.git20130913.el7", arch: "x86_64" } + - { software: "NetworkManager", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-adsl", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-bluetooth", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-glib", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-libnm", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-team", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-tui", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-wifi", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "NetworkManager-wwan", version: "1:1.0.0-16.git20150121.b4ea599c.el7_1", arch: "x86_64" } + - { software: "PyYAML", version: "3.10-11.el7", arch: "x86_64" } + - { software: "acl", version: "2.2.51-12.el7", arch: "x86_64" } + - { software: "acpid", version: "2.0.19-5.el7", arch: "x86_64" } + - { software: "alsa-lib", version: "1.0.28-2.el7", arch: "x86_64" } + - { software: "audit", version: "2.4.1-5.el7", arch: "x86_64" } + - { software: "audit-libs", version: "2.4.1-5.el7", arch: "x86_64" } + - { software: "audit-libs-python", version: "2.4.1-5.el7", arch: "x86_64" } + - { software: "authconfig", version: "6.2.8-9.el7", arch: "x86_64" } + - { software: "autogen-libopts", version: "5.18-5.el7", arch: "x86_64" } + - { software: "avahi", version: "0.6.31-14.el7", arch: "x86_64" } + - { software: "avahi-autoipd", version: "0.6.31-14.el7", arch: "x86_64" } + - { software: "avahi-libs", version: "0.6.31-14.el7", arch: "x86_64" } + - { software: "basesystem", version: "10.0-7.el7.centos", arch: "noarch" } + - { software: "bash", version: "4.2.46-12.el7", arch: "x86_64" } + - { software: "bind-libs", version: "32:9.9.4-18.el7_1.5", arch: "x86_64" } + - { software: "bind-libs-lite", version: "32:9.9.4-18.el7_1.5", arch: "x86_64" } + - { software: "bind-license", version: "32:9.9.4-18.el7_1.5", arch: "noarch" } + - { software: "bind-utils", version: "32:9.9.4-18.el7_1.5", arch: "x86_64" } + - { software: "binutils", version: "2.23.52.0.1-30.el7_1.2", arch: "x86_64" } + - { software: "biosdevname", version: "0.6.1-2.el7", arch: "x86_64" } + - { software: "btrfs-progs", version: "3.16.2-1.el7", arch: "x86_64" } + - { software: "bzip2", version: "1.0.6-12.el7", arch: "x86_64" } + - { software: "bzip2-libs", version: "1.0.6-12.el7", arch: "x86_64" } + - { software: "ca-certificates", version: "2015.2.4-70.0.el7_1", arch: "noarch" } + - { software: "centos-logos", version: "70.0.6-2.el7.centos", arch: "noarch" } + - { software: "centos-release", version: "7-1.1503.el7.centos.2.8", arch: "x86_64" } + - { software: "checkpolicy", version: "2.1.12-6.el7", arch: "x86_64" } + - { software: "chkconfig", version: "1.3.61-4.el7", arch: "x86_64" } + - { software: "cloud-init", version: "0.7.5-10.el7.centos.1", arch: "x86_64" } + - { software: "cloud-utils-growpart", version: "0.27-20.el7.centos", arch: "x86_64" } + - { software: "coreutils", version: "8.22-12.el7_1.2", arch: "x86_64" } + - { software: "cpio", version: "2.11-22.el7", arch: "x86_64" } + - { software: "cpp", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "cracklib", version: "2.9.0-11.el7", arch: "x86_64" } + - { software: "cracklib-dicts", version: "2.9.0-11.el7", arch: "x86_64" } + - { software: "cronie", version: "1.4.11-13.el7", arch: "x86_64" } + - { software: "cronie-anacron", version: "1.4.11-13.el7", arch: "x86_64" } + - { software: "crontabs", version: "1.11-6.20121102git.el7", arch: "noarch" } + - { software: "cryptsetup-libs", version: "1.6.6-3.el7", arch: "x86_64" } + - { software: "curl", version: "7.29.0-19.el7", arch: "x86_64" } + - { software: "cyrus-sasl-lib", version: "2.1.26-17.el7", arch: "x86_64" } + - { software: "dbus", version: "1:1.6.12-11.el7", arch: "x86_64" } + - { software: "dbus-glib", version: "0.100-7.el7", arch: "x86_64" } + - { software: "dbus-libs", version: "1:1.6.12-11.el7", arch: "x86_64" } + - { software: "dbus-python", version: "1.1.1-9.el7", arch: "x86_64" } + - { software: "device-mapper", version: "7:1.02.93-3.el7_1.1", arch: "x86_64" } + - { software: "device-mapper-libs", version: "7:1.02.93-3.el7_1.1", arch: "x86_64" } + - { software: "dhclient", version: "12:4.2.5-36.el7.centos", arch: "x86_64" } + - { software: "dhcp-common", version: "12:4.2.5-36.el7.centos", arch: "x86_64" } + - { software: "dhcp-libs", version: "12:4.2.5-36.el7.centos", arch: "x86_64" } + - { software: "diffutils", version: "3.3-4.el7", arch: "x86_64" } + - { software: "dmidecode", version: "1:2.12-5.el7", arch: "x86_64" } + - { software: "dnsmasq", version: "2.66-14.el7_1", arch: "x86_64" } + - { software: "dracut", version: "033-241.el7_1.5", arch: "x86_64" } + - { software: "dracut-config-rescue", version: "033-241.el7_1.5", arch: "x86_64" } + - { software: "dracut-network", version: "033-241.el7_1.5", arch: "x86_64" } + - { software: "e2fsprogs", version: "1.42.9-7.el7", arch: "x86_64" } + - { software: "e2fsprogs-libs", version: "1.42.9-7.el7", arch: "x86_64" } + - { software: "ebtables", version: "2.0.10-13.el7", arch: "x86_64" } + - { software: "elfutils-libelf", version: "0.160-1.el7", arch: "x86_64" } + - { software: "elfutils-libs", version: "0.160-1.el7", arch: "x86_64" } + - { software: "environment-modules", version: "3.2.10-8.el7", arch: "x86_64" } + - { software: "epel-release", version: "7-5", arch: "noarch" } + - { software: "ethtool", version: "2:3.15-2.el7", arch: "x86_64" } + - { software: "expat", version: "2.1.0-8.el7", arch: "x86_64" } + - { software: "fail2ban", version: "0.9.2-1.el7", arch: "noarch" } + - { software: "fail2ban-firewalld", version: "0.9.2-1.el7", arch: "noarch" } + - { software: "fail2ban-sendmail", version: "0.9.2-1.el7", arch: "noarch" } + - { software: "fail2ban-server", version: "0.9.2-1.el7", arch: "noarch" } + - { software: "fail2ban-systemd", version: "0.9.2-1.el7", arch: "noarch" } + - { software: "file", version: "5.11-21.el7", arch: "x86_64" } + - { software: "file-libs", version: "5.11-21.el7", arch: "x86_64" } + - { software: "filesystem", version: "3.2-18.el7", arch: "x86_64" } + - { software: "findutils", version: "1:4.5.11-3.el7", arch: "x86_64" } + - { software: "fipscheck", version: "1.4.1-5.el7", arch: "x86_64" } + - { software: "fipscheck-lib", version: "1.4.1-5.el7", arch: "x86_64" } + - { software: "firewalld", version: "0.3.9-11.el7", arch: "noarch" } + - { software: "freetype", version: "2.4.11-10.el7_1.1", arch: "x86_64" } + - { software: "fxload", version: "2002_04_11-16.el7", arch: "x86_64" } + - { software: "gawk", version: "4.0.2-4.el7", arch: "x86_64" } + - { software: "gcc", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "gcc-c++", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "gcc-gfortran", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "gdbm", version: "1.10-8.el7", arch: "x86_64" } + - { software: "gettext", version: "0.18.2.1-4.el7", arch: "x86_64" } + - { software: "gettext-libs", version: "0.18.2.1-4.el7", arch: "x86_64" } + - { software: "glib-networking", version: "2.40.0-1.el7", arch: "x86_64" } + - { software: "glib2", version: "2.40.0-4.el7", arch: "x86_64" } + - { software: "glibc", version: "2.17-78.el7", arch: "x86_64" } + - { software: "glibc-common", version: "2.17-78.el7", arch: "x86_64" } + - { software: "glibc-devel", version: "2.17-78.el7", arch: "x86_64" } + - { software: "glibc-headers", version: "2.17-78.el7", arch: "x86_64" } + - { software: "gmp", version: "1:6.0.0-11.el7", arch: "x86_64" } + - { software: "gnupg2", version: "2.0.22-3.el7", arch: "x86_64" } + - { software: "gnutls", version: "3.3.8-12.el7_1.1", arch: "x86_64" } + - { software: "gobject-introspection", version: "1.36.0-4.el7", arch: "x86_64" } + - { software: "gpgme", version: "1.3.2-5.el7", arch: "x86_64" } + - { software: "grep", version: "2.20-1.el7", arch: "x86_64" } + - { software: "groff-base", version: "1.22.2-8.el7", arch: "x86_64" } + - { software: "grub2", version: "1:2.02-0.17.el7.centos.4.0.1", arch: "x86_64" } + - { software: "grub2-tools", version: "1:2.02-0.17.el7.centos.4.0.1", arch: "x86_64" } + - { software: "grubby", version: "8.28-11.el7", arch: "x86_64" } + - { software: "gsettings-desktop-schemas", version: "3.8.2-3.el7", arch: "x86_64" } + - { software: "gzip", version: "1.5-7.el7", arch: "x86_64" } + - { software: "hardlink", version: "1:1.0-19.el7", arch: "x86_64" } + - { software: "heat-cfntools", version: "1.2.8-1.el7.centos", arch: "noarch" } + - { software: "hostname", version: "3.13-3.el7", arch: "x86_64" } + - { software: "hwdata", version: "0.252-7.8.el7_1", arch: "x86_64" } + - { software: "info", version: "5.1-4.el7", arch: "x86_64" } + - { software: "initscripts", version: "9.49.24-1.el7", arch: "x86_64" } + - { software: "iproute", version: "3.10.0-21.el7", arch: "x86_64" } + - { software: "iprutils", version: "2.4.3-3.el7", arch: "x86_64" } + - { software: "ipset", version: "6.19-4.el7", arch: "x86_64" } + - { software: "ipset-libs", version: "6.19-4.el7", arch: "x86_64" } + - { software: "iptables", version: "1.4.21-13.el7", arch: "x86_64" } + - { software: "iputils", version: "20121221-6.el7_1.1", arch: "x86_64" } + - { software: "irqbalance", version: "2:1.0.7-2.el7_1", arch: "x86_64" } + - { software: "jansson", version: "2.4-6.el7", arch: "x86_64" } + - { software: "jbigkit-libs", version: "2.0-11.el7", arch: "x86_64" } + - { software: "json-c", version: "0.11-4.el7_0", arch: "x86_64" } + - { software: "kbd", version: "1.15.5-11.el7", arch: "x86_64" } + - { software: "kbd-legacy", version: "1.15.5-11.el7", arch: "noarch" } + - { software: "kbd-misc", version: "1.15.5-11.el7", arch: "noarch" } + - { software: "kernel", version: "3.10.0-123.6.3.el7", arch: "x86_64" } + - { software: "kernel", version: "3.10.0-123.8.1.el7", arch: "x86_64" } + - { software: "kernel", version: "3.10.0-229.14.1.el7", arch: "x86_64" } + - { software: "kernel-headers", version: "3.10.0-229.14.1.el7", arch: "x86_64" } + - { software: "kernel-tools", version: "3.10.0-229.14.1.el7", arch: "x86_64" } + - { software: "kernel-tools-libs", version: "3.10.0-229.14.1.el7", arch: "x86_64" } + - { software: "kexec-tools", version: "2.0.7-19.el7_1.2", arch: "x86_64" } + - { software: "keyutils-libs", version: "1.5.8-3.el7", arch: "x86_64" } + - { software: "kmod", version: "14-10.el7", arch: "x86_64" } + - { software: "kmod-libs", version: "14-10.el7", arch: "x86_64" } + - { software: "kpartx", version: "0.4.9-77.el7_1.1", arch: "x86_64" } + - { software: "krb5-libs", version: "1.12.2-15.el7_1", arch: "x86_64" } + - { software: "less", version: "458-8.el7", arch: "x86_64" } + - { software: "libX11", version: "1.6.0-2.1.el7", arch: "x86_64" } + - { software: "libX11-common", version: "1.6.0-2.1.el7", arch: "noarch" } + - { software: "libXau", version: "1.0.8-2.1.el7", arch: "x86_64" } + - { software: "libacl", version: "2.2.51-12.el7", arch: "x86_64" } + - { software: "libassuan", version: "2.1.0-3.el7", arch: "x86_64" } + - { software: "libattr", version: "2.4.46-12.el7", arch: "x86_64" } + - { software: "libblkid", version: "2.23.2-22.el7_1.1", arch: "x86_64" } + - { software: "libcap", version: "2.22-8.el7", arch: "x86_64" } + - { software: "libcap-ng", version: "0.7.3-5.el7", arch: "x86_64" } + - { software: "libcgroup", version: "0.41-8.el7", arch: "x86_64" } + - { software: "libcom_err", version: "1.42.9-7.el7", arch: "x86_64" } + - { software: "libcroco", version: "0.6.8-5.el7", arch: "x86_64" } + - { software: "libcurl", version: "7.29.0-19.el7", arch: "x86_64" } + - { software: "libdaemon", version: "0.14-7.el7", arch: "x86_64" } + - { software: "libdb", version: "5.3.21-17.el7_0.1", arch: "x86_64" } + - { software: "libdb-utils", version: "5.3.21-17.el7_0.1", arch: "x86_64" } + - { software: "libdrm", version: "2.4.56-2.el7", arch: "x86_64" } + - { software: "libedit", version: "3.0-12.20121213cvs.el7", arch: "x86_64" } + - { software: "libestr", version: "0.1.9-2.el7", arch: "x86_64" } + - { software: "libffi", version: "3.0.13-11.el7", arch: "x86_64" } + - { software: "libgcc", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libgcrypt", version: "1.5.3-12.el7_1.1", arch: "x86_64" } + - { software: "libgfortran", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libgomp", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libgpg-error", version: "1.12-3.el7", arch: "x86_64" } + - { software: "libgudev1", version: "208-20.el7_1.6", arch: "x86_64" } + - { software: "libidn", version: "1.28-3.el7", arch: "x86_64" } + - { software: "libjpeg-turbo", version: "1.2.90-5.el7", arch: "x86_64" } + - { software: "libmnl", version: "1.0.3-7.el7", arch: "x86_64" } + - { software: "libmodman", version: "2.0.1-8.el7", arch: "x86_64" } + - { software: "libmount", version: "2.23.2-22.el7_1.1", arch: "x86_64" } + - { software: "libmpc", version: "1.0.1-3.el7", arch: "x86_64" } + - { software: "libndp", version: "1.2-4.el7", arch: "x86_64" } + - { software: "libnetfilter_conntrack", version: "1.0.4-2.el7", arch: "x86_64" } + - { software: "libnfnetlink", version: "1.0.1-4.el7", arch: "x86_64" } + - { software: "libnl3", version: "3.2.21-8.el7", arch: "x86_64" } + - { software: "libnl3-cli", version: "3.2.21-8.el7", arch: "x86_64" } + - { software: "libpcap", version: "14:1.5.3-4.el7_1.2", arch: "x86_64" } + - { software: "libpciaccess", version: "0.13.1-4.1.el7", arch: "x86_64" } + - { software: "libpipeline", version: "1.2.3-3.el7", arch: "x86_64" } + - { software: "libproxy", version: "0.4.11-6.el7", arch: "x86_64" } + - { software: "libpwquality", version: "1.2.3-4.el7", arch: "x86_64" } + - { software: "libquadmath", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libquadmath-devel", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libselinux", version: "2.2.2-6.el7", arch: "x86_64" } + - { software: "libselinux-python", version: "2.2.2-6.el7", arch: "x86_64" } + - { software: "libselinux-utils", version: "2.2.2-6.el7", arch: "x86_64" } + - { software: "libsemanage", version: "2.1.10-16.el7", arch: "x86_64" } + - { software: "libsemanage-python", version: "2.1.10-16.el7", arch: "x86_64" } + - { software: "libsepol", version: "2.1.9-3.el7", arch: "x86_64" } + - { software: "libsoup", version: "2.46.0-3.el7", arch: "x86_64" } + - { software: "libss", version: "1.42.9-7.el7", arch: "x86_64" } + - { software: "libssh2", version: "1.4.3-8.el7", arch: "x86_64" } + - { software: "libstdc++", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libstdc++-devel", version: "4.8.3-9.el7", arch: "x86_64" } + - { software: "libsysfs", version: "2.1.0-16.el7", arch: "x86_64" } + - { software: "libtasn1", version: "3.8-2.el7", arch: "x86_64" } + - { software: "libteam", version: "1.15-1.el7", arch: "x86_64" } + - { software: "libtiff", version: "4.0.3-14.el7", arch: "x86_64" } + - { software: "libunistring", version: "0.9.3-9.el7", arch: "x86_64" } + - { software: "libuser", version: "0.60-7.el7_1", arch: "x86_64" } + - { software: "libutempter", version: "1.1.6-4.el7", arch: "x86_64" } + - { software: "libuuid", version: "2.23.2-22.el7_1.1", arch: "x86_64" } + - { software: "libverto", version: "0.2.5-4.el7", arch: "x86_64" } + - { software: "libwebp", version: "0.3.0-3.el7", arch: "x86_64" } + - { software: "libxcb", version: "1.9-5.el7", arch: "x86_64" } + - { software: "libxml2", version: "2.9.1-5.el7_1.2", arch: "x86_64" } + - { software: "libyaml", version: "0.1.4-11.el7_0", arch: "x86_64" } + - { software: "linux-firmware", version: "20140911-0.1.git365e80c.el7", arch: "noarch" } + - { software: "logrotate", version: "3.8.6-4.el7", arch: "x86_64" } + - { software: "lua", version: "5.1.4-14.el7", arch: "x86_64" } + - { software: "lzo", version: "2.06-6.el7_0.2", arch: "x86_64" } + - { software: "make", version: "1:3.82-21.el7", arch: "x86_64" } + - { software: "man-db", version: "2.6.3-9.el7", arch: "x86_64" } + - { software: "mariadb-libs", version: "1:5.5.44-1.el7_1", arch: "x86_64" } + - { software: "microcode_ctl", version: "2:2.1-10.el7", arch: "x86_64" } + - { software: "mozjs17", version: "17.0.0-10.el7", arch: "x86_64" } + - { software: "mpfr", version: "3.1.1-4.el7", arch: "x86_64" } + - { software: "nano", version: "2.3.1-10.el7", arch: "x86_64" } + - { software: "ncurses", version: "5.9-13.20130511.el7", arch: "x86_64" } + - { software: "ncurses-base", version: "5.9-13.20130511.el7", arch: "noarch" } + - { software: "ncurses-libs", version: "5.9-13.20130511.el7", arch: "x86_64" } + - { software: "net-tools", version: "2.0-0.17.20131004git.el7", arch: "x86_64" } + - { software: "nettle", version: "2.7.1-4.el7", arch: "x86_64" } + - { software: "newt", version: "0.52.15-4.el7", arch: "x86_64" } + - { software: "newt-python", version: "0.52.15-4.el7", arch: "x86_64" } + - { software: "nmap", version: "2:6.40-4.el7", arch: "x86_64" } + - { software: "nmap-ncat", version: "2:6.40-4.el7", arch: "x86_64" } + - { software: "nspr", version: "4.10.8-1.el7_1", arch: "x86_64" } + - { software: "nss", version: "3.19.1-5.el7_1", arch: "x86_64" } + - { software: "nss-softokn", version: "3.16.2.3-13.el7_1", arch: "x86_64" } + - { software: "nss-softokn-freebl", version: "3.16.2.3-13.el7_1", arch: "x86_64" } + - { software: "nss-sysinit", version: "3.19.1-5.el7_1", arch: "x86_64" } + - { software: "nss-tools", version: "3.19.1-5.el7_1", arch: "x86_64" } + - { software: "nss-util", version: "3.19.1-3.el7_1", arch: "x86_64" } + - { software: "ntp", version: "4.2.6p5-19.el7.centos.1", arch: "x86_64" } + - { software: "ntpdate", version: "4.2.6p5-19.el7.centos.1", arch: "x86_64" } + - { software: "numactl-libs", version: "2.0.9-5.el7_1", arch: "x86_64" } + - { software: "openldap", version: "2.4.39-6.el7", arch: "x86_64" } + - { software: "openssh", version: "6.6.1p1-12.el7_1", arch: "x86_64" } + - { software: "openssh-clients", version: "6.6.1p1-12.el7_1", arch: "x86_64" } + - { software: "openssh-server", version: "6.6.1p1-12.el7_1", arch: "x86_64" } + - { software: "openssl", version: "1:1.0.1e-42.el7.9", arch: "x86_64" } + - { software: "openssl-libs", version: "1:1.0.1e-42.el7.9", arch: "x86_64" } + - { software: "os-prober", version: "1.58-5.el7", arch: "x86_64" } + - { software: "p11-kit", version: "0.20.7-3.el7", arch: "x86_64" } + - { software: "p11-kit-trust", version: "0.20.7-3.el7", arch: "x86_64" } + - { software: "pam", version: "1.1.8-12.el7_1.1", arch: "x86_64" } + - { software: "parted", version: "3.1-20.el7", arch: "x86_64" } + - { software: "passwd", version: "0.79-4.el7", arch: "x86_64" } + - { software: "pciutils-libs", version: "3.2.1-4.el7", arch: "x86_64" } + - { software: "pcre", version: "8.32-14.el7", arch: "x86_64" } + - { software: "pinentry", version: "0.8.1-14.el7", arch: "x86_64" } + - { software: "pkgconfig", version: "1:0.27.1-4.el7", arch: "x86_64" } + - { software: "plymouth", version: "0.8.9-0.13.20140113.el7.centos", arch: "x86_64" } + - { software: "plymouth-core-libs", version: "0.8.9-0.13.20140113.el7.centos", arch: "x86_64" } + - { software: "plymouth-scripts", version: "0.8.9-0.13.20140113.el7.centos", arch: "x86_64" } + - { software: "policycoreutils", version: "2.2.5-15.el7", arch: "x86_64" } + - { software: "policycoreutils-python", version: "2.2.5-15.el7", arch: "x86_64" } + - { software: "polkit", version: "0.112-5.el7", arch: "x86_64" } + - { software: "polkit-pkla-compat", version: "0.1-4.el7", arch: "x86_64" } + - { software: "popt", version: "1.13-16.el7", arch: "x86_64" } + - { software: "postfix", version: "2:2.10.1-6.el7", arch: "x86_64" } + - { software: "ppp", version: "2.4.5-33.el7", arch: "x86_64" } + - { software: "procps-ng", version: "3.3.10-3.el7", arch: "x86_64" } + - { software: "pth", version: "2.0.7-22.el7", arch: "x86_64" } + - { software: "pygobject3-base", version: "3.8.2-6.el7", arch: "x86_64" } + - { software: "pygpgme", version: "0.3-9.el7", arch: "x86_64" } + - { software: "pyliblzma", version: "0.5.3-11.el7", arch: "x86_64" } + - { software: "python", version: "2.7.5-18.el7_1.1", arch: "x86_64" } + - { software: "python-IPy", version: "0.75-6.el7", arch: "noarch" } + - { software: "python-backports", version: "1.0-8.el7", arch: "x86_64" } + - { software: "python-boto", version: "2.38.0-2.el7", arch: "noarch" } + - { software: "python-chardet", version: "2.2.1-1.el7_1", arch: "noarch" } + - { software: "python-cheetah", version: "2.4.4-5.el7.centos", arch: "x86_64" } + - { software: "python-configobj", version: "4.7.2-7.el7", arch: "noarch" } + - { software: "python-decorator", version: "3.4.0-3.el7", arch: "noarch" } + - { software: "python-devel", version: "2.7.5-18.el7_1.1", arch: "x86_64" } + - { software: "python-iniparse", version: "0.4-9.el7", arch: "noarch" } + - { software: "python-jsonpatch", version: "1.2-3.el7.centos", arch: "noarch" } + - { software: "python-jsonpointer", version: "1.0-2.el7.centos", arch: "noarch" } + - { software: "python-kitchen", version: "1.1.1-5.el7", arch: "noarch" } + - { software: "python-libs", version: "2.7.5-18.el7_1.1", arch: "x86_64" } + - { software: "python-markdown", version: "2.4.1-1.el7.centos", arch: "noarch" } + - { software: "python-pillow", version: "2.0.0-17.gitd1c6db8.el7", arch: "x86_64" } + - { software: "python-prettytable", version: "0.7.2-2.el7.centos", arch: "noarch" } + - { software: "python-psutil", version: "1.2.1-1.el7", arch: "x86_64" } + - { software: "python-pycurl", version: "7.19.0-17.el7", arch: "x86_64" } + - { software: "python-pygments", version: "1.4-9.el7", arch: "noarch" } + - { software: "python-pyudev", version: "0.15-6.el7", arch: "noarch" } + - { software: "python-requests", version: "2.6.0-1.el7_1", arch: "noarch" } + - { software: "python-rsa", version: "3.1.1-5.el7", arch: "noarch" } + - { software: "python-setuptools", version: "0.9.8-3.el7", arch: "noarch" } + - { software: "python-six", version: "1.6.1-1.el7", arch: "noarch" } + - { software: "python-slip", version: "0.4.0-2.el7", arch: "noarch" } + - { software: "python-slip-dbus", version: "0.4.0-2.el7", arch: "noarch" } + - { software: "python-urlgrabber", version: "3.10-6.el7", arch: "noarch" } + - { software: "python-urllib3", version: "1.10.2-2.el7_1", arch: "noarch" } + - { software: "pyxattr", version: "0.5.1-5.el7", arch: "x86_64" } + - { software: "qrencode-libs", version: "3.4.1-3.el7", arch: "x86_64" } + - { software: "rdo-release", version: "icehouse-4", arch: "noarch" } + - { software: "readline", version: "6.2-9.el7", arch: "x86_64" } + - { software: "rootfiles", version: "8.1-11.el7", arch: "noarch" } + - { software: "rpm", version: "4.11.1-25.el7", arch: "x86_64" } + - { software: "rpm-build-libs", version: "4.11.1-25.el7", arch: "x86_64" } + - { software: "rpm-libs", version: "4.11.1-25.el7", arch: "x86_64" } + - { software: "rpm-python", version: "4.11.1-25.el7", arch: "x86_64" } + - { software: "rsyslog", version: "7.4.7-7.el7_0", arch: "x86_64" } + - { software: "sed", version: "4.2.2-5.el7", arch: "x86_64" } + - { software: "selinux-policy", version: "3.13.1-23.el7_1.18", arch: "noarch" } + - { software: "selinux-policy-targeted", version: "3.13.1-23.el7_1.18", arch: "noarch" } + - { software: "setools-libs", version: "3.3.7-46.el7", arch: "x86_64" } + - { software: "setup", version: "2.8.71-5.el7", arch: "noarch" } + - { software: "shadow-utils", version: "2:4.1.5.1-18.el7", arch: "x86_64" } + - { software: "shared-mime-info", version: "1.1-7.el7", arch: "x86_64" } + - { software: "slang", version: "2.2.4-11.el7", arch: "x86_64" } + - { software: "snappy", version: "1.1.0-3.el7", arch: "x86_64" } + - { software: "sqlite", version: "3.7.17-6.el7_1.1", arch: "x86_64" } + - { software: "sudo", version: "1.8.6p7-13.el7", arch: "x86_64" } + - { software: "systemd", version: "208-20.el7_1.6", arch: "x86_64" } + - { software: "systemd-libs", version: "208-20.el7_1.6", arch: "x86_64" } + - { software: "systemd-python", version: "208-20.el7_1.6", arch: "x86_64" } + - { software: "systemd-sysv", version: "208-20.el7_1.6", arch: "x86_64" } + - { software: "sysvinit-tools", version: "2.88-14.dsf.el7", arch: "x86_64" } + - { software: "tar", version: "2:1.26-29.el7", arch: "x86_64" } + - { software: "tcl", version: "1:8.5.13-4.el7", arch: "x86_64" } + - { software: "tcp_wrappers-libs", version: "7.6-77.el7", arch: "x86_64" } + - { software: "teamd", version: "1.15-1.el7", arch: "x86_64" } + - { software: "telnet", version: "1:0.17-59.el7", arch: "x86_64" } + - { software: "trousers", version: "0.3.11.2-4.el7_1", arch: "x86_64" } + - { software: "tuned", version: "2.4.1-1.el7", arch: "noarch" } + - { software: "tzdata", version: "2015f-1.el7", arch: "noarch" } + - { software: "ustr", version: "1.0.4-16.el7", arch: "x86_64" } + - { software: "util-linux", version: "2.23.2-22.el7_1.1", arch: "x86_64" } + - { software: "vim-minimal", version: "2:7.4.160-1.el7", arch: "x86_64" } + - { software: "virt-what", version: "1.13-5.el7", arch: "x86_64" } + - { software: "wget", version: "1.14-10.el7_0.1", arch: "x86_64" } + - { software: "which", version: "2.20-7.el7", arch: "x86_64" } + - { software: "wpa_supplicant", version: "1:2.0-17.el7_1", arch: "x86_64" } + - { software: "xfsprogs", version: "3.2.1-6.el7", arch: "x86_64" } + - { software: "xz", version: "5.1.2-9alpha.el7", arch: "x86_64" } + - { software: "xz-libs", version: "5.1.2-9alpha.el7", arch: "x86_64" } + - { software: "yum", version: "3.4.3-125.el7.centos", arch: "noarch" } + - { software: "yum-metadata-parser", version: "1.1.4-10.el7", arch: "x86_64" } + - { software: "yum-plugin-fastestmirror", version: "1.1.31-29.el7", arch: "noarch" } + - { software: "yum-utils", version: "1.1.31-29.el7", arch: "noarch" } + - { software: "zlib", version: "1.2.7-13.el7", arch: "x86_64" } diff --git a/roles/gpu/tasks/main.yml b/roles/gpu/tasks/main.yml index a08e9fb7fd3c74c0b63d023e4efc6a1ab220f10a..a8b27eb740f04a153f025b88e5fe6cdbc57f610e 100644 --- a/roles/gpu/tasks/main.yml +++ b/roles/gpu/tasks/main.yml @@ -60,8 +60,8 @@ - name: restart_host command: shutdown -r now "Reboot triggered by Ansible" - async: 0 - poll: 0 + async: 900 + poll: 60 sudo: true ignore_errors: true when: has_been_compiled | failed diff --git a/roles/karaage3.1.17/tasks/karaage.yml b/roles/karaage3.1.17/tasks/karaage.yml index 411106365f37df0c530dcaa8b0ab7620ee4d47cf..9a943a76569d6a8ede75fab709bd8f0e89242d18 100644 --- a/roles/karaage3.1.17/tasks/karaage.yml +++ b/roles/karaage3.1.17/tasks/karaage.yml @@ -166,7 +166,6 @@ sudo: true when: karaage_db_init.stdout.find("0") == 0 - - name: install postfix apt: name=postfix state=present sudo: true diff --git a/roles/karaage3.1.17/templates/kg_init.j2 b/roles/karaage3.1.17/templates/kg_init.j2 index 4424d42ff021b1f9d14ce5771b7eb606cac80dc1..74bdf5bf0b1ba99f3e7b2c30e1eb7030bf280330 100755 --- a/roles/karaage3.1.17/templates/kg_init.j2 +++ b/roles/karaage3.1.17/templates/kg_init.j2 @@ -8,7 +8,8 @@ from karaage.institutes.models import Institute from karaage.machines.models import MachineCategory from karaage.people.models import Person, Group -DEBUG = False +CONSOLE_DEBUG = False + class HpcIdInit(): import django django.setup() @@ -18,6 +19,9 @@ class HpcIdInit(): self.path = configfile self.password = password self.debug = debug + if not debug: + self.logfile = open("/tmp/kg_init.log", "w") + if self.path and os.path.exists(self.path): with open(self.path) as data: config_data = json.load(data) @@ -27,11 +31,14 @@ class HpcIdInit(): else: log("Invalid input data") + def __del__(self): + self.logfile.close() + def log(self, message): if self.debug: print message else: - pass + self.logfile.write(message + "\n") def getGroup(self, name): group = None @@ -72,6 +79,7 @@ class HpcIdInit(): self.log("Find insititute %s" %(institute.name)) project = Project.objects.create(pid = pid, name = name, institute = institute, group = institute.group, is_active = True, is_approved = True, approved_by = superuser) if project: + project.leaders.add(superuser) self.log("Create project OK") else: self.log("Create project failed") @@ -156,11 +164,32 @@ class HpcIdInit(): institute = Institute.objects.get(name = user["institute_name"]) if institute: person = Person.objects.create(username = user["username"], email = user["email"], password = self.password, short_name = user["short_name"], full_name = user["full_name"], is_admin = True, is_active = True, institute = institute) - person.full_clean() + if person: + person.set_password(self.password) + person.save() + result = self.addInstituteDelegate(person, institute) + if result: + log("Add super user %s to institute %s delegate" %(person.username, institute.name)) + else: + log("Faired to add super user %s to institute %s delegate" %(person.username, institute.name)) + person.full_clean() except: log("Create super user exception: %s" %(traceback.format_exc())) finally: return person + + def addInstituteDelegate(self, su, institute): + result = True + try: + delegates = institute.delegates.all().filter(username = su.username) + if len(delegates) == 0: + self.log("Create institution delegate %s"%(su.username)) + institute.delegates.add(su) + except: + result = False + self.log("Create institution delegate exception: %s" %(traceback.format_exc())) + finally: + return result def setup(self): self.log("Password = %s, debug = %s" %(self.password, self.debug)) @@ -176,7 +205,7 @@ class HpcIdInit(): if self.mc: mc = self.getOrCreateMachineCategory(self.mc) if mc: - self.log("Get machine category = '%s'" %(mc.name)) + self.log("Get machine category = '%s'" %(self.mc)) else: self.log("Failed to get machine category = '%s'" %(self.mc)) if su: @@ -198,7 +227,7 @@ def main(argv): if len(sys.argv) > 2: config_path = argv[0] password = argv[1] - debug = DEBUG + debug = CONSOLE_DEBUG if len(sys.argv) > 3: debug = argv[2] init = HpcIdInit(config_path, password, debug) diff --git a/roles/karaage3.1.17/templates/settings.py.j2 b/roles/karaage3.1.17/templates/settings.py.j2 index 45f03fca74f45463f7d6e01d4a63bb6f2bad1ea4..6ffff105e35d3a643537a106c3b1bbbf026cdec1 100644 --- a/roles/karaage3.1.17/templates/settings.py.j2 +++ b/roles/karaage3.1.17/templates/settings.py.j2 @@ -31,6 +31,10 @@ # # DEBUG = True +{% if user_id_file is defined %} +USER_ID_FILES = {{ user_id_file }} +{% endif %} + # Implemented by Shahaan due to the django-pipeline bug PIPELINE_ENABLED = False STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage' diff --git a/roles/modulefiles/tasks/main.yml b/roles/modulefiles/tasks/main.yml index 7700d3b82cfd23a1e24f7eb73161bf89ed81458c..21070572bf34620c028e45bf9900b190ea98e32d 100644 --- a/roles/modulefiles/tasks/main.yml +++ b/roles/modulefiles/tasks/main.yml @@ -25,3 +25,4 @@ line: /usr/local/Modules/modulefiles ignore_errors: true sudo: true + when: ansible_os_family == 'Debian' diff --git a/roles/mysql/handlers/main.yml b/roles/mysql/handlers/main.yml index d99e29a582d56d55b854a5a889b02bdb1218f917..be88a2c20338d12fe9604eed8b612f91d886e0e8 100644 --- a/roles/mysql/handlers/main.yml +++ b/roles/mysql/handlers/main.yml @@ -1,11 +1,4 @@ --- - name: "Restart MySQL" - service: name=mysql state=restarted + service: name={{ sqlServiceName }} state=restarted sudo: true - when: ansible_os_family == "Debian" - -- name: "Restart MySQL" - service: name=mysqld state=restarted - sudo: true - when: ansible_os_family == "RedHat" - diff --git a/roles/slurm-common/tasks/installSlurmFromSource.yml b/roles/slurm-common/tasks/installSlurmFromSource.yml index 95d5fc9234239d36f5d4330668cda5c0ff512428..ec9fbe5881b3188383da27589821cde48da977fa 100644 --- a/roles/slurm-common/tasks/installSlurmFromSource.yml +++ b/roles/slurm-common/tasks/installSlurmFromSource.yml @@ -32,3 +32,7 @@ args: chdir: /tmp/slurm-{{ slurm_version }} creates: "{{ slurm_dir }}/bin/srun" + +- name: add slurm log rotate config + template: src=slurmlog.j2 dest=/etc/logrotate.d/slurm mode=644 + sudo: true diff --git a/roles/slurm-common/templates/nhclog.j2 b/roles/slurm-common/templates/nhclog.j2 index edba9b8564ed6dbc1d51ff3eb93edf6bceaed860..27dcbcea3f9164b263396f64fbf4842198000eb3 100644 --- a/roles/slurm-common/templates/nhclog.j2 +++ b/roles/slurm-common/templates/nhclog.j2 @@ -4,6 +4,7 @@ missingok notifempty weekly - size 200k + compress + size 800k } diff --git a/roles/slurm-common/templates/slurmlog.j2 b/roles/slurm-common/templates/slurmlog.j2 new file mode 100644 index 0000000000000000000000000000000000000000..582740794e8e505db99f66a0db92b7ba6389bb12 --- /dev/null +++ b/roles/slurm-common/templates/slurmlog.j2 @@ -0,0 +1,32 @@ +{% if slurmctrl == inventory_hostname %} +{{ slurmctlddebug.log }} +{{ slurmschedlog.log }} +{% else %} +{{ slurmddebug.log }} +{% endif %} +{ + compress + missingok + nocopytruncate + nocreate + nodelaycompress + nomail + notifempty + noolddir + rotate 5 + sharedscripts + size=5M + create 640 slurm root +{% if ansible_os_family == 'RedHat' and ansible_distribution_version >= '7' %} + postrotate +{% if slurmctrl == inventory_hostname %} + {{ slurm_dir }}/sbin/slurmctld flushlogs 1>/dev/null || true +{% else %} + {{ slurm_dir }}/sbin/slurmd flushlogs 1>/dev/null || true +{% endif %} +{% else %} + postrotate /etc/init.d/slurm reconfig +{% endif %} + endscript +} + diff --git a/roles/slurmdb-config/tasks/main.yml b/roles/slurmdb-config/tasks/main.yml index 49fba41f8608a0974523a41217a4b7db734f52bb..a31f5ad72b0a21cc1ebb67d654eea977205b33b1 100644 --- a/roles/slurmdb-config/tasks/main.yml +++ b/roles/slurmdb-config/tasks/main.yml @@ -32,3 +32,7 @@ sudo: true when: slurm_dir is not defined +- name: add slurm db log rotate config + template: src=slurmdblog.j2 dest=/etc/logrotate.d/slurmdb mode=644 + sudo: true + diff --git a/roles/slurmdb-config/templates/slurmdblog.j2 b/roles/slurmdb-config/templates/slurmdblog.j2 new file mode 100644 index 0000000000000000000000000000000000000000..f9042d6b392781293a35c0c4d70f09f63813e809 --- /dev/null +++ b/roles/slurmdb-config/templates/slurmdblog.j2 @@ -0,0 +1,24 @@ +{{ slurmdbdlog.log }} +{% endif %} +{ + compress + missingok + nocopytruncate + nocreate + nodelaycompress + nomail + notifempty + noolddir + rotate 5 + sharedscripts + size=5M + create 640 slurm root +{% if ansible_os_family == 'RedHat' and ansible_distribution_version >= '7' %} + postrotate + {{ slurm_dir }}/sbin/slurmdbd flushlogs 1>/dev/null || true +{% else %} + postrotate /etc/init.d/slurmdbd reconfig +{% endif %} + endscript +} +