diff options
-rw-r--r-- | INFO.yaml | 42 | ||||
-rw-r--r-- | bifrost/playbooks/opnfv-virtual.yaml | 42 | ||||
-rw-r--r-- | xci/playbooks/bootstrap-bifrost.yml (renamed from xci/playbooks/provision-vm-nodes.yml) | 0 | ||||
-rw-r--r-- | xci/playbooks/roles/configure-network/tasks/main.yml | 41 | ||||
-rwxr-xr-x | xci/xci-deploy.sh | 2 |
5 files changed, 89 insertions, 38 deletions
diff --git a/INFO.yaml b/INFO.yaml new file mode 100644 index 00000000..57f590a6 --- /dev/null +++ b/INFO.yaml @@ -0,0 +1,42 @@ +--- +subproject: 'Cross Community CI (XCI)' +project_category: 'Integration & Testing' +lifecycle_state: 'Incubation' +subproject_lead: &opnfv_releng_ptl + name: 'Fatih Degirmenci' + email: 'fatih.degirmenci@ericsson.com' + id: 'fdegir' + company: 'Ericsson' + timezone: 'Europe/Stockholm' +primary_contact: *opnfv_releng_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.opnfv.org/projects/RELENG' + key: 'RELENG' +mailing_list: + type: 'mailman2' + url: 'opnfv-tech-discuss@lists.opnfv.org' + tag: '[xci]' +realtime_discussion: + type: 'irc' + server: 'freenode.net' + channel: '#opnfv-pharos' +meetings: + - type: 'irc' + agenda: 'https://etherpad.opnfv.org/p/xci-meetings' + channel: '#opnfv-pharos' + repeats: 'weekly' + day: 'Wednesday' + time: '14:00 UTC' +committers: + - <<: *opnfv_releng_ptl + - name: 'Yolanda Robla Mota' + company: 'Red Hat' + email: 'yroblamo@redhat.com' + id: 'yrobla' + timezone: 'Europe/Barcelona' + - name: 'Markos Chandras' + company: 'SUSE' + email: 'mchandras@suse.de' + id: 'mchandras' + timezone: 'Europe/London' diff --git a/bifrost/playbooks/opnfv-virtual.yaml b/bifrost/playbooks/opnfv-virtual.yaml index 2ebf86f8..f44adb4d 100644 --- a/bifrost/playbooks/opnfv-virtual.yaml +++ b/bifrost/playbooks/opnfv-virtual.yaml @@ -9,18 +9,12 @@ --- - hosts: localhost connection: local - name: "Setting pre-test conditions" + name: "Host and Ironic bootstrapping" become: yes - ignore_errors: yes - tasks: - - name: Remove pre-existing leases file - file: path=/var/lib/misc/dnsmasq.leases state=absent -- hosts: localhost - connection: local - name: "Executes install, enrollment, and testing in one playbook" - become: no gather_facts: yes pre_tasks: + - name: Remove pre-existing leases file + file: path=/var/lib/misc/dnsmasq.leases state=absent - name: "Override the ipv4_gateway setting" set_fact: ipv4_gateway: "192.168.122.1" @@ -30,14 +24,12 @@ file: path: /httpboot state: directory - become: yes - name: Download the {{ xci_distro }} image checksum file get_url: dest: /httpboot/deployment_image.qcow2.sha256.txt force: no url: http://artifacts.opnfv.org/releng/xci/images/{{ xci_distro }}.qcow2.sha256.txt timeout: 3000 - become: yes - name: Extract checksum shell: awk '{print $1}' /httpboot/deployment_image.qcow2.sha256.txt register: _image_checksum @@ -53,27 +45,17 @@ timeout: 3000 dest: /httpboot/deployment_image.qcow2 force: no - become: yes - name: Set correct mode for {{ xci_distro }}.qcow2 file file: path: /httpboot/deployment_image.qcow2 mode: '0755' owner: 'root' group: 'root' - become: yes when: use_prebuilt_images | bool == true roles: - - { role: bifrost-prep-for-install, when: skip_install is not defined } - environment: - http_proxy: "{{ lookup('env','http_proxy') }}" - https_proxy: "{{ lookup('env','https_proxy') }}" -- hosts: localhost - connection: local - name: "Executes install, enrollment, and testing in one playbook" - become: yes - gather_facts: yes - roles: + - role: bifrost-prep-for-install + when: skip_install is not defined - role: bifrost-keystone-install - role: bifrost-ironic-install cleaning: false @@ -118,22 +100,20 @@ environment: http_proxy: "{{ lookup('env','http_proxy') }}" https_proxy: "{{ lookup('env','https_proxy') }}" + - hosts: baremetal - name: "Enroll node with Ironic" - become: no - connection: local - roles: - - role: ironic-enroll-dynamic - - { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool == true } -- hosts: baremetal - name: "Create configuration drive files and deploy machines" + name: "Enrollment and Deployment" vars: multinode_testing: "{{ inventory_dhcp | bool == true }}" become: no connection: local + gather_facts: yes roles: + - role: ironic-enroll-dynamic + - { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool == true } - role: bifrost-configdrives-dynamic - role: bifrost-deploy-nodes-dynamic + - hosts: baremetal name: "Deploy machines." become: no diff --git a/xci/playbooks/provision-vm-nodes.yml b/xci/playbooks/bootstrap-bifrost.yml index 8b8bb30d..8b8bb30d 100644 --- a/xci/playbooks/provision-vm-nodes.yml +++ b/xci/playbooks/bootstrap-bifrost.yml diff --git a/xci/playbooks/roles/configure-network/tasks/main.yml b/xci/playbooks/roles/configure-network/tasks/main.yml index adcb8669..21f213cb 100644 --- a/xci/playbooks/roles/configure-network/tasks/main.yml +++ b/xci/playbooks/roles/configure-network/tasks/main.yml @@ -12,6 +12,19 @@ path: "/etc/udev/rules.d/99-glean.rules" state: absent +- name: Determine required packages + set_fact: + network_packages: + - bridge-utils + - "{{ (ansible_pkg_mgr in ['zypper', 'apt']) | ternary('iproute2', 'iproute') }}" + - "{{ (ansible_pkg_mgr == 'apt') | ternary('vlan', '') }}" + - iptables + +- name: Ensure networking packages are present + package: + name: "{{ network_packages }}" + state: present + - block: - name: configure modules lineinfile: @@ -31,6 +44,8 @@ dest: "/etc/network/interfaces" - name: restart network service shell: "/sbin/ifconfig {{ ansible_default_ipv4.interface }} 0 && /sbin/ifdown -a && /sbin/ifup -a" + async: 15 + poll: 0 when: ansible_os_family | lower == "debian" - block: @@ -68,9 +83,12 @@ dest: "/etc/sysconfig/network/ifroute-{{ item.name }}" with_items: - { name: "br-vlan", gateway: "192.168.122.1", route: "default" } - - name: restart network service - shell: "/usr/sbin/wicked ifreload all" + service: + name: network + state: restarted + async: 15 + poll: 0 when: ansible_os_family | lower == "suse" - block: @@ -96,8 +114,19 @@ lineinfile: path: "/etc/sysconfig/network-scripts/ifcfg-br-vlan" line: "GATEWAY=192.168.122.1" - - name: Restart networking - command: "systemctl restart network" - - name: wait for the server to come back - wait_for_connection: + - name: restart network service + service: + name: network + state: restarted + async: 15 + poll: 0 when: ansible_os_family | lower == "redhat" + +- local_action: + module: wait_for + host: "{{ ansible_host }}" + delay: 15 + state: started + port: 22 + connect_timeout: 10 + timeout: 180 diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh index c336be15..85a04fc4 100755 --- a/xci/xci-deploy.sh +++ b/xci/xci-deploy.sh @@ -137,7 +137,7 @@ sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers cd $XCI_PATH/bifrost/ sudo -E bash ./scripts/destroy-env.sh cd $XCI_PLAYBOOKS -ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory provision-vm-nodes.yml +ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory bootstrap-bifrost.yml cd ${XCI_CACHE}/repos/bifrost bash ./scripts/bifrost-provision.sh echo "-----------------------------------------------------------------------" |