Skip to content

Commit 6b0233e

Browse files
authored
Add cloudera-deploy playbooks (#146)
* Move cloudera-deploy Public Cloud playbooks into collection * Add PVC playbooks * Remove CSP collections from dependencies * Add CDP Public Cloud infrastructure playbooks * Update runlevel tags * Add default definition path and remove user profile and tasklist defaults * Remove version debug * Remove user profile and "basic" cluster * Remove redundant runlevel parameters * Update task name for clarity * Add CDE service loadbalancer CIDRs * Update README and galaxy.yml for optional collections Signed-off-by: Webster Mudge <[email protected]>
1 parent 7edfe97 commit 6b0233e

18 files changed

+1002
-101
lines changed

README.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,15 @@ The collection has several dependencies that should resolve automatically via th
2626
- [cloudera.cloud](https://github.com/cloudera-labs/cloudera.cloud.git) (on Cloudera Labs)
2727
- [ansible.netcommon](https://github.com/ansible-collections/ansible.netcommon)
2828
- [community.general](https://github.com/ansible-collections/community.general)
29-
- [community.aws](https://github.com/ansible-collections/community.aws)
30-
- [amazon.aws](https://github.com/ansible-collections/amazon.aws)
31-
- [azure.azcollection](https://github.com/ansible-collections/azure)
32-
- [google.cloud](https://github.com/ansible-collections/google.cloud)
33-
- [netapp.azure](https://github.com/ansible-collections/netapp.azure)
29+
30+
You may want to install additional cloud provider collections depending on your target platform:
31+
32+
| Cloud Provider | Dependency | Version |
33+
| Azure | [azure.azcollection](https://github.com/ansible-collections/azure) | `1.11.0` |
34+
|| [netapp.azure](https://github.com/ansible-collections/netapp.azure) | `21.10.0` |
35+
| AWS | [amazon.aws](https://github.com/ansible-collections/amazon.aws) | `3.0.0` |
36+
|| [community.aws](https://github.com/ansible-collections/community.aws) | `3.0.1` |
37+
| GCP | [google.cloud](https://github.com/ansible-collections/google.cloud) | `1.0.2` |
3438

3539
## Option #1: Install from GitHub
3640

@@ -74,6 +78,9 @@ The collection requires Ansible `2.10.0` or higher.
7478
+ `cloudera.cloud`
7579
+ `ansible.netcommon`
7680
+ `community.general`
81+
82+
You will need to add the following, depending on your target deployment:
83+
7784
+ `community.aws`
7885
+ `amazon.aws`
7986
+ `azure.azcollection`

galaxy.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,28 @@
1616

1717
namespace: cloudera
1818
name: exe
19-
version: 1.7.5
19+
version: 2.0.0-rc1
2020
readme: README.md
2121
authors:
2222
- Webster Mudge <[email protected]>
23-
- Daniel Chaffelson <[email protected]>
23+
- Daniel Chaffelson
2424

2525
description: >
2626
A set of roles and other artifacts that encapsulate best practices and opinionated
2727
deployment and management processes for Cloudera Data Platform (CDP) Public Cloud
28-
and Private Cloud, including Private Cloud Base, deployments.
28+
and Private Cloud deployments.
2929
license_file: LICENSE
3030
tags:
3131
- cloudera
3232
- cdp
3333
- azure
34-
- ec2
34+
- aws
3535
- gcp
36-
- openstack
3736

3837
dependencies:
3938
'git+https://github.com/cloudera-labs/cloudera.cloud.git': 'main'
4039
'ansible.netcommon': '2.5.1'
41-
'community.aws': '3.0.1'
4240
'community.general': '4.5.0'
43-
'amazon.aws': '3.0.0'
44-
'azure.azcollection': '1.11.0'
45-
'google.cloud': '1.0.2'
46-
'netapp.azure': '21.10.0'
4741

4842
repository: https://github.com/cloudera-labs/cloudera.exe
4943
# TODO: Set documentation URL

playbooks/pbc_infra_setup.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
3+
# Copyright 2023 Cloudera, Inc. All Rights Reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
- name: Set up CDP Public Cloud infrastructure (Ansible-based)
18+
hosts: "{{ target | default('localhost') }}"
19+
environment: "{{ globals.env_vars }}"
20+
gather_facts: yes
21+
tasks:
22+
- name: Validate CDP Public Cloud infrastructure configuration
23+
ansible.builtin.import_role:
24+
name: cloudera.exe.infrastructure
25+
tasks_from: validate
26+
tags:
27+
- validate
28+
- initialize
29+
- infra
30+
31+
- name: Initialize CDP Public Cloud infrastructure setup
32+
ansible.builtin.import_role:
33+
name: cloudera.exe.infrastructure
34+
tasks_from: initialize_setup
35+
tags:
36+
- initialize
37+
- infra
38+
39+
- name: Set up CDP Public Cloud infrastructure
40+
ansible.builtin.import_role:
41+
name: cloudera.exe.infrastructure
42+
tasks_from: setup
43+
tags:
44+
- infra

playbooks/pbc_infra_teardown.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
3+
# Copyright 2023 Cloudera, Inc. All Rights Reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
- name: Tear down CDP Public Cloud infrastructure (Ansible-based)
18+
hosts: "{{ target | default('localhost') }}"
19+
environment: "{{ globals.env_vars }}"
20+
gather_facts: yes
21+
tasks:
22+
- name: Validate CDP Public Cloud infrastructure configuration
23+
ansible.builtin.import_role:
24+
name: cloudera.exe.infrastructure
25+
tasks_from: validate
26+
tags:
27+
- validate
28+
- initialize
29+
- infra
30+
31+
- name: Initialize CDP Public Cloud infrastructure teardown
32+
ansible.builtin.import_role:
33+
name: cloudera.exe.infrastructure
34+
tasks_from: initialize_teardown
35+
tags:
36+
- initialize
37+
- infra
38+
39+
- name: Tear down CDP Public Cloud infrastructure
40+
ansible.builtin.import_role:
41+
name: cloudera.exe.infrastructure
42+
tasks_from: teardown
43+
tags:
44+
- infra
45+

playbooks/pbc_setup.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
3+
# Copyright 2023 Cloudera, Inc. All Rights Reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
- name: Set up CDP Public Cloud
18+
hosts: "{{ target | default('localhost') }}"
19+
environment: "{{ globals.env_vars }}"
20+
gather_facts: yes
21+
tasks:
22+
23+
# TODO Need to propagate 'ml', 'dw', etc. to selected tasks within the roles,
24+
# including those that would otherwise be 'always' - in this context; 'always'
25+
# should be reserved for the initialization of cloudera-deploy
26+
27+
- name: Validate Platform configuration
28+
ansible.builtin.import_role:
29+
name: cloudera.exe.platform
30+
tasks_from: validate
31+
tags:
32+
- validate
33+
- initialize
34+
- plat
35+
- run
36+
37+
- name: Validate Data Services configuration
38+
ansible.builtin.import_role:
39+
name: cloudera.exe.runtime
40+
tasks_from: validate
41+
tags:
42+
- validate
43+
- initialize
44+
- run
45+
46+
- name: Initialize Platform setup
47+
ansible.builtin.import_role:
48+
name: cloudera.exe.platform
49+
tasks_from: initialize_setup
50+
tags:
51+
- initialize
52+
- plat
53+
- run
54+
55+
- name: Set up Platform
56+
ansible.builtin.import_role:
57+
name: cloudera.exe.platform
58+
tasks_from: setup
59+
tags:
60+
- plat
61+
- run
62+
63+
- name: Initialize Data Services setup
64+
ansible.builtin.import_role:
65+
name: cloudera.exe.runtime
66+
tasks_from: initialize_setup
67+
tags:
68+
- initialize
69+
- run
70+
71+
- name: Set up Data Services
72+
ansible.builtin.import_role:
73+
name: cloudera.exe.runtime
74+
tasks_from: setup
75+
tags:
76+
- run

playbooks/pbc_teardown.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
3+
# Copyright 2023 Cloudera, Inc. All Rights Reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
- name: Tear down CDP Public Cloud
18+
hosts: "{{ target | default('localhost') }}"
19+
environment: "{{ globals.env_vars }}"
20+
gather_facts: yes
21+
tasks:
22+
23+
# TODO Need to propagate 'ml', 'dw', etc. to selected tasks within the roles,
24+
# including those that would otherwise be 'always' - in this context; 'always'
25+
# should be reserved for the initialization of cloudera-deploy
26+
27+
- name: Validate Platform configuration
28+
ansible.builtin.import_role:
29+
name: cloudera.exe.platform
30+
tasks_from: validate
31+
tags:
32+
- validate
33+
- initialize
34+
35+
- name: Validate Data Services configuration
36+
ansible.builtin.import_role:
37+
name: cloudera.exe.runtime
38+
tasks_from: validate
39+
tags:
40+
- validate
41+
- initialize
42+
43+
- name: Initialize Data Services teardown
44+
ansible.builtin.import_role:
45+
name: cloudera.exe.runtime
46+
tasks_from: initialize_teardown
47+
tags:
48+
- initialize
49+
- run
50+
- plat
51+
52+
- name: Tear down Data Services
53+
ansible.builtin.import_role:
54+
name: cloudera.exe.runtime
55+
tasks_from: teardown
56+
tags:
57+
- run
58+
- plat
59+
60+
- name: Initialize Platform teardown
61+
ansible.builtin.import_role:
62+
name: cloudera.exe.platform
63+
tasks_from: initialize_teardown
64+
tags:
65+
- initialize
66+
- plat
67+
68+
- name: Tear down Platform
69+
ansible.builtin.import_role:
70+
name: cloudera.exe.platform
71+
tasks_from: teardown
72+
tags:
73+
- plat

0 commit comments

Comments
 (0)