Giter Club home page Giter Club logo

devops's Introduction

Build Status Documentation Status Documentation Status

DevOps

This is the repository for the DevOps code which executes AAROC infrastructure. We support Ansible and Puppet.

Communicating and Collaborating.

We're on Slack. Come on over if you want to hang out and work with us. If you have something you want to help on, see Contributing.md. The usual workflow for collaboration on Github is recommended. If you want to request documentation or guides, or would like to contrbute to the more 'meta' aspects, discuss these things with on the forum.

Development Status and Roadmap

You can see the development roadmap on the project milestones. Feel free to propose new milestones based on features you would like to see.

There is a development status board at https://waffle.io/aaroc/devops, a snapshot of the current state is below.

Issues Identified Issues Diagnosed Issues in Progress Issues Ready

Contributing

See CONTRIBUTING.md

Citing

DOI

We like our code so much, we put a DOI on it ! If you like it, please use it, but also cite us, so that our funders will be happy.

Getting started.

Ansible

Contribute inventory spec to Ansible/inventories/inventory.site. If your playbooks are very site-specific, create a subdirectory in Ansible/sites for your site as declared in the GOCDB and work there.

Puppet

Contribute your code to Puppet/ If your Puppet modules are site-specific, create a subdirectory in Puppet/sites for your site as declared in GOCDB and work there.

Issues

If you have questions, comments or suggestions, please open an issue and assign it the right tag.

devops's People

Contributors

ashrafkasem avatar bazinski avatar brucellino avatar dpavlos avatar fmarco76 avatar gekaklam avatar gitter-badger avatar grbot avatar kalvaer avatar mekuanent avatar mtorrisi avatar qasims avatar rahimbouchra avatar renovate[bot] avatar smasoka avatar sureronald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devops's Issues

Error deploying ldap and IdP

I was testing out an installation using ansible to deploy ldap and IdP on a new vm.
I specified the remote host to be installed in this file
root@ansible:/etc/ansible# less host_vars/
idp.eko-konnect.net.ng

Then executed the command below and got an error

root@ansible:/etc/ansible# ansible-playbook -i inventories/inventory.eko-konnect.net.ng idp-ldap.yml

PLAY [Configure the LDAP machine] *********************************************

GATHERING FACTS ***************************************************************
ok: [ldap.eko-konnect.net.ng]

TASK: [fmarco76.firewall | Retrieve iptables rules] ***************************
ok: [ldap.eko-konnect.net.ng]

TASK: [fmarco76.firewall | Count iptables rules] ******************************
ok: [ldap.eko-konnect.net.ng]

TASK: [fmarco76.firewall | Apply rules for the local network] *****************
skipping: [ldap.eko-konnect.net.ng] => (item=389)
skipping: [ldap.eko-konnect.net.ng] => (item=636)

TASK: [fmarco76.firewall | Apply rules for the defined network] ***************
skipping: [ldap.eko-konnect.net.ng] => (item=389)
skipping: [ldap.eko-konnect.net.ng] => (item=636)

TASK: [fmarco76.firewall | Apply nat rules] ***********************************
skipping: [ldap.eko-konnect.net.ng] => (item=389)
skipping: [ldap.eko-konnect.net.ng] => (item=636)

TASK: [fmarco76.firewall | Save iptable rules] ********************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [fmarco76.firewall | Save iptable rules] ********************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Install the openldap and required Packages for RedHat] **********
ok: [ldap.eko-konnect.net.ng] => (item=openldap,openldap-servers,openldap-clients)

TASK: [ldap | Install the openldap and required Packages for Debian] **********
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Start ldap server] **********************************************
ok: [ldap.eko-konnect.net.ng]

TASK: [ldap | Retrieve ldap server configuration] *****************************
ok: [ldap.eko-konnect.net.ng]

TASK: [ldap | Copy modules file LDIF] *****************************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Add modules (Debian)] *******************************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Add modules (RedHat)] *******************************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Restart ldap server] ********************************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Create db LDIF] *************************************************
failed: [ldap.eko-konnect.net.ng] => {"failed": true}
msg: Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/root/idp-ldap.retry

ldap.eko-konnect.net.ng : ok=9 changed=0 unreachable=0 failed=1

wrong permissions on /opt/shibboleth.

TASK: [shibboleth-idp | Create Attribute Filters] ***************************** 
failed: [idp.zamren.zm] => {"failed": true, "md5sum": "3af942ff5194b2bf6ee05aaa36a6c162"}
msg: Destination /opt/shibboleth-idp not writable

Error deploying ldap and IdP

Hello Bruce,
I am using the ansible scripts you created from this site to try to build mine. After installing libselinux1-dev. I continued with my installation and got this error.

