GithubHelp home page GithubHelp logo

voxpupuli / puppet-dotnet Goto Github PK

View Code? Open in Web Editor NEW
12.0 34.0 27.0 255 KB

puppet module for managing Microsoft .NET

Home Page: https://forge.puppet.com/puppet/dotnet

License: MIT License

Ruby 79.04% Puppet 20.96%
puppet windows-puppet-module hacktoberfest

puppet-dotnet's Introduction

Dotnet module for Puppet

Build Status Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

Table of Contents

  1. Overview
  2. Module Description - What is the dotnet module?
  3. Setup - The basics of getting started with dotnet
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

Puppet module for installing and managing Microsoft .NET framework.

Build Status Puppet Forge Puppet Forge Downloads

Module Description

This module installs and configures the Microsoft .NET framework on Windows systems. It support side-by-side installs where appropriate.

Setup

What dotnet affects

  • Installs the .net framework package or the windows server role.

Beginning with dotnet

Installing the .net 3.5 server role on windows server:

  dotnet { 'dotnet35': version => '3.5' }

Installing .net 4.5:

  dotnet { 'dotnet45':
    version => '4.5'
    deployment_root => 'Z:\packages'
  }

Usage

Classes and Defined Types

Defined Type: dotnet

The dotnet module primary definition, dotnet install and configures the .net framework packages/roles

Parameters within dotnet:

ensure

Ensures the state of .net on the system. Present or Absent.

version

The version of .net that you want to be managed by this definition.

package_dir

If installing .NET from a directory or a mounted network location then this is that directory

Reference

Definitions

Public Definitions

  • dotnet: Guides the basic management of the .net framework on the system.

Private Definitions

Limitations

This module is tested on the following platforms:

  • Windows 2008 R2

It is tested with the OSS version of Puppet only.

Development

Contributing

Please read CONTRIBUTING.md for full details on contributing to this project.

puppet-dotnet's People

Contributors

alexjfisher avatar bastelfreak avatar baurmatt avatar bbriggs avatar dhollinger avatar dhoppe avatar dracoblue avatar ekohl avatar eputnam avatar gleg avatar igalic avatar juniorsysadmin avatar liamjbennett avatar llowder avatar maxadamo avatar nibalizer avatar roidelapluie avatar rski avatar sacres avatar sandra-thieme avatar smortex avatar tragiccode avatar trevor-vaughan avatar vinzent avatar wyardley avatar zilchms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

puppet-dotnet's Issues

Using powershell as provider to execute package install can cause issues with Mutex

I use puppet to deploy a windows server. This requires me to install/update several packages e.g. Internet Explorer 11, a number of hotfixes, dotnet 4.5.1.
When using the dotnet module I run into problems with another module due to msi concurrency issues. See info at https://msdn.microsoft.com/en-us/library/aa372909%28v=vs.85%29.aspx
The dotnet installer worked, but the other MSI was not installed. Running pupppet again will install the MSI as intended.
I also notice that the dotnet installer is still running when my puppet run already finished. If I intended to reboot right after the puppet run, I interrupt the installer.
So bottom line it does not seem to be a good idea to start the dotnet install as a separate independent thread/process. Or is there an easy way to create a require dependency to dotnet when the installer finshed completely ?
Currently I use require dotnet['dotnet451'] which is fulfilled at the moment the powershell command is executed which is only the install launcher. I would like to have something like dotnet['dotnet451']::done

Add support for .net 4.6

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet:
  • Ruby:
  • Distribution:
  • Module version: 2.0.1

How to reproduce (e.g Puppet code you use)

In your custom profile, add the following code to use the module:
dotnet { 'dotnet46': version => '4.6' }

What are you seeing

Dotnet[dotnet46]: parameter 'version' expects a match for Pattern[/^(3.5|4.0|4.5(.\d)?)$/], got '4.6' at /etc/puppetlabs/code/environments//site/profile/manifests/.pp:3 on node node.example.com

What behaviour did you expect instead

Latest available .net package in the 4.6 series to be installed

Output log

Any additional information you'd like to impart

Task for polling .NET versions on a system?

What do folks think of adding a task to this module that would enumerate all the versions of .NET installed on one or more specified systems?

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet:
  • Ruby:
  • Distribution:
  • Module version:

How to reproduce (e.g Puppet code you use)

What are you seeing

What behaviour did you expect instead

Output log

Any additional information you'd like to impart

Fails in puppet 3

This type is never actually called in puppet 3

I placed a notify before and after the dotnet type and they are both called. however the dotnet type is never run and doesn't show up in my events/logs

Fix RSpec/InstanceVariable

The module uses many instance variables in tests. Fixing it is out of scope for a modulesync. This should be fixed in the near future.

Puppet module dependencies can no longer be met

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: OSS 4.7.0
  • Ruby: 2.3.1p112
  • Distribution: Ubuntu 16.04
  • Module version: 1.0.2

How to reproduce (e.g Puppet code you use)

puppet module install puppet-dotnet

What are you seeing

Error: Could not install module 'puppet-dotnet' (???)
No version of 'puppet-dotnet' can satisfy all dependencies
Usepuppet module install --ignore-dependenciesto install only this module

What behaviour did you expect instead

Module installation to complete

Output log

As above.

Any additional information you'd like to impart

I think dependencies on puppetlabs-powershell and puppet-download_file < 2.0.0 can no longer be met. Both of those modules are >2 on the forge.

Uninstall may not work.

Here is my case

  dotnet { 
    'dotnet40':
    version     => '4.0',
    ensure      => 'absent',
    package_dir => $artifact_folder,
  }

Underlying command "dotNetFx40_Full_x86_x64.exe /x /q /norestart" intended to do uninstall will not work.

dotnet35 install on windows2008r2

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: 4.7.0
  • Ruby: 2.1.8
  • Distribution: Windows 2008 R2 Standard
  • Module version: v1.1.0

No unmet dependencies showing

├─┬ puppet-dotnet (v1.1.0)
│ ├── liamjbennett-win_facts (v0.0.2)
│ └── puppet-download_file (v2.1.0)

Beaker run

  Warning: Unknown variable: '::operatingsystemversion'. at C:/ProgramData/PuppetLabs/code/modules/dotnet/manifests/init.pp:46:12
  Error: Scope(Dotnet[dotnet35]): dotnet 3.5 is not support on this version of windows
  Notice: Compiled catalog for win-2008r2-std.ap.org in environment production in 1.45 seconds

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.