All Projects β†’ bloomberg β†’ Chef Bcpc

bloomberg / Chef Bcpc

Licence: apache-2.0
Bloomberg Clustered Private Cloud distribution

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Chef Bcpc

Kube Ansible
Build a Kubernetes cluster via Ansible playbook. πŸ”§ πŸ”§ πŸ”§
Stars: ✭ 354 (+72.68%)
Mutual labels:  ansible, ceph, vagrant
Vagrant Elastic Stack
Giving the Elastic Stack a try in Vagrant
Stars: ✭ 131 (-36.1%)
Mutual labels:  ansible, vagrant
Vagrant Butcher
Delete Chef client and node when destroying Vagrant VM
Stars: ✭ 127 (-38.05%)
Mutual labels:  chef, vagrant
Infrastructure As Code Tutorial
Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes
Stars: ✭ 1,954 (+853.17%)
Mutual labels:  ansible, vagrant
Serverfarmer
Manage multiple servers with different operating systems, configurations, requirements etc. for many separate customers in an outsourcing model.
Stars: ✭ 122 (-40.49%)
Mutual labels:  ansible, chef
Casl Ansible
Ansible automation for Managing OpenShift Container Platform clusters
Stars: ✭ 123 (-40%)
Mutual labels:  openstack, ansible
Gitlab Ci Stack
Full CI pipeline project based on Gitlab & Gitlab CI running Docker, completely automated setup by Vagrant & Ansible, providing LetΒ΄s Encrypt certificates for private Servers, multiple Gitlab-Runners and the Gitlab Container Registry, incl. GitLab Pages
Stars: ✭ 146 (-28.78%)
Mutual labels:  ansible, vagrant
Linchpin
ansible based multicloud orchestrator
Stars: ✭ 107 (-47.8%)
Mutual labels:  openstack, ansible
Ansible Tuto
Ansible tutorial
Stars: ✭ 1,959 (+855.61%)
Mutual labels:  ansible, vagrant
Pytest Testinfra
With Testinfra you can write unit tests in Python to test actual state of your servers configured by management tools like Salt, Ansible, Puppet, Chef and so on.
Stars: ✭ 1,987 (+869.27%)
Mutual labels:  ansible, chef
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (-21.46%)
Mutual labels:  openstack, ceph
Packer Windoze
Packer templates to create Windows vagrant box images
Stars: ✭ 117 (-42.93%)
Mutual labels:  ansible, vagrant
K8s On Openstack
An opinionated way to deploy a Kubernetes cluster on top of an OpenStack cloud.
Stars: ✭ 108 (-47.32%)
Mutual labels:  openstack, ansible
Trellis
WordPress LEMP stack with PHP 8.0, Composer, WP-CLI and more
Stars: ✭ 2,295 (+1019.51%)
Mutual labels:  ansible, vagrant
Rhcsa8env
This is a RHCSA8 study environment built with Vagrant/Ansible
Stars: ✭ 108 (-47.32%)
Mutual labels:  ansible, vagrant
Forklift
Helpful deployment scripts for Foreman and Katello
Stars: ✭ 141 (-31.22%)
Mutual labels:  ansible, vagrant
Ansible Role Hardening
Ansible role to apply a security baseline. Systemd edition.
Stars: ✭ 188 (-8.29%)
Mutual labels:  ansible, vagrant
Vagrant Box Templates
Stars: ✭ 100 (-51.22%)
Mutual labels:  ansible, vagrant
Packer Ubuntu 1804
This build has been moved - see README.md
Stars: ✭ 101 (-50.73%)
Mutual labels:  ansible, vagrant
Ansible Vagrant Examples
Ansible examples using Vagrant to deploy to local VMs.
Stars: ✭ 1,913 (+833.17%)
Mutual labels:  ansible, vagrant

chef-bcpc

chef-bcpc is a set of Chef cookbooks that build a highly-available OpenStack cloud.

The cloud consists of head nodes (OpenStack controller services, Ceph Mons, etc.) and work nodes (hypervisors).

Each head node runs all of the core services in a highly-available manner. Each work node runs the relevant services (nova-compute, Ceph OSDs, etc.).

Getting Started

The following instructions will get chef-bcpc up and running on your local machine for development and testing purposes.

Prerequisites

  • OS X or Linux
  • Quad-core CPU that supports VT-x or AMD-V virtualization extensions
  • 32 GB of memory
  • 128 GB of free disk space
  • Vagrant 2.1+
  • VirtualBox 5.2+
  • git, curl, rsync, ssh, jq, make, ansible

NOTE: It is likely possible to build an environment with 16GB of RAM or less if one is willing to make slight modifications to the virtual topology and/or change some of the build settings and overrides. However, we've opted to spec the minimum requirements slightly more aggressively and target hosts with 32GB RAM or more to provide the best out-of-the-box experience.

Local Build

  • Review virtual/topology/topology.yml for the topology you will build and make changes as required, e.g. assign more or less RAM based on your topology and your build environment. Other topologies exist in the same directory.
  • To make changes to the virtual topology without dirtying the tree, copy the hardware.yml and topology.yml to files named hardware.overrides.yml and topology.overrides.yml, respectively, and make changes to them instead.
  • If a proxy server is required for internet access, set the variables TBD
  • If additional CA certificates are required (e.g. for a proxy), set the variables TBD
  • From the root of the chef-bcpc git repository run the following command:

Create a Python virtual environment (virtualenv) and activate it

python3 -mvenv venv
source venv/bin/activate
pip install PyYaml ansible netaddr pyOpenSSL pycryptodome

To create a virtualbox build (the default):

make generate-chef-databags
make create all

To create a libvirt build:

sudo apt-get install build-essential libvirt-dev qemu-utils
vagrant plugin install vagrant-libvirt vagrant-mutate
vagrant box add bento/ubuntu-18.04 --box-version 202005.21.0 --provider virtualbox
vagrant mutate bento/ubuntu-18.04 libvirt
export VAGRANT_DEFAULT_PROVIDER=libvirt VAGRANT_VAGRANTFILE=Vagrantfile.libvirt
make generate-chef-databags
make create all

You may also want to change cpu model from qemu64 to kvm64 in ansible/playbooks/roles/common/defaults/main/chef.yml

chef_environment:
  name: virtual
  override_attributes:
    bcpc:
       nova:
         cpu_config:
           cpu_mode: custom
           cpu_model: kvm64

To revert to the default virtualbox provider, as far as the build is concerned, you can just remove the mutated libvirt box and then unset VAGRANT_DEFAULT_PROVIDER and VAGRANT_VAGRANTFILE environment variables. However since you must also make sure that the different hypervisors don't both try to control the CPU virtualisation facilities, it is best to remove the mutated box and then simply reboot your development host (assuming no scripts reset the VAGRANT variables).

This would look something like this:

$ rm -rf ~/.vagrant.d/boxes/bento-VAGRANTSLASH-ubuntu-18.04/202005.21.0/libvirt/
$ sudo reboot

Hardware Deployment

TBD

Contributing

Currently, most development is done by a team at Bloomberg L.P. but we would like to build a community around this project. PRs and issues are welcomed. If you are interested in joining the team at Bloomberg L.P. please see available opportunities at the Bloomberg L.P. careers site.

License

This project is licensed under the Apache 2.0 License - see the LICENSE.txt file for details.

Built With

chef-bcpc is built with the following open source software:

Thanks to all of these communities for producing this software!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].