Giter VIP home page Giter VIP logo

doc's Introduction

END OF LIFE NOTICE FOR VERSION 2.x

Version 2 of Digital Rebar is no longer being maintained. All development has shifted to v3 (Digital Rebar Provision) which is being actively supported. If you need help migrating, please contact RackN for assistance.

Ref: https://github.com/digitalrebar/provision

Welcome to Digital Rebar

The Digital Rebar is a container-ready cloud & hardware provisioning platform that delivers the best of software deployment automation and orchestration without locking you into a single platform or operating system. Our mission is to embrace the heterogenous nature of cloud and data center operations.

While it's been completely rebuilt by DevOps artisans, Digital Rebar history includes years of battle-tested ops learnings by the Crowbar Project founders.

Getting Started & Documentation

Documentation is maintained in Read The Docs and sourced from our doc repository.

Help & Community

Commercial support for Digital Rebar is available from RackN Inc.

Codebase History

  • Fall 2016: Digital Rebar / DigitalRebar converged into single repo + workloads.
  • Summer 2015: Digital Rebar / Core (and many repos) restructured into microservice containers
  • Fall 2013: OpenCrowbar Rearchitecture (v2) was a complete re-write of Crowbar to be composable
  • Spring 2011: Original Project: Crowbar (still maintained by SUSE) was a Chef wrapper layer

Dangerous and Fun Quick Start command.

We know you'll ignore this advice, but we recommend that you Read The Docs Deployment Install Guide first!

WARNING: This is only for clean systems. If you've already cloned this repo, use the run-in-system script!

From the home directory of a user with sudo capabilities,

curl -fsSL https://raw.githubusercontent.com/digitalrebar/digitalrebar/master/deploy/quickstart.sh | bash

This command will turn the current node into a DigitalRebar admin node in Host mode operating as the IP on the default gateway interface. For cloud instances, this means that it will use the private network and will only safely manage nodes in its private network. UX and API will be available through the public IP of the cloud instance assuming https is allowed through the cloud's network protections.

You may add additional arguments to bash to enable features or change the IP address that ADMIN node will use.

E.g. curl -fsSL https://raw.githubusercontent.com/digitalrebar/digitalrebar/master/deploy/quickstart.sh | bash -s -- --con-provisioner --con-dhcp --admin-ip=1.1.2.3/24

will enable the dhcp server and provisioner for the admin node. You will need to edit the admin-internal network to boot nodes properly. This would also set the admin-ip to 1.1.2.3/24 in the configuration files. This last part is needed if you are using an AWS or google instance and you want to use your admin node for things not directly in your VPC/Network.

NOTE: When enabling the provisioner, you will need about 20GB of disk space. Plan accordingly.

doc's People

Contributors

danc8871 avatar galthaus avatar gerhardqux avatar josh-dunning avatar kathpanderson avatar newgoliath avatar niemanme avatar ravolt avatar stephentames avatar sygibson avatar victorlowther avatar zehicle avatar

Stargazers

 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  avatar

doc's Issues

Amazon install off documents

Running an amazon install by following the Digital Rebar Quick Start portion of the documentation.

Used AWS Path on a VM running Ubuntu.

TODO:

  • More detailed instructions on how to set up the amazon server via aws.
  • Connection info is wrong. Used a different command:
    ssh -i "install-tests.pem" ubuntu@[public DNS]
    This successfully connected me to the server. Right clicking on the instance opens a bar with Connect option. This has full instructions

Install notes:

  • Created AWS m4.large Ubuntu instance. Copied and saved key using gedit to my home folder. Used default security group for ports.
  • Connected to server.
  • Saved External IP of server and installed git using full command on the page.
  • Cloned deploy repo from github and ran ./run-in-system.sh --help.
  • Ran ./run-in-system.sh --deploy-admin=local --access=HOST --wl-docker-swarm --admin-ip=$IPA. This gave the following failure but continued on:
