Split deployment on compute role
Change-Id: I6a9b881016a51444a114a56dbb4d9edd3062b59e
This commit is contained in:
parent
307b841265
commit
702c99c96c
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,17 +12,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
notice('MODULAR: contrail/compute-config.pp')
|
notice('MODULAR: contrail/contrail-compute-firewall.pp')
|
||||||
|
|
||||||
$node_role = 'compute'
|
|
||||||
include contrail
|
include contrail
|
||||||
|
class { 'contrail::compute::firewall': }
|
||||||
class { 'contrail::provision_compute': } ->
|
|
||||||
class { 'contrail::network':
|
|
||||||
node_role => $node_role,
|
|
||||||
address => $contrail::address,
|
|
||||||
ifname => $contrail::phys_dev,
|
|
||||||
netmask => $contrail::netmask_short,
|
|
||||||
} ->
|
|
||||||
class { 'contrail::compute': } ->
|
|
||||||
class { 'contrail::vrouter': }
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Copyright 2016 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
notice('MODULAR: contrail/contrail-compute-network.pp')
|
||||||
|
|
||||||
|
include contrail
|
||||||
|
class { 'contrail::compute::network': }
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Copyright 2016 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
notice('MODULAR: contrail/contrail-compute-nova.pp')
|
||||||
|
|
||||||
|
include contrail
|
||||||
|
class { 'contrail::compute::nova': }
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Copyright 2016 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
notice('MODULAR: contrail/contrail-compute-provision.pp')
|
||||||
|
|
||||||
|
include contrail
|
||||||
|
class { 'contrail::compute::provision': }
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
notice('MODULAR: contrail/compute-repo.pp')
|
notice('MODULAR: contrail/contrail-compute-repo.pp')
|
||||||
|
|
||||||
file { '/etc/apt/preferences.d/contrail-pin-110':
|
file { '/etc/apt/preferences.d/contrail-pin-110':
|
||||||
ensure => file,
|
ensure => file,
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Copyright 2016 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
notice('MODULAR: contrail/contrail-compute-vrouter.pp')
|
||||||
|
|
||||||
|
include contrail
|
||||||
|
class { 'contrail::compute::vrouter': }
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# 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 contrail::compute::firewall {
|
||||||
|
|
||||||
|
$ipv4_file = $::operatingsystem ? {
|
||||||
|
'Ubuntu' => '/etc/iptables/rules.v4',
|
||||||
|
'CentOS' => '/etc/sysconfig/iptables',
|
||||||
|
}
|
||||||
|
|
||||||
|
exec {'flush_nat':
|
||||||
|
command => '/sbin/iptables -t nat -F'
|
||||||
|
} ->
|
||||||
|
|
||||||
|
firewall {'0000 metadata service':
|
||||||
|
source => '169.254.0.0/16',
|
||||||
|
iniface => 'vhost0',
|
||||||
|
action => 'accept'
|
||||||
|
} ->
|
||||||
|
|
||||||
|
firewall {'0001 juniper contrail rules':
|
||||||
|
proto => 'tcp',
|
||||||
|
dport => ['2049','8085','9090','8102','33617','39704','44177','55970','60663'],
|
||||||
|
action => 'accept'
|
||||||
|
} ->
|
||||||
|
|
||||||
|
exec { 'persist-firewall':
|
||||||
|
command => "/sbin/iptables-save > ${ipv4_file}",
|
||||||
|
user => 'root',
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,16 +12,16 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
class contrail::network (
|
class contrail::compute::network {
|
||||||
$node_role,
|
$node_role = 'compute'
|
||||||
$address,
|
$address = $contrail::address
|
||||||
$ifname = undef,
|
$ifname = $contrail::phys_dev
|
||||||
$netmask,
|
$netmask = $contrail::netmask_short
|
||||||
$default_gw = undef
|
$default_gw = undef
|
||||||
) {
|
|
||||||
$br_file = $::operatingsystem ? {
|
$br_file = $::operatingsystem ? {
|
||||||
'Ubuntu' => '/etc/network/interfaces.d/ifcfg-br-mesh',
|
'Ubuntu' => '/etc/network/interfaces.d/ifcfg-br-mesh',
|
||||||
'CentOS' => '/etc/sysconfig/network-scripts/ifcfg-br-mesh',
|
'CentOS' => '/etc/sysconfig/network-scripts/ifcfg-br-mesh',
|
||||||
}
|
}
|
||||||
|
|
||||||
Exec {
|
Exec {
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
class contrail::compute {
|
class contrail::compute::nova {
|
||||||
|
|
||||||
nova_config {
|
nova_config {
|
||||||
'DEFAULT/neutron_url': value => "http://${contrail::mos_mgmt_vip}:9696";
|
'DEFAULT/neutron_url': value => "http://${contrail::mos_mgmt_vip}:9696";
|
||||||
|
@ -31,30 +31,4 @@ class contrail::compute {
|
||||||
enable => true,
|
enable => true,
|
||||||
}
|
}
|
||||||
|
|
||||||
$ipv4_file = $::operatingsystem ? {
|
|
||||||
'Ubuntu' => '/etc/iptables/rules.v4',
|
|
||||||
'CentOS' => '/etc/sysconfig/iptables',
|
|
||||||
}
|
|
||||||
|
|
||||||
exec {'flush_nat':
|
|
||||||
command => '/sbin/iptables -t nat -F'
|
|
||||||
} ->
|
|
||||||
|
|
||||||
firewall {'0000 metadata service':
|
|
||||||
source => '169.254.0.0/16',
|
|
||||||
iniface => 'vhost0',
|
|
||||||
action => 'accept'
|
|
||||||
} ->
|
|
||||||
|
|
||||||
firewall {'0001 juniper contrail rules':
|
|
||||||
proto => 'tcp',
|
|
||||||
dport => ['2049','8085','9090','8102','33617','39704','44177','55970','60663'],
|
|
||||||
action => 'accept'
|
|
||||||
} ->
|
|
||||||
|
|
||||||
exec { 'persist-firewall':
|
|
||||||
command => "/sbin/iptables-save > ${ipv4_file}",
|
|
||||||
user => 'root',
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,16 +12,18 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
class contrail::provision_compute {
|
class contrail::compute::provision {
|
||||||
|
|
||||||
Exec {
|
Exec {
|
||||||
provider => 'shell',
|
provider => 'shell',
|
||||||
path => '/bin:/sbin:/usr/bin:/usr/sbin',
|
path => '/bin:/sbin:/usr/bin:/usr/sbin',
|
||||||
}
|
}
|
||||||
|
|
||||||
package { 'contrail-utils':
|
package { 'contrail-utils':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
} ->
|
} ->
|
||||||
|
file { '/opt/contrail':
|
||||||
|
ensure => 'directory',
|
||||||
|
} ->
|
||||||
exec { 'provision-vrouter':
|
exec { 'provision-vrouter':
|
||||||
command => "contrail-provision-vrouter \
|
command => "contrail-provision-vrouter \
|
||||||
--api_server_ip ${contrail::contrail_mgmt_vip} --api_server_port 8082 --openstack_ip ${contrail::mos_mgmt_vip} \
|
--api_server_ip ${contrail::contrail_mgmt_vip} --api_server_port 8082 --openstack_ip ${contrail::mos_mgmt_vip} \
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2015 Mirantis, Inc.
|
# Copyright 2016 Mirantis, Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# 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
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
class contrail::vrouter {
|
class contrail::compute::vrouter {
|
||||||
|
|
||||||
class { 'contrail::package':
|
class { 'contrail::package':
|
||||||
install => ['contrail-openstack-vrouter','contrail-vrouter-dkms','iproute2','haproxy','libatm1'],
|
install => ['contrail-openstack-vrouter','contrail-vrouter-dkms','iproute2','haproxy','libatm1'],
|
|
@ -254,12 +254,48 @@
|
||||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
timeout: 720
|
timeout: 720
|
||||||
# Remove Open vSwitch packages, install and configure Contrail vRouter dkms kernel module
|
# Remove Open vSwitch packages, install and configure Contrail vRouter dkms kernel module
|
||||||
- id: compute-config
|
- id: contrail-compute-provision
|
||||||
|
type: puppet
|
||||||
|
role: [compute]
|
||||||
|
required_for: [post_deployment_end, contrail-compute-network]
|
||||||
|
requires: [post_deployment_start]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/contrail-compute-provision.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 720
|
||||||
|
- id: contrail-compute-network
|
||||||
|
type: puppet
|
||||||
|
role: [compute]
|
||||||
|
required_for: [post_deployment_end, contrail-compute-nova]
|
||||||
|
requires: [post_deployment_start]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/contrail-compute-network.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 720
|
||||||
|
- id: contrail-compute-nova
|
||||||
|
type: puppet
|
||||||
|
role: [compute]
|
||||||
|
required_for: [post_deployment_end, contrail-compute-firewall]
|
||||||
|
requires: [post_deployment_start]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/contrail-compute-nova.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 720
|
||||||
|
- id: contrail-compute-firewall
|
||||||
|
type: puppet
|
||||||
|
role: [compute]
|
||||||
|
required_for: [post_deployment_end, contrail-compute-vrouter]
|
||||||
|
requires: [post_deployment_start]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/contrail-compute-firewall.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 720
|
||||||
|
- id: contrail-compute-vrouter
|
||||||
type: puppet
|
type: puppet
|
||||||
role: [compute]
|
role: [compute]
|
||||||
required_for: [post_deployment_end]
|
required_for: [post_deployment_end]
|
||||||
requires: [post_deployment_start]
|
requires: [post_deployment_start]
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: puppet/manifests/compute-config.pp
|
puppet_manifest: puppet/manifests/contrail-compute-vrouter.pp
|
||||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
timeout: 720
|
timeout: 720
|
||||||
|
|
|
@ -11,6 +11,6 @@
|
||||||
type: puppet
|
type: puppet
|
||||||
stage: pre_deployment
|
stage: pre_deployment
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: puppet/manifests/compute-repo.pp
|
puppet_manifest: puppet/manifests/contrail-compute-repo.pp
|
||||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
timeout: 720
|
timeout: 720
|
Loading…
Reference in New Issue