<commit_before>---
# Copyright 2015, 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.

# TODO(evrardjp): replace the delegate_to with remote_src: True
# with ansible2.0
- name: Copy files from the LXC host to the container cache
  copy:
    src: "{{ item }}"
    dest: "/var/lib/lxc/LXC_NAME/rootfs{{ item }}"
  with_items: "{{ lxc_cache_map.copy_from_host }}"
  delegate_to: "{{ inventory_hostname }}"
  tags:
    - lxc-cache

- name: Copy files from deployment host to the container cache
  copy:
    src: "{{ item.src }}"
    dest: "/var/lib/lxc/LXC_NAME/rootfs{{ item.dest | default(item.src) }}"
    owner: "{{ item.owner | default('root') }}"
    group: "{{ item.group | default('root') }}"
    mode: "{{ item.mode | default('0644') }}"
  with_items: "{{ lxc_container_cache_files }}"
  tags:
    - lxc-cache
    - lxc-cache-copy-files

- name: Cached image preparation script
  copy:
    content: |
      #!/usr/bin/env bash
      set -x
      {{ lxc_cache_map.cache_prep_commands }}
    dest: "/var/lib/lxc/LXC_NAME/rootfs/usr/local/bin/cache-prep-commands.sh"
    mode: "0755"
  tags:
    - lxc-cache
    - lxc-cache-update

# This task runs several commands against the cached image to speed up the
# lxc_container_create playbook.
- name: Prepare cached image setup commands
  command: "chroot /var/lib/lxc/LXC_NAME/rootfs /usr/local/bin/cache-prep-commands.sh"
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Adjust sshd configuration in container
  lineinfile:
    dest: "/var/lib/lxc/LXC_NAME/rootfs/etc/ssh/sshd_config"
    regexp: "{{ item.regexp }}"
    line: "{{ item.line }}"
    state: present
  with_items: lxc_cache_sshd_configuration
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Obtain the deploy system's ssh public key
  set_fact:
    lxc_container_ssh_key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
  when: lxc_container_ssh_key is not defined
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Deploy ssh public key into the cached image
  lineinfile:
    dest: "/var/lib/lxc/LXC_NAME/rootfs/root/.ssh/authorized_keys"
    line: "{{ lxc_container_ssh_key }}"
    create: true
  tags:
    - lxc-cache
    - lxc-cache-update
<commit_msg>Workaround ansible bug of copy delegate_to inventory_hostname<commit_after>---
# Copyright 2015, 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.

# TODO(evrardjp): replace this with a copy with remote_src: True
# when ansible2.0 will be supported
- name: Rsyncing files from the LXC host to the container cache
  command: "rsync -a {{ item }} /var/lib/lxc/LXC_NAME/rootfs{{ item }}"
  with_items: "{{ lxc_cache_map.copy_from_host }}"
  tags:
    - lxc-cache
    - skip_ansible_lint

- name: Copy files from deployment host to the container cache
  copy:
    src: "{{ item.src }}"
    dest: "/var/lib/lxc/LXC_NAME/rootfs{{ item.dest | default(item.src) }}"
    owner: "{{ item.owner | default('root') }}"
    group: "{{ item.group | default('root') }}"
    mode: "{{ item.mode | default('0644') }}"
  with_items: "{{ lxc_container_cache_files }}"
  tags:
    - lxc-cache
    - lxc-cache-copy-files

- name: Cached image preparation script
  copy:
    content: |
      #!/usr/bin/env bash
      set -x
      {{ lxc_cache_map.cache_prep_commands }}
    dest: "/var/lib/lxc/LXC_NAME/rootfs/usr/local/bin/cache-prep-commands.sh"
    mode: "0755"
  tags:
    - lxc-cache
    - lxc-cache-update

# This task runs several commands against the cached image to speed up the
# lxc_container_create playbook.
- name: Prepare cached image setup commands
  command: "chroot /var/lib/lxc/LXC_NAME/rootfs /usr/local/bin/cache-prep-commands.sh"
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Adjust sshd configuration in container
  lineinfile:
    dest: "/var/lib/lxc/LXC_NAME/rootfs/etc/ssh/sshd_config"
    regexp: "{{ item.regexp }}"
    line: "{{ item.line }}"
    state: present
  with_items: lxc_cache_sshd_configuration
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Obtain the deploy system's ssh public key
  set_fact:
    lxc_container_ssh_key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
  when: lxc_container_ssh_key is not defined
  tags:
    - lxc-cache
    - lxc-cache-update

- name: Deploy ssh public key into the cached image
  lineinfile:
    dest: "/var/lib/lxc/LXC_NAME/rootfs/root/.ssh/authorized_keys"
    line: "{{ lxc_container_ssh_key }}"
    create: true
  tags:
    - lxc-cache
    - lxc-cache-update

{'fraction_non_alphanumeric': 0.12179487179487179, 'fraction_numerical': 0.006593406593406593, 'mean_word_length': 3.2333333333333334, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4417389', 'n_tokens_mistral': 1915, 'n_tokens_neox': 1866, 'n_words': 516}