diff --git a/roles/overcloud-deploy/README.md b/roles/overcloud-deploy/README.md index a06acb98f..0a934dfcc 100644 --- a/roles/overcloud-deploy/README.md +++ b/roles/overcloud-deploy/README.md @@ -15,6 +15,7 @@ A description of the settable variables for this role should go here, including * `overcloud_ipv6`: enables IPv6 deployment on the overcloud * `enable_cinder_backup`: false/true - enables cinder-backup service. +* `deployed_server`: false/true - enables support for nodepool deployed server deployment (default: false) Dependencies ------------ diff --git a/roles/overcloud-deploy/defaults/main.yml b/roles/overcloud-deploy/defaults/main.yml index d04ef9faf..b352f5ede 100644 --- a/roles/overcloud-deploy/defaults/main.yml +++ b/roles/overcloud-deploy/defaults/main.yml @@ -66,6 +66,11 @@ backup_args: "" ssl_args: "" validation_args: "--validation-warnings-fatal" + +deployed_server: false +deployed_server_prepare_script: deployed_server_prepare.sh.j2 +deployed_server_prepare_log: "{{ working_dir }}/deployed_server_prepare.txt" + container_args: "" deploy_args: >- diff --git a/roles/overcloud-deploy/tasks/deployed-server.yml b/roles/overcloud-deploy/tasks/deployed-server.yml new file mode 100644 index 000000000..7b60aedc5 --- /dev/null +++ b/roles/overcloud-deploy/tasks/deployed-server.yml @@ -0,0 +1,24 @@ +--- + +- name: Create deployed_server_prepare script + template: + src: "{{ deployed_server_prepare_script }}" + dest: "{{ working_dir }}/deployed_server_prepare.sh" + mode: 0755 + +- name: Run the deployed-server_prepare script + shell: | + {{ working_dir }}/deployed_server_prepare.sh > {{ deployed_server_prepare_log }} 2>&1 + async: 10800 + poll: 0 + environment: + OPT_WORKDIR: "{{ lookup('env', 'OPT_WORKDIR') }}" + http_proxy: "{{ lookup('env', 'http_proxy') }}" + no_proxy: "{{ lookup('env', 'no_proxy') }}" + TRIPLEO_ROOT: "{{ lookup('env','TRIPLEO_ROOT') }}" + CONTROLLER_HOSTS: "{{ lookup('env','CONTROLLER_HOSTS') }}" + COMPUTE_HOSTS: "{{ lookup('env', 'COMPUTE_HOSTS') }}" + BLOCKSTORAGE_HOSTS: "{{ lookup('env', 'BLOCKSTORAGE_HOSTS') }}" + OBJECTSTORAGE_HOSTS: "{{ lookup('env', 'OBJECTSTORAGE_HOSTS') }}" + CEPHSTORAGE_HOSTS: "{{ lookup('env', 'CEPHSTORAGE_HOSTS') }}" + SUBNODES_SSH_KEY: "/etc/nodepool/id_rsa" diff --git a/roles/overcloud-deploy/tasks/main.yml b/roles/overcloud-deploy/tasks/main.yml index b15f2e8c7..a73271405 100644 --- a/roles/overcloud-deploy/tasks/main.yml +++ b/roles/overcloud-deploy/tasks/main.yml @@ -6,6 +6,11 @@ tags: - overcloud-scripts +- include: deployed-server.yml + when: deployed_server|bool + tags: + - overcloud-deploy + - include: deploy-overcloud.yml tags: - overcloud-deploy diff --git a/roles/overcloud-deploy/templates/deployed_server_prepare.sh.j2 b/roles/overcloud-deploy/templates/deployed_server_prepare.sh.j2 new file mode 100644 index 000000000..c6ba50633 --- /dev/null +++ b/roles/overcloud-deploy/templates/deployed_server_prepare.sh.j2 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +source ${HOME}/stackrc + +/usr/share/openstack-tripleo-heat-templates/deployed-server/scripts/get-occ-config.sh 2>&1 | sudo dd of=/var/log/deployed-server-os-collect-config.log diff --git a/roles/undercloud-deploy/README.md b/roles/undercloud-deploy/README.md index ca4645fb6..2c7feb059 100644 --- a/roles/undercloud-deploy/README.md +++ b/roles/undercloud-deploy/README.md @@ -32,6 +32,7 @@ properly with the option --old-deploy-image - `libvirt_uri`: <'qemu:///session'> -- the URI used by libvirt, by default tripleo-quickstart uses user sessions to provide greater flexixiblity to our users. ** additional documentation ** is at http://docs.openstack.org/developer/tripleo-quickstart/accessing-libvirt.html +- `undercloud_conf_extra`: "" -- extra options to be added to ~/undercloud.conf Role Network Variables ---------------------- @@ -70,4 +71,4 @@ Sample playbook to call the role gather_facts: no roles: - undercloud-deploy -``` \ No newline at end of file +``` diff --git a/roles/undercloud-deploy/defaults/main.yml b/roles/undercloud-deploy/defaults/main.yml index ea598ad39..a77fcfd8c 100644 --- a/roles/undercloud-deploy/defaults/main.yml +++ b/roles/undercloud-deploy/defaults/main.yml @@ -27,4 +27,5 @@ network_environment_args: # not require privileged access (but does require the setup performed by the # `environment/setup` role). libvirt_uri: qemu:///session -enable_vbmc: true \ No newline at end of file +enable_vbmc: true +undercloud_conf_extra: "" diff --git a/roles/undercloud-deploy/templates/undercloud.conf.j2 b/roles/undercloud-deploy/templates/undercloud.conf.j2 index a91309534..7ac374b21 100644 --- a/roles/undercloud-deploy/templates/undercloud.conf.j2 +++ b/roles/undercloud-deploy/templates/undercloud.conf.j2 @@ -366,3 +366,7 @@ undercloud_swift_hash_suffix = {{undercloud_undercloud_swift_hash_suffix}} {% else %} #undercloud_swift_hash_suffix = {% endif %} + +{% if undercloud_conf_extra != "" %} +{{ undercloud_conf_extra }} +{% endif %}