XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Custom config / cloud-init

    Scheduled Pinned Locked Moved Management
    19 Posts 3 Posters 369 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      Pilow @bvitnik
      last edited by

      @bvitnik said in Custom config / cloud-init:

      https://docs.xcp-ng.org/guides/create-use-custom-xcpng-ubuntu-templates/

      I noticed in the documentation, they put "password:" for user password creation.

      what is working for me :

      plain_text_passwd: 'myverysecureplaintextpassword'
      

      more secure, use a SHA 512 encrypted password, but with :

      passwd: QChUQYy14yOv_encrypted_password_mgnEFL6TRPIsJ/4
      

      make it encrypted with

      # mkpasswd --method=SHA-512
      
      B 1 Reply Last reply Reply Quote 0
      • B Offline
        bvitnik @Pilow
        last edited by

        @Pilow password: as a global option and passwd: or plain_text_passwd: under users: key are two different things. The first one sets the password for the default user, ubuntu on Ubuntu if I recall correctly, while the others set password for the user specified in the users: key.

        Read the docs people 😁

        P 1 Reply Last reply Reply Quote 2
        • P Offline
          Pilow @bvitnik
          last edited by

          @bvitnik indeed, RTFM

          i'm a newb on cloud-init, and should follow more this good advice !

          1 Reply Last reply Reply Quote 0
          • A Offline
            acebmxer
            last edited by

            So I have had some more time to play around with this, and I think I got it working except for one part.

            After I convert the vm to a template and go deploy new vm with newly created template. Even if i put in the network config as such.

            #cloud-config
            network:                                                                                                                                              
               version: 2                                                                                                                                          
               ethernets:
                enX0:
                  dhcp4: true
                  dhcp6: false
                  set-name: "enX0"
            

            The new vm does not get IP address. When i log into new vm it does not have /etc/netplan/50-cloud-init.yaml with the above network config.

            If i manually create the file with the above config and reboot the vm gets an IP address and a different one then previous vm

            B 1 Reply Last reply Reply Quote 0
            • B Offline
              bvitnik @acebmxer
              last edited by bvitnik

              @acebmxer Did you do:

              cloud-init clean --logs --seed
              

              before converting the VM to template?

              Also, network configuration is not part of the cloud-config (aka user data). In XO, there is a separate field called "Network config" where it should be specified. See examples at the end of the guide I pasted earlier. network: key should also be removed (commented in the examples).

              A 2 Replies Last reply Reply Quote 1
              • A Offline
                acebmxer @bvitnik
                last edited by acebmxer

                @bvitnik
                This is creating new vm from Hub template. If i try the below network config the VM hangs on boot. Think previously it would eventually boot but have not networking as stated previously.

                #cloud-config
                # network:                                                                                                                                              
                   version: 2                                                                                                                                          
                   ethernets:
                    enX0:
                      dhcp4: true
                      dhcp6: false
                      set-name: "enX0"
                

                This is copy pasted from the link you provided about additional infomation to add to documentation. does not show network: commented out. When i use this with ips corrected to my network the vm boots fast but again still no networking. Even if i comment out network. Still no networking. I have to leave blank during vm creation. Can you past your working network config?

                #cloud-config
                network:
                  version: 2
                  ethernets:
                    eth0:
                      dhcp4: false
                      addresses:
                        - 10.0.2.6/27
                      gateway4: 10.0.2.1
                      nameservers:
                        addresses:
                          - 10.0.2.1
                          - 1.1.1.1
                

                EDIT -

                This is a working config for new vm from Ubuntu Hub template. VM boots and gets IP address. Its not much different then my original. I dont know. Still learning this stuff.

                network:
                  version: 2
                  ethernets:
                    enX0:      # or whatever your interface name is
                      dhcp4: true
                

                Edit -2 while the above works for dhcp the below does not work for static. VM does not get static ip

                network:
                  version: 2
                  ethernets:
                    enX0:      # or whatever your interface name is
                      dhcp4: false
                      addresses: - 10.100.10.206/24
                      gateway4: 10.100.10.254
                      nameservers:
                          addresses:
                               - 10.100.10.254
                               - 1.1.1.1
                
                B 1 Reply Last reply Reply Quote 0
                • A Offline
                  acebmxer @bvitnik
                  last edited by

                  @bvitnik said in Custom config / cloud-init:

                  @acebmxer Did you do:

                  cloud-init clean --logs --seed
                  

                  before converting the VM to template?

                  Also, network configuration is not part of the cloud-config (aka user data). In XO, there is a separate field called "Network config" where it should be specified. See examples at the end of the guide I pasted earlier. network: key should also be removed (commented in the examples).

                  besides getting it working on fresh vm from the ubuntu template from the Hub. I do have that command in script to prepare the vm to create a template from it. AI says this will cause the vm not to recreate the 50-cloud-init.yaml file. So how do I work around that also.

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    bvitnik @acebmxer
                    last edited by bvitnik

                    @acebmxer said in Custom config / cloud-init:

                    ...

                    network:
                      version: 2
                      ethernets:
                        enX0:      # or whatever your interface name is
                          dhcp4: false
                          addresses: - 10.100.10.206/24
                          gateway4: 10.100.10.254
                          nameservers:
                              addresses:
                                   - 10.100.10.254
                                   - 1.1.1.1
                    

                    Address should be on the next line:

                          addresses:
                          - 10.100.10.206/24
                    

                    Regarding 50-cloud-init.yaml, AI is lying 😁 .

                    A 1 Reply Last reply Reply Quote 0
                    • A Offline
                      acebmxer @bvitnik
                      last edited by

                      @bvitnik 👍 that worked.

                      B 1 Reply Last reply Reply Quote 1
                      • B Offline
                        bvitnik @acebmxer
                        last edited by

                        @acebmxer Great. These are some YAML basics. You should read more about it ☺ . Following AI instructions without understanding is not going to take you far.

                        1 Reply Last reply Reply Quote 2
                        • First post
                          Last post