Add OpenStack clients service

We did not have a easy way to ensure all the openstack clients are
installed on a given system. In the old instack-undercloud installation,
we were installing some additional clients outside of the ones required
via python-tripleoclient. To allow a user to quickly install all the
clients on a given system, this change adds an OpenStack clients
"service" which can be added to a role to ensure the clients are
available. In the future if we provide a client container, this service
can be converted into a container deployment mechanism.

Change-Id: If878c2ab7679eea2fff42b410bec9c8c9b92ed6f
Closes-Bug: #1800001
This commit is contained in:
Alex Schultz 2018-10-25 12:23:02 -06:00
parent 03ca0e5d31
commit 653649ebbc
11 changed files with 78 additions and 0 deletions

View File

@ -8,6 +8,7 @@ resource_registry:
# Manage SELinux
OS::TripleO::Services::SELinux: ../puppet/services/selinux.yaml
OS::TripleO::Services::OpenStackClients: ../puppet/services/openstack-clients.yaml
# Disable non-openstack services that are enabled by default
OS::TripleO::Services::HAproxy: OS::Heat::None

View File

@ -93,6 +93,7 @@ resource_registry:
OS::TripleO::Services::MistralEngine: OS::Heat::None
OS::TripleO::Services::MistralEventEngine: OS::Heat::None
OS::TripleO::Services::MistralExecutor: OS::Heat::None
OS::TripleO::Services::OpenStackClients: ../../puppet/services/openstack-clients.yaml
OS::TripleO::Services::PankoApi: OS::Heat::None
OS::TripleO::Services::SELinux: ../../puppet/services/selinux.yaml
OS::TripleO::Services::SaharaApi: OS::Heat::None

View File

@ -101,6 +101,7 @@ resource_registry:
OS::TripleO::Services::MistralEngine: OS::Heat::None
OS::TripleO::Services::MistralEventEngine: OS::Heat::None
OS::TripleO::Services::MistralExecutor: OS::Heat::None
OS::TripleO::Services::OpenStackClients: ../../puppet/services/openstack-clients.yaml
OS::TripleO::Services::PankoApi: OS::Heat::None
OS::TripleO::Services::SELinux: ../../puppet/services/selinux.yaml
OS::TripleO::Services::SaharaApi: OS::Heat::None

View File

@ -11,6 +11,7 @@ resource_registry:
# We managed this in instack-undercloud, so we need to manage it here.
OS::TripleO::Services::SELinux: ../puppet/services/selinux.yaml
OS::TripleO::Services::OpenStackClients: ../puppet/services/openstack-clients.yaml
# services we disable by default on the undercloud
OS::TripleO::Services::AodhApi: OS::Heat::None

View File

@ -279,6 +279,7 @@ resource_registry:
OS::TripleO::Services::NovaIronic: OS::Heat::None
OS::TripleO::Services::TripleoPackages: puppet/services/tripleo-packages.yaml
OS::TripleO::Services::TripleoFirewall: puppet/services/tripleo-firewall.yaml
OS::TripleO::Services::OpenStackClients: OS::Heat::None
OS::TripleO::Services::OpenDaylightApi: OS::Heat::None
OS::TripleO::Services::OpenDaylightOvs: OS::Heat::None
OS::TripleO::Services::SensuClient: OS::Heat::None

View File

@ -0,0 +1,55 @@
heat_template_version: rocky
description: >
Install the OpenStack clients with puppet
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ServiceData:
default: {}
description: Dictionary packing service data
type: json
outputs:
role_data:
description: Role data for the OpenStack clients
value:
service_name: openstack_clients
step_config: |
include ::aodh::client
include ::barbican::client
include ::cinder::client
include ::designate::client
include ::glance::client
include ::gnocchi::client
include ::heat::client
include ::ironic::client
include ::keystone::client
include ::manila::client
include ::mistral::client
include ::neutron::client
include ::nova::client
include ::openstacklib::openstackclient
include ::sahara::client
include ::swift::client
include ::zaqar::client

View File

@ -0,0 +1,11 @@
---
fixes:
- |
The previous installation method for the undercloud installed some extra
OpenStack clients during the installation. Since we did not have an
equivalent way in the containerized version of the undercloud,
we've added a new TripleO 'service' to install all of the OpenStack
clients on a system. OS::TripleO::Services::OpenStackClients has been
added which can be added to a custom role to install the clients. By
default, only the Undercloud and Standalone roles will have this
available.

View File

@ -146,6 +146,7 @@
- OS::TripleO::Services::OctaviaWorker
- OS::TripleO::Services::OpenDaylightApi
- OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::OpenStackClients
- OS::TripleO::Services::OsloMessagingNotify
- OS::TripleO::Services::OsloMessagingRpc
- OS::TripleO::Services::Pacemaker

View File

@ -71,6 +71,7 @@
- OS::TripleO::Services::NovaPlacement
- OS::TripleO::Services::NovaScheduler
- OS::TripleO::Services::Novajoin
- OS::TripleO::Services::OpenStackClients
- OS::TripleO::Services::OsloMessagingNotify
- OS::TripleO::Services::OsloMessagingRpc
- OS::TripleO::Services::PankoApi

View File

@ -74,6 +74,7 @@
- OS::TripleO::Services::NovaPlacement
- OS::TripleO::Services::NovaScheduler
- OS::TripleO::Services::Novajoin
- OS::TripleO::Services::OpenStackClients
- OS::TripleO::Services::OsloMessagingNotify
- OS::TripleO::Services::OsloMessagingRpc
- OS::TripleO::Services::PankoApi

View File

@ -58,6 +58,8 @@ environments:
# Manage SELinux
OS::TripleO::Services::SELinux: ../../puppet/services/selinux.yaml
OS::TripleO::Services::OpenStackClients: ../../puppet/services/openstack-clients.yaml
# Disable non-openstack services that are enabled by default
OS::TripleO::Services::HAproxy: OS::Heat::None
OS::TripleO::Services::Keepalived: OS::Heat::None
@ -175,6 +177,8 @@ environments:
# Manage SELinux
OS::TripleO::Services::SELinux: ../../puppet/services/selinux.yaml
OS::TripleO::Services::OpenStackClients: ../../puppet/services/openstack-clients.yaml
# Disable non-openstack services that are enabled by default
OS::TripleO::Services::Kubernetes::Master: OS::Heat::None
OS::TripleO::Services::Kubernetes::Worker: OS::Heat::None