Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add awx as an embedded ansible plugin #16205

Merged
merged 12 commits into from
Dec 6, 2017

Commits on Dec 6, 2017

  1. Configuration menu
    Copy the full SHA
    a754fa8 View commit details
    Browse the repository at this point in the history
  2. Refactor generating the ansible secret key into a method

    This will make it easier to move this method into a shared location
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    fbc3d3d View commit details
    Browse the repository at this point in the history
  3. Refactor password generation methods into shared find_or_create methods

    This allows the "fetch from the database or generate and save"
    behavior to be shared across different embedded ansible platforms
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    28b87db View commit details
    Browse the repository at this point in the history
  4. Add the docker-api gem

    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    3d740c4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e194cca View commit details
    Browse the repository at this point in the history
  6. Add DockerEmbeddedAnsible

    This will run the containers which make up AWX (https://github.com/ansible/awx)
    and configure our app to use that for the embedded ansible feature.
    
    This class uses the docker-api gem to communicate with the locally
    running docker daemon to pull and launch the containers.
    
    We use port 54321 as the host port so that this can be used
    seamlessly in place of ApplianceEmbeddedAnsible when ansible tower
    is not installed locally
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    e3caa6c View commit details
    Browse the repository at this point in the history
  7. Don't try to use "localhost" for the database host

    When we have "localhost" in our database configuration, we have
    to change that to the local machine's IP on the docker NIC
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    6b22cb9 View commit details
    Browse the repository at this point in the history
  8. Add some specs for DockerEmbeddedAnsible

    This also adds stubs for all of the subclass availability in each of
    the specs to avoid sporadic test failures depending on the order
    the subclasses are evaluated for availability.
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    481bf42 View commit details
    Browse the repository at this point in the history
  9. Add priority to the EmbeddedAnsible subclasses

    This sorts the subclasses and instantiates the first available one
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    e72b52e View commit details
    Browse the repository at this point in the history
  10. Rescue JSON::ParserError in DockerEmbeddedAnsible.alive?

    This error will be raised when the containers are just started.
    Every API end point during the initial migration will return an
    html page rather than a json payload.
    
    This accounts for that specific situation by assuming if we don't
    get a valid json response the service is not ready to serve requests
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    19c8f63 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    1ed4128 View commit details
    Browse the repository at this point in the history
  12. Add hack to get EmbeddedAnsible provider working on dev machines

    This really just assumes that a dev environment isn't multi-appliance
    and isn't fronted by our httpd configuration.
    
    This means that we always go to localhost, use http over https and
    hardcode the port and path.
    carbonin committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    b015723 View commit details
    Browse the repository at this point in the history