Skip to content

Releases: microsoft/PowerShell-DSC-for-Linux

Desired State Configuration for Linux - v1.2.4-0

07 Sep 09:01
5853f54
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.2.4-0

Table of Contents

Release Overview

All supported Linux operation system versions

The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, 7 and 8 (x64)
  • Debian GNU/Linux 8, 9 and 10 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6, 7 and 8 (x64)
  • SUSE Linux Enterprise Server 12 and 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS and 20.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.2.4-0.ssl_100.x64.deb 07F479188D337002FA93653FA06FE89DA18DBD27BD91BB6D39477A9FF1600332
dsc-1.2.4-0.ssl_100.x64.rpm 89766408381A56703C05A0A63A11EABD969FAC804AFE5231867D1B840F176AE4
dsc-1.2.4-0.ssl_110.x64.deb E2534F9A4A78D5195CC4B2199471C536F75AF8DE011E54AAB3B2E33EC6F2A747
dsc-1.2.4-0.ssl_110.x64.rpm B93FBA0EAA802876CB02D78331833E9E27F5FE8EAB64A6E7BD4DC275287C7670

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 Python2 or Python3 2.4 - 3.4
omi Open Management Infrastructure 1.6.8-1
openssl OpenSSL Libraries 1.0 or 1.1
python-ctypes Python CTypes library (Only required for Python 2) Must match Python2 version
libcurl cURL http client library 7.15.1
unzip* De-archiver for .zip files n/a

* unzip is needed to install resource modules

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.

Desired State Configuration for Linux - v1.2.3-0

23 Jun 06:17
286aa5f
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.2.3-0

Table of Contents

Release Overview

All supported Linux operation system versions

The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, 7 and 8 (x64)
  • Debian GNU/Linux 8, 9 and 10 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6, 7 and 8 (x64)
  • SUSE Linux Enterprise Server 12 and 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS and 20.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.2.3-0.ssl_100.x64.deb 107D74A224A5E33BCF0CDDAC13237EAE3FB49A9C8C51CE49B75ABCCFA2AA8894
dsc-1.2.3-0.ssl_100.x64.rpm ED3E6F884234B1E07005D7CFA64FACE1086B0E71BA59FADDF74970EC7C4324F2
dsc-1.2.3-0.ssl_110.x64.deb BA0CB4B54305BDE2B68937321D601748DF63EDB977FAA9E47414F65D4C7D6ACF
dsc-1.2.3-0.ssl_110.x64.rpm 6F51406DA2FF7E76624C37780CD94C34BB279647A010C313B0864B8084A88D81

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 Python2 or Python3 2.4 - 3.4
omi Open Management Infrastructure 1.6.8-1
openssl OpenSSL Libraries 1.0 or 1.1
python-ctypes Python CTypes library (Only required for Python 2) Must match Python2 version
libcurl cURL http client library 7.15.1
unzip* De-archiver for .zip files n/a

* unzip is needed to install resource modules

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.

Desired State Configuration for Linux - v1.2.2-0

07 Dec 11:03
d0d4786
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.2.2-0

Table of Contents

Release Overview

What's New

  • Removed OMI port dependency.

All supported Linux operation system versions

The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, 7 and 8 (x64)
  • Debian GNU/Linux 8, 9 and 10 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6, 7 and 8 (x64)
  • SUSE Linux Enterprise Server 12 and 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS and 20.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.2.2-0.ssl_100.x64.deb B3B1509871250F6883878365D59EC86F1C6C24DF4C0F4320EA8B5A70F8A89F5F
dsc-1.2.2-0.ssl_100.x64.rpm 8BBC76137AEB215BB3853DF6FDD9BC4907483ED04AE4B6E6FE58735DFA6EF67B
dsc-1.2.2-0.ssl_110.x64.deb 0D467269131210E79732AD0E0A6FFDBB0C7FCDE37E727886C92288684B17682F
dsc-1.2.2-0.ssl_110.x64.rpm BF98413481EE0B2E162AA2064EAAA923F6F79DBD6E95342AE33BC6BE3422A4BA

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 Python2 or Python3 2.4 - 3.4
omi Open Management Infrastructure 1.6.8-1
openssl OpenSSL Libraries 1.0 or 1.1
python-ctypes Python CTypes library (Only required for Python 2) Must match Python2 version
libcurl cURL http client library 7.15.1
unzip* De-archiver for .zip files n/a

* unzip is needed to install resource modules

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.

Desired State Configuration for Linux - v1.2.1-0

19 May 04:32
bc0b029
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.2.1-0

Table of Contents

Release Overview

