Desired State Configuration for Linux - v1.1.1-281
PowerShell Desired State Configuration for Linux
Release Notes
Version 1.1.1-281
Table of Contents
- PowerShell Desired State Configuration for Linux
Release Overview
** Supported Linux operation system versions **
The following Linux operating system versions are supported for DSC for Linux.
- CentOS 5, 6, and 7 (x86/x64)
- Debian GNU/Linux 6, 7 and 8 (x86/x64)
- Oracle Linux 5, 6 and 7 (x86/x64)
- Red Hat Enterprise Linux Server 5, 6 and 7 (x86/x64)
- SUSE Linux Enterprise Server 10, 11 and 12 (x86/x64)
- Ubuntu Server 12.04 LTS, 14.04 LTS, 16.04 LTS (x86/x64)
SHA256 Checksums
Package | SHA256 Checksum |
---|---|
dsc-1.1.1-281.ssl_098.x64.deb | ef2b543ebef63abde1b74577b8e001c528e679ecfd27d6164294e95bf73d3c35 |
dsc-1.1.1-281.ssl_098.x64.rpm | 6e6c80a89eef2fc59f6c9b76ffd90a310fbea7c6b5ddc176ee53b6690273bf2e |
dsc-1.1.1-281.ssl_098.x86.deb | 516a629f00a992c1f1921260d02f646507ee76c155aaa389cc1ca63bb55fbc25 |
dsc-1.1.1-281.ssl_098.x86.rpm | baec5b1c987940671fda41b6c8b073fbd17b0137a8ddd494b52fb90d4dbd338a |
dsc-1.1.1-281.ssl_100.x64.deb | 1fbcfad050fd1453752ebcfdccb368a54d199bacb3dc5df4baf9d7a2fe07f836 |
dsc-1.1.1-281.ssl_100.x64.rpm | e73feeb80e541995214b95d489af38fd0aa3312f384ba7202ebe21ea8534b927 |
dsc-1.1.1-281.ssl_100.x86.deb | 5baa70d4b8235d1482e8e28213614bb4644871db3ae2f6e63938feb5317e8d89 |
dsc-1.1.1-281.ssl_100.x86.rpm | ab4dc0fd8ceaa008d89ef73dee274d074920dfce08d2ab047cafde40189935e9 |
Requirements
The following table describes the required package dependencies for DSC for Linux.
Required package | Description | Minimum version |
---|---|---|
Glibc | GNU C Library | 2.4 - 31.30 |
python | Python | 2.4 - 3.4 |
omi | Open Management Infrastructure | 1.1.0-0 |
openssl | OpenSSL Libraries | 0.9.8e or 1.0 |
python-ctypes | Python CTypes library | Must match Python version |
libcurl | cURL http client library | 7.15.1 |
unzip* | De-archiver for .zip files | n/a |
* unzip is needed to install resource modules
Upgrading DSC for Linux from a Prior Version
Upgrading DSC for Linux from version 1.1 is supported using rpm or dpkg. Upgrading DSC for Linux from version 1.0 to this version (1.1.1) is not supported. If you have version 1.0 currently installed, remove it prior to installing version 1.1 with: rpm –e dsc
or dpkg –r dsc
New features in this release
- Support for PS1 to MOF compilation on Linux with PowerShell for Linux
- register.py (
/opt/microsoft/dsc/Register.py
) adds parameters for --ConfigurationName, --ConfigurationMode, --ConfigurationModeFrequencyMins, --RefreshFrequencyMins - Support for Ubuntu 16.04 LTS
Issues Resolved in this Release
- SELinux prevents DSC consistency invoker schedule job from executing
- nxFile: Recursive settings applied inconsistently
- Support for OMI version 1.1.0
Issues resolved in Prior Releases
- OMI version 1.0.8-4 is supported
- Log rotation reliability is improved
- nxUser: password expiration incorrectly handled
- HTTP proxies not supported for Pull server operations
- Restore-DSCConfiguration does not restore the prior configuration
- nxPackage/nxScript: unreliable behavior is observed when the system locale is not UTF-8.
- nxPackage: On Ubuntu and Debian, packages that prompt for user input cause, such as MySQL server, prevent successful configuration
- nxService: in some cases, the running state of services is incorrectly detected
- nxPackage: when Ensure = Absent, installed packages fail to remove in some cases
Known Limitations
- In this release of Desired State Configuration for Linux, only Pull Servers based on WMF 5.0 April Preview or later are supported. To use a prior version of the Pull Server, continue to use Desired State Configuration for Linux 1.0.
- Partial Configurations are not supported in this release.
New Scenarios in DSC for Linux 1.1
Separation of node and configuration IDs
In prior versions, DSC currently used a configuration ID to uniquely identify a single configuration for a single node. This new feature separates the configuration ID into two distinct identifiers: Configuration Name and Agent ID. Configuration Name identifies the configuration for a computer; this ID can be shared by multiple nodes. Agent ID uniquely identifies a node; this ID must be unique for every node.
Metaconfig Updates for Seperation of Computer and Configuration IDs
Because the ConfigurationNames are no longer GUIDs (they are now friendly names), anyone can determine them. To mitigate this issue, we added an extra level of security by adding a registration step before a node can start requesting configurations from a server. A node registers itself with the pull server with a shared secret (which the node and the server both know already), and the name of the configuration it will request. This shared secret need not be unique for each computer. Assumption: the shared secret is a hard-to-guess identifier, like a GUID. We call this shared secret RegistrationKey in the metaconfig.
[DscLocalConfigurationManager()]
Configuration SampleLinuxMetaConfig
{
Node “mylinuxserver”{
Settings
{
RefreshFrequencyMins = 30;
RefreshMode = "PULL";
ConfigurationMode =”ApplyAndMonitor“;
AllowModuleOverwrite = $true;
RebootNodeIfNeeded = $true;
ConfigurationModeFrequencyMins = 60;
}
ConfigurationRepositoryWeb ConfigurationManager
{
ServerURL = “https://PullServerMachine:8080/psdscpullserver.svc”
RegistrationKey = "140a952b-b9d6-406b-b416-e0f759c9c0e4"
ConfigurationNames = @(“MySQLRole”)
}
}
}
SampleMetaConfig
For more information on this feature and instructions for defining shared keys on the Pull Server, reference the WMF 5 Production Preview Release Notes.