During the installation, by default, the suite of OpenStack command-line tools are installed on the Cloud Lifecycle Manager and the control plane in your environment. This includes the OpenStack Command-Line Interface as well as the clients for the individual services such as the NovaClient, CinderClient, and SwiftClient. You can learn more about these in the OpenStack documentation here: OpenStack Command-Line Interface Reference.
If you wish to install the command-line interfaces on other nodes in your environment, there are two methods you can use to do so that we describe below.
During the initial install phase of your cloud you can edit your input model to request that the command-line clients be installed on any of the node clusters in your environment. To do so, follow these steps:
Log in to the Cloud Lifecycle Manager.
Edit your control_plane.yml
file. Full path:
~/openstack/my_cloud/definition/data/control_plane.yml
In this file you will see a list of service-components
to be installed on each of your clusters. These clusters will be divided
per role, with your controller node cluster likely coming at the
beginning. Here you will see a list of each of the clients that can be
installed. These include:
keystone-client glance-client cinder-client nova-client neutron-client swift-client heat-client openstack-client ceilometer-client monasca-client barbican-client designate-client
For each client you want to install, specify the name under the
service-components
section for the cluster you want to
install it on.
So, for example, if you would like to install the Nova and Neutron clients on
your Compute node cluster, you can do so by adding the
nova-client
and neutron-client
services, like this:
resources:
- name: compute
resource-prefix: comp
server-role: COMPUTE-ROLE
allocation-policy: any
min-count: 0
service-components:
- ntp-client
- nova-compute
- nova-compute-kvm
- neutron-l3-agent
- neutron-metadata-agent
- neutron-openvswitch-agent
- neutron-lbaasv2-agent
- nova-client
- neutron-client
This example uses the entry-scale-kvm
sample
file. Your model may be different so use this as a guide but do not
copy and paste the contents of this example into your input model.
Commit your configuration to the local git repo, as follows:
cd ~/openstack/ardana/ansible git add -A git commit -m "My config or other commit message"
Continue with the rest of your installation.
At any point after your initial installation you can install the command-line clients on any of the nodes in your environment. To do so, follow these steps:
Log in to the Cloud Lifecycle Manager.
Obtain the hostname for the nodes you want to install the clients on by looking in your hosts file:
cat /etc/hosts
Install the clients using this playbook, specifying your hostnames using commas:
cd ~/scratch/ansible/next/ardana/ansible ansible-playbook -i hosts/verb_hosts -e "install_package=<client_name>" client-deploy.yml -e "install_hosts=<hostname>"
So, for example, if you would like to install the NovaClient on two of your
Compute nodes with hostnames ardana-cp1-comp0001-mgmt
and ardana-cp1-comp0002-mgmt
you can use this syntax:
cd ~/scratch/ansible/next/ardana/ansible ansible-playbook -i hosts/verb_hosts -e "install_package=novaclient" client-deploy.yml -e "install_hosts=ardana-cp1-comp0001-mgmt,ardana-cp1-comp0002-mgmt"
Once the playbook completes successfully, you should be able to SSH to those nodes and, using the proper credentials, authenticate and use the command-line interfaces you have installed.