Installation fixups and add man pages for the scripts

Most of these changes were discovered during rpm packaging.
This commit is contained in:
Rob Crittenden 2016-08-18 13:45:52 -04:00
parent 74cb54825e
commit 25ebda9a3c
5 changed files with 156 additions and 3 deletions

View File

@ -1,2 +1,3 @@
include LICENSE README.md scripts/novajoin-install
recursive-include files *.py *.sh *.json
include LICENSE README.md scripts/novajoin-install scripts/novajoin-ipa-setup.sh scripts/novajoin-notify scripts/novajoin-server
recursive-include files *.json *.template *.ini
recursive-include man *.1

46
man/novajoin-install.1 Normal file
View File

@ -0,0 +1,46 @@
.TH "novajoin-install" "1" "Aug 16 2016" "novajoin" "novajoin Manual Pages"
.SH "NAME"
novajoin\-install \- Configure a novajoin server
.SH "SYNOPSIS"
novajoin\-install [\fIOPTION\fR]...
.SH "DESCRIPTION"
Configures a machine as a novajoin server.
The machine must first be configured as an IPA client. It does not need to be running on a nova controller.
.SH "OPTIONS"
Nova join Install Options
\fB\-h\fR, \fB\-\-help\fR
show this help message and exit
.TP
\fB\-\-hostname\fB \fIHOSTNAME\fR
Machine's fully qualified host name
.TP
\fB\-\-user\fR \fIUSER\fR
User that nova services run as
.TP
\fB\-\-principal\fR \fIPRINCIPAL\fR
principal to use to setup IPA integration
.TP
\fB\-\-password\fR \fIPASSWORD\fR
password for the principal
.TP
\fB\-\-password\-file\fR \fIPASSWORDFILE\fR
path to file containing password for the principal
.TP
\fB\-\-keystone\-auth\fR \fIKEYSTONE_AUTH\fR
Keystone auth URI
.TP
\fB\-\-keystone\-identity\fR \fIKEYSTONE_IDENTITY\fR
Keystone identity URI
.TP
\fB\-\-nova\-password\fR \fINOVA_PASSWORD\fR
Nova service user password
.SH "EXIT STATUS"
0 if the installation was successful
1 if an error occurred
.SH "SEEALSO"
.BR novajoin\-server(1),
.BR novajoin\-notify(1)

20
man/novajoin-notify.1 Normal file
View File

@ -0,0 +1,20 @@
.TH "novajoin-notify" "1" "Aug 16 2016" "novajoin" "novajoin Manual Pages"
.SH "NAME"
novajoin\-notify \- AMQP listening service for novajoin
.SH "SYNOPSIS"
novajoin\-notify
.SH "DESCRIPTION"
This service listens on the AMQP notification queue for instance deletion
notifications. If the host has ipa_enroll set to True in its metadata then
a host-del command is issued to the IPA server for the host being removed.
As with novajoin-server the FQDN of the instance is constructed from
the instance name + the domain configured in the novajoin service.
.SH "CONFIGURATION"
See novajoin-server for configuration options of join.conf.
.TP
.SH "SEEALSO"
.BR novajoin\-install(1),
.BR novajoin\-server(1)

82
man/novajoin-server.1 Normal file
View File

@ -0,0 +1,82 @@
.TH "novajoin-server" "1" "Aug 16 2016" "novajoin" "novajoin Manual Pages"
.SH "NAME"
novajoin\-server \- REST service to accept nova dynamic metadata requests
.SH "SYNOPSIS"
novajoin\-server
.SH "DESCRIPTION"
The novajoin server provides dynamic metadata to nova in order to facilitate
enrolling new instances as IPA clients.
In order for a host to be enrolled the property ipa_enroll must be set
to True in the instance metadata.
A cloud-init script is pushed to the instance by nova. This script will
install the packages required by ipa-client-install and fetch the
OTP and hostname from nova. This request will create a host in IPA using
the hostname of instance_name + novajoin domain, and a One-Time Password
(OTP) that will be used by ipa-client-install to enroll the host.
In the case where config_drive is True in either the instance or globally
in nova then the IPA host is generated at instance creation time rather
than when needed.
.SH "CONFIGURATION"
The service is configured using \fB/etc/join/join.conf\fR. It consists
of two sections: DEFAULT and keystone_authtoken
The DEFAULT section configures novajoin-server and keystone_authtoken
configures the keystone client to handle Openstack tokens.
The DEFAULT section options are:
\fRjoin_listen_port\fB = \fI9999\fR
Port the service listens \fIon\fR
.TP
\fRapi_paste_config\fB = \fI/etc/join/api-paste.ini\fR
Path to the Paste configuration file
.TP
\fRdebug\fB = \fIFalse\fR
Additional debug logging
.TP
\fRauth_strategy\fB = \fIkeystone\fR
Authentication strategy to use
.TP
\fRkeytab\fB = \fI/etc/join/krb5.keytab\fR
Keytab used to communicate with the IPA master
.TP
\fRurl\fB = \fIhttps://ipa.example.com/ipa/json\fR
URL to the IPA master. Only one is allowed.
.TP
\fRdomain\fB = \fIopenstack.example.com\fR
The DNS domain to use when creating the FQDN of an instance
.TP
\fRservice_name\fB = \fIHTTP@ipa.ecample.com\fR
Kerberos web server principal on IPA master
.TP
\fRcacert\fB = \fI/etc/ipa/ca.crt\fR
File path location of the IPA CA certificate chain
.TP
\fRconnect_retries\fB = \fI1\fR
Number of tries to attempt to reconnect to the IPA server
.TP
.TP
keystone_authtoken configuration options:
.TP
\fRauth_uri\fB = \fIhttp://keystone.example.com:5000/v2.0\fR
The Keystone authentication uri
.TP
\fRidentity_uri\fB = \fIhttp://keystone.example.com:35357\fR
The Keystone identity service URI
.TP
\fRadmin_password\fB = \fI$NOVA_PASSWORD\fR
The nova service user password
.TP
\fRadmin_user\fB = \fInova\fR
The nova service user name
.TP
admin_tenant_name\fB = \fIservices\fR
.TP
.SH "SEEALSO"
.BR novajoin\-install(1),
.BR novajoin\-notify(1)

View File

@ -52,7 +52,11 @@ setup(
('/usr/sbin', ['scripts/novajoin-notify'],),
('/usr/sbin', ['scripts/novajoin-server'],),
('/usr/sbin', ['scripts/novajoin-install'],),
('/usr/libexec', ['scripts/novajoin-ipa-setup.sh'],),
('/usr/libexec', ['scripts/novajoin-ipa-setup.sh']),
('/usr/share/man/man1', ['man/novajoin-install.1',
'man/novajoin-notify.1',
'man/novajoin-server.1',
]),
],
zip_safe=False,