• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. JJ Fullmer
    3. Best
    • Profile
    • Following 5
    • Followers 4
    • Topics 55
    • Posts 947
    • Best 254
    • Controversial 0
    • Groups 3

    Best posts made by JJ Fullmer

    • RE: HP Z640 - NVME PCI-E Drive

      @Tom-Elliott said:

      @Arrowhead-IT if you can would you be willing to test upload and download again for the resize and multipartition image types?

      I will edit this post like before as I test each scenario.
      If there is a scenario I’m missing here let me know and I’ll test that too.
      I will try to be thorough as I can.

      Download of existing image created from vm

      Resizable (Windows 8.1) - Success! No Issues!

      Resizable (Windows 10) - Success! No issues!

      Multi-partition (Linux CentOS Ext4 and LVM) - Failed - New Error
      0_1452787933089_Capture.PNG
      I think this indicates a problem with the image file itself not the imaging process. I’ll reupload this one and test a different mps image in the meantime.
      Edit Reuploaded the image, this is centOS vm that has no mbr apparently. So this is a different problem entirely related linux lvm images. normal mps images work fine

      Multi-partition (Windows 7) - Success! Edit No Issues!
      before
      Note: Changing hostname said failed after imaging in debug mode. 0_1452788642840_Capture.PNG

      Upload from nvme

      Resizable (Windows 10 ) - retesting

      Multi-partition -

      Download of newly uploaded image from nvme

      Resizable (Windows 8.1 ) - Failed - Could not find hard disk on system - getHardDisk function

      Multi-partition

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: Move partitions on GPT layouts - need people to test

      @sebastian-roth

      Windows 8.1

      Image captured and deployed with new init
      Did deploy test from larger 128 GB source VM and it had no problem deploying to 60 GB VM

      d1.partitions

      label: gpt
      label-id: 68156B04-B4FE-40EF-96CC-747C33F75E54
      device: /dev/nvme0n1
      unit: sectors
      first-lba: 34
      last-lba: 268435422
      sector-size: 512
      
      /dev/nvme0n1p1 : start=        2048, size=      614400, type=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC, uuid=6D92B4A9-E0B4-4DED-8C4C-E271AA36B06F, name="Basic data partition", attrs="RequiredPartition GUID:63"
      /dev/nvme0n1p2 : start=      616448, size=      204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=2410B705-A7CB-4CE5-A393-8B3919C909D1, name="EFI system partition", attrs="GUID:63"
      /dev/nvme0n1p3 : start=      821248, size=      262144, type=E3C9E316-0B5C-4DB8-817D-F92DF00215AE, uuid=58F556FE-7D3B-44EA-A846-C0848DB743CB, name="Microsoft reserved partition", attrs="GUID:63"
      /dev/nvme0n1p4 : start=     1083392, size=   267350016, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=364F4B4F-4D49-4955-A5EB-9CDE151EEBF7, name="Basic data partition"
      

      d1.minimum.partitions

      label: gpt
      label-id: 68156B04-B4FE-40EF-96CC-747C33F75E54
      device: /dev/nvme0n1
      unit: sectors
      first-lba: 34
      last-lba: 268435422
      sector-size: 512
      
      /dev/nvme0n1p1 : start=        2048, size=      614400, type=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC, uuid=6D92B4A9-E0B4-4DED-8C4C-E271AA36B06F, name="Basic data partition", attrs="RequiredPartition GUID:63"
      /dev/nvme0n1p2 : start=      616448, size=      204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=2410B705-A7CB-4CE5-A393-8B3919C909D1, name="EFI system partition", attrs="GUID:63"
      /dev/nvme0n1p3 : start=      821248, size=      262144, type=E3C9E316-0B5C-4DB8-817D-F92DF00215AE, uuid=58F556FE-7D3B-44EA-A846-C0848DB743CB, name="Microsoft reserved partition", attrs="GUID:63"
      /dev/nvme0n1p4 : start=     1083392, size=    17806622, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=364F4B4F-4D49-4955-A5EB-9CDE151EEBF7, name="Basic data partition"
      
      posted in General
      JJ FullmerJ
      JJ Fullmer
    • RE: HP Z640 - NVME PCI-E Drive

      @Arrowhead-IT said:

      I’m about to test upload on the updated version.

      Great success, forgot to post that this worked.

      All is working as of 6050

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: Triggering image deploy through url.

      @r-pawlowski I would be happy to help in anyway I can. Personally, I deploy a bootmanager (grub2win) and the ipxe.efi file to each machines efi partition. Then I can just change the boot managers default to boot straight to fog. It takes a bit of time to get setup, but I found it to be the most reliable as I then didn’t have to worry as much about the bios settings. Theoretically you can use bcdedit commands to change the boot order to boot to network, but that also differs on different hardware.

      I digress though, the easy bit for queueing an image to deploy

      • Follow the setup instructions for the fog API (involves installing the module from powershell gallery and then inputting your API keys and fog server address)
      • Then make sure the host you’re imaging is assigned the correct image, this can be changed in the API if you need that, but for this quick example, we’ll pretend it’s set correct.
      • For an example, we’ll say the hostname of a computer in fog is ‘test-computer’, so this will find the host in fog, then queue an image to deploy on it right now
      $hostID = (Get-FogHost -hostname 'Test-Computer').id
      #create a quick json string, this can also be done in a powershell object and converted, but this is just a quick example.
      #tasktypeID of 1 is a deploy task, if no runtime/schedule time is specified, it defaults to instant deploy
      # shutdown = 0 is not scheduling with shutdown
      # I believe other2 = 0 means not a debug
      # other4 = 1 means to enable wol
      # isactive =1 means the task is active
      $jsonData = "{`"taskTypeID`": 1,`"shutdown`":`"0`",`"other2`":`"0`",`"other4`":`"1`",`"isActive`":`"1`" }";
      # make the API call to create the new task for your host
      New-FogObject -type objecttasktype -coreTaskObject host -jsonData $jsonData -IDofObject $hostId;
      

      Once you have this all setup in a powershell module or script internally, you can get things automated pretty smoothly. It’s meant to be modular so it can be applied to any infrastructure or workflow and built upon.

      If you need more help let me know and I’ll see what I can do.

      posted in General
      JJ FullmerJ
      JJ Fullmer
    • RE: HP Z640 - NVME PCI-E Drive

      @Tom-Elliott Yes, I just did. I marked it as unsolved when it broke again.

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: Copy Cloud Storage of /images to Remote Servers Globally

      @george1421 said in Copy Cloud Storage of /images to Remote Servers Globally:

      @JJ-Fullmer do you know if there is an API for exporting image definitions from fog?

      https://forums.fogproject.org/topic/12026/powershell-api-module

      The other option might be to write some mysql code to export the image def table on the root fog server then to import it on the remote fog server end. This could be added to your cron job as part of the image movements.

      As long as the receving end fog server doesn’t create its own images the export and import with mysql should be pretty clean. If the receiving end fog server also created images then there is the problem of duplicate image IDs in the database.

      Sorry I just saw this

      100% you can get image definitions from the api and you could then store them in json files. It would be a lot simpler, easier and safer than direct database calls in my opinion and it handles the whole column sql stuff.

      Here’s a quick sample of what you might do

      On the source server with the original image install and configure the fogApi powershell module.

      Open up a powershell console

      #if you're new to powershell you may need this
      Set-executionpolicy RemoteSigned;
      #install and import the module
      Install-Module FogApi
      Import-Module FogApi;
      # go obtain your fog server and user api tokens from the fog web gui then put them in this command
      Set-FogServerSettings -fogApiToken 'your-server-token' -fogUserToken 'your-user-token' fog-server 'your-fog-server-hostname';
      

      You’ll need to do that above setup for each location to connect to the api

      Now you can get the images and store them as json files, could do 1 big one and could use other file formats, this example will create a json file for each image you have and store it in \server\share\fogImages which you should of course to change to some share you have access to.
      This is a function you could paste into powershell and change that path using the parameter -exportPath "yourPath\here"

      function Export-FogImageDefinitions {
          [cmdletBinding()]
          param (
              $exportPath = "\\sever\share\fogImages"
          )
          $images = Get-FogImages;
          $images | Foreach-object {
              $name = $_.name;
              $_ | ConvertTo-Json | Out-File -encoding oem "$exportPath\$name.json";
          }
      }
      

      So you can copy and paste that (or save it into a .ps1 you dotsource, I may also just add it as a function in the fogAPi module as it would be handy for other users especially when migrating servers.)

      You’d run it like this (after having setup your fog api connection Export-FogImageDefinitions -exportPth "some\path\here"
      Now you have them all in json format on some share so you need an import command

      Now this one I can’t easily test at the moment and may need a little bit of TLC, I based the fields to pass in on the ones defined in the matching class https://github.com/FOGProject/fogproject/blob/master/packages/web/lib/fog/image.class.php

      This is the function you’d run on the other fog servers after configuring the powershell module for the destination fog server on that destination network.

      EDIT: I adjusted this one after some testing. The api will ignore the old id automatically so it doesn’t matter if you pass that and you can pass all the other information that was exported as well, so no need to filter out anything with Select-Object, in fact you can just pass the raw json files

      Function Import-FogImageDefinitions {
          [cmdletBinding()]
          param(
               $importPath = "/images/imageDefinitions"
          )
          $curImages = Get-FogImages;
          #get the json files you exported into the given path
          $imageJsons = Get-ChildItem $importPath\*.json;
          $imageJsons | Foreach-Object {
              # get the content of the json, convert it to an object, and create the image definition
              #create the image on the new server if it doesn't already exist
              if ($curImages.name -contains $_.baseName) { 
                   #this will assume the exported definition is the most up to date definition and update the image definition.
                   Update-FogObject -type object -coreObject image -jsonData (Get-Content $_.Fullname -raw); 
              } else {
                   New-FogObject -type object -coreObject image -jsondata (Get-Content $_.Fullname -raw)
              }
          }
      } 
      

      So you copy paste this function into powershell and run import-fogImageDefinitions -importPath \\path\to\where\you\exported\images

      That should do the trick.

      Also, I believe that all of this will work in the linux version of powershell as well if you don’t have windows in your environment or if you wanted to have all of this running on the fog servers themselves. I also didn’t include what hosts have it assigned as that would probably be different on different servers. That’s also possible to export and import if the hosts are all the same.

      You could also take this example and expand on it and get things automated via scheduled tasks on a windows system or cron on the fog servers so it essentially auto-replicates these definitions as you add new ones. If you want more information or more guidance on using the api for this let me know

      posted in General
      JJ FullmerJ
      JJ Fullmer
    • RE: rEFInd PXE booting issue

      @george1421 The developer has replied, I have quoted it below

      Thanks for the bug report. Upon reading the thread, I think the bug may be related to changes I made to work around problems caused by changes to the way macOS stored its files on APFS volumes, as noted in the release notes for version 0.11.1:

      : As a follow-on to the preceding change, I discovered that compiling
      : rEFInd with GNU-EFI resulted in a failure to properly track some
      : files on APFS volumes. I don’t know if this failure reflected a bug
      : in Apple’s EFI, in GNU-EFI, or in rEFInd; but I changed the way
      : rEFInd tracks boot loader files internally to work around the
      : problem. Although I’ve tested this version on an unusually wide
      : number of computers, it’s possible that this change will introduce
      : new bugs. Thus, if you upgrade and have problems with boot loaders
      : not being detected or not launching, dropping back to version 0.11.0
      : may be worth trying. (Be sure to contact me with a bug report, too!)

      I can look over these code changes for any obvious bugs, but tracking this down may require testing with debug versions that display debugging data. If you or somebody else who’s affected can help with that, it might speed up the process.
      FWIW, some of the reports mentioned HP EliteDesk computers. I happen to own an EliteDesk 705, and I have NOT seen the problem on it. Thus, I suspect that the problem appears as an interaction with a very limited set of EFIs and/or something quirky about the partition table, filesystem, or other system-specific setup. This isn’t to say the bug exists in some other component, but it’s likely manifesting only in some rare circumstance.

      In the meantime, using version 0.11.0 makes sense as a workaround.
      –
      Rod Smith

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: API wake on lan

      @Lenain I also made a github issue for making a function out of this
      https://github.com/darksidemilk/FogApi/issues/7

      If you’re feeling saucy feel free to fork the repo and give it a go and pull request it. I’ll get to it eventually, but it could be quite a while, life is rather busy at the moment.

      posted in General
      JJ FullmerJ
      JJ Fullmer
    • RE: rEFInd PXE booting issue

      @george1421 I meant to put that I volunteered as tribute when I quoted his reply.
      I’m sure he’d appreciate more testers as well if anyone’s interested.

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: How does FOG select the HDD on a system for Imaging, in a multi disk system.

      @FRG You can specify the disk to image to in the host settings screen with the host primary disk field
      96cfd435-a76b-4776-84ac-507d7b65da1d-image.png

      By default Fog will use the first disk it finds (I believe) or you can specify per host.
      i.e. if you wanted it to image to a second disk you could specify /dev/sda2 or /dev/nvmen1n1

      posted in General
      JJ FullmerJ
      JJ Fullmer
    • RE: issue with netcard of dock gen2 of lenovo l390

      @george1421 That done did it!
      It imaged correctly as expected, huzzah! No problems at all.

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: issue with netcard of dock gen2 of lenovo l390

      @george1421 I’m making it my default kernel now then, I backed up the old one of course. I’ll report back if there are any problems, but I would assume all will work as expected.

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: Lenovo L13 yoga 'Maybe the usb cable is bad' error when trying to register

      @george1421 On it! Going to try it still using your test kernel

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • RE: Lenovo L13 yoga 'Maybe the usb cable is bad' error when trying to register

      @george1421 I need to get this machine into production so I can’t test this right now. But I can image one of the other’s we have tomorrow and see if this kernel does the trick.

      posted in Hardware Compatibility
      JJ FullmerJ
      JJ Fullmer
    • 1
    • 2
    • 9
    • 10
    • 11
    • 12
    • 13
    • 13 / 13