Giter VIP home page Giter VIP logo

autom8's Introduction

Kojak - Autom8

Kojak Autom8 is an installater for Openshift Origin which preconfigures the container platform with many useful options which make it easy to create and deploy containers.

GitHub Logo

Kojak started off as a collection of scripts which were used to automate the installation and configuration of the Koji build system. It was part of a productization effort to encourage the adoption of Koji for use in development, testing and staging environments. The scripts included in this repository can be used to create a complete SDLC CI/CD circuits with Openshift Origin.

Tool Chain

Kojak Autom8 installs Openshift Origin and with templates that provide industry reconised opensource toolchain designed to allow developers to build, test, deploy, promote, release and replicate product builds in a consistent and predictable way. The long term goal is to provide a platform to allow users to familiarize themselves with microservices and 12 Factor cloud native applications

Installation Prerequisites

Kojak is a virtual appliance and it not recommended that you install directly on your workstation. The Installation options will build a virtual machine for you which will be accessible from your local host. If you already have a virtual machine you can install Kojak directly on that machine and skip the virtual machine provisioning stage. Kojak has been successfully installed and tested on CentOS 7+ and RHEL 7+.

For more information about virtualization see below:

CentOS http://wiki.centos.org/HowTos#head-fb1ff7e71fb5f2f511cda8c68cb6ba5f6e8decae

Fedora http://fedoraproject.org/wiki/Virtualization?rd=Tools/Virtualization

It is recommended that the system be updated before beginning the installation. A fast internet connection is also required in order to facilitate the downloading of any package dependancies.

Minimum System Requirements

The virtual machine is configured with the following default specifications:

  1. 8GB RAM
  2. 64GB Disk Space

Your local host should be configured with the following minimum specifications:

  1. Centos/RHEL 7+ or Fedora 18+ with virtualization package group
  2. 16GB RAM
  3. 128 GB Disk Space

Virtual Machine Configuration

The Kojak virtual machine is configured with a set of default options.

  1. OS: CentOS 7
  2. Hostname: master.example.com
  3. IP Adress: 192.168.122.100
  4. Subnet Mask: 255.255.255.0

If your're creating a virtual machine from scratch you should you configure it with the options detailed above. You can access the virtual machine via ssh at 192.168.122.100 using the following credentials:

  1. username: root
  2. password: root

If you use the KVM hypervisor you can create the virtual machine with the create-vm script. You can modify the varibles in the script to control alloted resources but it is recommeded that you stick with the defaults. On your localhost execute the following commands.

[root@localhost]# git clone https://github.com/kojak/autom8.git
[root@localhost]# cd autom8
[root@localhost]# ./create-vm

Add the following to your /etc/hosts file on your localhost in order to resolv the microservices shipped with Kojak Autom8 as part of the DevOps Cicuit.

192.168.122.100 example.com master.example.com register.example.com

Installation Instructions

Login and install git, checkout the kojak repo, execute the docker install script and reboot

[root@localhost]# yum -y install git
[root@localhost]# git clone https://github.com/kojak/autom8.git
[root@localhost]# cd autom8
[root@localhost]# ./install-docker
[root@localhost]# reboot

Login and update the system.

[root@localhost]# yum -y update
[root@localhost]# reboot

Login and execute the autom8 script

[root@localhost]# cd autom8
[root@localhost]# ./auto8 -f master.example.com

Reboot the vm to effect the docker user settings. From here on in you should login as the devel user.

If you want to have the devel user execute commands which require root user privileges will have to edit the sudoers files.

visudo

Uncommet the wheel user with no password entry as below:

## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

You can now browsing to the web console via https://master.example.com:8443 with the following credentials:

  1. username: admin
  2. password: admin

To configure new users login into the vitual machine and execute the following:

htpasswd -b /etc/openshift/users.htpasswd <user> <password>

Use the deploy.sh script to 'Bring Your Own Container' and deploy it to your Openshift instance.

[root@localhost]# ./deploy.sh

Known Issues and How to Report Them

Execute the autom8-diag script and send the output via a github ticket.

See http://github.com/sbadakhc/autom8/issues?state=open

Discussion

Join our community at https://plus.google.com/u/0/communities/103028582394768375364

autom8's People

Contributors

sbadakhc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

hoos

autom8's Issues

Cannot read from remote repository

Attempted to deploy Centos nginx docker container and received the following error.

centos7-nginx:latest as a local directory pointing to a Git repository: stat centos7-nginx:latest: no such file or directory

Errors occurred during resource creation:
error: no match for "nsecure-registry=true"

Add progress indication

Add some kind of indication that the yum update is taking place so it doesn't look like its hanging.

Long pause after odd error message

Removed:
NetworkManager.x86_64 1:1.8.0-9.el7 NetworkManager-libnm.x86_64 1:1.8.0-9.el7 NetworkManager-team.x86_64 1:1.8.0-9.el7
NetworkManager-tui.x86_64 1:1.8.0-9.el7 NetworkManager-wifi.x86_64 1:1.8.0-9.el7

Complete!
Failed to execute operation: No such file or directory <---------------------WTF
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.coreix.net
  • extras: mirror.freethought-internet.co.uk
  • updates: mirror.sov.uk.goscomb.net
    Resolving Dependencies
    --> Running transaction check
    ---> Package epel-release.noarch 0:7-9 will be installed
    --> Finished Dependency Resolution

/etc/hosts

The deployment should check/configure master.example.com and register.example.com as part of the prerequisites for installation.

$KUBECONFIG permission denied as non root user

The installation process sets KUBECONFIG to /var/lib/openshift/openshift.local.config/master/admin.kubeconfig

As a non-root user one doesn't have access to the file by default. I had to copy the file to ~/.kube/config and export the new KUBECONFIG value for oc to work.

I tested the new configuration with an oc login.

Hard Coded IP - Sort it out

You really need to sort out the hardcoded IP address. The deployment shouldn't make any assumptions and ideally should look for a suitable class C IP address and as the user to confirm or override it.

Long pause possibly infinite loop after error message

Wrote master config to: openshift.local.config/master/master-config.yaml
./autom8: line 208: /root/workspace/autom8/cfg/master-config.yaml: No such file or directory
sed: can't read /var/lib/openshift/openshift.local.config/master/master-config.yaml: No such file or directory
cp: cannot stat โ€˜/root/workspace/autom8/certs/*โ€™: No such file or directory
Adding password for user admin
Created symlink from /etc/systemd/system/multi-user.target.wants/openshift.service to /usr/lib/systemd/system/openshift.service. <------------------- Hangs here until a CRTL-C and resumes without issue

Network interface gets set to dhcp

The boot protocol is defaulting to dhcp. to fix this you need to edit network adaptor file and set boot protocol to static.

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="0c7347a0-f14e-472c-a84a-99ebdfc7d4c4"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="192.168.122.100"
PREFIX="24"
GATEWAY="192.168.122.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
DOMAIN="example.com"
IPV6_PRIVACY="no"

Virtual Box installation missing instructions

The docker-install script needs to be added to run before the one-liner call for autom8.sh (update the documentation).

The one-liner command for autom8 needs to include the -f to actually start the installation, otherwise you just usage instructions.

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.