What's New

  • Support for Red Hat Enterprise Linux 8, CentOS 8, Ubuntu 20.04, SLES 15, Debian 9 and Debian 10
  • Simplified Python experience
    • Support for machines with Python 2, Python 3, or both
    • No requirement for aliasing of Python 2 or 3 to the python command

All supported Linux operation system versions

The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, 7 and 8 (x64)
  • Debian GNU/Linux 8, 9 and 10 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6, 7 and 8 (x64)
  • SUSE Linux Enterprise Server 12 and 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS and 20.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.2.1-0.ssl_100.x64.deb 2CE50E190465A655156A751AB483F974C865F9A60AD0DF4CC34C412741AFADCF
dsc-1.2.1-0.ssl_100.x64.rpm 0F8110C7FCF90E0B3FEE9029E1A64B7DDF350164835A22AB08F743A07B3A7291
dsc-1.2.1-0.ssl_110.x64.deb 200AB17DB291A00948D9585610138E84DD88A9C6498874EC94A24038051DEF63
dsc-1.2.1-0.ssl_110.x64.rpm 5A61099E6D3C16F062794D5D1A65CD6B975E997ED32FD753EEAC5B3B448FD744

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 Python2 or Python3 2.4 - 3.4
omi Open Management Infrastructure 1.6.8-1
openssl OpenSSL Libraries 1.0 or 1.1
python-ctypes Python CTypes library (Only required for Python 2) Must match Python2 version
libcurl cURL http client library 7.15.1
unzip* De-archiver for .zip files n/a

* unzip is needed to install resource modules

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.

Desired State Configuration for Linux - v1.2.0-0

10 May 14:08
f0e0a53
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.2.0-0

Table of Contents

Release Overview

What's New

  • Support for Red Hat Enterprise Linux 8, CentOS 8, Ubuntu 20.04, SLES 15, Debian 9 and Debian 10
  • Simplified Python experience
    • Support for machines with Python 2, Python 3, or both
    • No requirement for aliasing of Python 2 or 3 to the python command

All supported Linux operation system versions

The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, 7 and 8 (x64)
  • Debian GNU/Linux 8, 9 and 10 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6, 7 and 8 (x64)
  • SUSE Linux Enterprise Server 12 and 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS and 20.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.2.0-0.ssl_100.x64.deb 350666f5d5e3dcf1eab586768f6cc904b5b1578d407ad51e7c1d16faa862f813
dsc-1.2.0-0.ssl_100.x64.rpm 670bdb486179d0b1b666cc883348e742ff42cd10d60cd2994ae26c425333a8d2
dsc-1.2.0-0.ssl_110.x64.deb 5d0c3d4956b26a5ed440c25474144c83b6da6a6b1c9f54ca9ad6e2e021a5fc3f
dsc-1.2.0-0.ssl_110.x64.rpm 92705b50e3127354de018629402cfc08c5cbdb012035e5a39f4bb80a4442beec

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 Python2 or Python3 2.4 - 3.4
omi Open Management Infrastructure 1.6.8-0
openssl OpenSSL Libraries 1.0 or 1.1
python-ctypes Python CTypes library (Only required for Python 2) Must match Python2 version
libcurl cURL http client library 7.15.1
unzip* De-archiver for .zip files n/a

* unzip is needed to install resource modules

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.

Desired State Configuration for Linux - v1.1.1-926

09 Jan 01:36
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.1.1-926

Table of Contents

Release Overview

** Supported Linux operation system versions **
The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 6, and 7 (x64)
  • Debian GNU/Linux 6, 7 and 8 (x64)
  • Oracle Linux 6 and 7 (x64)
  • Red Hat Enterprise Linux Server 6 and 7 (x64)
  • SUSE Linux Enterprise Server 11 and 12 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS and 18.04 LTS (x64)

SHA256 Checksums

Package SHA256 Checksum
dsc-1.1.1-926.ssl_098.x64.deb 3C400225588F73448FCC20F089DED3D9F177F3BE82F5AEF4C71D1082F00025D2
dsc-1.1.1-926.ssl_098.x64.rpm 9C493BBECA020044A3B538561B12EDDD14E9C44FB6B215FCC069D28B72FAC750
dsc-1.1.1-926.ssl_100.x64.deb 4664D4408D2D6794DAB6EB19890FDA2CD82C71671E45FF1F526DF8EEF10524CF
dsc-1.1.1-926.ssl_100.x64.rpm DF759D67D06D14368F2C5AE4B3F4224C092E08D018DA35074DB81F5FBF6F4B79
dsc-1.1.1-926.ssl_110.x64.deb 4FB0384C1BE4C15D35BEAB401C26A5D85123C88621A233950FB8317C8A35FB8C
dsc-1.1.1-926.ssl_110.x64.rpm BFAAA8201F35089EB8FC85FBB171CC192345D8423AD93C5946FFF118139C0DCE

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.4.2-5
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

