Fix differences with devel.
This commit is contained in:
parent
1c9a58a885
commit
c709b22e5c
32 changed files with 78 additions and 237 deletions
|
@ -5,14 +5,15 @@ set -e
|
|||
set -u
|
||||
|
||||
# get current stuff
|
||||
git clone git@github.com:ansible/ansible.git ansible_unified
|
||||
git clone https://github.com/ansible/ansible.git ansible_unified
|
||||
cd ansible_unified/
|
||||
git submodule init
|
||||
git submodule update
|
||||
git remote add upstream git@github.com:ansible/ansible.git
|
||||
|
||||
# add submodules as remotes
|
||||
git remote add core_modules git@github.com:ansible/ansible-modules-core.git
|
||||
git remote add extras_modules git@github.com:ansible/ansible-modules-extras.git
|
||||
git remote add core_modules https://github.com/ansible/ansible-modules-core.git
|
||||
git remote add extras_modules https://github.com/ansible/ansible-modules-extras.git
|
||||
git fetch --all
|
||||
|
||||
# remove submodules
|
||||
|
@ -52,5 +53,5 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
git rm -rf lib/ansible/modules/${subdir}
|
||||
rm -rf lib/ansible/modules/${subdir}
|
||||
done
|
||||
|
|
0
lib/ansible/modules/cloud/amazon/ec2.py
Executable file → Normal file
0
lib/ansible/modules/cloud/amazon/ec2.py
Executable file → Normal file
|
@ -78,7 +78,7 @@ options:
|
|||
- Number of instances you'd like to replace at a time. Used with replace_all_instances.
|
||||
required: false
|
||||
version_added: "1.8"
|
||||
default: 1
|
||||
default: 1
|
||||
replace_instances:
|
||||
description:
|
||||
- List of instance_ids belonging to the named ASG that you would like to terminate and be replaced with instances matching the current launch configuration.
|
||||
|
|
|
@ -92,7 +92,7 @@ def list_ec2_snapshots_boto3(connection, module):
|
|||
|
||||
|
||||
def get_eni_info(interface):
|
||||
|
||||
|
||||
# Private addresses
|
||||
private_addresses = []
|
||||
for ip in interface.private_ip_addresses:
|
||||
|
@ -125,23 +125,23 @@ def get_eni_info(interface):
|
|||
'attach_time': interface.attachment.attach_time,
|
||||
'delete_on_termination': interface.attachment.delete_on_termination,
|
||||
}
|
||||
|
||||
|
||||
return interface_info
|
||||
|
||||
|
||||
|
||||
def list_eni(connection, module):
|
||||
|
||||
|
||||
filters = module.params.get("filters")
|
||||
interface_dict_array = []
|
||||
|
||||
|
||||
try:
|
||||
all_eni = connection.get_all_network_interfaces(filters=filters)
|
||||
except BotoServerError as e:
|
||||
module.fail_json(msg=e.message)
|
||||
|
||||
|
||||
for interface in all_eni:
|
||||
interface_dict_array.append(get_eni_info(interface))
|
||||
|
||||
|
||||
module.exit_json(interfaces=interface_dict_array)
|
||||
|
||||
|
||||
|
@ -152,12 +152,12 @@ def main():
|
|||
filters = dict(default=None, type='dict')
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
module = AnsibleModule(argument_spec=argument_spec)
|
||||
|
||||
if not HAS_BOTO:
|
||||
module.fail_json(msg='boto required for this module')
|
||||
|
||||
|
||||
if HAS_BOTO3:
|
||||
region, ec2_url, aws_connect_params = get_aws_connection_info(module, boto3=True)
|
||||
|
||||
|
|
|
@ -144,4 +144,4 @@ def main():
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
|
|
@ -101,7 +101,7 @@ options:
|
|||
- C(always) will update passwords if they differ. C(on_create) will only set the password for newly created users.
|
||||
notes:
|
||||
- 'Currently boto does not support the removal of Managed Policies, the module will error out if your user/group/role has managed policies when you try to do state=absent. They will need to be removed manually.'
|
||||
author:
|
||||
author:
|
||||
- "Jonathan I. Davila (@defionscode)"
|
||||
- "Paul Seiffert (@seiffert)"
|
||||
extends_documentation_fragment: aws
|
||||
|
|
2
lib/ansible/modules/cloud/amazon/rds.py
Executable file → Normal file
2
lib/ansible/modules/cloud/amazon/rds.py
Executable file → Normal file
|
@ -224,7 +224,7 @@ options:
|
|||
requirements:
|
||||
- "python >= 2.6"
|
||||
- "boto"
|
||||
author:
|
||||
author:
|
||||
- "Bruce Pennypacker (@bpennypacker)"
|
||||
- "Will Thames (@willthames)"
|
||||
extends_documentation_fragment:
|
||||
|
|
|
@ -28,7 +28,7 @@ description:
|
|||
options:
|
||||
command:
|
||||
description:
|
||||
- Specifies the action to take.
|
||||
- Specifies the action to take.
|
||||
required: true
|
||||
choices: [ 'get', 'create', 'delete' ]
|
||||
zone:
|
||||
|
|
|
@ -181,4 +181,4 @@ def main():
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
|
|
@ -24,7 +24,7 @@ DOCUMENTATION = '''
|
|||
module: digital_ocean
|
||||
short_description: Create/delete a droplet/SSH_key in DigitalOcean
|
||||
description:
|
||||
- Create/delete a droplet in DigitalOcean and optionally wait for it to be 'running', or deploy an SSH key.
|
||||
- Create/delete a droplet in DigitalOcean and optionally wait for it to be 'running', or deploy an SSH key.
|
||||
version_added: "1.3"
|
||||
author: "Vincent Viallet (@zbal)"
|
||||
options:
|
||||
|
|
|
@ -22,14 +22,14 @@ DOCUMENTATION = '''
|
|||
---
|
||||
module: gc_storage
|
||||
version_added: "1.4"
|
||||
short_description: This module manages objects/buckets in Google Cloud Storage.
|
||||
short_description: This module manages objects/buckets in Google Cloud Storage.
|
||||
description:
|
||||
- This module allows users to manage their objects/buckets in Google Cloud Storage. It allows upload and download operations and can set some canned permissions. It also allows retrieval of URLs for objects for use in playbooks, and retrieval of string contents of objects. This module requires setting the default project in GCS prior to playbook usage. See U(https://developers.google.com/storage/docs/reference/v1/apiversion1) for information about setting the default project.
|
||||
|
||||
options:
|
||||
bucket:
|
||||
description:
|
||||
- Bucket name.
|
||||
- Bucket name.
|
||||
required: true
|
||||
object:
|
||||
description:
|
||||
|
@ -55,7 +55,7 @@ options:
|
|||
description:
|
||||
- This option let's the user set the canned permissions on the object/bucket that are created. The permissions that can be set are 'private', 'public-read', 'authenticated-read'.
|
||||
required: false
|
||||
default: private
|
||||
default: private
|
||||
headers:
|
||||
version_added: "2.0"
|
||||
description:
|
||||
|
@ -69,7 +69,7 @@ options:
|
|||
default: null
|
||||
mode:
|
||||
description:
|
||||
- Switches the module behaviour between upload, download, get_url (return download url) , get_str (download object as string), create (bucket) and delete (bucket).
|
||||
- Switches the module behaviour between upload, download, get_url (return download url) , get_str (download object as string), create (bucket) and delete (bucket).
|
||||
required: true
|
||||
default: null
|
||||
choices: [ 'get', 'put', 'get_url', 'get_str', 'delete', 'create' ]
|
||||
|
|
|
@ -22,8 +22,9 @@ try:
|
|||
except ImportError:
|
||||
from quantumclient.quantum import client
|
||||
from keystoneclient.v2_0 import client as ksclient
|
||||
HAVE_DEPS = True
|
||||
except ImportError:
|
||||
print("failed=True msg='quantumclient (or neutronclient) and keystoneclient are required'")
|
||||
HAVE_DEPS = False
|
||||
|
||||
ANSIBLE_METADATA = {'status': ['deprecated'],
|
||||
'supported_by': 'community',
|
||||
|
@ -119,7 +120,10 @@ options:
|
|||
- From the subnet pool the last IP that should be assigned to the virtual machines
|
||||
required: false
|
||||
default: None
|
||||
requirements: ["quantumclient", "neutronclient", "keystoneclient"]
|
||||
requirements:
|
||||
- "python >= 2.6"
|
||||
- "python-neutronclient or python-quantumclient"
|
||||
- "python-keystoneclient"
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
@ -278,6 +282,9 @@ def main():
|
|||
allocation_pool_end = dict(default=None),
|
||||
))
|
||||
module = AnsibleModule(argument_spec=argument_spec)
|
||||
if not HAVE_DEPS:
|
||||
module.fail_json(msg='python-keystoneclient and either python-neutronclient or python-quantumclient are required')
|
||||
|
||||
neutron = _get_neutron_client(module, module.params)
|
||||
_set_tenant_id(module)
|
||||
if module.params['state'] == 'present':
|
||||
|
@ -298,5 +305,6 @@ def main():
|
|||
# this is magic, see lib/ansible/module.params['common.py
|
||||
from ansible.module_utils.basic import *
|
||||
from ansible.module_utils.openstack import *
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ short_description: Retrieve an auth token
|
|||
version_added: "2.0"
|
||||
author: "Monty Taylor (@emonty)"
|
||||
description:
|
||||
- Retrieve an auth token from an OpenStack Cloud
|
||||
- Retrieve an auth token from an OpenStack Cloud
|
||||
requirements:
|
||||
- "python >= 2.6"
|
||||
- "shade"
|
||||
|
|
|
@ -519,24 +519,24 @@ class PyVmomiHelper(object):
|
|||
|
||||
|
||||
def set_powerstate(self, vm, state, force):
|
||||
"""
|
||||
Set the power status for a VM determined by the current and
|
||||
requested states. force is forceful
|
||||
"""
|
||||
"""
|
||||
Set the power status for a VM determined by the current and
|
||||
requested states. force is forceful
|
||||
"""
|
||||
facts = self.gather_facts(vm)
|
||||
expected_state = state.replace('_', '').lower()
|
||||
current_state = facts['hw_power_status'].lower()
|
||||
result = {}
|
||||
|
||||
# Need Force
|
||||
if not force and current_state not in ['poweredon', 'poweredoff']:
|
||||
return "VM is in %s power state. Force is required!" % current_state
|
||||
# Need Force
|
||||
if not force and current_state not in ['poweredon', 'poweredoff']:
|
||||
return "VM is in %s power state. Force is required!" % current_state
|
||||
|
||||
# State is already true
|
||||
if current_state == expected_state:
|
||||
# State is already true
|
||||
if current_state == expected_state:
|
||||
result['changed'] = False
|
||||
result['failed'] = False
|
||||
else:
|
||||
else:
|
||||
task = None
|
||||
try:
|
||||
if expected_state == 'poweredoff':
|
||||
|
@ -602,20 +602,20 @@ class PyVmomiHelper(object):
|
|||
else:
|
||||
facts['ipv4'] = ipaddress
|
||||
|
||||
for idx,entry in enumerate(vm.config.hardware.device):
|
||||
if not hasattr(entry, 'macAddress'):
|
||||
continue
|
||||
for idx,entry in enumerate(vm.config.hardware.device):
|
||||
if not hasattr(entry, 'macAddress'):
|
||||
continue
|
||||
|
||||
factname = 'hw_eth' + str(idx)
|
||||
facts[factname] = {
|
||||
'addresstype': entry.addressType,
|
||||
'label': entry.deviceInfo.label,
|
||||
'macaddress': entry.macAddress,
|
||||
'ipaddresses': netDict.get(entry.macAddress, None),
|
||||
'macaddress_dash': entry.macAddress.replace(':', '-'),
|
||||
'summary': entry.deviceInfo.summary,
|
||||
}
|
||||
facts['hw_interfaces'].append('eth'+str(idx))
|
||||
factname = 'hw_eth' + str(idx)
|
||||
facts[factname] = {
|
||||
'addresstype': entry.addressType,
|
||||
'label': entry.deviceInfo.label,
|
||||
'macaddress': entry.macAddress,
|
||||
'ipaddresses': netDict.get(entry.macAddress, None),
|
||||
'macaddress_dash': entry.macAddress.replace(':', '-'),
|
||||
'summary': entry.deviceInfo.summary,
|
||||
}
|
||||
facts['hw_interfaces'].append('eth'+str(idx))
|
||||
|
||||
return facts
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ options:
|
|||
as privilege escalation requires a shell.
|
||||
required: false
|
||||
version_added: "1.0"
|
||||
description:
|
||||
description:
|
||||
- Executes a low-down and dirty SSH command, not going through the module
|
||||
subsystem. This is useful and should only be done in two cases. The
|
||||
first case is installing C(python-simplejson) on older (Python 2.4 and
|
||||
|
|
|
@ -28,7 +28,7 @@ module: file
|
|||
version_added: "historical"
|
||||
short_description: Sets attributes of files
|
||||
extends_documentation_fragment: files
|
||||
description:
|
||||
description:
|
||||
- Sets attributes of files, symlinks, and directories, or removes
|
||||
files/symlinks/directories. Many other modules support the same options as
|
||||
the M(file) module - including M(copy), M(template), and M(assemble).
|
||||
|
@ -44,7 +44,7 @@ options:
|
|||
- 'path to the file being managed. Aliases: I(dest), I(name)'
|
||||
required: true
|
||||
default: []
|
||||
aliases: ['dest', 'name']
|
||||
aliases: ['dest', 'name']
|
||||
state:
|
||||
description:
|
||||
- If C(directory), all immediate subdirectories will be created if they
|
||||
|
@ -78,7 +78,7 @@ options:
|
|||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
description:
|
||||
- 'force the creation of the symlinks in two cases: the source file does
|
||||
- 'force the creation of the symlinks in two cases: the source file does
|
||||
not exist (but will appear later); the destination exists and is a file (so, we need to unlink the
|
||||
"path" file and create symlink to the "src" file in place of it).'
|
||||
follow:
|
||||
|
|
|
@ -26,7 +26,7 @@ ANSIBLE_METADATA = {'status': ['preview'],
|
|||
DOCUMENTATION = """
|
||||
---
|
||||
module: lineinfile
|
||||
author:
|
||||
author:
|
||||
- "Daniel Hokka Zakrissoni (@dhozac)"
|
||||
- "Ahti Kitsik (@ahtik)"
|
||||
extends_documentation_fragment:
|
||||
|
|
|
@ -72,7 +72,7 @@ notes:
|
|||
|
||||
|
||||
author:
|
||||
- Ansible Core Team
|
||||
- Ansible Core Team
|
||||
- Michael DeHaan
|
||||
extends_documentation_fragment:
|
||||
- files
|
||||
|
|
|
@ -47,10 +47,10 @@ options:
|
|||
description:
|
||||
- "The full URL to the image you wish to use for the Icon of the message. Defaults to U(http://cdn2.hubspot.net/hub/330046/file-769078210-png/Official_Logos/ansible_logo_black_square_small.png?t=1421076128627)"
|
||||
required: false
|
||||
"""
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
- name: Send Hall notifiation
|
||||
- name: Send Hall notifiation
|
||||
local_action:
|
||||
module: hall
|
||||
room_token: <hall room integration token>
|
||||
|
@ -61,7 +61,7 @@ EXAMPLES = """
|
|||
when: ec2.instances|length > 0
|
||||
local_action:
|
||||
module: hall
|
||||
room_token: <hall room integration token>
|
||||
room_token: <hall room integration token>
|
||||
title: Server Creation
|
||||
msg: "Created EC2 instance {{ item.id }} of type {{ item.instance_type }}.\\nInstance can be reached at {{ item.public_ip }} in the {{ item.region }} region."
|
||||
with_items: "{{ ec2.instances }}"
|
||||
|
@ -70,7 +70,7 @@ EXAMPLES = """
|
|||
HALL_API_ENDPOINT = 'https://hall.com/api/1/services/generic/%s'
|
||||
|
||||
def send_request_to_hall(module, room_token, payload):
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
payload=module.jsonify(payload)
|
||||
api_endpoint = HALL_API_ENDPOINT % (room_token)
|
||||
response, info = fetch_url(module, api_endpoint, data=payload, headers=headers)
|
||||
|
@ -87,7 +87,7 @@ def main():
|
|||
picture = dict(type='str', default='http://cdn2.hubspot.net/hub/330046/file-769078210-png/Official_Logos/ansible_logo_black_square_small.png?t=1421076128627'),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
room_token = module.params['room_token']
|
||||
message = module.params['msg']
|
||||
title = module.params['title']
|
||||
|
|
|
@ -78,8 +78,8 @@ options:
|
|||
default: None
|
||||
version_added: "2.1"
|
||||
version:
|
||||
description:
|
||||
- Version of the plugin to be installed.
|
||||
description:
|
||||
- Version of the plugin to be installed.
|
||||
If plugin exists with previous version, it will NOT be updated
|
||||
required: False
|
||||
default: None
|
||||
|
|
|
@ -60,7 +60,7 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
|
||||
|
||||
disablerepo:
|
||||
description:
|
||||
- I(Repoid) of repositories to disable for the install/update operation.
|
||||
|
|
0
lib/ansible/modules/system/group.py
Executable file → Normal file
0
lib/ansible/modules/system/group.py
Executable file → Normal file
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash -eux
|
||||
|
||||
set -o pipefail
|
||||
|
||||
source_root=$(python -c "from os import path; print(path.abspath(path.join(path.dirname('$0'), '../../..')))")
|
||||
|
||||
"${source_root}/test/utils/shippable/${TEST}.sh" 2>&1 | gawk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }'
|
|
@ -1,2 +0,0 @@
|
|||
jinja2
|
||||
pyyaml
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/bash -eux
|
||||
|
||||
set -o pipefail
|
||||
|
||||
ansible_repo_url="https://github.com/ansible/ansible.git"
|
||||
|
||||
build_dir="${SHIPPABLE_BUILD_DIR}"
|
||||
repo="${REPO_NAME}"
|
||||
|
||||
case "${repo}" in
|
||||
"ansible-modules-core")
|
||||
this_module_group="core"
|
||||
other_module_group="extras"
|
||||
;;
|
||||
"ansible-modules-extras")
|
||||
this_module_group="extras"
|
||||
other_module_group="core"
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported repo name: ${repo}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
modules_tmp_dir="${build_dir}.tmp"
|
||||
this_modules_dir="${build_dir}/lib/ansible/modules/${this_module_group}"
|
||||
other_modules_dir="${build_dir}/lib/ansible/modules/${other_module_group}"
|
||||
|
||||
cd /
|
||||
mv "${build_dir}" "${modules_tmp_dir}"
|
||||
git clone "${ansible_repo_url}" "${build_dir}"
|
||||
cd "${build_dir}"
|
||||
rmdir "${this_modules_dir}"
|
||||
mv "${modules_tmp_dir}" "${this_modules_dir}"
|
||||
mv "${this_modules_dir}/shippable" "${build_dir}"
|
||||
git submodule init "${other_modules_dir}"
|
||||
git submodule sync "${other_modules_dir}"
|
||||
git submodule update "${other_modules_dir}"
|
||||
|
||||
pip install -r lib/ansible/modules/${this_module_group}/test/utils/shippable/docs-requirements.txt --upgrade
|
||||
pip list
|
||||
|
||||
source hacking/env-setup
|
||||
|
||||
docs_status=0
|
||||
|
||||
PAGER=/bin/cat \
|
||||
ANSIBLE_DEPRECATION_WARNINGS=false \
|
||||
bin/ansible-doc -l \
|
||||
2>/tmp/ansible-doc.err || docs_status=$?
|
||||
|
||||
if [ -s /tmp/ansible-doc.err ]; then
|
||||
# report warnings as errors
|
||||
echo "Output from 'ansible-doc -l' on stderr is considered an error:"
|
||||
cat /tmp/ansible-doc.err
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${docs_status}" -ne 0 ]; then
|
||||
echo "Running 'ansible-doc -l' failed with no output on stderr and exit code: ${docs_status}"
|
||||
exit 1
|
||||
fi
|
|
@ -1,55 +0,0 @@
|
|||
#!/bin/bash -eux
|
||||
|
||||
set -o pipefail
|
||||
|
||||
ansible_repo_url="https://github.com/ansible/ansible.git"
|
||||
|
||||
is_pr="${IS_PULL_REQUEST}"
|
||||
build_dir="${SHIPPABLE_BUILD_DIR}"
|
||||
repo="${REPO_NAME}"
|
||||
|
||||
if [ "${is_pr}" != "true" ]; then
|
||||
echo "Module integration tests are only supported on pull requests."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "${repo}" in
|
||||
"ansible-modules-core")
|
||||
this_module_group="core"
|
||||
other_module_group="extras"
|
||||
;;
|
||||
"ansible-modules-extras")
|
||||
this_module_group="extras"
|
||||
other_module_group="core"
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported repo name: ${repo}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
modules_tmp_dir="${build_dir}.tmp"
|
||||
this_modules_dir="${build_dir}/lib/ansible/modules/${this_module_group}"
|
||||
other_modules_dir="${build_dir}/lib/ansible/modules/${other_module_group}"
|
||||
|
||||
cd /
|
||||
mv "${build_dir}" "${modules_tmp_dir}"
|
||||
git clone "${ansible_repo_url}" "${build_dir}"
|
||||
cd "${build_dir}"
|
||||
rmdir "${this_modules_dir}"
|
||||
mv "${modules_tmp_dir}" "${this_modules_dir}"
|
||||
mv "${this_modules_dir}/shippable" "${build_dir}"
|
||||
git submodule init "${other_modules_dir}"
|
||||
git submodule sync "${other_modules_dir}"
|
||||
git submodule update "${other_modules_dir}"
|
||||
|
||||
pip install -r test/utils/shippable/modules/generate-tests-requirements.txt --upgrade
|
||||
pip list
|
||||
|
||||
source hacking/env-setup
|
||||
|
||||
test/utils/shippable/modules/generate-tests "${this_module_group}" --verbose --output /tmp/integration.sh >/dev/null
|
||||
|
||||
if [ -f /tmp/integration.sh ]; then
|
||||
/bin/bash -eux /tmp/integration.sh
|
||||
fi
|
|
@ -1 +0,0 @@
|
|||
/cloud/[^/]+/(?!(ec2_facts.py|_ec2_ami_search.py))
|
|
@ -1,41 +0,0 @@
|
|||
#!/bin/bash -eux
|
||||
|
||||
source_root=$(python -c "from os import path; print(path.abspath(path.join(path.dirname('$0'), '../../..')))")
|
||||
|
||||
install_deps="${INSTALL_DEPS:-}"
|
||||
|
||||
cd "${source_root}"
|
||||
|
||||
# FIXME REPOMERGE: No need to checkout ansible
|
||||
build_dir=$(mktemp -d)
|
||||
trap 'rm -rf "${build_dir}"' EXIT
|
||||
|
||||
git clone "https://github.com/ansible/ansible.git" "${build_dir}" --recursive
|
||||
source "${build_dir}/hacking/env-setup"
|
||||
# REPOMERGE: END
|
||||
|
||||
if [ "${install_deps}" != "" ]; then
|
||||
add-apt-repository ppa:fkrull/deadsnakes
|
||||
apt-add-repository 'deb http://archive.ubuntu.com/ubuntu trusty-backports universe'
|
||||
apt-get update -qq
|
||||
|
||||
apt-get install -qq shellcheck python2.4
|
||||
|
||||
# Install dependencies for ansible and validate_modules
|
||||
pip install -r "${build_dir}/test/utils/shippable/sanity-requirements.txt" --upgrade
|
||||
pip list
|
||||
|
||||
fi
|
||||
|
||||
validate_modules="${build_dir}/test/sanity/validate-modules/validate-modules"
|
||||
|
||||
python2.4 -m compileall -fq -x "($(printf %s "$(< "test/utils/shippable/sanity-skip-python24.txt"))" | tr '\n' '|')" .
|
||||
python2.6 -m compileall -fq .
|
||||
python2.7 -m compileall -fq .
|
||||
python3.5 -m compileall -fq .
|
||||
|
||||
ANSIBLE_DEPRECATION_WARNINGS=false \
|
||||
"${validate_modules}" --exclude '/utilities/|/shippable(/|$)' .
|
||||
|
||||
shellcheck \
|
||||
test/utils/shippable/*.sh
|
|
@ -87,7 +87,7 @@ Function UserSearch
|
|||
{
|
||||
#Search by samaccountname
|
||||
$Searcher = [adsisearcher]""
|
||||
|
||||
|
||||
If ($searchDomainUPN -eq $false) {
|
||||
$Searcher.Filter = "sAMAccountName=$($accountName)"
|
||||
}
|
||||
|
|
|
@ -67,4 +67,4 @@ Remove-Item $logfile;
|
|||
|
||||
Set-Attr $result "log" $logcontents;
|
||||
|
||||
Exit-Json $result;
|
||||
Exit-Json $result;
|
|
@ -28,7 +28,7 @@ Function UserSearch
|
|||
$searchDomain = $false
|
||||
$searchDomainUPN = $false
|
||||
if ($accountName.Split("\").count -gt 1)
|
||||
{
|
||||
{
|
||||
if ($accountName.Split("\")[0] -ne $env:COMPUTERNAME)
|
||||
{
|
||||
$searchDomain = $true
|
||||
|
|
|
@ -66,7 +66,7 @@ options:
|
|||
- If this file or directory exists the specified src will not be extracted.
|
||||
required: no
|
||||
default: null
|
||||
author: Phil Schwartz
|
||||
author: Phil Schwartz
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
|
Loading…
Reference in a new issue