openstack-ansible-galaxy / openstack-nova_consoleauth Goto Github PK
View Code? Open in Web Editor NEWOpenStack Nova consoleauth service installation - Ansible role
License: Apache License 2.0
OpenStack Nova consoleauth service installation - Ansible role
License: Apache License 2.0
Determine if my_ip required in nova.conf for console auth.
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.
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.
This role is not tested in travis. Might be a good idea to setup travis tests.
I am curious why rabbit variables are defined in defaults but not used anywhere? Is this an oversight?
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.