TASK [Install Prereqs [SLOW]] **************************************************
fatal: [52.37.196.237]: FAILED! => {"failed": true, "msg": "The conditional check 'ansible_os_family == \"Debian\" and ansible_lsb.major_release == \"14\"' failed. The error was: cannot import name _unicode\n\nThe error appears to have been in '/home/ubuntu/digitalrebar/deploy/tasks/base.yml': line 14, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n when: ansible_os_family == \"Debian\" and ansible_lsb.major_release == \"15\"\n  - include: base-ubuntu1404.yml\n   ^ here\n"}
  • Next, I reran the install with sudo: sudo ./run-in-system.sh --deploy-admin=local --access=HOST --wl-docker-swarm --admin-ip=$IPA. This failed in four places back to back, but install continued on:
TASK [Stop ntp] ****************************************************************
fatal: [52.37.196.237]: FAILED! => {"changed": false, "failed": true, "msg": "no service or tool found for: ntp"}
...ignoring

TASK [Stop ntpd] ***************************************************************
fatal: [52.37.196.237]: FAILED! => {"changed": false, "failed": true, "msg": "no service or tool found for: ntpd"}
...ignoring

TASK [Stop chronyd] ************************************************************
fatal: [52.37.196.237]: FAILED! => {"changed": false, "failed": true, "msg": "no service or tool found for: chronyd"}
...ignoring

TASK [Stop dnsmasq] ************************************************************
fatal: [52.37.196.237]: FAILED! => {"changed": true, "cmd": ["killall", "dnsmasq"], "delta": "0:00:00.004558", "end": "2016-08-02 19:19:59.027864", "failed": true, "rc": 1, "start": "2016-08-02 19:19:59.023306", "stderr": "dnsmasq: no process found", "stdout": "", "stdout_lines": [], "warnings": []}
...ignoring
  • The took a very long time with TASK [HOSTMODE wait until Digital Rebar service is up [1 upto 20 minutes]]. It eventually timed out with the following message:
    fatal: [52.37.196.237]: FAILED! => {"changed": false, "elapsed": 1200, "failed": true, "msg": "Timeout when waiting for False:3000"}.
    I was able to access the UX regardless. However, ..ux/#/login came up and I couldn't log in. This was solved by just reentering ../ux/ in the url bar. I was able to access the ux after that.

UX Updating

