Containerized nova-compute working with Deployed Server
When using the Deployed Server feature, we rely on Puppet to install packages. But nova-compute/libvirt puppet is running in a container, so it cannot install anything on the host. We rely on virtlogd on the host, so we need to install it there some way. This patch uses host_prep_tasks for that, conditionally based on the EnablePackageInstall stack parameter value. Also multinode-container-upgrade.yaml env is copied as multinode-containers.yaml, to remove the naming confusion, as the environment file can be used for more than just upgrades. The old env file will be removed once we make the upgrade job use the new one (catch 22 type of issue). Change-Id: Ia9b3071daa15bc30792110e5f34cd859cc205fb8
This commit is contained in:
parent
2cd3c412bf
commit
8b1bcf00cd
70
ci/environments/multinode-containers.yaml
Normal file
70
ci/environments/multinode-containers.yaml
Normal file
@ -0,0 +1,70 @@
|
||||
# NOTE: This is an environment specific for containers upgrade
|
||||
# CI. Mainly we deploy non-pacemakerized overcloud, as at the time
|
||||
# being containerization of services managed by pacemaker is not
|
||||
# complete, so we deploy and upgrade the non-HA services for now.
|
||||
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
||||
|
||||
# NOTE: This is needed because of upgrades from Ocata to Pike. We
|
||||
# deploy the initial environment with Ocata templates, and
|
||||
# overcloud-resource-registry.yaml there doesn't have this Docker
|
||||
# mapping at all. After we stop CI'ing Ocata->Pike upgrade, we can
|
||||
# remove this.
|
||||
OS::TripleO::Services::Docker: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
- OS::TripleO::Services::CephMon
|
||||
- OS::TripleO::Services::CephOSD
|
||||
- OS::TripleO::Services::CinderApi
|
||||
- OS::TripleO::Services::CinderScheduler
|
||||
- OS::TripleO::Services::CinderVolume
|
||||
- OS::TripleO::Services::Docker
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::Keystone
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::HeatApi
|
||||
- OS::TripleO::Services::HeatApiCfn
|
||||
- OS::TripleO::Services::HeatApiCloudwatch
|
||||
- OS::TripleO::Services::HeatEngine
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::RabbitMQ
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
- OS::TripleO::Services::Memcached
|
||||
- OS::TripleO::Services::Pacemaker
|
||||
- OS::TripleO::Services::NovaConductor
|
||||
- OS::TripleO::Services::NovaApi
|
||||
- OS::TripleO::Services::NovaPlacement
|
||||
- OS::TripleO::Services::NovaMetadata
|
||||
- OS::TripleO::Services::NovaScheduler
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::SwiftProxy
|
||||
- OS::TripleO::Services::SwiftStorage
|
||||
- OS::TripleO::Services::SwiftRingBuilder
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::Sshd
|
||||
ControllerExtraConfig:
|
||||
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
# Required for Centos 7.3 and Qemu 2.6.0
|
||||
nova::compute::libvirt::libvirt_cpu_mode: 'none'
|
||||
#NOTE(gfidente): not great but we need this to deploy on ext4
|
||||
#http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/
|
||||
ceph::profile::params::osd_max_object_name_len: 256
|
||||
ceph::profile::params::osd_max_object_namespace_len: 64
|
||||
SwiftCeilometerPipelineEnabled: False
|
||||
Debug: True
|
@ -18,6 +18,10 @@ parameters:
|
||||
description: image
|
||||
default: 'centos-binary-nova-compute:latest'
|
||||
type: string
|
||||
EnablePackageInstall:
|
||||
default: 'false'
|
||||
description: Set to true to enable package installation
|
||||
type: boolean
|
||||
ServiceNetMap:
|
||||
default: {}
|
||||
description: Mapping of service_name -> network name. Typically set
|
||||
@ -112,6 +116,7 @@ outputs:
|
||||
- /var/run/libvirt:/var/run/libvirt
|
||||
- /var/lib/libvirt:/var/lib/libvirt
|
||||
- /etc/libvirt/qemu:/etc/libvirt/qemu
|
||||
- /var/log/libvirt/qemu:/var/log/libvirt/qemu:ro
|
||||
- /var/log/containers/nova:/var/log/nova
|
||||
environment:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
@ -124,6 +129,22 @@ outputs:
|
||||
- /etc/libvirt/qemu
|
||||
- /var/lib/libvirt
|
||||
- /var/log/containers/nova
|
||||
- name: set enable_package_install fact
|
||||
set_fact:
|
||||
enable_package_install: {get_param: EnablePackageInstall}
|
||||
# We use virtlogd on host, so when using Deployed Server
|
||||
# feature, we need to ensure libvirt is installed.
|
||||
- name: install libvirt-daemon
|
||||
package:
|
||||
name: libvirt-daemon
|
||||
state: present
|
||||
when: enable_package_install
|
||||
- name: start virtlogd socket
|
||||
service:
|
||||
name: virtlogd.socket
|
||||
state: started
|
||||
enabled: yes
|
||||
when: enable_package_install
|
||||
upgrade_tasks:
|
||||
- name: Stop and disable libvirtd service
|
||||
tags: step2
|
||||
|
Loading…
x
Reference in New Issue
Block a user