Giter Site home page Giter Site logo

machination's People

Contributors

jeanguyomarch avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

machination's Issues

[todo] cleanup of auto mac addresses

Generation of mac addresses in python seems to create problems with pipework.
Suggestion: keep auto in instance machine.config and let pipework handle it ?

todo: extend documentation

add a schema on readme page with little boxes and arrows explaining:

  • provisionners
  • templates
  • instances

How the different files are linked together, and how to add or extend a template.

[discuss] syntax of --guestinterface opt ?

machination create -h
IMHO adding an interface and adding a sharedfolder should have the same syntax (and separator, but guestinterface still uses the pipe).
--guestinterface GUESTINTERFACE, -i GUESTINTERFACE
Network interface to add to the new machine
<hostinterface|ip_addr|mac_addr|hostname> |
<hostinterface|ip_addr|mac_addr>
--sharedfolder SHAREDFOLDER SHAREDFOLDER, -s SHAREDFOLDER SHAREDFOLDER
Shared folder between the new machine and the host
<host_folder guest_folder>

doc: high level explanations

machination is based on templates
A template define:

  • the provider (provides the virtual infrastructure): docker
  • the provisioner (executes installation instructions): ansible
  • os versions (ubuntu trusty, vivid,...)
  • optionnal additionnal network interfaces
    The file is named ..template

Ansible needs a playbook file that defines which roles to execute.
The file is named ..playbook
The roles are then executed in order of their listing (and can depend themselves on other roles).

[feature] add a command line mode option ?

usefull for further automation: parsing of machination outputs without context lines

example: machination list instances:
get rid of the two first lines:
"Machine instances:"
"-------------------"

with maybe a --parse option ?

[deluxe feature] add user information on long operations

Some steps that can take a long time would be nicer with some user feedback, in order to know everything is working (otherwise the user might suspect machination is hanged).

Example: "Image needs provisioning, starting packer..." step on creation

Ideally: progress bar or percentage completed.

cleanup: strange Vagrant message

==> machination-gatewayA: Vagrant has noticed that the synced folder definitions have changed.
==> machination-gatewayA: With Docker, these synced folder changes won't take effect until you
==> machination-gatewayA: destroy the container and recreate it.

Why does it says that and what effect does it have on my env ?
(At least, have an FAQ that explains this).

[bug] return code is 0 on failed cmd

machination start --verbose

fails and print an error

"Unable to start machine instance '': Error while starting machine instance: ''.

But the return code transmited to bash is 0.

Problem: should change the way action are launched from argument parsing.

[doc] add python modules to listed dependencies

from waf config:
Checking Python version : 2.7.8
Checking Vagrant version : 1.7.2
Checking Ansible version : 1.9.1
Checking Docker version : 1.5.0
Checking Udhcpc version : present
Checking packer version : 0.7.5
Checking python module enum : ok
Checking python module argcomplete : ok

from readme:

Vagrant 1.7.2
Ansible 1.7.2
Python 2.7.8
Docker 1.4.1
Enum for Python 2.7
Host-side-provisioner for vagrant (https://github.com/phinze/vagrant-host-shell)
Docker's pipework (https://github.com/jpetazzo/pipework)

[bug] object of type 'NoneType' has no len()

machination create --sharedfolder /home/titi/toto /mnt/project --sharedfolder /home/titi/tutu /mnt/install --no-interactive --verbose :1.0
[...]
Templates loaded.
Instances loaded.
Instance does not exist, proceeding to its creation.
[...]
Unable to create machine instance : object of type 'NoneType' has no len().
Traceback (most recent call last):
File "/usr/local/share/machination/python/machination/cmdline.py", line 454, in createMachineInstance
(template, arch, osversion, provider, provisioner, guestInterfaces, sharedFolders) = w.execute(args,templates)
File "/usr/local/share/machination/python/machination/cmdline.py", line 249, in execute
if(len(args.guestinterface) < template.getGuestInterfaces()):
TypeError: object of type 'NoneType' has no len()

[discuss] rename option --quiet

It's a bit strange that options --quiet and --verbose have a sense together.
I suggest to replace --quiet with --no-interractive

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.