Code Monkey home page Code Monkey logo

rutgerblom / sddc.lab Goto Github PK

View Code? Open in Web Editor NEW
157.0 157.0 49.0 15.29 MB

Ansible playbooks that automate deployment and configuration of nested VMware Software-Defined Data Center environments including solutions like vSphere, vSAN, NSX, Tanzu Kubernetes Grid Service, NSX Advanced Load Balancer, Aria Operations for Logs, VyOS, and ISC BIND.

License: GNU General Public License v3.0

Python 42.91% Jinja 52.99% Shell 4.10%
alb ansible-playbooks bind edge esxi nsx sddc tanzu tkgs vcenter vmware vsan vsphere vyos

sddc.lab's People

Contributors

luischanu avatar rexit1982 avatar rutgerblom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sddc.lab's Issues

prepare iso not work

Hello,greate for you work.
i test prepareISO playbook, this end successufuly but when test the iso, esxi setup not start when select UEFI boot mode.
The normal boot work successufuly and esxi install without problem

Only version of NSX 4 on VMUG isn't listed in software.yml for dev-v6

Currently the only version of NSX 4 I can download from VMUG advantage is nsx-unified-appliance-4.1.0.0.0.21333676-le.ova which isn't listed in the software.yml file.

I added it as

        "4.1.0.0":
          Name: NSX Transformers v4.1.0.0
          File: nsx-unified-appliance-4.1.0.0.0.21333676-le.ova
          Location:
            Local: "{{ RootDirectory }}/VMware/NSX-T/v4.1.0.0"
            URL:
          Version: "4.0"
          FileExt: ova

Hopefully that is correct

nsupdate errors

Hi,
Thanks for this very handy tool.
I'm running into issue updating DNS in the updateDNS.yaml on the previously deployed DNS server.
Adding the 'A' records seem to pass, but there are errors in the log, and no entries exist in /var/lib/bind/db.sddc.lab
Adding the 'PTR' records fails with a NOTAUTH error. After which the 'A' records entries appear in the /var/lib/bind/db.sddc.lab.
Subsequent runs add more errors for the PTR records update

Any idea what might be going on here?

db.sddc.lab.txt
db.10.203.txt
updateDNS.log
update.log

Request to Add License

Hi Rutger!

I just found this repo from your blog by Googling ansible nested esxi host and you are at the top of the list! I read it over and it looks great! I see a few other posts that I'm interested in as well. All this to say...thanks for sharing! ...and keep up the great work!

Can you please choose a license and add it to this repo? If a repo doesn't have a license, this is implied.

Thanks again!
Chris

Issue in updateDNS.yml for PTR record creation

First and foremost, thank you very much for your great works and sharing!

I ran into a small issue during the test of dev-v2 .

On playbook updateDNS.yml, there is missing zone value in nsupdate call, this would cause issue with error message, Failed to create DNS record

My temporary workaround is hardcoded the zone for IPv4/IPv6, e.g.
- name: IPv4 'PTR' records for Nested_Router
nsupdate:
zone: 203.10.in-addr.arpa.
- name: IPv6 'PTR' records for Nested_Router
nsupdate:
zone: 0.0.d.f.ipv6.arpa.

The DNS server is running with Ubuntu 20.04.1 Server and nsupdate version is 9.16.1

Thanks!
Don

Error deploying Ubuntu

I am getting this write timeout error:
TASK [Upload the custom Ubuntu ISO to the datastore] ************************************************************************************************************************************************************************************************************************************************************************
task path: /SDDCLab/SDDC.Lab/playbooks/deployDNSServer.yml:234
Tuesday 29 June 2021 16:53:17 +0000 (0:00:00.028) 0:00:40.479 **********
ESTABLISH LOCAL CONNECTION FOR USER: root
EXEC /bin/sh -c 'echo ~root && sleep 0'
EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp"&& mkdir "echo /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773" && echo ansible-tmp-1624985597.5021713-7510-233738713634773="echo /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773" ) && sleep 0'
Using module file /root/.ansible/collections/ansible_collections/community/vmware/plugins/modules/vsphere_copy.py
PUT /root/.ansible/tmp/ansible-local-6683ttq3xv7q/tmpaa80j451 TO /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773/AnsiballZ_vsphere_copy.py
EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773/ /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773/AnsiballZ_vsphere_copy.py && sleep 0'
EXEC /bin/sh -c '/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773/AnsiballZ_vsphere_copy.py && sleep 0'
EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1624985597.5021713-7510-233738713634773/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python3.8/urllib/request.py", line 1350, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/usr/lib/python3.8/http/client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1049, in _send_output
self.send(chunk)
File "/usr/lib/python3.8/http/client.py", line 971, in send
self.sock.sendall(data)
File "/usr/lib/python3.8/ssl.py", line 1204, in sendall
v = self.send(byte_view[count:])
File "/usr/lib/python3.8/ssl.py", line 1173, in send
return self._sslobj.write(data)
socket.timeout: The write operation timed out

