Skip to content

Commit 1d8dd84

Browse files
authored
Merge pull request #23 from bgraef/main
add full deployment using vlan and internal lb
2 parents 4d0d0b4 + ec4d9dd commit 1d8dd84

File tree

2 files changed

+171
-7
lines changed

2 files changed

+171
-7
lines changed

ocne/default_vars.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ user_default_password: "oracle"
2525
debug_enabled: false
2626
ocne_type: quick
2727
use_ocne_full: false
28+
use_vlan_full: false
2829
use_lb: false
2930
use_int_lb: false
3031
oci_ccm_bash: false

ocne/deploy_ocne_vlan.yml

Lines changed: 170 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,12 @@
6868

6969
vars:
7070
operator_nodes: "{{ groups['operator'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | join(',') }}"
71-
control_nodes: "{{ groups['controlplane'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | join(',') }}"
72-
worker_nodes: "{{ groups['worker'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | join(',') }}"
73-
all_nodes: "{{ operator_nodes + ',' + control_nodes + ',' + worker_nodes }}"
71+
cp_nodes: "{{ groups['controlplane'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | join(',') }}"
72+
wrk_nodes: "{{ groups['worker'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | join(',') }}"
73+
all_nodes: "{{ operator_nodes + ',' + cp_nodes + ',' + wrk_nodes }}"
74+
control_nodes: "{{ groups['controlplane'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | map('regex_replace', '^(.*)$', '\\1' + ':8090' ) | join(',') }}"
75+
worker_nodes: "{{ groups['worker'] | map('extract', hostvars, ['ansible_ens5', 'ipv4', 'address']) | map('regex_replace', '^(.*)$', '\\1' + ':8090' ) | join(',') }}"
76+
ocne_registry_location: 'container-registry.oracle.com/olcne'
7477

7578
tasks:
7679

@@ -162,22 +165,24 @@
162165
delegate_to: "{{ item[0] }}"
163166
loop: "{{ groups['controlplane'] | product(['2379/tcp', '2380/tcp', '6443/tcp', '8090/tcp', '8472/udp', '10250/tcp', '10255/tcp', '10251/tcp', '10252/tcp']) | list }}"
164167

165-
- name: Add firewall rules for internal lb
168+
- name: Add firewall rules for internal lb on control plane
166169
when: use_int_lb
167170
block:
168171
- name: Add internal lb firewall rule
169172
ansible.posix.firewalld:
170-
port: "{{ item }}"
173+
port: "6444/tcp"
171174
permanent: true
172175
state: enabled
173176
immediate: true
174-
with_items:
175-
- 6444/tcp
177+
delegate_to: "{{ item }}"
178+
loop: "{{ groups['controlplane'] }}"
176179

177180
- name: Add vrrp firewall rule
178181
ansible.builtin.shell: |
179182
firewall-cmd --add-protocol=vrrp --zone=public --permanent
180183
firewall-cmd --reload
184+
delegate_to: "{{ item }}"
185+
loop: "{{ groups['controlplane'] }}"
181186
register: vrrp_firewall
182187
changed_when: vrrp_firewall.rc == 0
183188

