Giter VIP home page Giter VIP logo

pulplift's Introduction

Pulplift

This is based on and makes use of the Vagrant based configuration of the Forklift project. Please see the Forklift documentation for all configuration options available when creating custom boxes.

Requirements

  • Ansible 2.5+
  • Vagrant 1.8+
  • Vagrant provider plugin (follow vagrant instructions)
    • libvirt and virtualbox supported
  • Recommended: Vagrant sshfs plugin if using libvirt
  • Enabled virtualization in BIOS

Quick install requirements on Fedora

sudo dnf install ansible vagrant-libvirt vagrant-sshfs @virtualization
sudo virt-host-validate

Setup

Before using Pulplift, ensure that all submodules are updated and in place.

git submodule update --init --remote

After your git submodules are installed, you can then use vagrant up <box-name> to create a Pulp environment. See the list of available boxes below.

Setting up a dev environment

After you've set up the git submodules as outlined in the Setup section, you will need to clone the source code.

You can then spin up your development environment with the following vagrant command. If you have any custom configuration options including plugin choice, see "Configuration" section below.

For more information about dev environment, please look into pulp_devel role into pulp_installer

vagrant up pulp3-source-fedora32

Available Boxes

The aim is to provide every supported OS and major installation type combination for Pulp 3 based upon what is available from pulp_installer. The currently supported boxes:

centos7                            not created (libvirt)
centos7-fips                       not created (libvirt)
centos8                            not created (libvirt)
centos8-fips                       not created (libvirt)
centos8-stream                     not created (libvirt)
debian10                           not created (libvirt)
fedora31                           not created (libvirt)
fedora32                           not created (libvirt)
pulp2-nightly-pulp3-source-centos7 not created (libvirt)
pulp3-sandbox-centos7              not created (libvirt)
pulp3-sandbox-centos7-fips         not created (libvirt)
pulp3-sandbox-centos8              not created (libvirt)
pulp3-sandbox-centos8-fips         not created (libvirt)
pulp3-sandbox-centos8-stream       not created (libvirt)
pulp3-sandbox-debian10             not created (libvirt)
pulp3-sandbox-fedora31             not created (libvirt)
pulp3-sandbox-fedora32             not created (libvirt)
pulp3-source-centos7               not created (libvirt)
pulp3-source-centos7-fips          not created (libvirt)
pulp3-source-centos8               not created (libvirt)
pulp3-source-centos8-fips          not created (libvirt)
pulp3-source-centos8-stream        not created (libvirt)
pulp3-source-debian10              not created (libvirt)
pulp3-source-fedora31              not created (libvirt)
pulp3-source-fedora32              not created (libvirt)

Base OS Boxes

The base OS boxes, such as centos7, can be used to spin-up a clean environment.

vagrant up centos7

Sandbox boxes

Sandbox boxes, such as pulp3-sandbox-centos7 can be used to do a standard install of Pulp for users.

vagrant up pulp3-sandbox-centos7

Source boxes

Source boxes, such as pulp3-source-centos7 can be used to do an install of pulp with developer tools & helper scripts/aliases for developers.

The example configuration requires that the pulpcore git repo directory and plugin git repo directories (e.g. pulp_file) exist in folders, under the same parent folder as pulplift, so they can be mounted on the box.

If using libvirt, the vagrant-sshfs plugin must be installed to mount.

vagrant up pulp3-source-centos7

Ansible

Any of the pulp3 labeled boxes will both spin-up and provision the labeled Ansible installation scenario for Pulp 3.

Configuration

Each box uses a playbook appropriate for the type of installation specified in the box name. Additional ansible variables are defined in example.dev-config.yml and example.user-config.yml. If you need to change these variables, including choosing which plugins to install, copy one of these files to create a local variable file. Pulplift will look for local.dev-config.yml or local.user-config.yml, which are not checked into git.

Any of the Ansible variables can be set in this local variable file. Please see the README of each pulp_installer role for more detailed information.

Running a playbook directly

You can run an existing or custom playbook directly using ansible-playbook. For example:

vagrant up centos7
ansible-playbook my-pulp-install.yaml -l centos7

pulplift's People

Contributors

akofink avatar alikins avatar asmacdo avatar bmbouter avatar codeheeler avatar daviddavis avatar dkliban avatar dralley avatar ehelms avatar fao89 avatar ipanova avatar jlsherrill avatar mdellweg avatar mikedep333 avatar parthaa avatar pavelpicka avatar quba42 avatar

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.