Giter VIP home page Giter VIP logo

ansible-vagrant-modules-legacy's People

Contributors

caljess599 avatar jclaveau avatar majidaldo avatar robparrott avatar tomaskadlec avatar

Stargazers

 avatar

Watchers

 avatar

ansible-vagrant-modules-legacy's Issues

Playbook integration tests

delegate_to doesn't work when applied to hosts added with add_host in roles so in integration tests but it works in playbooks.

  • Add integration-playbooks tests

Do not call status twice when not required

Replace

        if status_before['state'] != 'saved':
            self.vg.suspend(
                vm_name=name
            )

        status_after = self.raw_statuses(name, must_be_present=True)[name]
        if status_before['state'] != status_after['state']:
            changed = True

by

        if status_before['state'] != 'saved':
            self.vg.suspend(
                vm_name=name
            )
            status_after = self.raw_statuses(name, must_be_present=True)[name]
            if status_before['state'] != status_after['state']:
                changed = True
        else:
            status_after = status_before

Meta - Publish

  • Rename config module
  • Migrate the tasks
  • Create the VagrantUpdated
  • Support the provider option
  • Set a version
  • Polish galaxy.yml
  • Remove the "WIP" from the README
  • Points the fact that it allows control on a kind of hosts file from ansible-test
  • Open warning issues on ansible-skeleton, vagrant-role and ansible-vagrant
  • Start a topic on reddit
  • Write a blog article, share it on hacker news?
  • Contact Jeff Geerling

Polish vagrant.config

  • githook to copy Vagrantfile content into y python wrapper
  • Move VagrantConfig class to module_utils
  • copyright
  • examples add / remove / read

Check if alternative code doesn't exist

Support all commands with empty "name" or "names"

Currently I chose to made the "name" parameter required. Matching vagrant commands behavior would required to support it which requires a clean code for manipulating many machines:
TODO:

  • List commands where it could have sens (Vagrant doesn't support "vagrant port" with no name specified for example)
  • Define outputs having the same philosophy as Ansible loop results
  • Factorize calls in the Vagrant adapter
  • Make the name parameter optional when possible
  • Update the tests
  • Update the docs

NOT TO DO: These features depend on the current one

  • Async subcalls to make vagrant use faster
  • Implement names parameter

Clean vagrant status output

        "status": {
            "frank": [
                [
                    [
                        "frank",
                        "running",
                        "virtualbox"
                    ]
                ],
                [
                    [
                        "frank_inst2",
                        "running",
                        "virtualbox"
                    ]
                ]
            ]
        }

Should be:

        "status": {
            "frank": [
                {
                    "name": "frank",
                    "state": "running",
                    "provider": "virtualbox",
                    "changed": true
                },
                {
                    "name": "frank_inst2",
                    "state": "running",
                    "provider": "virtualbox",
                    "changed": true
                }
            ]
        }

Implement the binding to `parallel` parameter

vagrant up and vagrant destroy provide a parallel parameter which is passed to the chosen provider.
As a workaround I chose to delegate this responsibility to Ansible for now but it would be a very nice feature.

Acceptance:

  • Have a working parallel parameter for vagrant up.
  • Have a working parallel parameter for vagrant destroy.

Todo

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.