Issues Resolved in this Release

Issues resolved in Prior Releases

  • Authentication with a pull server may fail due to spurious client certificate regeneration
  • SELinux settings prevent DSC consistency invoker schedule job from executing
  • nxFile: Recursive settings applied inconsistently
  • Support for OMI version 1.1.0
  • 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.

Desired State Configuration for Linux - v1.1.1-294

31 Aug 21:50
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.1.1-294

Table of Contents

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-294.ssl_098.x64.deb 71ae4115a59527ef25de9eef19fda7fcfd23ccb81b677f2b90bfda28c4c4dd7b
dsc-1.1.1-294.ssl_098.x64.rpm 9490252ea069afbbda474d9dc06232a0027f4e4ea3796bbca63fddf943c88ad4
dsc-1.1.1-294.ssl_098.x86.deb 344d5de2a7b01dd791dcc070c3a918d233e274117cf37b77cf33f5a1a698fa59
dsc-1.1.1-294.ssl_098.x86.rpm 1ef07debb2a0392ea02e5130723c4918856114cbb6015c5b4a2b5c9341b5f2af
dsc-1.1.1-294.ssl_100.x64.deb 0f078694853591a5614b74ae5a7fdfaa5d63896d5ee51a97279e2ccf51d39815
dsc-1.1.1-294.ssl_100.x64.rpm 18c1e55dcb894ba558ca380327360a6164db549395b7e5bc0e94127827bc191a
dsc-1.1.1-294.ssl_100.x86.deb b17639ece1c757130642d154d071061cbb58fb118eb20be1fcc8e5d985d99a2c
dsc-1.1.1-294.ssl_100.x86.rpm 4937d476c55a80152fe73b4c453195eac7002935c3a313c650b8edf018e292ce

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

  • Authentication with a pull server may fail due to spurious client certificate regeneration
  • SELinux settings prevent 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 Separation 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.

Desired State Configuration for Linux - v1.1.1-281

18 Aug 16:49
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.1.1-281

Table of Contents

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.

DSC for Linux v1.1.1

09 Feb 23:17
Compare
Choose a tag to compare

PowerShell Desired State Configuration for Linux

Release Notes

Version 1.1.1

Table of Contents

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 and 14.04 LTS (x86/x64)

SHA256 Checksums

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.0.8-4
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

Issues Resolved in this Release

  • 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

Issues resolved in DSC for Linux 1.1

  • 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.

###Use Azure Automation as a DSC Pull Server###
Note: For more information on Azure Automation’s DSC features, reference the documentation.
Linux computers can be onboarded to Azure Automation DSC, as long as they have outbound access to the internet, via a few simple steps:

Make sure version 1.1 or later of the DSC Linux agent is installed on the machines you want to onboard to Azure Automation DSC.

If the PowerShell DSC Local Configuration Manager defaults match your use case:

  • On each Linux machine to onboard to Azure Automation DSC, use Register.py to onboard using the PowerShell DSC Local Configuration Manager defaults:
    /opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
  • To find the registration key and registration URL for your Automation account, see the Secure Registration section below.
  • Using the Azure portal or cmdlets, check that the machines to onboard now show up as DSC nodes registered in your Azure Automation account.

If the PowerShell DSC Local Configuration Manager defaults do not match your use case, follow these steps:

  • Open the PowerShell console or PowerShell ISE as an administrator on a Windows machine in your local environment. This machine must have the latest version of WMF 5 installed
  • Connect to Azure Resource Manager using the Azure PowerShell module:
Add-AzureAccount 
Switch-AzureMode AzureResourceManager
  • Download, from the Automation account you want to onboard nodes to, the PowerShell DSC metaconfigurations for the machines you want to onboard:
    Get-AzureAutomationDscOnboardingMetaconfig -ResourceGroupName MyResourceGroup AutomationAccountName MyAutomationAccount -ComputerName MyServer1, MyServer2 OutputFolder C:\Users\joe\Desktop
  • Optionally, view and update the metaconfigurations in the output folder as needed to match the PowerShell DSC Local Configuration Manager fields and values you want, if the defaults do not match your use case.
  • Remotely apply the PowerShell DSC metaconfiguration to the machines you want to onboard:
$SecurePass = ConvertTo -SecureString -string "<root password>" -AsPlainText Force 
$Cred = New-Object System.Management.Automation.PSCredential "root" , $SecurePass 
$Opt = New-CimSessionOption -UseSsl: $true -SkipCACheck: $true -SkipCNCheck: $true -SkipRevocationCheck: $true 

