GithubHelp home page GithubHelp logo

elsabuilder's Introduction

Elsabuilder

Updates

Service

Elsabuilder is running as a service in our own cluster and can be accessed through a RESTlike interface. Instead of using arguments on the commandline, you convert those to query parameters for running frankenbuilder. The service does support specifying PR's for testing changes. The request will return the vmpooler host frankenbuilder is running on. Elsabuilder will provide the keyfile and vmpooler arguments for you when used as a service.:

http://elsabuilder.service.consul.puppet.net:5000/frankenbuild/2016.4.x?install&preserve-hosts=always&pe_manager_pr=5&pe_install_pr=132

ssgxdr4ry99q1jz.delivery.puppetlabs.net

The request above will run frankenbuilder to build a tarball using the changes in the PR #5 of the puppetlabs-pe_manager repos and PR # 132 in the puppetlabs-pe_install repo, install 2016.4.x and preserve the hosts.

To track the frankenbuilder run, you can query the status endpoint or ssh into the host and attach to the tmux session.

http://elsabuilder.service.consul.puppet.net:5000/status/ssgxdr4ry99q1jz.delivery.puppetlabs.net

Note that setting up frankenbuilder on the host may take a little while and elsabuilder will not be able to report on the status until then. If you have local changes you want to test, please use the CLI below to test these changes.

CLI

Python utility and that runs frankenbuilder on a vmpooler host. If --host is not specified, it will use vmfloaty to get a 'centos-7-x86_64' image, install all libraries needed for frankenbuilder and run frankenbuild with any arguments specified on the command line. If any Frankenbuilder arguments have values that are directories on your localhost, it will rsync those directories to the remote host in the root home directory and update the paths specified to frankenbuilder.

Installation

  • Clone the repo.:

    git clone [email protected]:barleyj-puppet/elsabuilder.git
    
  • Place any keys you need to clone Puppet repos or run frankenbuilder in your $HOME/.ssh directory

  • Install elsabuilder. From within the elsabuilder directory run.:

    sudo pip install .
    
    # If you are doing development, this will symlink the source directory
    sudo pip install --editable .
    

Features

  • Run a frankenbuild on a vmpooler instance.:

    elsabuilder frankenbuild 2017.3.x --upgrade-from=2017.2.x --install --upgrade --smoke --ha --vmpooler --keyfile=~/.ssh/id_rsa-acceptance --preserve-hosts=always --pe_manager=../../puppetlabs-pe_manager --pe_install=../../puppetlabs-pe_install
    
    [[email protected]] out: [root@ssgxdr4ry99q1jz frankenbuilder]# ./frankenbuilder 2017.3.x --upgrade-from=2017.2.x --install --upgrade --smoke --ha --vmpooler --keyfile=~/.ssh/id_rsa-acceptance --preserve-hosts=always --pe_manager=../puppetlabs-pe_manager --pe_install=../puppetlabs-pe_install
    [[email protected]] out: Cleaning /tmp/frankenmodules...
    [[email protected]] out: Done.
    [[email protected]] out: Removing cached agent artifacts...
    [[email protected]] out: Cloning [email protected]:puppetlabs/pe_acceptance_tests.git...
    [[email protected]] out: Cloning into '/tmp/frankenmodules/pe_acceptance_tests'...
    [[email protected]] out: remote: Counting objects: 19798, done.
    [[email protected]] out: remote: Compressing objects: 100% (95/95), done.
    [[email protected]] out: remote: Total 19798 (delta 83), reused 67 (delta 39), pack-reused 19664
    [[email protected]] out: Receiving objects: 100% (19798/19798), 6.16 MiB | 0 bytes/s, done.
    [[email protected]] out: Resolving deltas: 100% (12024/12024), done.
    [[email protected]] out: remote: Counting objects: 3101, done.
    [[email protected]] out: remote: Compressing objects: 100% (5/5), done.
    [[email protected]] out: remote: Total 3101 (delta 917), reused 917 (delta 917), pack-reused 2179
    [[email protected]] out: Receiving objects: 100% (3101/3101), 548.22 KiB | 0 bytes/s, done.
    [[email protected]] out: Resolving deltas: 100% (1750/1750), completed with 523 local objects.
    [[email protected]] out: From github.com:puppetlabs/pe_acceptance_tests
    [[email protected]] out:  * [new ref]         refs/pull/1/head -> puppetlabs/pr/1
    
  • Get the frankenbuilder status.:

    elsabuilder frankenbuilder_status --host ssgxdr4ry99q1jz.delivery.puppetlabs.net
    

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

elsabuilder's People

Contributors

barleyj-puppet avatar genebean 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.