From 88a5340fea0a8cc204cfde06d1b92ee34de3fea0 Mon Sep 17 00:00:00 2001 From: tseed Date: Sun, 20 Nov 2022 09:48:18 +0000 Subject: [PATCH] seed repo --- README.md | 93 +-- docs/1) Virtualbox setup.md | 53 ++ docs/1e801b75b336a73154c543004dd512d7.png | Bin 0 -> 32099 bytes docs/2) Openstack VM configuration.md | 57 ++ docs/3) Setup deployment host.md | 82 +++ docs/313f2cb361c51b9c3058124604b6ae52.png | Bin 0 -> 51403 bytes docs/3253e97a0ebc8cc91abb310d620aa72c.png | Bin 0 -> 31157 bytes docs/3bb1d14aaf1365eaf282d0df9b982075.png | Bin 0 -> 103068 bytes docs/4) Deploy Openstack.md | 145 +++++ docs/4a769a446c739c1b47fabcbf2cd8ebe5.png | Bin 0 -> 21233 bytes ...ter resources_objects and run Terraform.md | 566 ++++++++++++++++++ docs/6) Result.md | 17 + docs/8a8f46f83fb73b771de4c88c3090f13d.png | Bin 0 -> 23893 bytes docs/d1b15c31186ba1d7edc41fd6e059b4f4.png | Bin 0 -> 14164 bytes docs/d2d44788efc359b8ed1aac1ac8774a32.png | Bin 0 -> 29901 bytes docs/d4d81f00e1bee890f85a75d2ad78e602.png | Bin 0 -> 21276 bytes stack/configure_cluster.sh | 81 +++ stack/ping_test.yml | 90 +++ stack/stack.tf | 235 ++++++++ stack/user_data.sh | 14 + stack/vars.tf.envsubst | 30 + 21 files changed, 1375 insertions(+), 88 deletions(-) create mode 100644 docs/1) Virtualbox setup.md create mode 100644 docs/1e801b75b336a73154c543004dd512d7.png create mode 100644 docs/2) Openstack VM configuration.md create mode 100644 docs/3) Setup deployment host.md create mode 100644 docs/313f2cb361c51b9c3058124604b6ae52.png create mode 100644 docs/3253e97a0ebc8cc91abb310d620aa72c.png create mode 100644 docs/3bb1d14aaf1365eaf282d0df9b982075.png create mode 100644 docs/4) Deploy Openstack.md create mode 100644 docs/4a769a446c739c1b47fabcbf2cd8ebe5.png create mode 100644 docs/5) Create cluster resources_objects and run Terraform.md create mode 100644 docs/6) Result.md create mode 100644 docs/8a8f46f83fb73b771de4c88c3090f13d.png create mode 100644 docs/d1b15c31186ba1d7edc41fd6e059b4f4.png create mode 100644 docs/d2d44788efc359b8ed1aac1ac8774a32.png create mode 100644 docs/d4d81f00e1bee890f85a75d2ad78e602.png create mode 100755 stack/configure_cluster.sh create mode 100644 stack/ping_test.yml create mode 100644 stack/stack.tf create mode 100644 stack/user_data.sh create mode 100644 stack/vars.tf.envsubst diff --git a/README.md b/README.md index 86604b0..969b6c0 100644 --- a/README.md +++ b/README.md @@ -1,92 +1,9 @@ # kolla_openstack_terraform_ansible +# What is this? +Tech test from a recent interview, dipping my toes back into Terraform using the Openstack provider. -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://tseed.work/tseed/kolla_openstack_terraform_ansible.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://tseed.work/tseed/kolla_openstack_terraform_ansible/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +- Build minimal Openstack testbench on VirtualBox +- Build provider network, project, user, image, flavor and seed some Terraform vars +- Terraform provision some small networks and instances, build ansible inventory anr run playbook to test connectivity between instances diff --git a/docs/1) Virtualbox setup.md b/docs/1) Virtualbox setup.md new file mode 100644 index 0000000..1801bb0 --- /dev/null +++ b/docs/1) Virtualbox setup.md @@ -0,0 +1,53 @@ +# VirtualBox setup + +## Openstack VMs + +- 2 Openstack VMs with identical configuration. +- 8 cores, 8GB RAM, 40GB disk, named node1 + node2 during installation. +- 1 Deployment VM named deploy. +- Ubuntu server 22.04 installed with defaults and only SSH server enabled. +- Ensure all network adapters are set to allow promiscuous mode, this should allow many MACs to originate from a single interface. + +## Openstack VM networks + +> Note: The Deployment VM only needs to be on the api and bridged networks. + +Create the api network, this will allow outbound traffic for the Openstack nodes (package updates etc). +As the cluster configuration is minimal port forward rules are in place to access the dashboard on the api network. + +![4a769a446c739c1b47fabcbf2cd8ebe5.png](4a769a446c739c1b47fabcbf2cd8ebe5.png) + +Adapter1 on SNAT network api. + +![d2d44788efc359b8ed1aac1ac8774a32.png](d2d44788efc359b8ed1aac1ac8774a32.png) + +Adapter2 on internal network with no NAT, this will carry some VLANs, this network does not need creating, just type the name of the network in the dropdown and ensure the same name is used on all nodes. + +![3253e97a0ebc8cc91abb310d620aa72c.png](3253e97a0ebc8cc91abb310d620aa72c.png) + +Adapter3 bridged to the host network interface, this will be used for the Openstack provider network. + +![1e801b75b336a73154c543004dd512d7.png](1e801b75b336a73154c543004dd512d7.png) + +## Disable Hyper-V extensions that block VirtualBox + +```sh +bcdedit /enum | findstr -i hypervisorlaunchtype +bcdedit /set hypervisorlaunchtype off +#bcdedit /set hypervisorlaunchtype auto # to reenable +reboot +``` + +## Enable nested virtualization for each Openstack VM + +```ps +cd C:\Program Files\Oracle\VirtualBox +.\VBoxManage.exe modifyvm "node1" --nested-hw-virt on +``` + +Check nodes can run nested virtualization. + +```ps +sudo apt-get install cpu-checker +sudo kvm-ok +``` \ No newline at end of file diff --git a/docs/1e801b75b336a73154c543004dd512d7.png b/docs/1e801b75b336a73154c543004dd512d7.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d080b202a58bfc75bf3cbf2384c1d3891dc82d GIT binary patch literal 32099 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 /etc/sudoers.d/openstack +chmod 0440 /etc/sudoers.d/openstack +passwd openstack # password is Password0 +exit +``` diff --git a/docs/3) Setup deployment host.md b/docs/3) Setup deployment host.md new file mode 100644 index 0000000..afa2367 --- /dev/null +++ b/docs/3) Setup deployment host.md @@ -0,0 +1,82 @@ +# Setup deployment host + +> https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html + +```sh +# install dependencies +sudo apt-get update -y +sudo apt-get install python3-dev python3-venv libffi-dev gcc libssl-dev sshpass ca-certificates jq -y +python3 -m venv /home/openstack/kolla_zed + +# enter venv, install kolla +source /home/openstack/kolla_zed/bin/activate +pip install -U pip +pip install 'ansible>=4,<6' +pip install git+https://opendev.org/openstack/kolla-ansible@master +kolla-ansible install-deps + +# create kolla config files +sudo mkdir -p /etc/kolla +sudo chown $USER:$USER /etc/kolla +cp -r /home/openstack/kolla_zed/share/kolla-ansible/etc_examples/kolla/* /etc/kolla +cp /home/openstack/kolla_zed/share/kolla-ansible/ansible/inventory/multinode . + +# create ansible config +sudo mkdir /etc/ansible +sudo touch /etc/ansible/ansible.cfg +sudo nano -cw /etc/ansible/ansible.cfg + +[defaults] +host_key_checking=False +pipelining=True +forks=100 + +# populate hosts +sudo nano -cw /etc/hosts + +### openstack +192.168.30.60 node1 control1 +192.168.30.61 node2 compute1 +192.168.30.62 node3 ceph1 + +# setup passwordless sudo for the openstack user on the deployment node, kolla requirment +sudo su - +echo "%openstack ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/openstack +chmod 0440 /etc/sudoers.d/openstack +``` + +# Create local ssh config + +Generate keypair. + +```sh +ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -C "" <<< y +``` + +Push keys to Openstack nodes. + +```sh +sshpass -p "Password0" ssh-copy-id -o StrictHostKeyChecking=no openstack@192.168.140.60 +``` + +Create local ssh config, ansible targets `node1` as `control1` using this configuration. + +```sh +nano -cw ~/.ssh/config + +###### openstack + Host control1 + Hostname 192.168.30.60 + User openstack + IdentityFile ~/.ssh/id_rsa + + Host compute1 + Hostname 192.168.30.61 + User openstack + IdentityFile ~/.ssh/id_rsa + + Host ceph1 + Hostname 192.168.30.62 + User openstack + IdentityFile ~/.ssh/id_rsa +``` diff --git a/docs/313f2cb361c51b9c3058124604b6ae52.png b/docs/313f2cb361c51b9c3058124604b6ae52.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f7223c58af5afc3c5f4b39f2c1070649b6728c GIT binary patch literal 51403 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 literal 0 HcmV?d00001 diff --git a/docs/3253e97a0ebc8cc91abb310d620aa72c.png b/docs/3253e97a0ebc8cc91abb310d620aa72c.png new file mode 100644 index 0000000000000000000000000000000000000000..14c5047ca34fa685adbcd3fa015530fc514ca223 GIT binary patch literal 31157 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 literal 0 HcmV?d00001 diff --git a/docs/3bb1d14aaf1365eaf282d0df9b982075.png b/docs/3bb1d14aaf1365eaf282d0df9b982075.png new file mode 100644 index 0000000000000000000000000000000000000000..492f5b95082c0b37184998a103cdb50852d088f0 GIT binary patch literal 103068 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%0D2`)Jwl@vxXo@Q2?|k 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 literal 0 HcmV?d00001 diff --git a/docs/4) Deploy Openstack.md b/docs/4) Deploy Openstack.md new file mode 100644 index 0000000..680fe5e --- /dev/null +++ b/docs/4) Deploy Openstack.md @@ -0,0 +1,145 @@ +# Configure kolla + +Edit the ansible inventory entries to set credentials, networks and roles per host class (as placed in the /etc/hosts file). +The inventory follows ansible convention to allow per host configuration with less reliance on the central ansible.cfg, aiding portability and simplifing configuring nodes with heterogeneous hardware. +Replace the following sections at the top of the file, this is where node classes control/network(er)/compute/storage/deployment hosts are defined, the rest of the inventory entries control placement of the services on these main classes. +The use of \[class:children\] allows us to stack role services and make nodes dual purpose in this small environment. + +```sh +# enter the venv +# source /home/openstack/kolla_zed/bin/activate + +nano -cw multinode + +# These initial groups are the only groups required to be modified. +# The additional groups are for more control of the environment. +[control] +control1 network_interface=provider neutron_external_interface=provider neutron_bridge_name="br-ex" tunnel_interface=tunnel storage_interface=storage ansible_ssh_common_args='-o StrictHostKeyChecking=no' ansible_user=openstack ansible_password=Password0 ansible_become=true + +[network:children] +control + +[compute] +compute1 network_interface=provider neutron_external_interface=provider neutron_bridge_name="br-ex" tunnel_interface=tunnel storage_interface=storage ansible_ssh_common_args='-o StrictHostKeyChecking=no' ansible_user=openstack ansible_password=Password0 ansible_become=true + +[monitoring:children] +control + +[storage:children] +compute + +[deployment] +localhost ansible_connection=local + +# additional groups +``` + +Test ansible node connectivity. + +``` +ansible -i multinode all -m ping +``` + +Populate /etc/kolla/passwords.yml, this autogenerates passwords/keys/tokens for various services and endpoints. + +```sh +kolla-genpwd +``` + +Edit the global config file `nano -cw /etc/kolla/globals.yml`. + +> set the external horizon/control-API endpoint IP with the kolla\_internal\_vip_address variable. +> use prebuilt containers (no compile+build) with kolla\_install\_type. +> enable\_neutron\_provider_networks is used when we want nova instances to have an interface directly in the provider network + +```sh +(kolla_zed) ocfadm@NieX0:~$ cat /etc/kolla/globals.yml | grep -v "#" | sed '/^$/d' +--- +config_strategy: "COPY_ALWAYS" +kolla_base_distro: 'ubuntu' +kolla_install_type: "binary" # now deprecated and not present in the config, did not seem to compile containers so assume binary by default +kolla_internal_vip_address: "192.168.140.63" +openstack_logging_debug: "True" +enable_neutron_provider_networks: "yes" +``` + +# Deploy kolla + +```sh +# enter the venv +source /home/openstack/kolla_zed/bin/activate + +# install repos, package dependencies (docker, systemd scripts), pulls containers, groups, sudoers, firewall and more +kolla-ansible -i ./multinode bootstrap-servers + +# pre flight checks +kolla-ansible -i ./multinode prechecks + +# deploy +kolla-ansible -i ./multinode deploy +``` + +# Post deployment + +```sh +# enter the venv +source /home/openstack/kolla_zed/bin/activate + +# install openstack cli tool +pip install python-openstackclient + +# generate admin-openrc.sh and octavia-openrc.sh +kolla-ansible post-deploy + +# source environment and credentials to use the openstack cli +. /etc/kolla/admin-openrc.sh + +# check cluster +$OPENSTACK_CLI host list +$OPENSTACK_CLI hypervisor list +$OPENSTACK_CLI user list + +# find horizon admin password +cat /etc/kolla/admin-openrc.sh + +OS_USERNAME=admin +OS_PASSWORD=dPgJtPrWTx0whQhV8p6G2QaK4dI4fEFmIRkiPjuB +OS_AUTH_URL=http://192.168.30.63:5000 + +# the controller VIP exposes the external API (used by the openstack cli) and horizon web portal +http://192.168.30.63 +``` + +# Login to the Horizon dashboard + +The dashboard is located on the API network, in this build the network resides in a VirtualBox SNAT network. +Create a port forward to allow the workstation to access the dashboard http://127.0.0.1 + +![d4d81f00e1bee890f85a75d2ad78e602.png](d4d81f00e1bee890f85a75d2ad78e602.png) + +# Start/Stop cluster + +```sh +# enter venv, load openstack credentials +source /home/openstack/kolla_zed/bin/activate +source /etc/kolla/admin-openrc.sh + +# stop +kolla-ansible -i multinode stop --yes-i-really-really-mean-it +shutdown -h now # all nodes + +# start +kolla-ansible -i multinode deploy +``` + +# Change / Destroy cluster + +Sometimes containers and their persistant storage on local disk can get borked, you may be able to "docker rm" + "docker rmi" on select containers for the broken node and then run a reconfigure to re-pull containers. Always run a mirror sync local registry with large deployments and pin container tags. + +``` +# reconfigure, not sure if this is effective with physical network changes owing to database entries? +kolla-ansible -i ./multinode reconfigure + +# destroy +kolla-ansible -i ./multinode destroy --yes-i-really-really-mean-it +``` \ No newline at end of file diff --git a/docs/4a769a446c739c1b47fabcbf2cd8ebe5.png b/docs/4a769a446c739c1b47fabcbf2cd8ebe5.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9cefbc68e6e66da076cfc2f46627442c90489 GIT binary patch literal 21233 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 /home/openstack/stack/vars.tf +``` + +# Install Terraform + +```sh +wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg + +echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list + +sudo apt update && sudo apt install terraform +``` + +# Create remaining project config and templates + +## Create user data template + +Salted hash password generated with `openssl passwd -6 -salt xyz Password0`. +This could be automated in Terraform on a per instance basis to resulting in a different hash for the same password to deter anyone who maybe able to intercept or check cloud-init on instantiation (maybe you can see it at the metadata endpoint in Openstack?). + +```sh +nano -cw /home/openstack/stack/user_data.sh + +#cloud-config +ssh_pwauth: true +groups: + - admingroup: [root,sys] + - openstack +users: + - name: openstack + primary_group: openstack + lock_passwd: false + passwd: $6$xyz$4tTWyuHIT6gXRuzotBZn/9xZBikUp0O2X6rOZ7MDJo26aax.Ok5P4rWYyzdgFkjArIIyB8z8LKVW1wARbcBzn/ + sudo: ALL=(ALL) NOPASSWD:ALL + shell: /bin/bash + ssh_authorized_keys: + - ssh-rsa ${pubkey} +``` + +## Create Ansible inventory template + +Gets rendered by Terraform. Ansible will also work with cloud-init seeded ssh pub key. + +```sh +nano -cw user_data.sh + +[nodes] +%{ for index, name in subnet1_instance_name ~} +${name} ansible_host=${subnet1_instance_address[index]} ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' ansible_user=${user} ansible_password=${password} ansible_become=true +%{ endfor ~} +%{ for index, name in subnet2_instance_name ~} +${name} ansible_host=${subnet2_instance_address[index]} ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' ansible_user=${user} ansible_password=${password} ansible_become=true +%{ endfor ~} +[subnet1_instances] +%{ for index, name in subnet1_instance_name ~} +${name} +%{ endfor ~} +[subnet2_instances] +%{ for index, name in subnet2_instance_name ~} +${name} +%{ endfor ~} + +# when rendered this should look a little like the following, notice the provider network IPs provided by floating ip + +[nodes] +subnet1_test0 ansible_host=192.168.140.230 ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' ansible_user=openstack ansible_password=Password0 ansible_become=true +subnet1_test1 ansible_host=192.168.140.223 ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' ansible_user=openstack ansible_password=Password0 ansible_become=true +subnet2_test0 ansible_host=192.168.140.217 ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' ansible_user=openstack ansible_password=Password0 ansible_become=true +[subnet1_instances] +subnet1_test0 +subnet1_test1 +[subnet2_instances] +subnet2_test0 +``` + +## Create Ansible ping test playbook + +```yaml +nano -cw ansible_inventory ping_test.yml + +--- +- name: build ping_map + hosts: localhost + become: no + gather_facts: false + + tasks: + + - name: build ping_map + ansible.builtin.set_fact: + _ping_map: "{{ _ping_map | default({}) | combine ({entry: []}, recursive=True) }}" + loop: "{{ inventory_hosts }}" + loop_control: + loop_var: entry + vars: + inventory_hosts: "{{ hostvars[inventory_hostname]['groups']['all'] }}" + + # - ansible.builtin.debug: + # msg: + # - "{{ _ping_map }}" + + - name: populate ping_map + ansible.builtin.set_fact: + _ping_map: "{{ _ping_map | default({}) | combine ({source: destination_list_append}, recursive=True) }}" + loop: "{{ target_hosts|product(target_hosts) }}" + loop_control: + loop_var: entry + vars: + target_hosts: "{{ hostvars[inventory_hostname]['groups']['all'] }}" + source: "{{ entry[0] }}" + destination: "{{ entry[1] }}" + destination_list: "{{ _ping_map[source] }}" + destination_list_append: "{{ destination_list + [destination] }}" + when: not entry[0] == entry[1] + + # - ansible.builtin.debug: + # msg: + # - "{{ _ping_map }}" + + - name: write global ping_map + set_fact: + _global_ping_map: "{{ _ping_map }}" + delegate_to: localhost + delegate_facts: true + +- name: ping test + hosts: all + become: yes + gather_facts: True + + tasks: + + - name: load global ping_map + set_fact: + _ping_map: "{{ hostvars['localhost']['_global_ping_map'] }}" + when: + - hostvars['localhost']['_global_ping_map'] is defined + + # - debug: + # msg: + # - "{{ _ping_map }}" + + - name: ping neighbours + shell: | + echo SOURCE {{ inventory_hostname }} + echo DESTINATION {{ destination_target }} + echo + ping -Rn -c 1 {{ destination_ip }} + loop: "{{ destination_targets }}" + loop_control: + loop_var: entry + vars: + destination_targets: "{{ _ping_map[inventory_hostname] }}" + destination_target: "{{ entry }}" + destination_ip: "{{ hostvars[destination_target]['ansible_default_ipv4']['address'] }}" + source: "{{ inventory_hostname }}" + register: _ping_results + + - name: print results + debug: + msg: + - "{{ output }}" + loop: "{{ _ping_results['results'] }}" + loop_control: + loop_var: idx + label: "{{ destination }}" + vars: + destination: "{{ idx['entry'] }}" + output: "{{ idx['stdout_lines'] }}" +``` + +## Create Terraform configuration + +```sh +nano -cw /home/openstack/stack/stack.tf + +## load provider +terraform { +required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.48.0" + } + } +} + +## configure provider +provider "openstack" { + auth_url = "${var.provider_config["auth_url"]}" + user_name = "${var.provider_config["auth_user"]}" + password = "${var.provider_config["auth_pass"]}" + tenant_name = "${var.provider_config["project"]}" + region = "RegionOne" +} + +## vars +variable "dns" { + type = list(string) + default = ["1.1.1.1", "8.8.8.8"] +} + +variable "subnet1" { + type = map(string) + default = { + subnet_name = "subnet1" + cidr = "172.16.10.0/24" + instance_count = "2" + } +} + +variable "subnet2" { + type = map(string) + default = { + subnet_name = "subnet2" + cidr = "172.16.11.0/24" + instance_count = "1" + } +} + +## data sources + +data "openstack_networking_network_v2" "exnetname" { + network_id = "${var.extnetid}" +} + +#output "exnet_name" { +# value = "${data.openstack_networking_network_v2.exnetname.name}" +#} + +## resources + +# router +resource "openstack_networking_router_v2" "router" { + name = "router_${local.project}" + admin_state_up = true + external_network_id = var.extnetid +} + +# network1 +resource "openstack_networking_network_v2" "network1" { + name = "network1_${local.project}" +} + +# network2 +resource "openstack_networking_network_v2" "network2" { + name = "network2_${local.project}" +} + +# subnet1 +resource "openstack_networking_subnet_v2" "subnet1" { + name = "${var.subnet1["subnet_name"]}_${local.project}" + network_id = openstack_networking_network_v2.network1.id + cidr = var.subnet1["cidr"] + dns_nameservers = var.dns +} + +# subnet2 +resource "openstack_networking_subnet_v2" "subnet2" { + name = "${var.subnet2["subnet_name"]}_${local.project}" + network_id = openstack_networking_network_v2.network2.id + cidr = var.subnet2["cidr"] + dns_nameservers = var.dns +} + +# router interface subnet1 +resource "openstack_networking_router_interface_v2" "interface1" { + router_id = openstack_networking_router_v2.router.id + subnet_id = openstack_networking_subnet_v2.subnet1.id +} + +# router interface subnet2 +resource "openstack_networking_router_interface_v2" "interface2" { + router_id = openstack_networking_router_v2.router.id + subnet_id = openstack_networking_subnet_v2.subnet2.id +} + +# security group +resource "openstack_compute_secgroup_v2" "ingress" { + name = "${local.project}" + description = "ingress rules" + rule { + from_port = 22 + to_port = 22 + ip_protocol = "tcp" + cidr = "192.168.140.0/24" + } + rule { + from_port = -1 + to_port = -1 + ip_protocol = "icmp" + cidr = "192.168.140.0/24" + } + rule { + from_port = 22 + to_port = 22 + ip_protocol = "tcp" + self = true + } + rule { + from_port = -1 + to_port = -1 + ip_protocol = "icmp" + self = true + } +} + +# floating ip instance_subnet1 +resource "openstack_compute_floatingip_v2" "instance_subnet1_fip" { + count = "${var.subnet1["instance_count"]}" + pool = "${data.openstack_networking_network_v2.exnetname.name}" + #depends_on = ["openstack_networking_router_interface_v2.router"] +} + +# floating ip instance_subnet2 +resource "openstack_compute_floatingip_v2" "instance_subnet2_fip" { + count = "${var.subnet2["instance_count"]}" + pool = "${data.openstack_networking_network_v2.exnetname.name}" + #depends_on = ["openstack_networking_router_interface_v2.router"] +} + +# subnet1 instances +resource "openstack_compute_instance_v2" "instance_subnet1" { + count = "${var.subnet1["instance_count"]}" + name = "${var.subnet1["subnet_name"]}_${local.project}${count.index}" + image_id = var.image + flavor_id = var.flavor + user_data = templatefile("user_data.sh", { + pubkey = local.pubkey + } ) + #network { + # uuid = var.extnetid + #} + network { + uuid = openstack_networking_network_v2.network1.id + } + security_groups = [ "${openstack_compute_secgroup_v2.ingress.name}" ] + depends_on = [ + openstack_networking_subnet_v2.subnet1 + ] +} + +# subnet2 instances +resource "openstack_compute_instance_v2" "instance_subnet2" { + count = "${var.subnet2["instance_count"]}" + name = "${var.subnet2["subnet_name"]}_${local.project}${count.index}" + image_id = var.image + flavor_id = var.flavor + user_data = templatefile("user_data.sh", { + pubkey = local.pubkey + } ) + network { + uuid = openstack_networking_network_v2.network2.id + } + security_groups = [ "${openstack_compute_secgroup_v2.ingress.name}" ] + depends_on = [ + openstack_networking_subnet_v2.subnet2 + ] +} + +# subnet1 floating ips +resource "openstack_compute_floatingip_associate_v2" "fip_subnet1" { + count = "${var.subnet1["instance_count"]}" + floating_ip = "${openstack_compute_floatingip_v2.instance_subnet1_fip[count.index].address}" + instance_id = "${openstack_compute_instance_v2.instance_subnet1[count.index].id}" +} + +# subnet2 floating ips +resource "openstack_compute_floatingip_associate_v2" "fip_subnet2" { + count = "${var.subnet2["instance_count"]}" + floating_ip = "${openstack_compute_floatingip_v2.instance_subnet2_fip[count.index].address}" + instance_id = "${openstack_compute_instance_v2.instance_subnet2[count.index].id}" +} + +# ansible inventory +resource "local_file" "ansible_inventory" { + content = templatefile("inventory.tmpl", + { + user = "openstack" + password = "Password0" + subnet1_instance_name = openstack_compute_instance_v2.instance_subnet1[*].name + subnet1_instance_address = openstack_compute_floatingip_v2.instance_subnet1_fip[*].address + subnet2_instance_name = openstack_compute_instance_v2.instance_subnet2[*].name + subnet2_instance_address = openstack_compute_floatingip_v2.instance_subnet2_fip[*].address + } + ) + filename = "ansible_inventory" +} + +# cheat, no until connection - wait for nodes to boot and start ssh +resource "time_sleep" "loitering" { + create_duration = "120s" +} + +# check ansible instance connectivity +resource "null_resource" "ansible_floating_ip_ping" { + provisioner "local-exec" { + command = "ansible -i ansible_inventory all -m ping" + } + depends_on = [ + time_sleep.loitering + ] +} + +# check ansible inter-instance connectivity +resource "null_resource" "ansible_private_net_ping" { + provisioner "local-exec" { + command = "ansible-playbook -i ansible_inventory ping_test.yml" + } + depends_on = [ + null_resource.ansible_floating_ip_ping + ] +} +``` + +# Run + +```sh +cd /home/openstack/stack +terraform init +terraform plan +terraform apply -auto-approve +terraform destroy -auto-approve +``` diff --git a/docs/6) Result.md b/docs/6) Result.md new file mode 100644 index 0000000..e3ff7ed --- /dev/null +++ b/docs/6) Result.md @@ -0,0 +1,17 @@ +# Result + +Network topology. + +![8a8f46f83fb73b771de4c88c3090f13d.png](8a8f46f83fb73b771de4c88c3090f13d.png) + +During the Terraform run the deployment host will run an Ansible ping command to test connectivity to the new Instances. + +![313f2cb361c51b9c3058124604b6ae52.png](313f2cb361c51b9c3058124604b6ae52.png) + +Once the Instances are live, Terraform will invoke an Ansible playbook to ping test between each node, the traffic route is displayed and shows traversal across the virtual router between networks. + +![3bb1d14aaf1365eaf282d0df9b982075.png](3bb1d14aaf1365eaf282d0df9b982075.png) + +It is even more interesting to run this command from the deployment host to an instance via a floating IP, the NAT traversal is displayed. The SG rules dictate any ICMP type. + +![d1b15c31186ba1d7edc41fd6e059b4f4.png](d1b15c31186ba1d7edc41fd6e059b4f4.png) \ No newline at end of file diff --git a/docs/8a8f46f83fb73b771de4c88c3090f13d.png b/docs/8a8f46f83fb73b771de4c88c3090f13d.png new file mode 100644 index 0000000000000000000000000000000000000000..377e336cbf68665034bdccc09bea88c209b43c4e GIT binary patch literal 23893 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 literal 0 HcmV?d00001 diff --git a/docs/d2d44788efc359b8ed1aac1ac8774a32.png b/docs/d2d44788efc359b8ed1aac1ac8774a32.png new file mode 100644 index 0000000000000000000000000000000000000000..0975ba7ccbbf19b5748dbccd7a6557d9523cea4f GIT binary patch literal 29901 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 literal 0 HcmV?d00001 diff --git a/docs/d4d81f00e1bee890f85a75d2ad78e602.png b/docs/d4d81f00e1bee890f85a75d2ad78e602.png new file mode 100644 index 0000000000000000000000000000000000000000..92adfde1abe8e9e86206380f7d2cab4e1522774e GIT binary patch literal 21276 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