The colors in 5.1.11.1 Machines (in provisioner.rst) are outdated. (At least, it doesn't mention yellow, but there is yellow.)
Images on several of the pages are still broken.

UX Guide out of Date

The workload page on the UX portion of the documentation (/user/webux/workload.rst) is out of date. Page should be updated to match current state of the UX, and functionality discussed in training video 001c should be added.

Advanced drop down is missing from the docs as well.

Will edit this issue to add more sections that need work, if they appear.

Missing page (Workload Parameters)

doc/workloads/installation.rst points to workload_parameters, which does not exist. I cannot find the file it is supposed to reference. However, it seems like something that should exist.

Google Install and Forwarder still timing out

I've created a VM in google to attempt to install Rebar to it.

Currently, I've encountered an issue in that the VM must have at least 6GB of RAM to be able to deploy Rebar.

TASK [Check RAM to prevent low memory bring up issues] *************************
fatal: [10.128.0.3]: FAILED! => {"changed": false, "failed": true, "msg": "!!! LOW RAM FAILURE - 3700 is insufficient
 RAM to run Digital Rebar.  6Gb Minimum !!!"}

A note about this should probably be added somewhere in the deployment guide.

Also, Google has a connect option that pulls up a terminal already connected to the VM in the web browser. This can be used to easily access and install to the system without having to ssh into the system.

Complete install code, after opening terminal from Google:

sudo apt-get update
sudo apt-get install git
mkdir digitalrebar
git clone https://github.com/rackn/digitalrebar-deploy digitalrebar/deploy
ln -s digitalrebar/ digitalrebar/deploy/compose/digitalrebar
cd digitalrebar/deploy
./run-in-system.sh --help
ip -4 addr
export IPA=[CIDR]
./run-in-system.sh --deploy-admin=local --admin-ip=$IPA

And the same issue as always appears:

TASK [FORWARDER wait until Digital Rebar service is up [1 upto 20 minutes]]

Takes forever before finally failing due to a timeout.

Packet Install Failure

Using Ubuntu VM, created Ubuntu running Packet Server

After setting up install, and running the install program, the following occurs:

root@t3:~/digitalrebar/deploy# ./run-in-system.sh --deploy-admin=local --access=HOST --wl-docker-swarm --admin-ip=$IPA
Overriding DEPLOY_ADMIN with local
Overriding ACCESS with HOST
Overriding ADMIN_IP with 147.75.203.123/31
cat: compose/tag: No such file or directory
WARNING: ******************************
WARNING: Changing tags can be dangerous
WARNING: ******************************
Device IP = 147.75.203.123/31
[DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and
make sure become_method is 'sudo' (default).
This feature will be removed in a
future release. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.

PLAY [Install Digital Rebar by RackN 2015] *************************************

TASK [setup] *******************************************************************
ok: [147.75.203.123]

TASK [debug] *******************************************************************
skipping: [147.75.203.123]

TASK [Check RAM to prevent low memory bring up issues] *************************
skipping: [147.75.203.123]

TASK [Update repos] ************************************************************
skipping: [147.75.203.123]

TASK [Install EPEL [SLOW]] *****************************************************
skipping: [147.75.203.123] => (item=[])

TASK [Install Prereqs [SLOW]] **************************************************
skipping: [147.75.203.123] => (item=[])

TASK [Install Provisioner Prereqs [SLOW]] **************************************
skipping: [147.75.203.123] => (item=[])

TASK [Install Provisioner ruby-gems for CentOS/RedHat 6] ***********************
skipping: [147.75.203.123] => (item=[])

TASK [gem install kvm slaves] **************************************************
skipping: [147.75.203.123]

TASK [Silly flush of iptables] *************************************************
skipping: [147.75.203.123]

TASK [Update repos (was not working from apt:)] ********************************
skipping: [147.75.203.123]

TASK [Install Prereqs [SLOW]] **************************************************
skipping: [147.75.203.123] => (item=[])

TASK [Install Provisioner Prereqs [SLOW]] **************************************
skipping: [147.75.203.123] => (item=[])

TASK [Provisioner gem install kvm slaves] **************************************
skipping: [147.75.203.123]

TASK [stop apparmor] ***********************************************************
skipping: [147.75.203.123]

TASK [remove apparmor] *********************************************************
skipping: [147.75.203.123]

TASK [Add python2.7 repo] ******************************************************
changed: [147.75.203.123]

TASK [Update repos (was not working from apt:)] ********************************
changed: [147.75.203.123]
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather
than running sudo

TASK [Update python [SLOW]] ****************************************************
changed: [147.75.203.123]

**TASK [Install Prereqs [SLOW]] ******************************************************
fatal: [147.75.203.123]: FAILED! => {"failed": true, "msg": "The conditional check 'ansible_os_family == "Debian" and ansible_lsb.major_release == "14"' failed. The error was: cannot import name _unicode\n\nThe error appears to have been in '/root/digitalrebar/deploy/tasks/base.yml': line 14, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n when: ansible_os_family == "Debian" and ansible_lsb.major_release == "15"\n - include: base-ubuntu1404.yml\n ^ here\n"}

NO MORE HOSTS LEFT *************************************************************
[WARNING]: Could not create retry file 'digitalrebar.retry'. [Errno 2]
No such file or directory: ''

PLAY RECAP *********************************************************************
147.75.203.123 : ok=4 changed=3 unreachable=0 failed=1

No DHCP continer requested
=== HELPFUL COMMANDS ===
repeat Ansible run: ansible-playbook -i /tmp/run-in-hosts.8800 --extra-vars "{

"dr_access_mode": "HOST", "dr_external_ip": "147.75.203.123/31",

"dr_tag": "latest",
"dr_classifiers": [ ],
"dr_services": [ "--ntp" , "--revproxy" , "--chef" , "--dns" , "--webproxy" , "--dns-mgmt" ],
"dr_workloads": [ "ux" , "docker-swarm" ]
}" digitalrebar.yml --connection=local
Digital Rebar UI https://147.75.203.123 (for RackN UX try https://147.75.203.123/ux/ )
root@t3:~/digitalrebar/deploy#

Will attempt again, but error has already occurred in multiple instances.

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.