Comments (13)
<DataVHDs> <DataVHD Exist="N" Size="50GB" Fixed="N" SupportPR="N" /> <DataVHD Exist="Y" MoveOrCopy="Copy" SourcePath=".\ToolsVHD\Tools.VHDX" DestPath="\DataVHDs" /> </DataVHDs>
Basic idea for XML under <VM>
tag -- possibly be extending this as I think about it.
from labbuilder.
So the above XML would:
- Remove a 50GB fixed disk if it exists (should we specify a path? Don't want to remove/delete the wrong one)
- Create a new data disk in the root of ?? in the folder \DataVhds that is a copy of .\ToolsVHD\Tools.vhdx (relative to the path of the configuration.xml file).
If no destpath is specified then perhaps VHD would default to being put in the Virtual Hard Disks folder in the VM folder.
Question: What is the supportPR flag?
from labbuilder.
Nope, actually it is supposed to be two examples for the same VM
One creating a 50 GB VHDX
The Exist tag should be more of a Does it exist already piece.
The Fixed tag is to determine if it should be a fixed or dynamically expanding disk
SupportPR is short for the -supportpersistentreservation value used to create shared VHDX files
Yes, without a path, default to the Virtual Hard Disk Path for the VM
Second example is meant to either move or copy an existing VHDX to the specified directory under the VMs main directory (Just thinking options)
From: Daniel Scott-Raynsford [mailto:[email protected]]
Sent: Wednesday, February 10, 2016 6:21 PM
To: PlagueHO/LabBuilder [email protected]
Cc: Matthew Walker [email protected]
Subject: Re: [LabBuilder] Add Support for Multiple Data disks to be specified for each VM (#9)
So the above XML would:
- Remove a 50GB fixed disk if it exists (should we specify a path? Don't want to remove/delete the wrong one)
- Create a new data disk in the root of ?? in the folder \DataVhds that is a copy of .\ToolsVHD\Tools.vhdx (relative to the path of the configuration.xml file).
If no destpath is specified then perhaps VHD would default to being put in the Virtual Hard Disks folder in the VM folder.
Question: What is the supportPR flag?
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-182651968.
from labbuilder.
So, to clarify:
if Exists = 'Y': Don't create the VHD - just attach it
if Exists = 'N': create the VHD with the options as specified.
I'm thinking we might not need that flag. We could use this:
To create a new 50GB Fixed VHDx with PR disabled in the D:\DataDisks\MyNewVHD.vhdx:
<DataVHD VHDPath="D:\DataDisks\MyNewVHD.vhdx" Size="50GB" Fixed="N" SupportPR="N"/>
To attach an existing VHDx that is in the D:\ToolsVHD\Tools.VHDX folder:
<DataVHD VHDPath="D:\ToolsVHD\Tools.VHDX">
To Copy (and rename) an existing Tools.vhdx found in the ToolsVHD folder to the D:\DataVHDs\SomenewTools.VHDx and attach it:
<DataVHD VHDPath="D:\DataVHDs\SomenewTools.VHDx" MoveOrCopy="Copy" SourcePath=".\ToolsVHD\Tools.VHDX" />
That way the VHDPath parameter is common to all parameter sets. This is also easier to code as there will just be 3 code paths.
Does that make sense to you and support your requirements?
from labbuilder.
Looks like it. I was probably just overthinking it.
From: Daniel Scott-Raynsford [mailto:[email protected]]
Sent: Wednesday, February 10, 2016 6:59 PM
To: PlagueHO/LabBuilder [email protected]
Cc: Matthew Walker [email protected]
Subject: Re: [LabBuilder] Add Support for Multiple Data disks to be specified for each VM (#9)
So, to clarify:
if Exists = 'Y': Don't create the VHD - just attach it
if Exists = 'N': create the VHD with the options as specified.
I'm thinking we might not need that flag. We could use this:
To create a new 50GB Fixed VHDx with PR disabled in the D:\DataDisks\MyNewVHD.vhdx:
To attach an existing VHDx that is in the D:\ToolsVHD\Tools.VHDX folder:
To Copy (and rename) an existing Tools.vhdx found in the ToolsVHD folder to the D:\DataVHDs\SomenewTools.VHDx and attach it:
That way the VHDPath parameter is common to all parameter sets. This is also easier to code as there will just be 3 code paths.
Does that make sense to you and support your requirements?
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-182662507.
from labbuilder.
Can always revisit it if we need to.
I'm mainly thinking of the VHDPath as a unique identifier that we can use to always ensure we're working with/on the correct disk.
I'll see if I can get this working later on this afternoon.
from labbuilder.
Sounds good.
From: Daniel Scott-Raynsford [mailto:[email protected]]
Sent: Wednesday, February 10, 2016 7:09 PM
To: PlagueHO/LabBuilder [email protected]
Cc: Matthew Walker [email protected]
Subject: Re: [LabBuilder] Add Support for Multiple Data disks to be specified for each VM (#9)
Can always revisit it if we need to.
I'm mainly thinking of the VHDPath as a unique identifier that we can use to always ensure we're working with/on the correct disk.
I'll see if I can get this working later on this afternoon.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-182664862.
from labbuilder.
I'm going to remove the Fixed='N' attrib and replace it with a Type attrib e.g.
<DataVHD VHD="D:\DataDisks\MyNewDynamicVHD.vhdx" Type="Dyanmic" Size="50GB" />
<DataVHD VHD="D:\DataDisks\MyNewFixedVHD.vhdx" Type="Fixed" Size="25GB" />
<DataVHD VHD="D:\ToolsVHD\Tools.VHDX">
<DataVHD VHD="D:\DataVHDs\SomenewTools.VHDx" MoveOrCopy="Copy" SourceVHD=".\ToolsVHD\Tools.VHDX" />
<DataVHD VHD="D:\SharedVHD\Shared.VHDX" Type="Shared" Size="100GB" SupportPR="Y">
<DataVHD VHD="D:\DataVHDs\Differencing.VHDX" Type="Differencing" ParentVHD="D:\ParentDisk\Somedisk.vhdx">
The type attrib will be one of:
Fixed
Dynamic
Shared (will always create a Fixed disk)
Differencing
This will reduce the possibility of conflicting configs (e.g. trying to create a dynamic shared VHDx).
Ok with you?
from labbuilder.
Shared doesn’t have to be fixed size.
From: Daniel Scott-Raynsford [mailto:[email protected]]
Sent: Wednesday, February 10, 2016 9:53 PM
To: PlagueHO/LabBuilder [email protected]
Cc: Matthew Walker [email protected]
Subject: Re: [LabBuilder] Add Support for Multiple Data disks to be specified for each VM (#9)
I'm going to remove the Fixed='N' attrib and replace it with a Type attrib e.g.
The type attrib will be one of:
Fixed
Dynamic
Shared (will always create a Fixed disk)
Differencing
This will reduce the possibility of conflicting configs (e.g. trying to create a dynamic shared VHDx).
Ok with you?
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-182692424.
from labbuilder.
Oh! I wonder why I thought it did? Or is it differencing that can't be a shared disk?
There goes that plan then 😦
How about:
<DataVHD VHDPath="D:\DataDisks\MyNewDynamicVHD.vhdx" Size="50GB" Type="Dyanmic" />
<DataVHD VHDPath="D:\DataDisks\MyNewFixedVHD.vhdx" Size="25GB" Type="Fixed" />
<DataVHD VHDPath="D:\ToolsVHD\Tools.VHDX"> <DataVHD VHDPath="D:\DataVHDs\SomenewTools.VHDx" MoveOrCopy="Copy" SourcePath=".\ToolsVHD\Tools.VHDX" />
<DataVHD VHDPath="D:\SharedVHD\Shared.VHDX" Type="Dynamic" Size="100GB" Shared="Y" SupportPR="Y">
<DataVHD VHDPath="D:\DataVHDs\Differencing.VHDX" Type="Differencing" ParentVHD="D:\ParentDisk\Somedisk.vhdx">
from labbuilder.
I don’t think they can be differencing, but fixed or dynamic I know work fine.
From: Daniel Scott-Raynsford [mailto:[email protected]]
Sent: Wednesday, February 10, 2016 10:01 PM
To: PlagueHO/LabBuilder [email protected]
Cc: Matthew Walker [email protected]
Subject: Re: [LabBuilder] Add Support for Multiple Data disks to be specified for each VM (#9)
Oh! I wonder why I thought it did? Or is it differencing that can't be a shared disk?
There goes that plan then [:frowning:]
How about:
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-182693057.
from labbuilder.
A possible future enhancement to this I may make as well is the ability to automatically mount the VHD to either a letter or path. This can already be done now via DSC, though so won't add it with this release - just something to keep in mind. Especially as things like partitioning and formatting come into play as well (all which can be currently done with DSC).
from labbuilder.
Current task list to complete this item:
- Update sample configuration files with structure and remove old datavhdsize attribute
- Update Get-LabVMs so that if VHD contains a relative path then it will be set relative to Virtual Hard Disks folder.
- Update Get-LabVMs so that DataVHDSize is no longer used in Templates.
- Update Get-LabVMs to pull and validate structure from configuration xml.
- Update Unit tests for Get-LabVMs
- Update Get-LabVMTemplates and remove DataVHDSize.
- Create new function to create/update/manage data disk VHDs (separate from Initialize-LabVMs because function is getting too large).
from labbuilder.
Related Issues (20)
- Update Module to Continuous Delivery
- Correct Pipeline Include Path in Azure Pipeline Build YAML
- Update to Use Latest Version of ModuleBuilder and merge HISTORIC_CHANGELOG
- Correct Pipeline Include Path in Azure Pipeline Build YAML HOT 1
- Update Build to use generateHelp.PlatyPs Task
- build not going through because of 1 template
- Error binding physical network adapter HOT 1
- Template Windows Server 2016 Datacenter Full' could not be found - Labuild does not respect given path HOT 2
- Rename master to main
- Pin Build to use Pester 4.10
- Bug: Comment based help missing in release 1.1.0
- Bug: New-Lab -ConfigPath parameter doesn't check if entry contains .xml
- Req: Add Stub feature to New-Lab
- Bug: New-Lab is missing all parameters
- DC_SECONDARY.DSC.ps1 throws InvalidOperationException
- Fix Publish Stage in Release Pipeline
- ParameterBindingValidationException exception thrown when $PSUICulture not en-US HOT 1
- Update Azure DevOps Pipeline Images
- DC_SECONDARY.DSC.ps1 Error
- Add clients for the servers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from labbuilder.