fuel-library/docs/pages/installation-instructions/0045-configuring-fuel-pm.rst
2013-03-05 16:48:15 -08:00

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.