[PKG-Openstack-devel] OpenStack switching to a unified template system

Thomas Goirand zigo at debian.org
Tue Mar 6 08:32:36 UTC 2018


Hi Justin,

As always, you're doing awesome reviews, and every sentence becomes
crystal clear with your changes. Thanks!

On 03/06/2018 03:02 AM, Justin B Rye wrote:
>> Template: ospt/api-keystone-admin-username
>> Type: string
>> Default: admin
>> _Description: Keystone admin name:
>>  To create the service endpoint, this package needs to know the Admin login,
>>  name, project name, and password, so it can issue commands through the the
>>  Keystone API.
>                                                                       ^^^^^^^
> Oops, double article, here and twice more below.
> 
> (And since I'm editing that line perhaps it should start with
> "username" rather than just "name".)

Worse than this, it's "username" instead of "login, name" !

>> Template: ospt/api-endpoint-region-name
>> Type: string
>> Default: regionOne
>> _Description: Name of the region to register:
>>  OpenStack supports using regions, with each region representing a different
>>  location (usually a different data center). Please enter the region name that
>>  you wish to use when registering the endpoint.
>>  .
>>  The region name is usually a string containing only valid latin alphabet
>>  chars, dots and dashes. A non-valid string will abort the API endpoint
>>  registration.
> 
> "Chars" is a colloquial abbreviation, and talking about the Latin
> alphabet makes me wonder whether I'm allowed to use things like <w> or
> <é>, or indeed <1>, so probably this should be
> 
>    The region name is usually a string containing only ASCII alphanumerics,
>    dots, and dashes.
> 
> (I'm hoping that also makes it obvious that we don't mean "dots and
> dashes" in the sense of "· · · — — — · · ·".)

I'm using a regular expression to make sure what's entered isn't too
bad. Probably the SOS what you wrote above would work, but I've re-used
a weak subdomain regexp, meaning the string has to start and end with an
alphanumeric. So something like (good music!) this would be accepted:

d---...---b

Probably, other forms of of ASCII arts would be allowed (but I'm
digressing...). :)

>> # ### rabbitmq access configuration ###
>> Template: ospt/configure_rabbit
>> Type: boolean
>> Default: false
>> _Description: Configure rabbitmq with debconf?
> 
> When should this (and others) be rabbitmq and when should it be
> RabbitMQ?  I'll leave it for now.

I'm thinking that probably this sentence isn't good enough. We're not
configuring RabbitMQ, but a given OpenStack service's RabbitMQ login,
pass and host, so that it can connect to RabbitMQ. In fact, it goes like
this in for example nova.conf:

transport_url = rabbitmq://login:password@rabbitmq-server-hostname

Would this be better?

_Description: Configure RabbitMQ credentials for this service with debconf?

I'm sure you'll have something nicer and shorter to propose...

I've also added an example on how to create RabbitMQ users with
rabbitmqctl, as I really want to push Debian users to do that.

Since the templates where heavily modified, I've re-attached them to
this message, just for if you want to check them again.

Thanks again for your contrib,
Cheers,

Thomas Goirand (zigo)
-------------- next part --------------
# ### database configuration ###
Template: ospt/configure_db
Type: boolean
Default: false
_Description: Set up a database for this package?
 No database has been set up for this package. Before continuing, you should
 make sure you have the following information:
 .
  * the type of database that you want to use - generally MySQL is a good
    choice, and other implementation like Postgress or SQLite are often
    problematic with OpenStack (this depends on the service);
  * the database server hostname (that server must allow TCP connections from
    this machine);
  * a username and password to access the database.
 .
 Note that if you plan on using a remote database server, you must first
 configure dbconfig-common to do so (using dpkg-reconfigure dbconfig-common),
 and the remote database server needs to be configured with adequate
 credentials.
 .
 If some of these requirements are missing, do not choose this option. Run
 with regular SQLite support instead.
 .
 You can change this setting later on by running "dpkg-reconfigure -plow".

-------------- next part --------------
# ### service and endpoint registration ###
Template: ospt/configure_api-endpoint
Type: boolean
Default: false
_Description: Register this service in the Keystone endpoint catalog?
 Each OpenStack service (each API) must be registered in the Keystone catalog
 in order to be accessible. This is done using "openstack service create" and
 "openstack endpoint create". This can be done automatically now.
 .
 Note that you will need to have an up and running Keystone server on which to
 connect using a known admin project name, admin username and password. The
 admin auth token is not used anymore.
 .
 Also, if a service with a matching name is already present in the Keystone
 catalog, endpoint registration will be aborted.

Template: ospt/api-keystone-address
Type: string
_Description: Keystone server address:
 Please enter the address (IP or resolvable address) of the Keystone server,
 for creating the new service and endpoints.
 .
 Any non-valid ipv4, ipv6 or host address string will abort the endpoint
 registration.

