ctlplane-ip-range

ctlplane-ip-range

Role Documentation

Welcome to the “ctlplane-ip-range” role documentation.

Role Defaults

This section highlights all of the defaults and variables set within the “ctlplane-ip-range” role.
ctlplane_iprange_min_size: 25

Role Variables: main.yml

metadata:
  description: 'Verify that the number of IP addresses defined in `dhcp_start` and
    `dhcp_end` fields in `undercloud.conf` is not too low.

    '
  groups:
  - pre-introspection
  name: Check the number of IP addresses available for the overcloud nodes

Molecule Scenarios

Molecule is being used to test the “ctlplane-ip-range” role. The following section highlights the drivers in service and provides an example playbook showing how the role is leveraged.

Scenario: default

Example default configuration
driver:
  name: docker
lint:
  enabled: false
log: true
platforms:
- easy_install:
  - pip
  environment:
    http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
    https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
  hostname: centos7
  image: centos:7
  name: centos7
  pkg_extras: python-setuptools python-enum34 python-netaddr ruby epel-release
- environment:
    http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
    https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
  hostname: fedora28
  image: fedora:28
  name: fedora28
  pkg_extras: python*-setuptools python*-enum python*-netaddr ruby
provisioner:
  env:
    ANSIBLE_LIBRARY: ../../../../library
    ANSIBLE_STDOUT_CALLBACK: yaml
  log: true
  name: ansible
scenario:
  test_sequence:
  - destroy
  - create
  - prepare
  - converge
  - verify
  - destroy
verifier:
  lint:
    name: flake8
  name: testinfra
Example default playbook
- gather_facts: false
  hosts: all
  name: Converge
  tasks:
  - file:
      path: /etc/puppet
      state: directory
    name: prepare directory tree for hiera
  - copy:
      content: ":backends:\n  - yaml\n  - json\n:yaml:\n  :datadir: \"/etc/puppet/\"\
        \n:hierarchy:\n  - \"common\"\n"
      dest: /etc/puppet/hiera.yaml
    name: populate a hiera config
  - copy:
      content: 'tripleo_undercloud_conf_file: /undercloud.conf

        '
      dest: /etc/puppet/common.yaml
    name: populate hiera content
  - block:
    - copy:
        content: '[ctlplane-subnet]

          dhcp_start = 192.168.12.10

          dhcp_end = 192.168.12.100

          '
        dest: /undercloud.conf
      name: populate undercloud.conf with right range length
    - include_role:
        name: ctlplane-ip-range
    name: Test good values
  - block:
    - copy:
        content: '[ctlplane-subnet]

          dhcp_start = 192.168.12.10

          dhcp_end = 192.168.12.20

          '
        dest: /undercloud.conf
      name: populate undercloud.conf with wrong range length
    - include_role:
        name: ctlplane-ip-range
    name: Test failing
    rescue:
    - meta: clear_host_errors
      name: Clear host errors
    - debug:
        msg: The validation works! End the playbook run
    - meta: end_play
      name: End play
  - fail:
      msg: 'The ctlplane-ip-range validation didn''t properly detect too short

        range!

        '
    name: Fail the test
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.