e4561805d277eec006aeb332ce60e9d167bc3ba1
[genesis.git] / fuel / build / f_lith_odl_docker / puppet / modules / opnfv / manifests / odl_lith_docker.pp
1 class opnfv::odl_lith_docker
2 {
3   case $::fuel_settings['role'] {
4     /controller/: {
5
6       file { '/opt':
7         ensure => 'directory',
8       }
9
10       file { '/opt/opnfv':
11         ensure => 'directory',
12         owner  => 'root',
13         group  => 'root',
14         mode   => 777,
15       }
16
17       file { '/opt/opnfv/odl':
18         ensure => 'directory',
19       }
20
21       file { '/opt/opnfv/odl/lithium':
22         ensure => 'directory',
23       }
24
25       file { '/opt/opnfv/odl/lithium/odl_docker_image.tar':
26         ensure => present,
27         source => '/etc/puppet/modules/opnfv/odl_docker/Lithium_rc0/odl_docker_image.tar',
28         mode   => 750,
29       }
30
31       file { '/opt/opnfv/odl/lithium/docker-latest':
32         ensure => present,
33         source => '/etc/puppet/modules/opnfv/odl_docker/Lithium_rc0/docker-latest',
34         mode   => 750,
35       }
36
37       file { '/opt/opnfv/odl/start_odl_container.sh':
38         ensure => present,
39         source => '/etc/puppet/modules/opnfv/scripts/start_odl_container.sh',
40         mode   => 750,
41       }
42       file { '/opt/opnfv/odl/stage_odl.sh':
43         ensure => present,
44         source => '/etc/puppet/modules/opnfv/scripts/stage_odl.sh',
45         mode   => 750,
46       }
47       file { '/opt/opnfv/odl/config_net_odl.sh':
48         ensure => present,
49         source => '/etc/puppet/modules/opnfv/scripts/config_net_odl.sh',
50         mode   => 750,
51       }
52       file { '/opt/opnfv/odl/change.sh':
53         ensure => present,
54         source => '/etc/puppet/modules/opnfv/scripts/change.sh',
55         mode   => 750,
56       }
57
58
59       # fix failed to find the cgroup root issue
60       # https://github.com/docker/docker/issues/8791
61       case $::operatingsystem {
62         'ubuntu': {
63           package {'cgroup-lite':
64             ensure => present,
65           }
66
67           service {'cgroup-lite':
68             ensure  => running,
69             enable  => true,
70             require => Package['cgroup-lite'],
71           }
72         }
73         'centos': {
74           package {'docker-io':
75             ensure => latest,
76           }
77         }
78       }
79     }
80   }
81 }