XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. fohdeesha
    • Profile
    • Following 0
    • Followers 4
    • Topics 0
    • Posts 98
    • Best 27
    • Controversial 0
    • Groups 3

    fohdeesha

    @fohdeesha

    Vates 🪐 Pro Support Team 💡

    160
    Reputation
    1840
    Profile views
    98
    Posts
    4
    Followers
    0
    Following
    Joined Last Online
    Location Indianapolis

    fohdeesha Unfollow Follow
    Pro Support Team 💡 Vates 🪐 XCP-ng Team 🚀

    Best posts made by fohdeesha

    • RE: Any updated tutorial on how to create new cloud images?

      @encryptblockr The issue is the cloud-init project is so disorganized and is constantly introducing more and more OS-dependent workarounds, bugs, and oddities that any documentation will become useless in a few months. I maintain our XOA Hub cloud-init builds, and I have to personally rewrite my own documentation every single time we push out a new image because cloud-init has broken something new, changed or removed config options without documenting it, or the underlying OS has changed how it deals with networking files etc and cloud-init has not been updated to deal with that. It's a nightmare, and cloud-init is the worst project I've ever had to deal with at Vates.

      For debian/ubuntu, this is my rough process currently, but it's not worth putting in an official blog or document guide because it will be rendered useless and just cause people frustration the next release cloud-init puts out, the next debian or ubuntu version change, etc. You'll note none of this is related to XCP-ng at all (except for xen tools obviously), so the below is documentation cloud-init should really be publishing themselves - I have a feeling they also know it would quickly be rendered useless as well so they don't bother. Anyway:

      #create a new debian or ubuntu VM in XCP-ng with a ~10gb disk. During the install ISO process, you'll have to choose manual partitioning, and either remove the swap partition completely from the partition layout, or move it to the beginning of the disk. If you choose auto partitioning, it will put a swap partition after the data partition, so the data partition won't be able to be expanded on your template. Once it's installed and running, install xcp-ng guest utilities. To get the latest version, use our guest-utilities ISO. Once all that xen-specific stuff is done, you can start the cloud-init setup: Start with installing cloud-init in the first place:

      apt-get install -y cloud-init cloud-utils cloud-initramfs-growroot
      

      Set the root and default user to random passwords, then disable password logins (this is done on our templates so only pubkey based logins are accepted, skip this optionally):

      echo 'root:dfgdfgdfg' | chpasswd
      echo 'ubuntu:dfgdfg' | chpasswd
      passwd -l root
      passwd -l ubuntu
      nano /etc/ssh/sshd_config #set permitrootlogin to "no"
      

      Clean networking stuff that the VM picked up via dhcp from your current network, they will be re-populated with current info whenever the template is deployed:

      nano /etc/resolv.conf #remove all
      nano /etc/hosts # remove everything but localhost
      

      Now the important part, set the main cloud init config. Edit /etc/cloud/cloud.cfg - What exactly you need to edit here is impossible to document, as the default values in this file change across every OS, and are changed across every cloud-init version, with no documentation indicating they have done so. The actual behavior of a given option has also been changed out of nowhere. So I'll try to summarize. You want to remove any datasource_list or datasource blocks, and replace them with these values:

      datasource_list: [ NoCloud, ConfigDrive ]
      datasource:
          ConfigDrive:
              dsmode: local
          NoCloud:
              fs_label: cidata
      

      You'll need to find and change (or add) these vars as well so networking is properly handled:

      manage_resolv_conf: true
      manage_etc_hosts: true
      preserve_hostname: false
      

      Also find the default_user block, and change it to whatever username you set up during the install ISO (the user aside from root). On our templates we name this user after the OS, so the non-root user on the ubuntu template is "ubuntu", so that part of the cloud-init config looks like this:

         default_user:
           name: ubuntu
      

      If your file doesn't have the following somewhere in it, add it (I've had to add it on some builds, on other builds it was magically there already):

      users:
         - default
      disable_root: true
      

      On some older cloud-init versions, I had to manually re-order the module init staging order, because cloud-init could not be bothered to get this right themselves. I think (???) this has been resolved in later builds, but again it changes constantly so there's no way to know. Basically, ensure these three modules are under the first "cloud_init_modules" that run during the init stage, not under the later config or final stage:

       - set_hostname
       - update_hostname
       - update_etc_hosts
      

      Save the config file, and hopefully you're done with that. I can't outline just how unreliable documenting this file is - the defaults, the behavior of certain options, or even the presence of certain options changes entirely across OS's and cloud-init versions, so I can't just keep a "master copy" of the config file and expect it to work. You have to examine the default file you get line by line and work towards the values above until the template works properly. When it stops working properly 3 months later, browse the cloud-init mailing lists and github issues to figure out which option's behavior they changed without any warning, and repeat.

      Now remove all the random config files that cloud-init occasionally decides to install that will override your own config and render it useless. This list of files changes whenever cloud-init builds feel like it, so just look in the parent directory to see what's there on your specific cloud-init version:

      rm -rf /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/90_dpkg.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
      

      Remove any stuff the VM picked up that you don't want in all your templates. This also cleans any cloud-init runs that might have occurred if you rebooted the VM, so the template you end up with will be "fresh". We also remove the command history for the root user and default user

      rm -rf /etc/ssh/ssh_host_*
      cloud-init clean --logs
      su - ubuntu
      cat /dev/null > ~/.bash_history && history -c && exit
      cat /dev/null > ~/.bash_history && history -c && exit
      

      Now you can shut the VM down and convert it into a template. Whenever deploying, it will already have xen guest tools, and a disk that will automatically be expanded to whatever you set the disk size to when deploying. This post will no longer lead to a working cloud-init deployment within 3-6 months based on my previous experience, enjoy it while you can

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: XO debian 10 cloud ready VM template (cloud-init)

      @mietek I can assure you there's no malicious intent to mislead you, why we would do that to our users is beyond me. Olivier is simply one of the most busy people I've worked with, and he still takes the time to come here and answer free users when he can. He might not have the time to scour the internet and github for the relevant patches and news for niche threads like this. We were not made aware of the cloud-init fix until just a few days ago when a patch was submitted. Cloud-init has been notoriously hard to support and document because the upstream project is constantly doing things like this, and as you noticed it can affect how it works on one OS version versus another very differently. If it were up to me we would drop built-in support for it because of this mess (and a lot of large projects have dropped it entirely and moved to Ignition, like CoreOS) but a lot of users still find it very useful so we continue to support it as best we can, baring with the mess going on upstream.

      I'm not sure if you're aware, but Olivier is the founder and CEO of Vates, who is behind both XCP-ng and XOA. I welcome you to go to the ESXI forum and try and get the CEO of VMware to personally answer your questions, as a free user to top it off.

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: French government initiative to support

      Why is it these people can never spell?

      posted in News
      fohdeeshaF
      fohdeesha
    • RE: Realtek 8187 (RTL8187) driver

      @jivanpal I think trying to get OpenVswitch (our underlying network layer) managing and using a wifi dongle for core hypervisor networking would be a nightmare, and you'd probably need to install some extra packages to handle the authentication / WPA management etc - then of course there's zero guarantee OVS wouldn't overwrite or revert any of this custom stuff for said interface (OVS was not designed to work with wifi)

      Not to mention you'd have to have a relatively hackable AP, one that will allow the dongle to source a lot of different MAC addresses, which is pretty rare. From OVS's own docu:

      e55b26f6-b82c-4461-a0a3-e725d3dea4f0-image.png

      posted in Development
      fohdeeshaF
      fohdeesha
    • RE: XCP-NG vm's extremly slow

      @Andi79 https://www.youtube.com/watch?v=tDacjrSCeq4

      posted in Compute
      fohdeeshaF
      fohdeesha
    • RE: XCP-NG Slow VM vs Bare Metal

      @zxcp Something is very broken - with customers and most users we typically see around ~90% of bare metal perfs (in things like passmark and real use). This is with modern virtualization using PVHVM - which is what most of the templates should default to if your hardware supports it. What hardware is this exactly? is it running the latest bios/firmware and you've ensured it has VT-D / IOMMU / etc enabled? In simple cases of poor virtualization overhead we may expect to see something like ~30% worse performance compared to bare metal, so maybe an 8 minute ubuntu install instead of 5. Three hours means something is very broken somewhere - could be storage related as well as installs are usually very write heavy. If you attach a dmesg from XCP-ng it should make it clear what your hardware supports virt wise

      posted in Compute
      fohdeeshaF
      fohdeesha
    • RE: Weird issue with PCIe passthrough and XCP-NG/Xenserver

      @alexanderk Heh yes, and a few other Brocade/Quanta/Dell guides

      posted in Compute
      fohdeeshaF
      fohdeesha
    • RE: XO from sources

      +1 for avoiding 3rd party install scripts, the official install doc is like, 10 commands? I think it takes maybe 10 minutes or less the last time I did it on a fresh debian system, and you know it's always the correct instructions (which is NOT the case with 3rd party scripts, as you'll see in this forum when even the slightest architectural change is made to the XO sources). You also get to learn at least a little bit about the architecture of what you're installing and running instead of pressing go on a script you grabbed from some guy's github and hoping the XO web interface appears. I thought the whole point of "homelab" (for which sources are intended and primarily used) was learning and developing skills in the first place?

      No disrespect intended to the people that create and maintain said scripts, it just seems to me like it bypasses the point of sources a little bit 🙂

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Still no new templates

      @maxcerny Indeed, the Ubuntu cloud-init template should be up by the end of this week (cloud-init has so many fun bugs to work around for these applications)

      posted in News
      fohdeeshaF
      fohdeesha
    • RE: Windows Server 2022 Essentials

      @olivierlambert never done it myself, but this is indeed exactly what the feature "Copy host BIOS strings to VM" was intended for as @Andrew mentioned. Hopefully the BIOS strings this feature copies are enough for the ROK installer to recognize the "authorized" dell hardware

      posted in Development
      fohdeeshaF
      fohdeesha

    Latest posts made by fohdeesha

    • RE: 10 gig secondary network

      @abelaguilar indeed you do not have to fill out the dns and gateway fields - in fact as you surmised you shouldn't. Where you getting an error or something when leaving them blank? The only mandatory fields are IP and netmask.

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Second ip for hosts interface

      @SNSNSN Indeed, these would typically at least be isolated via vlans at least (one vlan for iscsi traffic, one for iscsi). There's no point in having them in two different subnets if they're in the same network and vlan, the traffic isn't isolated at all. You might as well have them in the same subnet if you're doing that, in which case you only need 1 IP on the XCP-ng management NIC.

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Second ip for hosts interface

      @SNSNSN Hi, this isn't possible, at least not without a lot of manual workarounds. It's not recommended anyhow, why do you need to assign another subnet to an adapter already in a different subnet? These should typically be isolated either physically via different connections, or via VLANs.

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Windows Server 2022 Essentials

      @olivierlambert never done it myself, but this is indeed exactly what the feature "Copy host BIOS strings to VM" was intended for as @Andrew mentioned. Hopefully the BIOS strings this feature copies are enough for the ROK installer to recognize the "authorized" dell hardware

      posted in Development
      fohdeeshaF
      fohdeesha
    • RE: iptables rule to allow apcupsd traffic to APC management card

      Indeed, to properly edit iptables rules on xcp-ng, you need to add rules to /etc/sysconfig/iptables. I would copy something like the ssh allow line to another line directly below it, and change the port to 161 for example (and change protocol to udp, which I'm pretty sure your card uses, if it's just doing plain snmp). After verifying that fixes it, you can lock the rule down further by allowing this traffic only from the IP of the management card.

      Example of added line below ssh line:

      -A RH-Firewall-1-INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 694 -j ACCEPT
      ##UPS rule
      -A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate NEW -m udp --dport 161 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 80 -j ACCEPT
      etc
      etc
      

      Note that anytime you edit this file, you must restart iptables for it to take effect with service iptables restart

      Thinking about this further though I don't think this should be necessary, as the ups daemon in dom0 is reaching out to the UPS card, not the other way around, so an explicit open port shouldn't be necessary with the default iptables in dom0 (which allows outbound conns)

      posted in Compute
      fohdeeshaF
      fohdeesha
    • RE: Network pool + Cloud Init

      @brm Hmm, I actually am not sure if we ever added support for this specifically (specifying an IP from IP pools in a cloud-init configuration). I've never seen IP variables used or referenced so I don't think it's currently possible. @olivierlambert who was it on the team that implemented the IP Pools feature?

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: When attempting to create a OPNsense VM via XO stack becomes unresponsive.

      @MrXeon So, the actual root issue here I believe, is opnsense installs come with an IP and dhcp server already assigned and enabled on the lan interface (I believe it's 192.168.1.1, but don't quote me). If your existing home network already uses 192.168.1.x/24 and already has a dhcp server, booting an opnsense install with it's virtual lan nic set to your existing home lan, there will be a lot of conflicts. Virtual nic order can be whatever you'd like (you can change and move around assignments in opnsense), but if it's preconfigured lan interface gets set to your preexisting lan network, there will be conflicts 🙂

      posted in Compute
      fohdeeshaF
      fohdeesha
    • RE: Any updated tutorial on how to create new cloud images?

      Also note the text at the top of your screenshot: to continue you need to select a boot device. There might be a way in that menu (or partition creation submenu) to mark that created partition as bootable, or maybe you just need to highlight/select the partition under "used devices" before hitting "done"

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Any updated tutorial on how to create new cloud images?

      @encryptblockr yup, welcome to cloud-init hell. Your issue is definitely ubuntu related though, if I had to guess, the installer wants/requires a swap partition. Just create a 1 or 2gb swap partition as well, but put it first in the partition table, so the root partition after it has room to grow. You'll also run into some network issues probably when trying to use your new template, as ubuntu has moved to new netplan crap to manage networking in the OS, and cloud-init has a ton of bugs with it

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha
    • RE: Proper way to handle XO CloudConfigDrive and CloudInit post provisioning

      @furyflash777 I'm assuming you're on Ubuntu? Indeed as Olivier said this is tested on Debian and doesn't cause issues, but it seems on the newer Ubuntu versions with cloud-init, the new Netplan based network manager and how it interacts with cloud-init breaks/gets wiped if no cloud-init drive is found. Yet another cloud-init bug to track down

      posted in Xen Orchestra
      fohdeeshaF
      fohdeesha