--- # Copyright 2014, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Set lxc containers group hosts: "{{ container_group | default('all_containers') }}" gather_facts: false vars_files: - "defaults/{{ install_method }}_install.yml" tasks: - name: Add hosts to dynamic inventory group group_by: key: lxc_containers parents: all_lxc_containers when: - container_tech == 'lxc' tags: - always - lxc-containers-create - name: Create container(s) hosts: all_lxc_containers user: root gather_facts: false vars_files: - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - lxc-containers-create roles: - role: "lxc_container_create" post_tasks: - name: Wait for container connectivity wait_for_connection: connect_timeout: "{{ lxc_container_wait_params.connect_timeout | default(omit) }}" delay: "{{ lxc_container_wait_params.delay | default(omit) }}" sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}" timeout: "{{ lxc_container_wait_params.timeout | default(omit) }}" # When using gather_facts with smart gathering, # the facts aren't fully updated unless they # are old. Using the setup module in a task # does a more thorough collection. # Given we've just created the container, it is # best that we do a full collection of facts - # otherwise we end up with a stale set which # has stuff like the hostname = localhost. - name: Gather facts for new container(s) setup: gather_subset: "network,hardware,virtual" - name: Configure containers default software hosts: all_lxc_containers user: root gather_facts: true vars_files: - defaults/repo_packages/openstack_services.yml - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - lxc-containers-create pre_tasks: - include_tasks: common-tasks/package-cache-proxy.yml when: install_method == "source" - include_tasks: common-tasks/set-pip-vars.yml when: install_method == "source" roles: - role: "openstack_hosts" is_container: true