deploy additional hosts

Hello, would it be possible to deploy additional hosts to existing deployment ? For example is I do not deploy Compute B initially or if I need more hosts in a specific cluster?
Thanks!

ALB will not successfully deploy without content library

In my setup I am not deploying a content library. The ALB automation appears to assume there is one and is not doing any checks around that. This causes the vcenter cloud to be in an error state and some later api calls yeild empty info resulting in {{ vsphere_cluster_url }} being empty and the default group SEG settings task to fail ending the deployment.

I see 3 remediation optionsbut rher could be more.

  1. Put a Check at the beginning of the alb deployment process to see if the expected content library is there. If not display an error/pause and allow the rest of the deployment to continue.
  2. Don't use content library
  3. Adapt to use content library if provisioned and do not use it if CL deploy is not true.

Thoughts?

Playbook Util_CreateSoftwareDir.yml failing.

Created a new Ansible controller with ubuntu desktop 22.0.4 to run v6 SDDC, I keep getting an error message when I try to create the folder structure. I reach out to Luis and said maybe something to do with the vyos lookup. I commented out the vyos in the software.yml, after which I was able to create the folder structure except vyos.

Error as following,
Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while running the lookup plugin 'url'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Received HTTP error for https://api.github.com/repos/vyos/vyos-rolling-nightly-builds/releases/latest : HTTP Error 403: rate limit exceeded. Received HTTP error for https://api.github.com/repos/vyos/vyos-rolling-nightly-builds/releases/latest : HTTP Error 403: rate limit exceeded\n\nThe error appears to be in '/home/kn-ansiblectrl/git/SDDC.Lab/utils/Util_CreateSoftwareDir.yml': line 38, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n##\n - name: Create VMware vCenter directories\n ^ here\n"}

I ran the following ansible-playbook --ask-become-pass ~/git/SDDC.Lab/utils/Util_CreateSoftwareDir.yml

DNS Failing

I am trying to spin up a new Pod-010 using v6. It fails at the same place, when it's trying to create vSAN reverse lookup I think. At first, I thought maybe it was because I didn't deploy a new DNS Server. I created a new DNS Server, and I got the same results.

I turned on display variables in the playbook to help troubleshoot.

I turned on logging and this is the file.
SDDCLab_playbook.log
this file is with vvv
SDDCLab_playbook_vvv.log

Thanks

TASK [Create a Management Distributed Port-Group in vCenter] fails

ii'm trying to deploy new pod with new v5 but it fails with error:

fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"hostname": "lab-m01-vcsa01.sworks.lab",
"in_traffic_shaping": null,
"mac_learning": null,
"net_flow": null,
"network_policy": {
"forged_transmits": true,
"inherited": null,
"mac_changes": false,
"promiscuous": true
},
"num_ports": null,
"out_traffic_shaping": null,
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"port": 443,
"port_allocation": null,
"port_binding": "static",
"port_policy": {
"block_override": true,
"ipfix_override": false,
"live_port_move": false,
"network_rp_override": false,
"port_config_reset_at_disconnect": true,
"security_override": false,
"shaping_override": false,
"traffic_filter_override": false,
"uplink_teaming_override": false,
"vendor_config_override": false,
"vlan_override": false
},
"portgroup_name": "Pod-240-Mgmt",
"proxy_host": null,
"proxy_port": null,
"state": "present",
"switch_name": "sddc-lab-vds01",
"teaming_policy": {
"active_uplinks": null,
"inbound_policy": null,
"load_balance_policy": "loadbalance_srcid",
"notify_switches": true,
"rolling_order": false,
"standby_uplinks": null
},
"username": "[email protected]",
"validate_certs": false,
"vlan_id": "240",
"vlan_private": false,
"vlan_trunk": false
}
},
"msg": "missing required arguments: inherited found in network_policy"
}

Also tried to create two "fresh" ubuntu (22.04 and 20.04) VMs but the result is always the same.

Thanks!

Cannot fetch ISO from Directory Structure

Im trying to install my first pod, but the Playbook is complaining it cannot find the iso images. This is the error Im getting:
=================================== Configuration Issue Found ===================================

          Issue: vCenter Server installer file could not be found at specified path

Full Path To File: /Software/VMware/vCenter/v7.0.0U2A/VMware-VCSA-all-7.0.2-17920168.iso

But the iso's are populated:
root@ansible-controller:/Software/VMware/vCenter/v7.0.0U2A# pwd
/Software/VMware/vCenter/v7.0.0U2A
root@ansible-controller:/Software/VMware/vCenter/v7.0.0U2A# ls -l
total 7808912
-rw-rw-r-- 1 root root 7996319744 Jun 16 17:31 VMware-VCSA-all-7.0.2-17958471.iso

What am I doing wrong? Any help appreciated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.