Coder Social home page Coder Social logo

openstack-nova_consoleauth's People

Contributors

abelboldu avatar dguerri avatar retr0h avatar

Watchers

 avatar  avatar

openstack-nova_consoleauth's Issues

Needs db connection

Consoleauth requires access to the database. Should we manage this string through this role. I believe we should in cases where consoleauth doesn't run along side nova compute.

Intended use

I am confused on the intended use of this role. If I am to deploy this role standalone, it will not work. It will complain b/c there is no database configured in nova.conf.

Is this role always intended to be deployed along side a service which has correctly configured nova.conf? I feel we are getting into a grey area here, and probably want to ensure a working nova.conf is written out for this service, so we can run it standalone or along side another service.

Missing tests

This role is not tested in travis. Might be a good idea to setup travis tests.

Rabbit settings in README

I am curious why rabbit variables are defined in defaults but not used anywhere? Is this an oversight?

Variable naming

Could we rename the variables from console_ to nova_consoleauth ? The general rule with roles is to namespace under the role's name. The namespace console is a bit too generic, and could clobber stuff used by something else.

Also, could we namespace the following as well? In my deployment, each service has a different rabbit username, password, virtualhost, and having a single namespace for all of this is somewhat confusing.

my_ip: "{{ ansible_eth0.ipv4.address }}"

# RabbitMQ
rabbit_hostname: localhost
rabbit_username: rabbit_username_default
rabbit_pass:  rabbit_pass_default
rabbit_virtual_host: /
rabbit_hosts: None
rabbit_ha_queues: false

# Memcached
memcached_servers: None

I would envison something like the following.

nova_consoleauth_my_ip: "{{ ansible_eth0.ipv4.address }}"

# RabbitMQ
nova_consoleauth_rabbit_hostname: localhost
nova_consoleauth_rabbit_username: rabbit_username_default
nova_consoleauth_rabbit_pass:  rabbit_pass_default
nova_consoleauth_rabbit_virtual_host: /
nova_consoleauth_rabbit_hosts: None
nova_consoleauth_rabbit_ha_queues: false

# Memcached
nova_consoleauth_memcached_servers: None

If you choose to use global variables (like you do today) for everything across the deployment you still can, but we need to configure each service by passing what we expect to that service.


# Inventory:

my_ip: "{{ ansible_eth0.ipv4.address }}"
rabbit_hostname: localhost
rabbit_username: rabbit_username_default
rabbit_pass:  rabbit_pass_default
rabbit_virtual_host: /
rabbit_hosts: None
rabbit_ha_queues: false
memcached_servers: None

# Deploying

roles:
  - role:  openstack-nova_consoleauth
    nova_consoleauth_my_ip: "{{ my_ip }}"
    nova_consoleauth_rabbit_hostname: "{{ rabbit_hostname }}"
    nova_consoleauth_rabbit_username: "{{ rabbit_username }}"
    nova_consoleauth_rabbit_pass:  "{{ rabbit_pass }}"
    nova_consoleauth_rabbit_virtual_host: "{{ rabbit_virtual_host }}" 
    nova_consoleauth_rabbit_hosts: "{{ rabbit_hosts }}"
    nova_consoleauth_rabbit_ha_queues: "{{ rabbit_ha_queues }}"
    nova_consoleauth_memcached_servers: "{{ memcached_servers }}"

The above lets you accomplish what you did before, but you are not clobbering the global namespace, and I am free to configure things on my end the way I choose.

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.