`z*g 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 literal 0 HcmV?d00001 diff --git a/stack/configure_cluster.sh b/stack/configure_cluster.sh new file mode 100755 index 0000000..e8ab8e3 --- /dev/null +++ b/stack/configure_cluster.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +# load venv and credentials +source /home/openstack/kolla_ussuri/bin/activate +source /etc/kolla/admin-openrc.sh + +# vars +OPENSTACK_CLI=openstack +EXT_NET_CIDR='192.168.140.0/24' +EXT_NET_RANGE='start=192.168.140.200,end=192.168.140.254' +EXT_NET_GATEWAY='192.168.140.1' +PROJECT='test' +ACCOUNT='tseed' +ACCOUNT_PASSWORD='Password0' +ACCOUNT_EMAIL='toby.n.seed@gmail.com' + +# check cluster +$OPENSTACK_CLI host list +$OPENSTACK_CLI hypervisor list +$OPENSTACK_CLI user list + +# provider network +$OPENSTACK_CLI network create --external --share --provider-physical-network physnet1 --provider-network-type flat provider_network +$OPENSTACK_CLI subnet create --dhcp --network provider_network --subnet-range ${EXT_NET_CIDR} --gateway ${EXT_NET_GATEWAY} --allocation-pool ${EXT_NET_RANGE} provider_subnet + +# create project +$OPENSTACK_CLI project create --domain default --description "guest project" $PROJECT + +# set quota on project +$OPENSTACK_CLI quota set --instances 10 $PROJECT +$OPENSTACK_CLI quota set --cores 4 $PROJECT +$OPENSTACK_CLI quota set --ram 6144 $PROJECT +$OPENSTACK_CLI quota set --gigabytes 30 $PROJECT +$OPENSTACK_CLI quota set --volumes 10 $PROJECT +$OPENSTACK_CLI quota set --backups 0 $PROJECT +$OPENSTACK_CLI quota set --snapshots 0 $PROJECT +$OPENSTACK_CLI quota set --key-pairs 20 $PROJECT +$OPENSTACK_CLI quota set --floating-ips 20 $PROJECT +$OPENSTACK_CLI quota set --networks 10 $PROJECT +$OPENSTACK_CLI quota set --routers 10 $PROJECT +$OPENSTACK_CLI quota set --subnets 10 $PROJECT +$OPENSTACK_CLI quota set --secgroups 20 $PROJECT +$OPENSTACK_CLI quota set --secgroup-rules 100 $PROJECT + +# create user +$OPENSTACK_CLI user create --password ${ACCOUNT_PASSWORD} --email ${ACCOUNT_EMAIL} $ACCOUNT + +# set the default project in the web console for user +$OPENSTACK_CLI user set --project $PROJECT $ACCOUNT +$OPENSTACK_CLI project show $(openstack user show $ACCOUNT --domain default -f json | jq -r .default_project_id) -f json | jq -r .description + +# set RBAC for guest project +$OPENSTACK_CLI role add --project $PROJECT --user $ACCOUNT admin + +# download the cirros test image for admin project +wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img +$OPENSTACK_CLI image create --disk-format qcow2 --container-format bare --private --project admin --property os_type=linux --file ./cirros-0.5.1-x86_64-disk.img cirros-0.5.1 + +# download the ubuntu image for all projects +wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img +$OPENSTACK_CLI image create --disk-format qcow2 --container-format bare --public --property os_type=linux --file ./bionic-server-cloudimg-amd64.img ubuntu_18.04 + +# create a flavour for the admin project +$OPENSTACK_CLI flavor create admin.tiny --ram 1048 --disk 1 --vcpus 2 --private --project admin + +# create flavours for the guest project +$OPENSTACK_CLI flavor create m1.tiny --ram 512 --disk 5 --vcpus 1 --private --project $PROJECT +$OPENSTACK_CLI flavor create m1.smaller --ram 1024 --disk 10 --vcpus 1 --private --project $PROJECT + +# collect vars +export PROJECT=$PROJECT +export ACCOUNT=$ACCOUNT +export ACCOUNT_PASSWORD=$ACCOUNT_PASSWORD +export AUTH_URL=$(openstack endpoint list -f json | jq -r '.[] | select(."Service Name" == "keystone" and ."Interface" == "public") | .URL') +export PROVIDER_NET_ID=$(openstack network list -f json | jq -r '.[] | select(."Name" == "provider_network") | .ID') +export IMAGE=$(openstack image list -f json | jq -r '.[] | select(."Name" == "ubuntu_18.04") | .ID') +export FLAVOR=$(openstack flavor list --all -f json | jq -r '.[] | select(."Name" == "m1.tiny") | .ID') +export PUB_KEY=$(cat /home/openstack/.ssh/id_rsa.pub) + +# render terraform vars.tf +envsubst < /home/openstack/stack/vars.tf.envsubst > /home/openstack/stack/vars.tf diff --git a/stack/ping_test.yml b/stack/ping_test.yml new file mode 100644 index 0000000..48a6b04 --- /dev/null +++ b/stack/ping_test.yml @@ -0,0 +1,90 @@ +--- +- name: build ping_map + hosts: localhost + become: no + gather_facts: false + + tasks: + + - name: build ping_map + ansible.builtin.set_fact: + _ping_map: "{{ _ping_map | default({}) | combine ({entry: []}, recursive=True) }}" + loop: "{{ inventory_hosts }}" + loop_control: + loop_var: entry + vars: + inventory_hosts: "{{ hostvars[inventory_hostname]['groups']['all'] }}" + + # - ansible.builtin.debug: + # msg: + # - "{{ _ping_map }}" + + - name: populate ping_map + ansible.builtin.set_fact: + _ping_map: "{{ _ping_map | default({}) | combine ({source: destination_list_append}, recursive=True) }}" + loop: "{{ target_hosts|product(target_hosts) }}" + loop_control: + loop_var: entry + vars: + target_hosts: "{{ hostvars[inventory_hostname]['groups']['all'] }}" + source: "{{ entry[0] }}" + destination: "{{ entry[1] }}" + destination_list: "{{ _ping_map[source] }}" + destination_list_append: "{{ destination_list + [destination] }}" + when: not entry[0] == entry[1] + + # - ansible.builtin.debug: + # msg: + # - "{{ _ping_map }}" + + - name: write global ping_map + ansible.builtin.set_fact: + _global_ping_map: "{{ _ping_map }}" + delegate_to: localhost + delegate_facts: true + +- name: ping test + hosts: all + become: yes + gather_facts: True + + tasks: + + - name: load global ping_map + ansible.builtin.set_fact: + _ping_map: "{{ hostvars['localhost']['_global_ping_map'] }}" + when: + - hostvars['localhost']['_global_ping_map'] is defined + + # - debug: + # msg: + # - "{{ _ping_map }}" + + - name: ping neighbours + ansible.builtin.shell: | + echo SOURCE {{ inventory_hostname }} + echo DESTINATION {{ destination_target }} + echo + ping -Rn -c 1 {{ destination_ip }} + loop: "{{ destination_targets }}" + loop_control: + loop_var: entry + vars: + destination_targets: "{{ _ping_map[inventory_hostname] }}" + destination_target: "{{ entry }}" + destination_ip: "{{ hostvars[destination_target]['ansible_default_ipv4']['address'] }}" + source: "{{ inventory_hostname }}" + register: _ping_results + + - name: print results + ansible.builtin.debug: + msg: + - "{{ output }}" + loop: "{{ _ping_results['results'] }}" + loop_control: + loop_var: idx + label: "{{ destination }}" + vars: + destination: "{{ idx['entry'] }}" + output: "{{ idx['stdout_lines'] }}" + diff --git a/stack/stack.tf b/stack/stack.tf new file mode 100644 index 0000000..e27a672 --- /dev/null +++ b/stack/stack.tf @@ -0,0 +1,235 @@ +## load provider +terraform { +required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.48.0" + } + } +} + +## configure provider +provider "openstack" { + auth_url = "${var.provider_config["auth_url"]}" + user_name = "${var.provider_config["auth_user"]}" + password = "${var.provider_config["auth_pass"]}" + tenant_name = "${var.provider_config["project"]}" + region = "RegionOne" +} + +## vars +variable "dns" { + type = list(string) + default = ["1.1.1.1", "8.8.8.8"] +} + +variable "subnet1" { + type = map(string) + default = { + subnet_name = "subnet1" + cidr = "172.16.10.0/24" + instance_count = "2" + } +} + +variable "subnet2" { + type = map(string) + default = { + subnet_name = "subnet2" + cidr = "172.16.11.0/24" + instance_count = "1" + } +} + +## data sources +data "openstack_networking_network_v2" "exnetname" { + network_id = "${var.extnetid}" +} + +#output "exnet_name" { +# value = "${data.openstack_networking_network_v2.exnetname.name}" +#} + +## resources +# router +resource "openstack_networking_router_v2" "router" { + name = "router_${local.project}" + admin_state_up = true + external_network_id = var.extnetid +} + +# network1 +resource "openstack_networking_network_v2" "network1" { + name = "network1_${local.project}" +} + +# network2 +resource "openstack_networking_network_v2" "network2" { + name = "network2_${local.project}" +} + +# subnet1 +resource "openstack_networking_subnet_v2" "subnet1" { + name = "${var.subnet1["subnet_name"]}_${local.project}" + network_id = openstack_networking_network_v2.network1.id + cidr = var.subnet1["cidr"] + dns_nameservers = var.dns +} + +# subnet2 +resource "openstack_networking_subnet_v2" "subnet2" { + name = "${var.subnet2["subnet_name"]}_${local.project}" + network_id = openstack_networking_network_v2.network2.id + cidr = var.subnet2["cidr"] + dns_nameservers = var.dns +} + +# router interface subnet1 +resource "openstack_networking_router_interface_v2" "interface1" { + router_id = openstack_networking_router_v2.router.id + subnet_id = openstack_networking_subnet_v2.subnet1.id +} + +# router interface subnet2 +resource "openstack_networking_router_interface_v2" "interface2" { + router_id = openstack_networking_router_v2.router.id + subnet_id = openstack_networking_subnet_v2.subnet2.id +} + +# security group +resource "openstack_compute_secgroup_v2" "ingress" { + name = "${local.project}" + description = "ingress rules" + rule { + from_port = 22 + to_port = 22 + ip_protocol = "tcp" + cidr = "192.168.140.0/24" + } + rule { + from_port = -1 + to_port = -1 + ip_protocol = "icmp" + cidr = "192.168.140.0/24" + } + rule { + from_port = 22 + to_port = 22 + ip_protocol = "tcp" + self = true + } + rule { + from_port = -1 + to_port = -1 + ip_protocol = "icmp" + self = true + } +} + +# floating ip instance_subnet1 +resource "openstack_compute_floatingip_v2" "instance_subnet1_fip" { + count = "${var.subnet1["instance_count"]}" + pool = "${data.openstack_networking_network_v2.exnetname.name}" + #depends_on = ["openstack_networking_router_interface_v2.router"] +} + +# floating ip instance_subnet2 +resource "openstack_compute_floatingip_v2" "instance_subnet2_fip" { + count = "${var.subnet2["instance_count"]}" + pool = "${data.openstack_networking_network_v2.exnetname.name}" + #depends_on = ["openstack_networking_router_interface_v2.router"] +} + +# subnet1 instances +resource "openstack_compute_instance_v2" "instance_subnet1" { + count = "${var.subnet1["instance_count"]}" + name = "${var.subnet1["subnet_name"]}_${local.project}${count.index}" + image_id = var.image + flavor_id = var.flavor + user_data = templatefile("user_data.sh", { + pubkey = local.pubkey + } ) + #network { + # uuid = var.extnetid + #} + network { + uuid = openstack_networking_network_v2.network1.id + } + security_groups = [ "${openstack_compute_secgroup_v2.ingress.name}" ] + depends_on = [ + openstack_networking_subnet_v2.subnet1 + ] +} + +# subnet2 instances +resource "openstack_compute_instance_v2" "instance_subnet2" { + count = "${var.subnet2["instance_count"]}" + name = "${var.subnet2["subnet_name"]}_${local.project}${count.index}" + image_id = var.image + flavor_id = var.flavor + user_data = templatefile("user_data.sh", { + pubkey = local.pubkey + } ) + network { + uuid = openstack_networking_network_v2.network2.id + } + security_groups = [ "${openstack_compute_secgroup_v2.ingress.name}" ] + depends_on = [ + openstack_networking_subnet_v2.subnet2 + ] +} + +# subnet1 floating ips +resource "openstack_compute_floatingip_associate_v2" "fip_subnet1" { + count = "${var.subnet1["instance_count"]}" + floating_ip = "${openstack_compute_floatingip_v2.instance_subnet1_fip[count.index].address}" + instance_id = "${openstack_compute_instance_v2.instance_subnet1[count.index].id}" +} + +# subnet2 floating ips +resource "openstack_compute_floatingip_associate_v2" "fip_subnet2" { + count = "${var.subnet2["instance_count"]}" + floating_ip = "${openstack_compute_floatingip_v2.instance_subnet2_fip[count.index].address}" + instance_id = "${openstack_compute_instance_v2.instance_subnet2[count.index].id}" +} + +# ansible inventory +resource "local_file" "ansible_inventory" { + content = templatefile("inventory.tmpl", + { + user = "openstack" + password = "Password0" + subnet1_instance_name = openstack_compute_instance_v2.instance_subnet1[*].name + subnet1_instance_address = openstack_compute_floatingip_v2.instance_subnet1_fip[*].address + subnet2_instance_name = openstack_compute_instance_v2.instance_subnet2[*].name + subnet2_instance_address = openstack_compute_floatingip_v2.instance_subnet2_fip[*].address + } + ) + filename = "ansible_inventory" +} + +# cheat, no until connection - wait for nodes to boot and start ssh +resource "time_sleep" "loitering" { + create_duration = "120s" +} + +# check ansible instance connectivity +resource "null_resource" "ansible_floating_ip_ping" { + provisioner "local-exec" { + command = "ansible -i ansible_inventory all -m ping" + } + depends_on = [ + time_sleep.loitering + ] +} + +# check ansible inter-instance connectivity +resource "null_resource" "ansible_private_net_ping" { + provisioner "local-exec" { + command = "ansible-playbook -i ansible_inventory ping_test.yml" + } + depends_on = [ + null_resource.ansible_floating_ip_ping + ] +} diff --git a/stack/user_data.sh b/stack/user_data.sh new file mode 100644 index 0000000..27fff95 --- /dev/null +++ b/stack/user_data.sh @@ -0,0 +1,14 @@ +#cloud-config +ssh_pwauth: true +groups: + - admingroup: [root,sys] + - openstack +users: + - name: openstack + primary_group: openstack + lock_passwd: false + passwd: $6$xyz$4tTWyuHIT6gXRuzotBZn/9xZBikUp0O2X6rOZ7MDJo26aax.Ok5P4rWYyzdgFkjArIIyB8z8LKVW1wARbcBzn/ + sudo: ALL=(ALL) NOPASSWD:ALL + shell: /bin/bash + ssh_authorized_keys: + - ssh-rsa ${pubkey} diff --git a/stack/vars.tf.envsubst b/stack/vars.tf.envsubst new file mode 100644 index 0000000..f77ea56 --- /dev/null +++ b/stack/vars.tf.envsubst @@ -0,0 +1,30 @@ +## vars +variable "provider_config" { + type = map(string) + default = { + auth_url = "${AUTH_URL}" + auth_user = "${ACCOUNT}" + auth_pass = "${ACCOUNT_PASSWORD}" + project = "${PROJECT}" + } +} + +variable "extnetid" { + type = string + default = "${PROVIDER_NET_ID}" +} + +variable "image" { + type = string + default = "${IMAGE}" +} + +variable "flavor" { + type = string + default = "${FLAVOR}" +} + +locals { + project = "${var.provider_config["project"]}" + pubkey = "${PUB_KEY}" +}