TASK: [ldap | Add Organisations to the server] ********************************
skipping: [ldap.eko-konnect.net.ng]

TASK: [ldap | Retrieve ldap default policy] ***********************************
ok: [ldap.eko-konnect.net.ng]

TASK: [ldap | Copy Default policies] ******************************************
ok: [ldap.eko-konnect.net.ng]

TASK: [ldap | Apply overlays] *************************************************
failed: [ldap.eko-konnect.net.ng] => {"changed": true, "cmd": ["ldapadd", "-x", "-w", "xxxxxxx", "-D", "cn=admin,dc=local", "-H", "ldap:///", "-f", "/tmp/ppolicy.ldif"], "delta": "0:00:00.042152", "end": "2014-10-15 12:02:23.453403", "rc": 32, "start": "2014-10-15 12:02:23.411251"}
stderr: ldap_add: No such object (32)
matched DN: dc=local
stdout: adding new entry "cn=default,ou=policies,dc=local"

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/root/idp-ldap.retry

ldap.eko-konnect.net.ng : ok=18 changed=0 unreachable=0 failed=1

Add a test to see whether superuser is already in the LDAP directory

The LDAP directory has a superuser, which is added and configured by the ldap role.

We need to add a conditional to only perform this when the user is not already present.

- name: Create the root user
  user: ansible
  sudo: True
  command: 
# when: root user is not already in the tree

Sudoers file for nagios-dev corrupt

the bootsrap play is failing on the nagios-dev machine and has borked sudo access to the ansible user.

TASK: [bootstrap | include (only) my rsa key in authorized_keys] ************** 
failed: [nagios-dev.c4.csir.co.za] => {"failed": true, "md5sum": "228fc5a3cc6638e62c47bb94db711f28", "parsed": false}
>>> /etc/sudoers: /etc/sudoers.d near line 117 <<<
sudo: parse error in /etc/sudoers near line 117
sudo: no valid sudoers sources found, quitting

can't access the OpenNebula web interface yet to reset since my cert has expired.

host-based authentication setup role fails (in roles/common)

Seems like there is a problem parsing the variable hosts in the common playbook

TASK: [common | Setup SSH known hosts file] *********************************** 
fatal: [site-bdii-dev.c4.csir.co.za] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'hosts' is undefined", 'failed': True}
fatal: [site-bdii-dev.c4.csir.co.za] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'hosts' is undefined", 'failed': True}

Installing sagrid.ac.za: incorrect VOMS DN

Any clues where to look?

INFO: Executing function: config_glite_ui
INFO: Executing function: config_vomses
ERROR: VOMSES parameter for VO 'sagrid.ac.za' has incorrect DN or alias
ERROR: Error during the execution of function: config_vomses
ERROR: Error during the configuration.Exiting. [FAILED]
ERROR: One of the functions returned with error without specifying its nature !

no mpi flavours enabled

Yaim is complaining that no mpi flavours are enabled, we need to add one or more to the variables file.

site services tested

This ticket should be closed when all site services configurations have been successfully tested.

iptables config in playbook problem

when running the preflight-check playbook, we get the following error reported by the firewall config task :

iptables: Applying firewall rules: iptables-restore: line 13 failed [FAILED]

Error on Registering to IdP

Hi all,
Since my IdP got hacked and redeployed afresh by the same procedures at https://wiki.shibboleth.net/confluence/display/SHIB2/IdPInstall I have the problem whereby can not be able to register.
I configured the mail connector as well but still getting the same error as follows;

description: The server encountered an internal error () that prevented it from fulfilling this request."
exception: it.infn.ct.security.actions.MailException: Mail Resource not available
it.infn.ct.security.actions.AddUser.sendMail(AddUser.java:326)
it.infn.ct.security.actions.AddUser.execute(AddUser.java:70)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

You may try to register over here: https://idp.ternet.or.tz/register

Any assistant please.
Rgds,
Damas

wn not in wn-list

INFO: Executing function: config_wn_info 
   ERROR: The WN you are configuring is not defined in the WN_LIST file /opt/glite/yaim/etc/ZA-MERAKA/siteinfo/wn-list.conf

bootstrap playbook failing at ZAMREN

boostrap play gives :

failed: [idp.zamren.zm] => (item=python-simplejson,iptables,iptables-persistent,mlocate,initscripts,chkconfig,openssh-client) => {"failed": true, "item": "python-simplejson,iptables,iptables-persistent,mlocate,initscripts,chkconfig,openssh-client"}
msg: No package matching 'chkconfig' is available

Liferay Deployment

