Giter VIP home page Giter VIP logo

paws's Introduction

PyPI version Documentation Status Build Status

PAWS :: Provision Automated Windows and Services

Paws is a Linux based tool to provision Windows systems and configure Windows services in a cloud or virtual computing environment.

Used by developers, quality engineerings, devOps, system administrators and anyone else that needs to perform operations against hybrid environments (Linux and Windows), PAWS easily builds Windows environments with minimal effort required.

Benefits

  • Create, build and destroy Windows test environments within minutes in cloud or virtual computing environments.
  • Create fresh environments to validate bugs and eliminating non-expected issues caused by left over configurations and data.
  • Reduce the time spent on environment maintenance "golden-environments"
  • Use native Windows language (PowerShell) to automate Windows server configurations.
  • Easily share your scripts to run in different test environments (eliminating need to create scripts that already exists).

important

  • PAWS doesn't provide any Windows QCOW Image with it.
  • It is expected you know how to build your own Windows QCOW image.
  • PAWS doesn't supply any MSDN license or any rights.

Examples of usage

  • developers, working in components that interacts with Windows platform can use PAWS to provision Windows with all configuration needed to verify their code changes.

  • quality engineer, executing any type of tests for products running on hybrid environment (Linux and Windows) can use PAWS to provision the Windows environment with pre-defined configuration and ready to start the tests execution.

  • developers, quality engineers and release engineers, can use PAWS to provison the Windows environment for a release dry-run before go to production. With PAWS groups the installation and workflow can be defined managing the reproducibility and avoiding left over data reducing risks of a production release.

  • devOps, before apply changes in a hybrid environment (Linux and Windows) can use PAWS to replicate the Windows environment based on scripts.

Full documentation

To know more access the full documentation at https://rhpit-paws.readthedocs-hosted.com/en/latest/

Report an issue

To report an issue that can be ideas or suggestions for new features, or even a bug, please follow github https://help.github.com/articles/creating-an-issue/

License

It is under GNU GENERAL PUBLIC LICENSE version 3.0 as you have received a local copy at LICENSE file

paws's People

Contributors

eduardocerqueira avatar ryankwilliams avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zhostasa

paws's Issues

optional location for `ws`

When running paws provision it looks for 'ws' directory at $HOME. I think it would make more sense it will look in the current PWD and then have option for setting ws path, especially when using paws on local system (not test environment).

AttributeError: 'module' object has no attribute 'GSSException'

Hi, I've installed paws on Fedora 27 with pip without virtaulenv and tried running
paws provision but it fails on AttributeError: 'module' object has no attribute 'GSSException':

# paws provision
Traceback (most recent call last):
  File "/usr/bin/paws", line 11, in <module>
    load_entry_point('paws-cli==0.3.9', 'console_scripts', 'paws')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 572, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2755, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2408, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2414, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/paws/cli.py", line 32, in <module>
    from paws.helpers import file_mgmt
  File "/usr/lib/python2.7/site-packages/paws/helpers.py", line 30, in <module>
    from paramiko import AutoAddPolicy, SSHClient
  File "/usr/lib/python2.7/site-packages/paramiko/__init__.py", line 22, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 38, in <module>
    from paramiko.auth_handler import AuthHandler
  File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 48, in <module>
    from paramiko.ssh_gss import GSSAuth, GSS_EXCEPTIONS
  File "/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py", line 54, in <module>
    GSS_EXCEPTIONS = (gssapi.GSSException,)
AttributeError: 'module' object has no attribute 'GSSException'

When I tried it in a virtualenv, it didn't show that error. After a bit of poking, it seems having 'gssapi' library install causing the issue.

Pip freeze:

ansible==2.4.3.0
appdirs==1.4.3
asn1crypto==0.24.0
Babel==2.5.3
bcrypt==3.1.4
certifi==2018.1.18
cffi==1.11.4
chardet==3.0.4
click==6.7
cryptography==2.1.4
debtcollector==1.19.0
decorator==4.2.1
dogpile.cache==0.6.4
enum34==1.1.6
funcsigs==1.0.2
functools32==3.2.3.post2
futures==3.2.0
gssapi==1.3.0
idna==2.6
ipaddress==1.0.19
iso8601==0.1.12
Jinja2==2.10
jmespath==0.9.3
jsonpatch==1.21
jsonpointer==2.0
jsonschema==2.6.0
keystoneauth1==3.4.0
MarkupSafe==1.0
monotonic==1.4
msgpack==0.5.4
munch==2.2.0
netaddr==0.7.19
netifaces==0.10.6
ntlm-auth==1.0.6
os-client-config==1.29.0
oslo.config==5.2.0
oslo.i18n==3.19.0
oslo.serialization==2.24.0
oslo.utils==3.35.0
paramiko==2.4.0
paws-cli==0.3.9
pbr==3.1.1
prettytable==0.7.2
pyasn1==0.4.2
pycparser==2.18
PyNaCl==1.2.1
pyOpenSSL==17.5.0
pyparsing==2.2.0
python-glanceclient==2.9.1
python-keystoneclient==3.15.0
python-novaclient==10.1.0
pytz==2018.3
pywinrm==0.3.0
PyYAML==3.12
requests==2.18.4
requests-ntlm==1.1.0
requestsexceptions==1.4.0
rfc3986==1.1.0
shade==1.26.0
simplejson==3.13.2
six==1.11.0
stevedore==1.28.0
urllib3==1.22
warlock==1.3.0
wrapt==1.10.11
xmltodict==0.11.0

Looks like its a known issue:
paramiko/paramiko#1068
paramiko/paramiko#1069

Unable to locate paws executable within container image

The latest container images break when trying to run a new container based on the rywillia/paws image issuing a simple paws --version command.

[rywillia@laptop ~]$ docker run -it --name paws --rm rywillia/paws:latest paws --version
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"paws\": executable file not found in $PATH": unknown.

If you were to have a shell prompt within the container and issue the same command it works.

[rywillia@laptop paws]$ docker run -it --name paws --rm rywillia/paws:latest bash
[paws@a70c8a0329e5 ~]$ paws --version
Installed version : 0.5.0
Latest version    : 0.5.1

You are running a pre-release version of paws!

The issue is the latest container image updates brought installing paws as the paws user over root. Then updating the paws user .bashrc to include the users local/bin in PATH. This causes the error above. To resolve this we can go back to installing paws at root then the paws user will have access to the paws executable.

ability for users to define details used when checking status of a snapshot build

Today paws has a maximum number of 30 attempts and delays 20 seconds between each attempt when checking if a snapshot is finished building. There is occasions where these default values need to be expanded in order for the snapshot building to complete. Instead of just increasing the default values. It would be nice for the user to be able to define these.

This issue is to add the ability for user to declare these values within there system resource block.

Reduce container image size

The current release 0.5.0 container images available on docker hub are averaging 1.04GB. This needs to be reduced since paws is not that large of an application. It would be nice to see the size be under 512MB.

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.