211 lines
5.5 KiB
ReStructuredText
211 lines
5.5 KiB
ReStructuredText
.. _Configuring-Fuel-PM:
|
|
|
|
Configuring fuel-pm
|
|
--------------------------------
|
|
Once the installation is complete, you will need to finish the configuration to adjust for your own local values.
|
|
|
|
* Check network settings and connectivity and correct any errors:
|
|
|
|
* Check host connectivity by pinging the host machine::
|
|
|
|
ping 10.0.0.1
|
|
|
|
|
|
* Check that Internet access works by pinging an outside host::
|
|
|
|
ping google.com
|
|
|
|
|
|
* Check the hostname. Running ::
|
|
|
|
hostname
|
|
|
|
should return ::
|
|
|
|
fuel-pm
|
|
|
|
If not, set the hostname:
|
|
|
|
* CentOS/RHEL
|
|
|
|
``vi /etc/sysconfig/network`` ::
|
|
|
|
HOSTNAME=fuel-pm
|
|
|
|
* Ubuntu
|
|
|
|
``vi /etc/hostname``::
|
|
|
|
fuel-pm
|
|
|
|
|
|
* Check the fully qualified hostname (FQDN) value. ::
|
|
|
|
hostname -f
|
|
|
|
should return ::
|
|
|
|
fuel-pm.your-domain-name.com
|
|
|
|
If not, correct the /etc/resolv.conf file by replacing your-domain-name.com below with your actual domain name, and 8.8.8.8 with your actual DNS server.
|
|
|
|
(Note: you can look up your DNS server on your host machine using ipconfig /all on Windows, or using cat /etc/resolv.conf under Linux) ::
|
|
|
|
search your-domain-name.com
|
|
nameserver 8.8.8.8
|
|
|
|
* Run ::
|
|
|
|
hostname fuel-pm
|
|
|
|
or reboot to apply changes to the hostname.
|
|
|
|
|
|
* Add the OpenStack hostnames to your domain. You can do this by actually adding them to DNS, or by simply editing the /etc/hosts file. In either case, replace your-domain-name.com with your domain name.
|
|
|
|
``vi /etc/hosts``::
|
|
|
|
127.0.0.1 localhost
|
|
10.0.0.100 fuel-pm.your-domain-name.com fuel-pm
|
|
10.0.0.101 fuel-controller-01.your-domain-name.com fuel-controller-01
|
|
10.0.0.102 fuel-controller-02.your-domain-name.com fuel-controller-02
|
|
10.0.0.103 fuel-controller-03.your-domain-name.com fuel-controller-03
|
|
10.0.0.110 fuel-compute-01.your-domain-name.com fuel-compute-01
|
|
|
|
|
|
Enabling Stored Configuration
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Fuel's Puppet manifests call for storing exported resources in the
|
|
Puppet database using PuppetDB, so the next step is to configure
|
|
Puppet to use a technique called stored configuration.
|
|
|
|
|
|
|
|
|
|
* Configure Puppet Master to use storeconfigs:
|
|
|
|
|
|
``vi /etc/puppet/puppet.conf`` and add following into the ``[master]`` section::
|
|
|
|
storeconfigs = true
|
|
storeconfigs_backend = puppetdb
|
|
|
|
* Configure PuppetDB to use the correct hostname and port:
|
|
|
|
``vi /etc/puppet/puppetdb.conf`` to create the ``puppetdb.conf`` file and add the following (replace ``your-domain-name.com`` with your domain name)::
|
|
|
|
[main]
|
|
server = fuel-pm.your-domain-name.com
|
|
port = 8081
|
|
|
|
* Configure Puppet Master's file server capability:
|
|
|
|
``vi /etc/puppet/fileserver.conf`` and append the following lines::
|
|
|
|
[ssh_keys]
|
|
path /var/lib/puppet/ssh_keys
|
|
allow *
|
|
|
|
|
|
|
|
|
|
* Create a directory with keys, give it appropriate permissions, and generate the keys themselves::
|
|
|
|
|
|
mkdir /var/lib/puppet/ssh_keys
|
|
cd /var/lib/puppet/ssh_keys
|
|
ssh-keygen -f openstack
|
|
chown -R puppet:puppet /var/lib/puppet/ssh_keys/
|
|
|
|
|
|
|
|
|
|
* Finally, set up SSL for PuppetDB and restart the puppetmaster and puppetdb services::
|
|
|
|
|
|
service puppetmaster restart
|
|
puppetdb-ssl-setup
|
|
service puppetmaster restart
|
|
service puppetdb restart
|
|
|
|
|
|
|
|
|
|
* **IMPORTANT**: Note that while these operations appear to finish quickly, it can actually take several minutes for puppetdb to complete its startup process. You'll know it has finished starting up when you can successfully telnet to port 8081::
|
|
|
|
telnet pm.your-domain-name.com 8081
|
|
|
|
|
|
Testing Puppet
|
|
^^^^^^^^^^^^^^
|
|
|
|
Put a simple configuration into Puppet -- replace your-domain-name.com
|
|
with your domain name -- so that when you run puppet on various nodes,
|
|
it will display the appropriate Hello world message:
|
|
|
|
``vi /etc/puppet/manifests/site.pp``::
|
|
|
|
|
|
node /fuel-pm.your-domain-name.com/ {
|
|
notify{"Hello world from fuel-pm": }
|
|
}
|
|
node /fuel-controller-01.your-domain-name.com/ {
|
|
notify{"Hello world from fuel-controller-01": }
|
|
}
|
|
node /fuel-controller-02.your-domain-name.com/ {
|
|
notify{"Hello world from fuel-controller-02": }
|
|
}
|
|
node /fuel-controller-03.your-domain-name.com/ {
|
|
notify{"Hello world from fuel-controller-03": }
|
|
}
|
|
node /fuel-compute-01.your-domain-name.com/ {
|
|
notify{"Hello world from fuel-compute-01": }
|
|
}
|
|
|
|
|
|
|
|
If you are planning to install Cobbler on the Puppet Master node as
|
|
well (as we are in this example), make configuration changes on the
|
|
Puppet Master so that it actually knows how to provision software onto
|
|
itself (replace your-domain-name. com with your domain name):
|
|
|
|
|
|
|
|
``vi /etc/puppet/puppet.conf``::
|
|
|
|
|
|
[main]
|
|
# server
|
|
server = fuel-pm.your-domain-name.com
|
|
|
|
# enable plugin sync
|
|
pluginsync = true
|
|
|
|
|
|
Finally, to make sure everything is working properly, run puppet agent
|
|
and to see the Hello World from fuel-pm output::
|
|
|
|
puppet agent --test
|
|
|
|
|
|
|
|
|
|
Troubleshooting PuppetDB and SSL
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The first time you run puppet, its not unusual to have difficulties
|
|
with the SSL setup. If so, remove the original files and start again,
|
|
like so::
|
|
|
|
|
|
service puppetmaster stop
|
|
service puppetdb stop
|
|
rm -rf /etc/puppetdb/ssl
|
|
puppetdb-ssl-setup
|
|
service puppetdb start
|
|
service puppetmaster start
|
|
|
|
Again, remember that it may take several minutes before puppetdb is
|
|
fully running, despite appearances to the contrary.
|