Nova: Generate wrapper scripts during config file generation
... instead of launching separate containers. The wrapper scripts can
be created without access to any processes.
Note that this change moves the script from
/var/lib/container-config-scripts
to
/var/lib/libvirt/scripts
because the container-config-scripts directory is not available when
puppet is executed to generate config files.
Change-Id: I3ae7abb70fae447c9b62e3af9da8e2444d4d5878
(cherry picked from commit b29ccd30e2
)
This commit is contained in:
parent
e675ecb955
commit
d59e32ef5b
@ -376,8 +376,7 @@ outputs:
|
|||||||
# we include ::nova::compute::libvirt::services in nova/libvirt profile
|
# we include ::nova::compute::libvirt::services in nova/libvirt profile
|
||||||
- nova::compute::libvirt::manage_libvirt_services: false
|
- nova::compute::libvirt::manage_libvirt_services: false
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::enable_wrapper: {get_param: NovaEnableVirtlogdContainerWrapper}
|
tripleo::profile::base::nova::virtlogd_wrapper::enable_wrapper: {get_param: NovaEnableVirtlogdContainerWrapper}
|
||||||
# don't think this is a good place as /var/lib/nova can also be shared storage
|
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_process_wrapper: '/var/lib/libvirt/scripts/virtlogd_wrapper'
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_process_wrapper: '/var/lib/container-config-scripts/virtlogd_wrapper'
|
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::debug:
|
tripleo::profile::base::nova::virtlogd_wrapper::debug:
|
||||||
if:
|
if:
|
||||||
@ -464,7 +463,10 @@ outputs:
|
|||||||
puppet_tags: libvirtd_config,virtlogd_config,nova_config,file,libvirt_tls_password
|
puppet_tags: libvirtd_config,virtlogd_config,nova_config,file,libvirt_tls_password
|
||||||
step_config: |
|
step_config: |
|
||||||
include tripleo::profile::base::nova::libvirt
|
include tripleo::profile::base::nova::libvirt
|
||||||
|
include tripleo::profile::base::nova::virtlogd_wrapper
|
||||||
config_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtConfigImage]}
|
config_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtConfigImage]}
|
||||||
|
volumes:
|
||||||
|
- /var/lib/libvirt/scripts:/var/lib/libvirt/scripts:shared,z
|
||||||
kolla_config:
|
kolla_config:
|
||||||
/var/lib/kolla/config_files/nova_libvirt.json:
|
/var/lib/kolla/config_files/nova_libvirt.json:
|
||||||
command: /nova_libvirt_launcher.sh
|
command: /nova_libvirt_launcher.sh
|
||||||
@ -533,29 +535,6 @@ outputs:
|
|||||||
mode: "0755"
|
mode: "0755"
|
||||||
content: { get_file: ../../../container_config_scripts/nova_libvirt_init_secret.sh }
|
content: { get_file: ../../../container_config_scripts/nova_libvirt_init_secret.sh }
|
||||||
docker_config:
|
docker_config:
|
||||||
step_2:
|
|
||||||
create_virtlogd_wrapper:
|
|
||||||
start_order: 1
|
|
||||||
detach: false
|
|
||||||
cgroupns: host
|
|
||||||
net: host
|
|
||||||
pid: host
|
|
||||||
user: root
|
|
||||||
command: # '/container_puppet_apply.sh "STEP" "TAGS" "CONFIG" "DEBUG"'
|
|
||||||
list_concat:
|
|
||||||
- - '/container_puppet_apply.sh'
|
|
||||||
- '4'
|
|
||||||
- 'file'
|
|
||||||
- 'include ::tripleo::profile::base::nova::virtlogd_wrapper'
|
|
||||||
image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
|
||||||
volumes:
|
|
||||||
list_concat:
|
|
||||||
- {get_attr: [ContainersCommon, container_puppet_apply_volumes]}
|
|
||||||
- - /var/lib/container-config-scripts:/var/lib/container-config-scripts:shared,z
|
|
||||||
environment:
|
|
||||||
# NOTE: this should force this container to re-run on each
|
|
||||||
# update (scale-out, etc.)
|
|
||||||
TRIPLEO_DEPLOY_IDENTIFIER: {get_param: DeployIdentifier}
|
|
||||||
step_3:
|
step_3:
|
||||||
map_merge:
|
map_merge:
|
||||||
- if:
|
- if:
|
||||||
@ -589,7 +568,7 @@ outputs:
|
|||||||
- /var/lib/nova:/var/lib/nova:shared
|
- /var/lib/nova:/var/lib/nova:shared
|
||||||
- if:
|
- if:
|
||||||
- {get_param: NovaEnableVirtlogdContainerWrapper}
|
- {get_param: NovaEnableVirtlogdContainerWrapper}
|
||||||
- - /var/lib/container-config-scripts/virtlogd_wrapper:/usr/local/bin/virtlogd_wrapper:ro
|
- - /var/lib/libvirt/scripts/virtlogd_wrapper:/usr/local/bin/virtlogd_wrapper:ro
|
||||||
environment:
|
environment:
|
||||||
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
|
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
|
||||||
- nova_virtlogd: *virtlog_container_config
|
- nova_virtlogd: *virtlog_container_config
|
||||||
@ -891,6 +870,7 @@ outputs:
|
|||||||
- { 'path': /etc/libvirt/secrets, 'setype': container_file_t }
|
- { 'path': /etc/libvirt/secrets, 'setype': container_file_t }
|
||||||
- { 'path': /etc/libvirt/qemu, 'setype': container_file_t }
|
- { 'path': /etc/libvirt/qemu, 'setype': container_file_t }
|
||||||
- { 'path': /var/lib/libvirt, 'setype': container_file_t }
|
- { 'path': /var/lib/libvirt, 'setype': container_file_t }
|
||||||
|
- { 'path': /var/lib/libvirt/scripts, 'setype': container_file_t }
|
||||||
- { 'path': /var/cache/libvirt }
|
- { 'path': /var/cache/libvirt }
|
||||||
- { 'path': /var/lib/nova, 'setype': container_file_t }
|
- { 'path': /var/lib/nova, 'setype': container_file_t }
|
||||||
- { 'path': /run/libvirt}
|
- { 'path': /run/libvirt}
|
||||||
|
@ -402,7 +402,7 @@ outputs:
|
|||||||
- nova::compute::libvirt::manage_libvirt_services: false
|
- nova::compute::libvirt::manage_libvirt_services: false
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::enable_wrapper: {get_param: NovaEnableVirtlogdContainerWrapper}
|
tripleo::profile::base::nova::virtlogd_wrapper::enable_wrapper: {get_param: NovaEnableVirtlogdContainerWrapper}
|
||||||
# don't think this is a good place as /var/lib/nova can also be shared storage
|
# don't think this is a good place as /var/lib/nova can also be shared storage
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_process_wrapper: '/var/lib/container-config-scripts/virtlogd_wrapper'
|
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_process_wrapper: '/var/lib/libvirt/scripts/virtlogd_wrapper'
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
tripleo::profile::base::nova::virtlogd_wrapper::virtlogd_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
||||||
tripleo::profile::base::nova::virtlogd_wrapper::debug:
|
tripleo::profile::base::nova::virtlogd_wrapper::debug:
|
||||||
if:
|
if:
|
||||||
@ -494,7 +494,10 @@ outputs:
|
|||||||
puppet_tags: libvirtd_config,virtlogd_config,virtproxyd_config,virtqemud_config,virtnodedevd_config,virtsecretd_config,virtstoraged_config,nova_config,file,libvirt_tls_password
|
puppet_tags: libvirtd_config,virtlogd_config,virtproxyd_config,virtqemud_config,virtnodedevd_config,virtsecretd_config,virtstoraged_config,nova_config,file,libvirt_tls_password
|
||||||
step_config: |
|
step_config: |
|
||||||
include tripleo::profile::base::nova::libvirt
|
include tripleo::profile::base::nova::libvirt
|
||||||
|
include tripleo::profile::base::nova::virtlogd_wrapper
|
||||||
config_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtConfigImage]}
|
config_image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtConfigImage]}
|
||||||
|
volumes:
|
||||||
|
- /var/lib/libvirt/scripts:/var/lib/libvirt/scripts:shared,z
|
||||||
kolla_config:
|
kolla_config:
|
||||||
/var/lib/kolla/config_files/nova_virtlogd.json:
|
/var/lib/kolla/config_files/nova_virtlogd.json:
|
||||||
command:
|
command:
|
||||||
@ -529,29 +532,6 @@ outputs:
|
|||||||
mode: "0755"
|
mode: "0755"
|
||||||
content: { get_file: ../../container_config_scripts/nova_libvirt_init_secret.sh }
|
content: { get_file: ../../container_config_scripts/nova_libvirt_init_secret.sh }
|
||||||
docker_config:
|
docker_config:
|
||||||
step_2:
|
|
||||||
create_virtlogd_wrapper:
|
|
||||||
start_order: 1
|
|
||||||
detach: false
|
|
||||||
cgroupns: host
|
|
||||||
net: host
|
|
||||||
pid: host
|
|
||||||
user: root
|
|
||||||
command: # '/container_puppet_apply.sh "STEP" "TAGS" "CONFIG" "DEBUG"'
|
|
||||||
list_concat:
|
|
||||||
- - '/container_puppet_apply.sh'
|
|
||||||
- '4'
|
|
||||||
- 'file'
|
|
||||||
- 'include ::tripleo::profile::base::nova::virtlogd_wrapper'
|
|
||||||
image: {get_attr: [RoleParametersValue, value, ContainerNovaLibvirtImage]}
|
|
||||||
volumes:
|
|
||||||
list_concat:
|
|
||||||
- {get_attr: [ContainersCommon, container_puppet_apply_volumes]}
|
|
||||||
- - /var/lib/container-config-scripts:/var/lib/container-config-scripts:shared,z
|
|
||||||
environment:
|
|
||||||
# NOTE: this should force this container to re-run on each
|
|
||||||
# update (scale-out, etc.)
|
|
||||||
TRIPLEO_DEPLOY_IDENTIFIER: {get_param: DeployIdentifier}
|
|
||||||
step_3:
|
step_3:
|
||||||
map_merge:
|
map_merge:
|
||||||
- if:
|
- if:
|
||||||
@ -575,7 +555,7 @@ outputs:
|
|||||||
- - /var/lib/kolla/config_files/nova_virtlogd.json:/var/lib/kolla/config_files/config.json:ro
|
- - /var/lib/kolla/config_files/nova_virtlogd.json:/var/lib/kolla/config_files/config.json:ro
|
||||||
- if:
|
- if:
|
||||||
- {get_param: NovaEnableVirtlogdContainerWrapper}
|
- {get_param: NovaEnableVirtlogdContainerWrapper}
|
||||||
- - /var/lib/container-config-scripts/virtlogd_wrapper:/usr/local/bin/virtlogd_wrapper:ro
|
- - /var/lib/libvirt/scripts/virtlogd_wrapper:/usr/local/bin/virtlogd_wrapper:ro
|
||||||
environment:
|
environment:
|
||||||
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
|
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
|
||||||
- nova_virtlogd: *virtlog_container_config
|
- nova_virtlogd: *virtlog_container_config
|
||||||
@ -934,6 +914,7 @@ outputs:
|
|||||||
- { 'path': /etc/libvirt/secrets, 'setype': container_file_t }
|
- { 'path': /etc/libvirt/secrets, 'setype': container_file_t }
|
||||||
- { 'path': /etc/libvirt/qemu, 'setype': container_file_t }
|
- { 'path': /etc/libvirt/qemu, 'setype': container_file_t }
|
||||||
- { 'path': /var/lib/libvirt, 'setype': container_file_t }
|
- { 'path': /var/lib/libvirt, 'setype': container_file_t }
|
||||||
|
- { 'path': /var/lib/libvirt/scripts, 'setype': container_file_t }
|
||||||
- { 'path': /var/cache/libvirt }
|
- { 'path': /var/cache/libvirt }
|
||||||
- { 'path': /var/lib/nova, 'setype': container_file_t }
|
- { 'path': /var/lib/nova, 'setype': container_file_t }
|
||||||
- { 'path': /run/libvirt }
|
- { 'path': /run/libvirt }
|
||||||
|
Loading…
Reference in New Issue
Block a user