added changes for ssl and vhost

Change-Id: I986e3652dfd69684161536306474c3cc70dec755
This commit is contained in:
sandip-calsoft 2016-09-02 14:11:25 +00:00
parent 8771787f7c
commit c7934a9624
4 changed files with 110 additions and 47 deletions

View File

@ -100,9 +100,9 @@ class midonet::mem(
$analytics_ip = $::ipaddress,
$cluster_ip = $::ipaddress,
$is_insights = false,
$mem_api_namespace = 'midonet-api',
$mem_trace_namespace = 'trace',
$mem_analytics_namespace = 'analytics',
$mem_api_namespace = undef,
$mem_trace_namespace = undef,
$mem_analytics_namespace = undef,
$mem_package = $::midonet::params::mem_package,
$mem_install_path = $::midonet::params::mem_install_path,
$mem_login_host = "http://${cluster_ip}:8181",
@ -116,11 +116,13 @@ class midonet::mem(
$mem_poll_enabled = $::midonet::params::mem_poll_enabled,
$mem_login_animation_enabled = $::midonet::params::mem_login_animation_enabled,
$mem_config_file = $::midonet::params::mem_config_file,
$mem_apache_port = $::midonet::params::mem_apache_port,
$mem_apache_docroot = $::midonet::params::mem_apache_docroot,
$mem_apache_servername = $::midonet::params::mem_apache_servername,
$mem_apache_servername = $cluster_ip,
$mem_apache_docroot = undef,
$mem_apache_port = undef,
$mem_proxy_preserve_host = undef,
$is_ssl = false,
$ssl_cert = '',
$ssl_key = '',
) inherits midonet::params {
include midonet::repository
@ -156,12 +158,39 @@ class midonet::mem(
require => Package['midonet-manager']
}
class { 'midonet::mem::vhost':
mem_apache_port => $mem_apache_port,
mem_apache_docroot => $mem_apache_docroot,
mem_apache_servername => $mem_apache_servername,
mem_api_namespace => $mem_api_namespace,
mem_api_host => $mem_api_host
if $is_ssl {
if $ssl_cert == '' or $ssl_key == '' {
fail('SSL key and cert are empty. Please provide value for them Or make is_ssl - false')
}
class {'midonet::mem::vhost':
cluster_ip => $cluster_ip,
analytics_ip => $analytics_ip,
is_insights => $is_insights,
mem_apache_servername => $mem_apache_servername,
mem_apache_docroot => $mem_apache_docroot,
mem_api_namespace => $mem_api_namespace,
mem_trace_namespace => $mem_trace_namespace,
mem_analytics_namespace => $mem_analytics_namespace,
mem_proxy_preserve_host => $mem_proxy_preserve_host,
mem_apache_port => $mem_apache_port,
is_ssl => $is_ssl,
ssl_cert => $ssl_cert,
ssl_key => $ssl_key,
}
}
else {
class {'midonet::mem::vhost':
cluster_ip => $cluster_ip,
analytics_ip => $analytics_ip,
is_insights => $is_insights,
mem_apache_servername => $mem_apache_servername,
mem_apache_docroot => $mem_apache_docroot,
mem_api_namespace => $mem_api_namespace,
mem_trace_namespace => $mem_trace_namespace,
mem_analytics_namespace => $mem_analytics_namespace,
mem_proxy_preserve_host => $mem_proxy_preserve_host,
mem_apache_port => $mem_apache_port,
is_ssl => $is_ssl,
}
}
}

View File

@ -42,17 +42,19 @@
# Copyright (c) 2016 Midokura SARL, All Rights Reserved.
class midonet::mem::vhost (
$analytics_ip = $::ipaddress,
$analytics_ip = $::ipaddress,
$cluster_ip = $::ipaddress,
$is_insights = false,
$mem_apache_port = $::midonet::params::mem_apache_port,
$mem_apache_docroot = $::midonet::params::mem_apache_docroot,
$mem_apache_servername = $::midonet::params::mem_apache_servername,
$mem_api_host = $::midonet::params::mem_api_host,
$mem_apache_docroot = $::midonet::params::mem_apache_docroot,
$mem_api_namespace = $::midonet::params::mem_api_namespace,
$mem_trace_namespace = $::midonet::params::mem_trace_namespace,
$mem_analytics_namespace = $::midonet::params::mem_analytics_namespace,
$mem_proxy_preserve_host = true
$mem_proxy_preserve_host = $::midonet::params::mem_proxy_preserve_host,
$mem_apache_port = $::midonet::params::mem_apache_port,
$is_ssl = undef,
$ssl_cert = undef,
$ssl_key = undef,
) inherits midonet::params {
$aliases = [
@ -62,6 +64,13 @@ class midonet::mem::vhost (
},
]
$headers = [
'set Access-Control-Allow-Origin *',
'append Access-Control-Allow-Headers Content-Type',
'append Access-Control-Allow-Headers X-Auth-Token',
]
if $is_insights {
$proxy_pass = [
@ -86,26 +95,50 @@ class midonet::mem::vhost (
'path' => "/${mem_api_namespace}",
'url' => "http://${cluster_ip}:8181/midonet-api",
},
{
'path' => "/${mem_trace_namespace}",
'url' => "wss://${cluster_ip}:8460/trace",
},
]
}
validate_array($proxy_pass)
validate_string($mem_apache_docroot)
include ::apache
include ::apache::mod::headers
include ::apache::mod::proxy
include ::apache::mod::proxy_http
apache::vhost { 'midonet-mem':
servername => $mem_apache_servername,
docroot => $mem_apache_docroot,
proxy_preserve_host => $mem_proxy_preserve_host,
proxy_pass => $proxy_pass,
headers => [
'set Access-Control-Allow-Origin *',
'append Access-Control-Allow-Headers Content-Type',
'append Access-Control-Allow-Headers X-Auth-Token',
],
aliases => $aliases,
require => Package[$midonet::params::mem_package],
if $is_ssl {
apache::vhost { 'midonet-mem':
servername => $mem_apache_servername,
docroot => $mem_apache_docroot,
proxy_preserve_host => $mem_proxy_preserve_host,
proxy_pass => $proxy_pass,
headers => $headers,
aliases => $aliases,
ssl => true,
ssl_proxyengine => true,
ssl_cert => $ssl_cert,
ssl_key => $ssl_key,
ssl_proxy_verify => none,
ssl_proxy_check_peer_cn => off,
ssl_proxy_check_peer_name => off,
ssl_proxy_check_peer_expire => off,
require => Package[$midonet::params::mem_package],
}
}
else {
apache::vhost { 'midonet-mem':
servername => $mem_apache_servername,
docroot => $mem_apache_docroot,
proxy_preserve_host => $mem_proxy_preserve_host,
proxy_pass => $proxy_pass,
headers => $headers,
aliases => $aliases,
require => Package[$midonet::params::mem_package],
}
}
}

View File

@ -21,26 +21,27 @@ class midonet::params {
$mem_package = 'midonet-manager'
$mem_install_path = '/var/www/html/midonet-manager'
# MEM Manager config.js parameters
$mem_agent_config_api_namespace = 'conf'
$mem_analytics_ws_api_url = "wss://${::ipaddress}:8080/analytics"
$mem_api_host = "http://${::ipaddress}:8181"
$mem_api_namespace = 'midonet-api'
$mem_api_token = false
$mem_api_version = '5.0'
$mem_login_host = "http://${::ipaddress}:8181"
$mem_poll_enabled = true
$mem_login_animation_enabled = true
$mem_trace_api_host = "http://${::ipaddress}:8181"
$mem_traces_ws_url = "wss://${::ipaddress}:8460"
$mem_config_file = "${mem_install_path}/config/client.js"
$mem_api_namespace = 'midonet-api'
$mem_trace_namespace = 'trace'
$mem_analytics_namespace = 'analytics'
$mem_proxy_preserve_host = true
# MEM vhost parameters for apache conf
$mem_apache_port = '80'
$mem_apache_servername = "http://${::ipaddress}"
$mem_apache_servername = $::ipaddress
$mem_apache_docroot = '/var/www/html'
# OS configuration
$gem_bin_path = '/usr/bin/gem'
}

View File

@ -4,14 +4,14 @@
"trace_api_host": "<%= @mem_trace_api_host %>",
"traces_ws_url": "<%= @mem_traces_ws_url %>",
"api_namespace": "<%= @mem_api_namespace %>",
"api_namespace": "midonet-api",
"api_version": "<%= @mem_api_version %>",
"api_token": "<%= @mem_api_token %>",
"api_token": false,
<% if !@mem_api_token %>
"api_token": false,
<% else %>
"api_token": <%= @mem_api_token %>,
<% end %>
"agent_config_api_namespace": "<%= @mem_agent_config_api_namespace %>",
"agent_config_api_namespace": "conf",
"analytics_ws_api_url": "<%= @mem_analytics_ws_api_url %>",
"poll_enabled": "<%= @mem_poll_enabled %>",
"login_animation_enabled": "<%= @mem_login_animation_enabled %>"
"poll_enabled": <%= @mem_poll_enabled %>,
"login_animation_enabled": <%= @mem_login_animation_enabled %>
}