Template: ospt/api-keystone-admin-username
Type: string
Default: admin
_Description: Keystone admin username:
 To create the service endpoint, this package needs to know the Admin
 name, project name, and password, so it can issue commands through the
 Keystone API.

Template: ospt/api-keystone-admin-project-name
Type: string
Default: admin
_Description: Keystone admin project name:
 To create the service endpoint, this package needs to know the Admin login,
 name, project name, and password, so it can issue commands through the the
 Keystone API.

Template: ospt/api-keystone-admin-password
Type: password
_Description: Keystone admin password:
 To create the service endpoint, this package needs to know the Admin login,
 name, project name, and password, so it can issue commands through the the
 Keystone API.

Template: ospt/api-endpoint-address
Type: string
_Description: Service endpoint IP address:
 Please enter the endpoint address that will be used to contact this service.
 .
 This address should be accessible from the clients that will use this
 service, so if you are installing a public cloud, this should be a public
 address. You can specify either a Fully Qualified Domain Name (FQDN) or an IP
 address. If you specify an FQDN, it must be resolvable for every host in this
 cloud, preferably through the /etc/hosts file rather than a DNS query.

Template: ospt/api-endpoint-region-name
Type: string
Default: regionOne
_Description: Name of the region to register:
 OpenStack supports using regions, with each region representing a different
 location (usually a different data center). Please enter the region name that
 you wish to use when registering the endpoint.
 .
 The region name is usually a string containing only ASCII alphanumerics,
 dots, and dashes.
 .
 A non-valid string will abort the API endpoint registration.

-------------- next part --------------
# ### keystone_authtoken configuration ###
# ksat stands for keystone authtoken
Template: ospt/configure_ksat
Type: boolean
Default: false
_Description: Manage keystone_authtoken with debconf?
 Every OpenStack service must contact Keystone, and this is configured through
 the [keystone_authtoken] section of the configuration. Specify if you wish to
 handle this configuration through debconf.

Template: ospt/ksat-public-url
Type: string
Default: http://localhost:5000
_Description: Auth server public endpoint URL:
 Specify the URL of your Keystone authentication server public endpoint. This
 value will be set in the www_authenticate_uri directive.

Template: ospt/ksat-admin-url
Type: string
Default: http://localhost:35357
_Description: Auth server admin endpoint URL:
 Specify the URL of your Keystone authentication server admin endpoint. This
 value will be set in auth_url.

Template: ospt/ksat-region
Type: string
Default: regionOne
_Description: Keystone region:
 Specify the Keystone region to use.
 .
 The region name is usually a string containing only ASCII alphanumerics,
 dots, and dashes.

Template: ospt/ksat-create-service-user
Type: boolean
Default: true
_Description: Create service user?
 This package can reuse an already existing username, or create one right now.
 If you wish to create one, then you will be prompted for the admin credentials.

Template: ospt/ksat-admin-username
Type: string
Default: admin
_Description: Auth server admin username:

Template: ospt/ksat-admin-project-name
Type: string
Default: admin
_Description: Auth server admin project name:

Template: ospt/ksat-admin-password
Type: password
_Description: Auth server admin password:

Template: ospt/ksat-service-username
Type: string
_Description: Auth server service username:

Template: ospt/ksat-service-project-name
Type: string
Default: service
_Description: Auth server service project name:

Template: ospt/ksat-service-password
Type: password
_Description: Auth server service password:

-------------- next part --------------
# ### rabbitmq access configuration ###
Template: ospt/configure_rabbit
Type: boolean
Default: false
_Description: Configure RabbitMQ access with debconf?
 OpenStack services need access to a message queue server, defined by the
 transport_url directive. Please specify whether configuring this should be
 handled through debconf.
 .
 Only access to RabbitMQ is handled, and that the RabbitMQ user creation isn't
 performed. If you wish to create a new RabbitMQ user, you can do it this way:
 .
  - rabbitmqctl add_user openstack PASSWORD
  - rabbitmqctl set_permissions -p / openstack ".*" ".*" ".*"
 .
 Note that the default RabbitMQ guest account cannot be used for remote
 connections.

Template: ospt/rabbit-host
Type: string
Default: localhost
_Description: IP address of your RabbitMQ host:
 In order to interoperate with other components of OpenStack, this package
 needs to connect to a central RabbitMQ server.
 .
 Please specify the IP address of that server.

Template: ospt/rabbit-userid
Type: string
Default: guest
_Description: Username for connection to the RabbitMQ server:
 In order to interoperate with other components of OpenStack, this package
 needs to connect to a central RabbitMQ server.
 .
 Please specify the username used to connect to that RabbitMQ server.

Template: ospt/rabbit-password
Type: password
_Description: Password for connection to the RabbitMQ server:
 In order to interoperate with other components of OpenStack, this package
 needs to connect to a central RabbitMQ server.
 .
 Please specify the password used to connect to that RabbitMQ server.



More information about the Openstack-devel mailing list