Giter VIP home page Giter VIP logo

irix_ansible's Introduction

Overview

Configures an already-installed IRIX system.

Requirements

  • Host with ansible installed
  • IRIX target host with telnet available

Usage:

Make a new file ~/.vault_pass.txt with your vault password in it. If your password is 'password', the file will only contain 'password'.

Delete group_vars/default/vault.yml , and make your own file that looks like this:

---
su_password: your_passwd

Then encrypt it:

ansible-vault encrypt group_vars/default/vault.yml --vault-password-file ~/.vault_pass.txt

Phase 1

Examine and modify the inventory.yml file (in the top level directory) to match your local requirements.

Run the bootstrap playbook on a system that has just been installed. It expects the root password to be blank.

This playbook will

  • create an 'ansible' user
  • copy several bundles via ftp
  • install wget, python, and openssh
  • start sshd
ansible-playbook -i inventory.yml bootstrap.yml --vault-password-file ~/.vault_pass.txt

Phase 2

Examine and modify the master_setup playbook to your liking, then run it. You can comment out unneeded roles.

  • be sure and change the username at the bottom of master_setup to your selected user for the SGI

The master_setup playbook currently

  • installs nekodeps
  • installs base packages
  • sets up bash as an available shell
  • adds a user
  • enables remote x11
  • configures ntp
  • installs findutils
  • performs security hardening
ansible-playbook  -i inventory.yml -u ansible master_setup.yml -k  --become-method=su --vault-password-file ~/.vault_pass.txt

When prompted for "SSH password", enter 'ansible'.

When provisioning on OSX you need the sshpass package:

brew install http://git.io/sshpass.rb

Reading

http://www.sillypages.org/sgi http://nixdoc.net/man-pages/irix/man1/pwconv.1.html

https://techpubs.jurassic.nl/manuals/0650/admin/IA_ConfigOps/sgi_html/index.html https://techpubs.jurassic.nl/manuals/0650/admin/IA_ConfigOps/sgi_html/ch05.html#LE15895-PARENT

irix_ansible's People

Contributors

lassehe avatar mjsmith707 avatar unxmaal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

irix_ansible's Issues

Syntax issue with vault.yml

When trying to execute the ansible-playbook -i inventory.yml bootstrap.yml --vault-password-file ~/.vault_pass.txt I get the following error:

ERROR! Syntax Error while loading YAML.
  did not find expected '-' indicator

The error appears to have been in '/home/vagrant/irix_ansible/group_vars/default/vault.yml': line 2, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The vault.yml was created exactly as noted in the readme:

- - -
su_password: rootpasswordhere

and encrypted with the ansible-encrypt command.

I worked around it by removing all references to the vault and manually entering the password in each of the root .yml files.

This is using Ansible 2.7.6, python 2.7.9, inside the booterizer vm.

telnet timing out

I can telnet manually just fine as root, no pw but ansible gives me the error:

fatal: [challenge]: FAILED! => {
"changed": true,
"output": []
}

MSG:

Telnet` action failed: telnet connection closed

bootstrap ssh keys error

TASK [bootstrap : Create ssh keys] ***************************************************************************************************************
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ 'nekoware' in keyname }}

skipping: [yellow]

Ansible version issues

I know this was brought up in the discord several weeks ago, but I also encountered it and wanted to make sure it's documented here for future fixes.

When trying to run the bootstrap playbook using the Ansible provisioned inside the booterizer VM when following the booterizer readme (using apt install), it fails with the following errors:

root@booterizer:/home/vagrant/irix_ansible# ansible-playbook -i inventory.yml bootstrap.yml --vault-password-file /home/vagrant/.vault_pass.txt 
[DEPRECATION WARNING]: Included file '/home/vagrant/irix_ansible/set_date_manually.yml ' not found, however since this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 'static: no' is used on the include task. If you do not want missing includes to be considered dynamic, use 
'static: yes' on the include or set the global ansible.cfg options to make all includes static for tasks and/or handlers. This feature will be removed in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Included file '/home/vagrant/irix_ansible/add_ansible_user.yml  ' not found, however since this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 'static: no' is used on the include task. If you do not want missing includes to be considered dynamic, use 
'static: yes' on the include or set the global ansible.cfg options to make all includes static for tasks and/or handlers. This feature will be removed in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Included file '/home/vagrant/irix_ansible/fetch_bundles.yml     ' not found, however since this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 'static: no' is used on the include task. If you do not want missing includes to be considered dynamic, use 
'static: yes' on the include or set the global ansible.cfg options to make all includes static for tasks and/or handlers. This feature will be removed in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Included file '/home/vagrant/irix_ansible/install_bundles.yml   ' not found, however since this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 'static: no' is used on the include task. If you do not want missing includes to be considered dynamic, use 
'static: yes' on the include or set the global ansible.cfg options to make all includes static for tasks and/or handlers. This feature will be removed in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: Included file '/home/vagrant/irix_ansible/setup_sshd.yml        ' not found, however since this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 'static: no' is used on the include task. If you do not want missing includes to be considered dynamic, use 
'static: yes' on the include or set the global ansible.cfg options to make all includes static for tasks and/or handlers. This feature will be removed in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

PLAY [initial setup] ***********************************************************************************************************************************************************************

TASK [bootstrap : include] *****************************************************************************************************************************************************************
fatal: [emile]: FAILED! => {
    "reason": "Could not find or access '/home/vagrant/irix_ansible/set_date_manually.yml ' on the Ansible Controller."
}

One way this can be worked around is by doing apt remove ansible, apt install python-pip, and pip install ansible==2.7.6 from within vagrant ssh.

hang at telnet task

I think I'm missing something here -- the README instructions don't say anything about how to specify what the target actually is. I assume this comes from the ansible inventory, i.e. the challenge hostname in the default. If I change that to my target's hostname (indy) & set its ip address in ansible_host, I get a hang at:

...
TASK [bootstrap : Hard-set date and time on SGI based on host system] 

if I add some code to dump the python telnet lib output, it's connecting, and reading Password: but never actually sending anything after that. Ansible 2.9.6 with python 3.8.10 on Ubuntu 20.04 LTS.

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.