I am trying to install Liferay on tomcat. Tomcat is installed at /usr/share/tomcat then deployed the war and dependencies files of liferay. At the end i have the "Basic Configuration" page when pointing to http://sgw.ternet.or.tz:8080/ which I thought is Ok.

If I fill in the Portal name, Administrative first and last name as well and email address, clicked Finish configuration, it redirected me to http://sgw.ternet.or.tz/c/portal/setup_wizard and give me with the Error The requested URL /c/portal/setup_wizard was not found on this server.

I tried the procedures at https://www.liferay.com/documentation/liferay-portal/6.2/user-guide/-/ai/installing-liferay-on-tomcat-7-liferay-portal-6-2-user-guide-15-en

Initially I tried to follow procedures at http://sourceforge.net/p/ctsciencegtwys/wiki/InstallLiferay611/ but failed to get any interface even over port 4848 or 8080.

Any assistant please.

Attribute filter creation fails

Pull request #84 was tested on the zamren site and failed at TASK: shibboleth-idp | Create Attribute Filters:

failed: [idp.zamren.zm] => {"failed": true, "gid": 0, "group": "root", "md5sum": "3af942ff5194b2bf6ee05aaa36a6c162", "mode": "0644", "owner": "tomcat6", "path": "/opt/shibboleth-idp/conf/attribute-filter.xml", "size": 1199, "state": "file", "uid": 107}
msg: chown failed: failed to look up user tomcat

the code is

- name: Create Attribute Filters
  copy: src=attribute-filter.xml dest={{ shibboleth_install_path }}/conf/attribute-filter.xml owner=tomcat group=root
  notify: restart tomcat

Looks we can't chown it because tomcat user should be "tomcat6"

ldap task problem

ERROR: multiple actions specified in task: 'template' and 'Add Password Policy to ldap server'

TERNET bootstrap

If we had to run the bootstrap against the TERNET machines, the following changes would take place :

PLAY [Bootstrap the identity machines] **************************************** 

GATHERING FACTS *************************************************************** 
ok: [41.93.32.33]
ok: [idp.ternet.or.tz]

TASK: [bootstrap | Install prerequisite packages (RedHat)] ******************** 
changed: [idp.ternet.or.tz] => (item=python-simplejson,libselinux-python,iptables,mlocate,initscripts,chkconfig,system-config-services,openssh-clients)
changed: [41.93.32.33] => (item=python-simplejson,libselinux-python,iptables,mlocate,initscripts,chkconfig,system-config-services,openssh-clients)

TASK: [bootstrap | Install some useful packages (RedHat)] ********************* 
ok: [41.93.32.33] => (item=vim-minimal)
ok: [idp.ternet.or.tz] => (item=vim-minimal)

TASK: [bootstrap | Install prerequisite packages (Debian)] ******************** 
skipping: [41.93.32.33]
skipping: [idp.ternet.or.tz]

TASK: [bootstrap | Install some useful packages (Debian)] ********************* 
skipping: [idp.ternet.or.tz]
skipping: [41.93.32.33]

TASK: [bootstrap | create ansible user] *************************************** 
changed: [41.93.32.33]
changed: [idp.ternet.or.tz]

TASK: [bootstrap | create ansible user] *************************************** 
skipping: [41.93.32.33]
skipping: [idp.ternet.or.tz]

TASK: [bootstrap | update sudoers to ensure ansible user can sudo] ************ 
changed: [41.93.32.33]
changed: [idp.ternet.or.tz]

TASK: [bootstrap | create the authorized_keys file for the site] ************** 
changed: [41.93.32.33]
changed: [idp.ternet.or.tz]

PLAY RECAP ******************************************************************** 
41.93.32.33                : ok=6    changed=4    unreachable=0    failed=0   
idp.ternet.or.tz           : ok=6    changed=4    unreachable=0    failed=0   

host keys for host-based authentication.

The common role has a task to enable ssh communication amongst all the nodes. Howevever, this presumes that the host keys are known.... the playbook is failing at the moment :

fatal: [site-bdii-dev.c4.csir.co.za] => {'msg': "AnsibleUndefinedVariable: One or more undefined variables: 'dict object' has no attribute 'ansible_ssh_host_key_dsa_public'", 'failed': True}

unable to fix ldap

TASK: [fmarco76.IDPPublic | Fix ldap server] ********************************** 
failed: [idp.zamren.zm] => {"failed": true}
msg: this module requires key=value arguments (['dest={#', 'ansible_env.HOME', '#}/idpFrontEnd/IDPPublic-{#', 'IDPPublic_release', '#}/src/java/ldap.properties', 'regexp=^url=ldaps://idp.sagrid.ac.za:636$', 'replace=url=ldap://{# ldap_server #}:389'])

Task 'adding root node' fails at ZAMREN

