rcbops-qe / jenkins-oa Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://jenkins.openstack-ansible.com/
License: GNU General Public License v2.0
Home Page: http://jenkins.openstack-ansible.com/
License: GNU General Public License v2.0
The paths need to be updated away from using Swift volume groups and instead need to use the block devices directly. This is inline with the customer documentation.
Currently we recursively copy all files/dir in /etc/openstack_deploy. This is changing. We just need to copy the following 2
/etc/openstack_deploy/env.d/
/etc/openstack_deploy/user_secrets.yml
The internal documentation has changed for how the extras files are named. We'll need to adjust our automation to account for the new variable names.
According to our documentation the LVM driver name has been changed. This needs to be reflected in our deployment to solve https://github.com/rcbops/rpc-openstack/issues/1394.
Currently, the prompt for Jenkins slave setup.sh
requests a slave secret. This is misleading as the correct input is actually a GitHub personal authentication token. It should be renamed to avoid confusion in the future.
Enter the Jenkins slave secret:
***
Should be:
Enter your GitHub personal authentication token:
***
The provider network VLAN range is currently:
- name: provider
bridge: br-vlan
container_interface: eth11
container_type: veth
type: vlan
range: 235
net_name: vlan
group_binds:
- neutron_linuxbridge_agent
Neutron requires a range to consistent of two values. Otherwise, you get the following traceback:
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan [-] Failed to parse network_vlan_ranges. Service terminated!
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan Traceback (most recent call last):
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan File "/openstack/venvs/neutron-12.2.8/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/type_vlan.py", line 92, in _parse_network_vlan_ranges
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan cfg.CONF.ml2_type_vlan.network_vlan_ranges)
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan File "/openstack/venvs/neutron-12.2.8/lib/python2.7/site-packages/neutron/plugins/common/utils.py", line 95, in parse_network_vlan_ranges
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan network, vlan_range = parse_network_vlan_range(entry)
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan File "/openstack/venvs/neutron-12.2.8/lib/python2.7/site-packages/neutron/plugins/common/utils.py", line 82, in parse_network_vlan_range
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan raise n_exc.NetworkVlanRangeError(vlan_range=entry, error=ex)
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan NetworkVlanRangeError: Invalid network VLAN range: 'vlan:235' - 'need more than 2 values to unpack'
2016-11-28 14:16:22.655 31384 ERROR neutron.plugins.ml2.drivers.type_vlan
When a label, FCFS-SYD2-LAB01, is applied to a Jenkins Swarm bootstrap, the resulting node on the dashboard has a UUID appended to its name. This causes the lookup on an ansible-playbook
run to fail.
Fix:
-disableClientsUniqueId
to the JENKINS_SWARM_ARGS
default variable in /etc/default/jenkins-slave
{% if tempest_private_net %}
tempest_private_subnet_cidr: "{{ tempest_private_net.tempest_private_subnet_cidr }}"
tempest_private_net_provider_type: "{{ tempest_private_net.tempest_private_net_provider_type }}"
tempest_private_net_seg_id: "{{ tempest_private_net.tempest_private_net_seg_id }}"
{% endif %}
At the moment, this code block is incorrect syntax for allowing tempest_private_net
to be optional. The is defined
portion needs to be added to the if
statement.
This occurs because the jenkins
user doesn't have sudo escalation privileges and no TTY to receive a potential password.
Currently the code assumes ansible is installed. This may not be the case
http://jenkins.openstack-ansible.com/job/RPC-OA/218/console
We need a simple script to either clone RPC and use OSAs ansible install script, or create our own
We no longer rely on LVM for the Swift volumes as an option. This should be reflected in the role name in site.yml
and the role folder itself.
TASK: [configure-compute | Generate passphrases] ******************************
failed: [node84] => {"changed": true, "cmd": ["/opt/rpc-openstack/openstack-ansible/scripts/pw-token-gen.py", "--file", "/etc/openstack_deploy/user_osa_secrets.yml"], "delta": "0:00:00.079385", "end": "2016-08-24 15:26:30.552270", "rc": 1, "start": "2016-08-24 15:26:30.472885", "warnings": []}
stderr: FAIL: The variable file provided [ /etc/openstack_deploy/user_osa_secrets.yml ] is empty.
At the moment, when running jenkins-oa
, this error appears:
ansible-playbook site.yml --extra-vars=product=rpc-openstack --limit qe-iad3-lab02 -vvv
Using /opt/jenkins-oa/ansible.cfg as config file
[WARNING]: While constructing a mapping from /opt/jenkins-oa/inventory/group_vars/fcfs-iad3-storage04.yml, line 8, column 3, found a duplicate dict key (container_cidr). Using last defined
value only.
PLAYBOOK: site.yml *************************************************************
6 plays in site.yml
PLAY [all] *********************************************************************
TASK [setup] *******************************************************************
<10.240.0.170> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.172> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.171> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.170> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.170 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.175> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.177> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.174> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.178> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.173> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.172> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.172 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.171> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.171 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.175> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.175 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.178> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.178 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.179> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.176> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.177> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.177 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.174> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.174 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.173> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.173 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.176> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.176 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.179> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.179 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
ok: [573957-infra02]
ok: [573958-infra03]
ok: [573960-compute01]
ok: [573961-compute02]
ok: [573959-logging01]
ok: [573962-compute03]
ok: [573956-infra01]
ok: [573964-storage02]
ok: [573965-storage03]
ok: [573963-storage01]
TASK [packages : Enable trusty-backports] **************************************
task path: /opt/jenkins-oa/roles/packages/tasks/main.yml:2
<10.240.0.170> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.171> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.174> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.172> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.170> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.170 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.176> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.175> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.177> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.178> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.179> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.171> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.171 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.174> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.174 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.172> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.172 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.176> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.176 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.178> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.178 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.177> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.177 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.179> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.179 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.175> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.175 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
<10.240.0.173> ESTABLISH SSH CONNECTION FOR USER: root
<10.240.0.173> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=300 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 10.240.0.173 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python && sleep 0'"'"''
ok: [573960-compute01] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573961-compute02] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573959-logging01] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573956-infra01] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573957-infra02] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573958-infra03] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573962-compute03] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573965-storage03] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573964-storage02] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
ok: [573963-storage01] => {"backup": "", "changed": false, "diff": [{"after": "", "after_header": "/etc/apt/sources.list (content)", "before": "", "before_header": "/etc/apt/sources.list (content)"}, {"after_header": "/etc/apt/sources.list (file attributes)", "before_header": "/etc/apt/sources.list (file attributes)"}], "invocation": {"module_args": {"backrefs": false, "backup": false, "content": null, "create": false, "delimiter": null, "dest": "/etc/apt/sources.list", "directory_mode": null, "follow": false, "force": null, "group": null, "insertafter": null, "insertbefore": null, "line": "deb http://mirror.rackspace.com/ubuntu trusty-backports main restricted universe multiverse", "mode": null, "owner": null, "regexp": "^deb http.*trusty-backports.*", "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": null, "state": "present", "validate": null}, "module_name": "lineinfile"}, "msg": ""}
TASK [packages : Updating packages] ********************************************
task path: /opt/jenkins-oa/roles/packages/tasks/main.yml:10
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573956-infra01]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573958-infra03]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573957-infra02]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573960-compute01]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573961-compute02]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573962-compute03]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573963-storage01]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573964-storage02]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573959-logging01]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 124, in run
res = self._execute()
File "/opt/ansible-runtime/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 427, in _execute
retries = self._task.retries + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
fatal: [573965-storage03]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}
NO MORE HOSTS LEFT *************************************************************
[WARNING]: Could not create retry file 'site.retry'. [Errno 2] No such file or directory: ''
PLAY RECAP *********************************************************************
573956-infra01 : ok=2 changed=0 unreachable=0 failed=1
573957-infra02 : ok=2 changed=0 unreachable=0 failed=1
573958-infra03 : ok=2 changed=0 unreachable=0 failed=1
573959-logging01 : ok=2 changed=0 unreachable=0 failed=1
573960-compute01 : ok=2 changed=0 unreachable=0 failed=1
573961-compute02 : ok=2 changed=0 unreachable=0 failed=1
573962-compute03 : ok=2 changed=0 unreachable=0 failed=1
573963-storage01 : ok=2 changed=0 unreachable=0 failed=1
573964-storage02 : ok=2 changed=0 unreachable=0 failed=1
573965-storage03 : ok=2 changed=0 unreachable=0 failed=1
This is occurring because of the bug reported here. Essentially, in Ansible 2.1, the default value for the retries
clause wasn't actually implemented. When an until
statement is encountered, there's no set limit which raises the exception pasted above.
In order to resolve this issue, a retry
value will need to be manually specified. It can be removed once that bug report has been resolved. Until then, a default value of three, per the documentation, will be used as a placeholder.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.