 eb5b66fd9e
			
		
	
	eb5b66fd9e
	
	
	
		
			
			Because OSP6 does not support spice console, we switch the default to "novnc" in HAproxy, nova console proxy and nova compute services. Change-Id: Ia8508eabe4eb403629b3f669e2ef5c88e0304bc2
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
| #
 | |
| # Copyright (C) 2014 eNovance SAS <licensing@enovance.com>
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may
 | |
| # not use this file except in compliance with the License. You may obtain
 | |
| # a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | |
| # License for the specific language governing permissions and limitations
 | |
| # under the License.
 | |
| #
 | |
| # == Class: cloud::compute::consoleproxy
 | |
| #
 | |
| # Compute Proxy Console node
 | |
| #
 | |
| # === Parameters:
 | |
| #
 | |
| # [*api_eth*]
 | |
| #   (optional) Hostname or IP to bind Nova spicehtmlproxy service.
 | |
| #   Defaults to '127.0.0.1'
 | |
| #
 | |
| # [*console*]
 | |
| #   (optional) Nova's console type (spice or novnc)
 | |
| #   Defaults to 'novnc'
 | |
| #
 | |
| # [*novnc_port*]
 | |
| #   (optional) TCP port to bind Nova novnc service.
 | |
| #   Defaults to '6080'
 | |
| #
 | |
| # [*spice_port*]
 | |
| #   (optional) TCP port to bind Nova spicehtmlproxy service.
 | |
| #   Defaults to '6082'
 | |
| #
 | |
| # [*firewall_settings*]
 | |
| #   (optional) Allow to add custom parameters to firewall rules
 | |
| #   Should be an hash.
 | |
| #   Default to {}
 | |
| #
 | |
| class cloud::compute::consoleproxy(
 | |
|   $api_eth           = '127.0.0.1',
 | |
|   $console           = 'novnc',
 | |
|   $novnc_port        = '6080',
 | |
|   $spice_port        = '6082',
 | |
|   $firewall_settings = {},
 | |
| ){
 | |
| 
 | |
|   include 'cloud::compute'
 | |
| 
 | |
|   case $console {
 | |
|     'spice': {
 | |
|       $port  = $spice_port
 | |
|       $proxy = 'spicehtml5proxy'
 | |
|     }
 | |
|     'novnc': {
 | |
|       $port  = $novnc_port
 | |
|       $proxy = 'vncproxy'
 | |
|     }
 | |
|     default: {
 | |
|       fail("Unsupported console type ${console}")
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   class { "nova::${proxy}":
 | |
|     enabled => true,
 | |
|     host    => $api_eth,
 | |
|     port    => $port
 | |
|   }
 | |
| 
 | |
|   if $::cloud::manage_firewall {
 | |
|     cloud::firewall::rule{ "100 allow ${console} access":
 | |
|       port   => $port,
 | |
|       extras => $firewall_settings,
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   @@haproxy::balancermember{"${::fqdn}-compute_${console}":
 | |
|     listening_service => "${console}_cluster",
 | |
|     server_names      => $::hostname,
 | |
|     ipaddresses       => $api_eth,
 | |
|     ports             => $port,
 | |
|     options           => 'check inter 2000 rise 2 fall 5'
 | |
|   }
 | |
| }
 |