$Session = New-CimSession -Credential: $Cred -ComputerName: <your Linux machine > -Port: 5986 -Authentication: basic -SessionOption: $Opt 
Set-DscLocalConfigurationManager -CimSession $Session –Path C:\Users\joe\Desktop\DscMetaConfigs
  • If you cannot apply the PowerShell DSC metaconfigurations remotely, for each Linux machine to onboard, copy the metaconfiguration corresponding to that machine from the folder in step 5 onto the Linux machine. Then call SetDscLocalConfigurationManager.py locally on each Linux machine to onboard to Azure Automation DSC:
/opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py –configurationmof <path to metaconfiguration file> 
  • Using the Azure portal or cmdlets, check that the machines to onboard now show up as DSC nodes registered in your Azure Automation account.

###Importing resource modules to Azure Automation###
The supplied resource modules with this release (nxNetworking, nxComputerManagement) can be imported to Azure Automation for distribution with DSC configurations. To import to Azure Automation, rename the .zip files to remove the _X.Y version string from the file name. Such as: nxNetworking.zip and nxComputerManagement.zip.

##Additional Information Performing DSC Operations from the Linux Computer##
DSC ...

Read more

PowerShell DSC for Linux v1.1.0-466

19 Jan 22:41
Compare
Choose a tag to compare

/**
PowerShell Desired State Configuration for Linux
Copyright (c) Microsoft Corporation ver. 1.1.0
All rights reserved.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/

PowerShell Desired State Configuration for Linux - v1.1.0

Building the Desired State Configuration (DSC) Local Configuration Manager and Linux Resource Providers

Prerequisites

  1. At least one modern Linux system with:
    a. root login capability
    b. These build tools:
    i. GNU Make
    ii. g++
    iii. Python version 2.5 or later, the package python-devel
    c. Open Management Infrastructure (OMI) 1.0.8. http://theopengroup.org/software/omi
    i. pam-devel
    ii. openssl-devel

Building and installing the Local Configuration Manager and Linux Resource Providers

  1. Extract PSDSC.tar into a directory that you will build it from.

  2. Download and extract OMI 1.0.8 into a directory named "omi-1.0.8" in a directory parallel to the LCM and Providers directory. The directory tree should look something like:

    ./configure
    ./LCM
    ./license.txt
    ./omi-1.0.8
    ./omi-1.0.8/agent
    ./omi-1.0.8/base
    ...

  3. Building
    A. Configuring OMI and building
    i. Configure OMI with desired options (refer to OMI documentation for this step).
    a. The default configuration installs to /opt/omi-1.0.8
    b. To use the default configuration, run: (cd omi-1.0.8 && ./configure)
    ii. Run: make
    B. Installing OMI:
    i. Run: (cd omi-1.0.8 && sudo ./output/install)
    C. Registering the LCM + nxProviders with OMI:
    i. Run: sudo make reg

  4. Running OMI
    A. On the Linux system, run omiserver with environment variable OMI_HOME set to OMI's installed directory
    i. Run as root: OMI_HOME=PATH_TO_INSTALLED_OMI_DIR PATH_TO_INSTALLED_OMI_DIR/bin/omiserver
    ii. The default installation for OMI 1.0.8 is "/opt/omi-1.0.8". Thus, for default installations, part 4Ai above becomes:
    OMI_HOME=/opt/omi-1.0.8 /opt/omi-1.0.8/bin/omiserver
    B. Note: In order to run following reboots, it is recommended to configure OMI as a System-V, Upstart, or SystemD daemon

To author DSC MOF configuration for Linux on a Windows computer:

Prerequisites

  1. A Windows computer with:
    A. Adminstrative privileges
    B. Windows PowerShell (>=4.0)
  2. Install the Linux Resource Provider MOF module:
    A. The "nx" moduel can be installed from the PowerShell Gallery with:
    install-module nx
    B. In order to compile a Configuration MOF that uses the DSC for Linux resources, use "Import-DscResource -Module nx" inside a DSC Configuration block.
  3. Managing a Linux system with DSC
    A. You need a compiled configuration MOF to apply a new configuration to a system. Please refer to part 1 of this section, as well as the DSC for Windows documentation, for instructions on how to generate a configuration MOF.
    B. Once you have a MOF, you can apply it by running:
    Start-DscConfiguration -CimSession:$myCimSession -Path:"C:\path_to_compiled_mof_directory" -Wait -Verbose
    C. You can get the current configuration of the system by running:
    Get-DscConfiguration -CimSession:$myCimSession
    D. You can test the current configuration of the system by running:
    Test-DscConfiguration -CimSession:$myCimSession
    E. For more information on creating a CimSession for use with the -CimSession parameter, see: http://technet.microsoft.com/en-us/library/jj590760.aspx
  4. Notes
    A. The DSC Local Configuration Manager log can be found at $OMI_HOME/var/log/dsc.log