failed: [ldap.zamren.zm] => {"changed": true, "cmd": ["ldapadd", "-x", "-w", "thisismyldapadminpassword", "-D", "cn=admin,dc=local", "-H", "ldap:///", "-f", "/tmp/root.ldif"], "delta": "0:00:00.017994", "end": "2014-09-30 16:25:32.181604", "rc": 21, "start": "2014-09-30 16:25:32.163610", "warnings": []}
stderr: ldap_add: Invalid syntax (21)
    additional info: o: value #0 invalid per syntax
stdout: adding new entry "dc=local"

The password that it's using is specified in the group vars, but since it says invalid syntax I don't think this is a password problem.

Error running bootstrap

Dear All,
I ran into this error while trying out my ldap deployment. I have created the keys on both system and i can ssh without supplying password.

ansible@ansible:/etc/ansible$ ansible-playbook -i inventories/inventory.eko-konnect.net.ng bootstrap.yml

PLAY [Bootstrap the identity machines] ****************************************

GATHERING FACTS ***************************************************************
ok: [idp.eko-konnect.net.ng]

TASK: [bootstrap | check connectivity] ****************************************
changed: [idp.eko-konnect.net.ng]

TASK: [bootstrap | use Google public DNS if necessary] ************************
skipping: [idp.eko-konnect.net.ng]

TASK: [bootstrap | Install prerequisite packages (RedHat)] ********************
skipping: [idp.eko-konnect.net.ng]

TASK: [bootstrap | Install some useful packages (RedHat)] *********************
skipping: [idp.eko-konnect.net.ng]

TASK: [bootstrap | Install prerequisite packages (Debian)] ********************
ok: [idp.eko-konnect.net.ng] => (item=python-simplejson,iptables,iptables-persistent,mlocate,initscripts,openssh-client)

TASK: [bootstrap | Install some useful packages (Debian)] *********************
ok: [idp.eko-konnect.net.ng] => (item=htop,vim)

TASK: [bootstrap | create ansible user] ***************************************
skipping: [idp.eko-konnect.net.ng]

TASK: [bootstrap | create ansible user] ***************************************
ok: [idp.eko-konnect.net.ng]

TASK: [bootstrap | update sudoers to ensure ansible user can sudo] ************
ok: [idp.eko-konnect.net.ng]

TASK: [bootstrap | create the authorized_keys file for the site] **************
failed: [idp.eko-konnect.net.ng] => {"failed": true, "gid": 1000, "group": "ansible", "mode": "0644", "owner": "ansible", "path": "/home/ansible/.ssh/authorized_keys", "size": 791, "state": "file", "uid": 1000}
msg: chown failed: failed to look up user ansible:ansible

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/home/ansible/bootstrap.retry

idp.eko-konnect.net.ng : ok=6 changed=1 unreachable=0 failed=1

No route to host

It seems the firewall comes up on the remote host after the bootstrap playbook and there is no connection to the host from the controller.
Any clues

root@ansible:/etc/ansible# ansible-playbook -i inventories/inventory.eko-konnect.net.ng idp-ldap.yml -vvvv

PLAY [Configure the LDAP machine] *********************************************

GATHERING FACTS ***************************************************************
<196.45.48.221> ESTABLISH CONNECTION FOR USER: ansible
<196.45.48.221> REMOTE_MODULE setup
<196.45.48.221> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'HostbasedAuthentication=yes', '-o', 'StrictHostKeyChecking=no', '-o', 'Port=22', '-o', 'KbdInteractiveAuthentication=no', '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no', '-o', 'User=ansible', '-o', 'ConnectTimeout=10', '196.45.48.221', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1414146840.13-269485195426640 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1414146840.13-269485195426640 && echo $HOME/.ansible/tmp/ansible-tmp-1414146840.13-269485195426640'"]
fatal: [196.45.48.221] => SSH encountered an unknown error. The output was:
OpenSSH_5.9p1 Debian-5ubuntu1.3, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 196.45.48.221 [196.45.48.221] port 22.
debug2: fd 3 setting O_NONBLOCK
debug1: connect to address 196.45.48.221 port 22: No route to host
ssh: connect to host 196.45.48.221 port 22: No route to host

TASK: [fmarco76.firewall | Retrieve iptables rules] ***************************
FATAL: no hosts matched or all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/root/idp-ldap.retry

196.45.48.221 : ok=0 changed=0 unreachable=1 failed=0

WMS configuration failed (Mysql passwords)

on WMS dev play :

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
glite-lb-setup: ERROR: Can't access MySQL database. You may need to set MYSQL_USER and MYSQL_PASSWORD variables.
   ERROR: One of the functions returned with error without specifying its nature !

mysql password looks incorrect.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.