@@ -361,3 +366,161 @@
361366
become: true
362367
become_user: "{{ username }}"
363368
when: not ocne_provision.stat.exists
369+
370+
- name: Create environment using manual install method
371+
when:
372+
- use_vlan_full
373+
- groups['controlplane'] | length < 2
374+
block:
375+
- name: Create environment
376+
ansible.builtin.shell: |
377+
olcnectl environment create --api-server {{ operator_nodes }}:8091 --environment-name myenvironment --secret-manager-type file --update-config
378+
args:
379+
chdir: ~/
380+
become: true
381+
become_user: "{{ username }}"
382+
register: create_env
383+
changed_when: create_env.rc == 0
384+
385+
- name: Create Kubernetes Module
386+
ansible.builtin.shell: |
387+
olcnectl module create --environment-name myenvironment --module kubernetes --name mycluster \
388+
--container-registry {{ ocne_registry_location }} \
389+
--control-plane-nodes {{ control_nodes }} \
390+
--worker-nodes {{ worker_nodes }} \
391+
--selinux enforcing \
392+
--restrict-service-externalip-ca-cert ~/certificates/restrict_external_ip/ca.cert \
393+
--restrict-service-externalip-tls-cert ~/certificates/restrict_external_ip/node.cert \
394+
--restrict-service-externalip-tls-key ~/certificates/restrict_external_ip/node.key
395+
args:
396+
chdir: ~/
397+
become: true
398+
become_user: "{{ username }}"
399+
register: create_kubernetes
400+
changed_when: create_kubernetes.rc == 0
401+
402+
- name: Validate Kubernetes Module
403+
ansible.builtin.shell: |
404+
olcnectl module validate --environment-name myenvironment --name mycluster
405+
args:
406+
chdir: ~/
407+
become: true
408+
become_user: "{{ username }}"
409+
register: validate_kubernetes
410+
changed_when: validate_kubernetes.rc == 0
411+
412+
- name: Install Kubernetes Module
413+
ansible.builtin.shell: |
414+
olcnectl module install --environment-name myenvironment --name mycluster
415+
args:
416+
chdir: ~/
417+
become: true
418+
become_user: "{{ username }}"
419+
register: install_kubernetes
420+
changed_when: install_kubernetes.rc == 0
421+
422+
- name: Print kubernetes provision output
423+
ansible.builtin.debug:
424+
var: install_kubernetes
425+
when: debug_enabled
426+
427+
- name: Tag OCNE as provisioned
428+
ansible.builtin.file:
429+
path: ~/.ocne-provisioned
430+
state: touch
431+
mode: "0644"
432+
become: true
433+
become_user: "{{ username }}"
434+
when: install_kubernetes.rc == 0
435+
436+
- name: Create environment with lb using manual install method
437+
when:
438+
- use_vlan_full
439+
- use_int_lb
440+
- groups['controlplane'] | length > 1
441+
block:
442+
- name: Create environment
443+
ansible.builtin.shell: |
444+
olcnectl environment create --api-server {{ operator_nodes }}:8091 --environment-name myenvironment --secret-manager-type file --update-config
445+
args:
446+
chdir: ~/
447+
become: true
448+
become_user: "{{ username }}"
449+
register: create_env
450+
changed_when: create_env.rc == 0
451+
452+
- name: Create Kubernetes Module
453+
ansible.builtin.shell: |
454+
olcnectl module create --environment-name myenvironment --module kubernetes --name mycluster \
455+
--container-registry {{ ocne_registry_location }} \
456+
--virtual-ip 10.0.12.111 \
457+
--control-plane-nodes {{ control_nodes }} \
458+
--worker-nodes {{ worker_nodes }} \
459+
--selinux enforcing \
460+
--restrict-service-externalip-ca-cert ~/certificates/restrict_external_ip/ca.cert \
461+
--restrict-service-externalip-tls-cert ~/certificates/restrict_external_ip/node.cert \
462+
--restrict-service-externalip-tls-key ~/certificates/restrict_external_ip/node.key
463+
args:
464+
chdir: ~/
465+
become: true
466+
become_user: "{{ username }}"
467+
register: create_kubernetes
468+
changed_when: create_kubernetes.rc == 0
469+
470+
- name: Validate Kubernetes Module
471+
ansible.builtin.shell: |
472+
olcnectl module validate --environment-name myenvironment --name mycluster
473+
args:
474+
chdir: ~/
475+
become: true
476+
become_user: "{{ username }}"
477+
register: validate_kubernetes
478+
changed_when: validate_kubernetes.rc == 0
479+
480+
- name: Install Kubernetes Module
481+
ansible.builtin.shell: |
482+
olcnectl module install --environment-name myenvironment --name mycluster
483+
args:
484+
chdir: ~/
485+
become: true
486+
become_user: "{{ username }}"
487+
register: install_kubernetes
488+
changed_when: install_kubernetes.rc == 0
489+
490+
- name: Print kubernetes provision output
491+
ansible.builtin.debug:
492+
var: install_kubernetes
493+
when: debug_enabled
494+
495+
- name: Tag OCNE as provisioned
496+
ansible.builtin.file:
497+
path: ~/.ocne-provisioned
498+
state: touch
499+
mode: "0644"
500+
become: true
501+
become_user: "{{ username }}"
502+
when: install_kubernetes.rc == 0
503+
504+
- name: Check if OCNE provisioned
505+
ansible.builtin.stat:
506+
path: ~/.ocne-provisioned
507+
become: true
508+
become_user: "{{ username }}"
509+
register: ocne_provision
510+
511+
- name: Save out ocne config
512+
ansible.builtin.shell: |
513+
olcnectl module instances --api-server "{{ operator_nodes }}":8091 --environment-name myenvironment --update-config
514+
args:
515+
chdir: ~/
516+
become: true
517+
become_user: "{{ username }}"
518+
when: ocne_provision
519+
register: save_ocne_config
520+
changed_when: save_ocne_config.rc == 0
521+
522+
- name: Provision kubectl
523+
ansible.builtin.include_tasks: "provision_kubectl.yml"
524+
when:
525+
- ocne_provision.stat.exists
526+
- ocne_type != 'none'

0 commit comments

Comments
 (0)