Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix linux web app java linux_fx_version #44715

Merged
merged 3 commits into from
Aug 28, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
29 changes: 21 additions & 8 deletions lib/ansible/modules/cloud/azure/azure_rm_webapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
- node supported value sample, 6.6, 6.9.
- dotnetcore supported value sample, 1.0, 1,1, 1.2.
- ruby supported value sample, 2.3.
- java supported value sample, 1.8, 1.9 for windows web app. 8 for linux web app.
settings:
description:
- List of settings of the framework.
Expand Down Expand Up @@ -254,10 +255,10 @@
testkey: testvalue
frameworks:
- name: "java"
version: "1.8"
version: "8"
settings:
java_container: "Tomcat"
java_container_version: "8.0"
java_container_version: "8.5"
'''

RETURN = '''
Expand Down Expand Up @@ -299,8 +300,8 @@


framework_settings_spec = dict(
java_container=dict(type='str'),
java_container_version=dict(type='str')
java_container=dict(type='str', required=True),
java_container_version=dict(type='str', required=True)
)


Expand Down Expand Up @@ -536,17 +537,29 @@ def exec_module(self, **kwargs):
self.fail('Unsupported framework {0} for Linux web app.'.format(self.frameworks[0]['name']))

self.site_config['linux_fx_version'] = (self.frameworks[0]['name'] + '|' + self.frameworks[0]['version']).upper()

if self.frameworks[0]['name'] == 'java':
if self.frameworks[0]['version'] != '8':
self.fail("Linux web app only supports java 8.")
if self.frameworks[0]['settings'] and self.frameworks[0]['settings']['java_container'].lower() != 'tomcat':
self.fail("Linux web app only supports tomcat container.")

if self.frameworks[0]['settings'] and self.frameworks[0]['settings']['java_container'].lower() == 'tomcat':
self.site_config['linux_fx_version'] = 'TOMCAT|' + self.frameworks[0]['settings']['java_container_version'] + '-jre8'
else:
self.site_config['linux_fx_version'] = 'JAVA|8-jre8'
else:
for fx in self.frameworks:
if fx.get('name') not in self.supported_windows_frameworks:
self.fail('Unsupported framework {0} for Windows web app.'.format(fx.get('name')))
else:
self.site_config[fx.get('name') + '_version'] = fx.get('version')

for fx in self.frameworks:
if 'settings' in fx and fx['settings'] is not None:
for key, value in fx['settings'].items():
self.site_config[key] = value
if not is_linux:
for fx in self.frameworks:
if 'settings' in fx and fx['settings'] is not None:
for key, value in fx['settings'].items():
self.site_config[key] = value

if not self.app_settings:
self.app_settings = dict()
Expand Down
21 changes: 20 additions & 1 deletion test/integration/targets/azure_rm_webapp/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,23 @@
- name: "node"
version: "6.6"
register: fail_linux_one_framework_only
failed_when: fail_linux_one_framework_only.msg != "Can specify one framework only for Linux web app."
failed_when: fail_linux_one_framework_only.msg != "Can specify one framework only for Linux web app."

- name: Create a linux web app with java tomcat container
azure_rm_webapp:
resource_group: "{{ resource_group }}"
name: "{{ win_app_name }}13"
plan:
resource_group: "{{ linux_app_plan_resource_group }}"
name: "{{ linux_plan_name }}"
frameworks:
- name: java
version: "8"
settings:
java_container: "tomcat"
java_container_version: "8.5"
register: output

- name: Assert the web app was created
assert:
that: output.changed