Giter Club home page Giter Club logo

galaxy's Introduction

Build Status

Ansible Galaxy

This is the source code behind Galaxy - https://galaxy.ansible.com.

For help using the public Galaxy web site to find and install Ansible content, or to share your Ansible content with the community, visit the Galaxy docs site.

Installing

NOTE: Our installation guide is out of date. The old installer does not work with the latest architectural changes introduced in v3.0, and has since been removed from the devel branch. (The previously provided docker image was intended to be used by the old installer, and henceforth that image is now considered deprecated. Our updated contributing guide now walks you through creating your own docker image)

Local Install: If you want to run Ansible Galaxy locally, follow our contributing guide: contributing guide

Roadmap

To see what we're working on, and where we're headed, view the road map

Change Log

To view a release history and what changed, view our change log

Announcements

For the galaxy.ansible.com site, get alerted when maintenance windows are scheduled, or when a release is scheduled to deploy, by subscribing to the ansible-project Google group.

Contributing

  • If you're interested in jumping in and helping out, view the contributing guide.
  • Chat with us on irc.freenode.net: #ansible-galaxy

Branch Information

  • Releases are named after Daft Punk songs.
  • The devel branch is the release actively under development.
  • The master branch corresponds to the latest stable release.
  • Submit pull requests for bug fixes and new features to devel.
  • Various release/X.Y.Z branches exist for previous releases.
  • Contributors welcome! Get started by reviewing CONTRIBUTING.rst.

Authors

View AUTHORS for a list contributors to Ansible Galaxy. Thanks everyone!

Ansible Galaxy is an Ansible by Red Hat sponsored project.

galaxy's People

Contributors

akarem avatar alikins avatar awcrosby avatar bmclaughlin avatar chynasan avatar cutwater avatar dostonbek1 avatar egmar avatar gundalow avatar himdel avatar ironfroggy avatar jctanner avatar joefiorini avatar kbreit avatar kbugaienko avatar mkrizek avatar newswangerd avatar nqb avatar pabelanger avatar pdesgarets avatar ryuichi1208 avatar samccann avatar samycoenen avatar spredzy avatar strixbe avatar thadguidry avatar thedoubl3j avatar till avatar tima avatar webknjaz avatar

Stargazers

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

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

galaxy's Issues

Remove roles but still existing

From @Ekouyoja on March 3, 2017 10:25

Hi,

Yesterday i have create a role to test how ansible galaxy work, and when i have understand, i have remove the role from ansible Galxaxy and the Github repo but the role still exist.
How can i remove definetly it ?
Best regards.

Copied from original issue: ansible/galaxy-issues#239

Support any CI-server for notifications.

From @lifeofguenter on June 19, 2017 11:50

The notification/webhook trigger via CircleCI is not working - e.g. ansible-galaxy is not registering it.

Update: seems like according to the code only circleci is currently being supported. E.g. would be cool if there were general trigger support so it can be triggered from any cicd-server (incl. jenkins)

Copied from original issue: ansible/galaxy-issues#267

A repo was renamed and now there is a collision everytime it is imported

From @030 on January 23, 2017 9:29

030.rabbitmq was renamed to 030.ansible-sensu-client

 Error saving role: duplicate key value violates unique constraint "main_role_namespace_36aa1070a7d8dc70_uniq" DETAIL: Key (namespace, name)=(030, rabbitmq) already exists.
Error saving role: duplicate key value violates unique constraint "main_role_namespace_36aa1070a7d8dc70_uniq" DETAIL: Key (namespace, name)=(030, rabbitmq) already exists. 

Copied from original issue: ansible/galaxy-issues#232

Meeting minutes from contributor meeting - AnsibleFest, September 2017

From @chouseknecht on September 11, 2017 15:25

During the Galaxy Working Group session, the following topics were discussed:

  • Make API docs better
    • Let users know that the API exists
    • Mirror what AWX does, by providing inline API docs
  • Review the Tuft's UI suggestions
    • Are there ways to surface more up-to-date (and by extension more relevant) roles first?
    • Possibilities might be issues graph, last commit date, time to response, # or releases
  • Manifest the modules called by a role
  • Surface custom modules and plugins
  • Add linting and some level of security scanning, and provide a manifest of items that pass or fail

Copied from original issue: ansible/galaxy-issues#280

Standardize on ISO 8601 date format

From @timb07 on December 8, 2016 4:7

At /list#/roles, the Last Commit and Last Import dates are in MM-DD-YYYY format, while on individual role pages, the format is MM/DD/YYYY. I find both of those confusing, the latter because (as an Australian) I'm used to seeing DD/MM/YYYY, and the former because when I see dates with hyphens I automatically think ISO 8601.

May I suggest the use of ISO 8601 date format (YYYY-MM-DD) throughout? xkcd makes the best argument for it.

Copied from original issue: ansible/galaxy-issues#224

Playbook name blank for identical role name and playbook name

From @mpetruzelli on April 13, 2017 19:51

Galaxy role structured as:

 - defaults/
 - provision_instance.yml
 - meta/
 - tasks/
 - templates/

Requirements.yml

- src: https://github.com/provision_instance
  scm: git

Run:
ansible-galaxy install -r requirements.yml --ignore-errors --roles-path roles --force

Expected output:

roles/
 - defaults/
 - provision_instance.yml
 - meta/
 - tasks/
 - templates/

Actual Output:

roles/
 - defaults/
 - .yml
 - meta/
 - tasks/
 - templates/

The provision instance playbook file (provision_instance.yml) has been renamed (.yml).

If I check in a file instance.yml
Output

roles/
 - defaults/
 - .yml
 - instance.yml
 - meta/
 - tasks/
 - templates/

Copied from original issue: ansible/galaxy-issues#250

Import fails when the file type of `README` is unknown

From @larskarlitski on April 28, 2017 14:39

Importing a role with a README that isn't plain text, markdown, or restructured text fails with

Unable to determine README file type. Expecting file extension to be one of: .md, .rst

The whole point of these formats is that they're readable as plain text as well. Failing the import because of this seems disproportionate.

Possible solution: treat README files with unknown extensions as plain text.

Copied from original issue: ansible/galaxy-issues#261

Roles import with GitHub owner name rather than Galaxy owner name

From @natefoo on April 5, 2017 17:17

We have a project account for our roles at https://galaxy.ansible.com/galaxyprojectdotorg/ which is linked to the @galaxybot GitHub account. As I'm a member of the galaxyproject GitHub org and have granted access to that org for my individual Galaxy account, I can also see and trigger imports for galaxyprojectdotorg roles under my individual account.

We have created a new role, galaxyproject/ansible-proftpd. This role now appears under my individual Galaxy account. However, when importing under my individual account, Galaxy created the role as galaxyproject.proftpd rather than galaxyprojectdotorg.proftpd. So I logged in under the galaxyprojectdotorg Galaxy account using the @galaxybot GitHub account and navigated to "My Roles." The full list of galaxyprojectdotorg roles was displayed there, not including the new proftpd role. Upon clicking "Refresh your Repositories from GitHub", all of the roles disappeared except galaxyprojectdotorg.galaxy.

I have verified that @galaxybot has the needed permissions on the galaxyproject org. What's gone wrong here?

Copied from original issue: ansible/galaxy-issues#246

Too many files open in system issues during ansible-galaxy import

From @sadsfae on February 22, 2017 18:17

Hi Folks,

I'm trying to add a few of my ansible playbooks via github to galaxy and I keep hitting this error:

ERROR! Unexpected Exception: [Errno 23] Too many open files in system: '/tmp/tmplaNlBj'

System: Fedora 24
Ansible version: ansible-2.2.1.0-1.fc24.noarch

I have even upped the open file limits on my system to 65535 and I still get the error and lsof states that I only have about 16k files open for my user.

-=>>ulimit -Hn ; ulimit -Sn
65535
65535
-=>>lsof -u wfoster | wc -l
15618

Here's the command I am using:

ansible-galaxy import sadsfae ansible-elk -vvv

This runs for a few hours then spits out the below traceback.

-=>>ansible-galaxy import sadsfae ansible-elk -vvv
Using /etc/ansible/ansible.cfg as config file
Opened /home/wfoster/.ansible_galaxy
https://galaxy.ansible.com/api/v1/imports/
Successfully submitted import request 60772
https://galaxy.ansible.com/api/v1/imports/?id=60772
Starting import 60772: role_name=ansible-elk repo=sadsfae/ansible-elk
https://galaxy.ansible.com/api/v1/imports/?id=60772
Accessing branch: master
Parsing and validating meta data.
-- snip - several thousand lines --
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
https://galaxy.ansible.com/api/v1/imports/?id=60783
ERROR! Unexpected Exception: [Errno 23] Too many open files in system: '/tmp/tmplaNlBj'
the full traceback was:

Traceback (most recent call last):
  File "/usr/bin/ansible-galaxy", line 103, in <module>
  File "/usr/lib/python2.7/site-packages/ansible/cli/galaxy.py", line 133, in run
  File "/usr/lib/python2.7/site-packages/ansible/cli/__init__.py", line 145, in execute
  File "/usr/lib/python2.7/site-packages/ansible/cli/galaxy.py", line 611, in execute_import
  File "/usr/lib/python2.7/site-packages/ansible/galaxy/api.py", line 58, in wrapped
  File "/usr/lib/python2.7/site-packages/ansible/galaxy/api.py", line 170, in get_import_task
  File "/usr/lib/python2.7/site-packages/ansible/galaxy/api.py", line 58, in wrapped
  File "/usr/lib/python2.7/site-packages/ansible/galaxy/api.py", line 94, in __call_galaxy
  File "/usr/lib/python2.7/site-packages/ansible/module_utils/urls.py", line 908, in open_url
  File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
  File "/usr/lib64/python2.7/urllib2.py", line 427, in open
  File "/usr/lib/python2.7/site-packages/ansible/module_utils/urls.py", line 671, in http_request
  File "/usr/lib/python2.7/site-packages/ansible/module_utils/urls.py", line 601, in get_ca_certs
  File "/usr/lib64/python2.7/tempfile.py", line 314, in mkstemp
  File "/usr/lib64/python2.7/tempfile.py", line 244, in _mkstemp_inner
OSError: [Errno 23] Too many open files in system: '/tmp/tmplaNlBj'

Here's my ../meta/main.yml

---
# Ansible galaxy requirements file
#
# Role to setup ELK/EFK stack on a server (CentOS/RHEL only)
- src: https://github.com/sadsfae/ansible-elk
  name: ansible-elk
  version: master

I have also set forks = 25 in my /etc/ansible/ansible.cfg

Copied from original issue: ansible/galaxy-issues#236

Unable to refresh repositories and import role with a specific user

From @shibayu36 on September 13, 2017 7:28

I use galaxy's user named MACKEREL. When I log in this user, I cannot "Refresh Your Repositories from GitHub" and "Import Role" from https://galaxy.ansible.com/roleadd#/ page.

I saw Network tab in chrome developer tools, then I found a refresh endpoint( https://galaxy.ansible.com/api/v1/repos/refresh/ ) returns Internal Server Error.

I thought this problem occurs because this account named MACKEREL have been connected to multiple Github accounts. So I revoked Ansible Galaxy from Github Apps(https://github.com/settings/applications) once, and reconnected MACKEREL user to github, but this problem was not fixed yet.

What should I do?

Copied from original issue: ansible/galaxy-issues#282

separation of concern not meet with non galaxy dependencies

From @RainerW on July 17, 2017 15:13

In our dev environment we want to run the exact same script as in production. But with full qualified urls inside the requirements.yml, this is not possible, because the production network is secured and the servername differ quite a lot.

#48 suggest to use fully qualified urls inside a requirements.yml ( http://docs.ansible.com/ansible/galaxy.html#installing-multiple-roles-from-a-file ) Becasue we run projects inside different network zones, having an absolute url to a role is not very practical.

Like for the galaxy syntax putting a location neutral "src=yatesr.timezone version=x" in the requirements file is ok. But "src: https://git.example.com/files/master.tar.gz" is overspecific, and will not work in other networks. The location from where the dependency is coming should not be a concern of the ansible script developer.

Our current workaround is using gradle for dependencies. Like the requirements.yml the build.gradle contains only the name and version of what the scripts needs. But Gradle knows from where to actually get it. This depends on the environment.
Basically all dependecy management tools i know doing that kind of seperation, location vs dependecy "identity".

I suggest ansible does the same. Basically the ansible config should contain a list with mirrors to ask for when doing a dependency resolution.

Copied from original issue: ansible/galaxy-issues#272

galaxy does not remove `ansible-role-` from repository name

From @trombik on December 26, 2016 10:48

I have just uploaded a role to galaxy but the import log says its name is reallyenglish.ansible-role-java, instead of reallyenglish.java.

Starting import 44364: role_name=ansible-role-java repo=reallyenglish/ansible-role-java
Accessing branch: master
Parsing and validating meta data.
Setting role name to ansible-role-java
Parsing galaxy_tags
Parsing platforms
Adding dependencies
Parsing and validating README
Adding repo tags as role versions
Import completed
Status SUCCESS : warnings=0 errors=0

The role was imported at 12/26/2016 10:38:10 AM UTC.

Interestingly, reallyenglish.apt-repo, which was imported to galaxy at 12/25/2016 11:33:11 AM UTC, was given a correct name.

Removing ansible-role- from repository name is not documented, but, AFAIK, it has been a feature. What went wrong?

Copied from original issue: ansible/galaxy-issues#227

Upgrade django from 1.8 to 1.11

From @cutwater on October 11, 2017 11:45

Action items:

  • Replace patterns() with lists of urls.
    > django.conf.urls.patterns() is deprecated and will be removed in Django 1.10.
    Fixed in #200

  • Replace string views with callables.
    > Support for string view arguments to url() is deprecated and will be removed in Django 1.10.
    Fixed in #200

  • Replace usage of django.utils.importlib
    Remove django-site-maintenance dependency.
    > django.utils.importlib will be removed in Django 1.9.

  • Upgrade djangorestframework

More changes to be added.

Copied from original issue: ansible/galaxy-issues#294

I can't add 3 of my roles (Angular error)

From @Ilyes512 on August 9, 2016 19:45

Hey guys,

So Ansible Galaxy sees 12 roles of which I can't seem to "Activate" 3 of them:

image

When I try to activate the first oneIlyes512/ansible-role-base it will display "Running", but it will be stuck at it. Looking at the console I see the below Angular error. In the end the role does not get added and when I refresh it will also display at not activated (so it stays as it was).

image

The t2 other roles do exactly the same thing. The repo's for the 3 roles can be found here:

I have this issue for over a month now. I tweeted it to @ansible, but did not receive any answers. At the time I did not know about this issues repo.

The tweet

I got no idea what it can be. I can think of one more thing to do and that is create a new role by executing $ ansible-galaxt init [name] and then copy/edit everything in again.

Copied from original issue: ansible/galaxy-issues#177

Travis badge reports failures on non-master branch

From @kulinacs on March 16, 2017 20:56

Currently, a failed build on Travis marks the TravisCI badge as failing, whether it is on master or not.

It seems the bug may lie in:
https://github.com/ansible/galaxy/blob/master/galaxy/api/views.py#L873

TravisCI does not currently allow reporting on specific branches, but includes the built branch in the notification. Instead of setting the branch solely based on the notification received, there should likely be a comparison with the branch specified by the role (or the default used in import) to check if the status should be changed (and which status badge should be used)

Copied from original issue: ansible/galaxy-issues#242

Duplicate roles on two accounts

From @mattwillsher on March 3, 2017 13:7

Hi,

I have a role which exists on two accounts, one of which I can see it under, one I can't.

The roles are

https://galaxy.ansible.com/mattwillsher/sshd/

and

https://galaxy.ansible.com/willshersystems/sshd/

I can see the roles via galaxy on the mattwillsher account but not willshersystems. I've tried variously to disable github access on the mattwillsher account, but the roles still show, and associate the willshersystems accounts but the roles don't appear.

Copied from original issue: ansible/galaxy-issues#240

No roles found in your public GitHub repositories.

From @joshuamkite on March 19, 2017 15:53

I am trying to publish my first Ansible role. I have signed in to ansible galaxy site using my github account but no matter what I do I get 'No roles found in your public GitHub repositories.' I have been following the documentation at https://galaxy.ansible.com/intro At first I thought the issue might be because I did not have my role as a top-level repository or have 'ansible' in the repo name but this has made no difference. What am I missing?

Copied from original issue: ansible/galaxy-issues#243

Travis CI settings missing from "My Roles" page?

From @c-mart on January 11, 2017 17:50

I think the Travis CI settings are missing from https://galaxy.ansible.com/roleadd. Previously you could click the gear icon next to a role, and enter your Travis CI token to configure auto-import on completed builds. but now I don't see that setting anymore, only a text field to edit the role name. Same results in Firefox and Chromium. Was this setting removed or just moved?

image

Copied from original issue: ansible/galaxy-issues#230

Proxy use when running Galaxy

From @TemperingPick on July 20, 2017 12:27

I'm behind an HTTP proxy when trying to run Galaxy so I can't download packages or docker images without a proxy. I've verified that Docker is working fine behind the proxy, and any packages that it fails on I can pull from the local machine. Is there something I need to do to get the containers to be able to use the proxy?

I had to modify the docker template to build the conductor, but running the django container causes an error when trying to download postgresql. Here is the fuck traceback:

The full traceback is:
File "/tmp/ansible_F1CRZ_/ansible_modlib.zip/ansible/module_utils/urls.py", line 1039, in fetch_url
client_key=client_key)
File "/tmp/ansible_F1CRZ_/ansible_modlib.zip/ansible/module_utils/urls.py", line 948, in open_url
r = urllib_request.urlopen(*urlopen_args)
File "/_usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 429, in open
req = meth(req)
File "/tmp/ansible_F1CRZ
/ansible_modlib.zip/ansible/module_utils/urls.py", line 766, in http_request
raise ConnectionError('Failed to connect to %s at port %s: %s' % (self.hostname, self.port, to_native(e)))
fatal: [django]: FAILED! => {
"changed": false,
"failed": true,
"invocation": {
"module_args": {
"attributes": null,
"backup": null,
"checksum": "",
"client_cert": null,
"client_key": null,
"content": null,
"delimiter": null,
"dest": "/tmp/pgdg-centos95-9.5-3.noarch.rpm",
"directory_mode": null,
"follow": false,
"force": false,
"force_basic_auth": false,
"group": null,
"headers": null,
"http_agent": "ansible-httpget",
"mode": null,
"owner": null,
"regexp": null,
"remote_src": null,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"sha256sum": "",
"src": null,
"timeout": 10,
"tmp_dest": null,
"unsafe_writes": null,
"url": "https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm",
"url_password": null,
"url_username": null,
"use_proxy": true,
"validate_certs": true
}
},
"msg": "Failed to connect to download.postgresql.org at port 443: [Errno 101] Network is unreachable"
}
to retry, use: --limit @/tmp/tmpcJ3UCs/playbook.retry

PLAY RECAP *********************************************************************
django : ok=1 changed=0 unreachable=0 failed=1

2017-07-20T12:19:48.102279 Error applying role! [container.core] caller_file=/_ansible/container/core.py caller_func=apply_role_to_container caller_line=627 engine=<container.docker.engine.Engine object at 0x3689950> exit_code=2 playbook=[{'hosts': u'django', 'roles': ['django-role'], 'vars': {u'galaxy_project_dir': u'/galaxy', u'galaxy_rabbitmq_pass': u'galaxy', u'galaxy_postgres_user': u'galaxy', u'galaxy_postgres_db': u'galaxy', u'galaxy_env': u'DEV', u'galaxy_site_name': u'localhost', u'galaxy_user': u'django', u'galaxy_admin_password': u'admin', u'galaxy_email_username': u'', u'galaxy_venv': u'/venv', u'galaxy_accounts_handler': u'console', u'galaxy_send_email': False, u'galaxy_site_aliases': [u'localhost', u'127.0.0.1', u'0.0.0.0'], u'galaxy_configure_supervisor': False, u'galaxy_email_port': 0, u'galaxy_create_superuser': True, u'galaxy_allauth_handler': u'console', u'galaxy_admin_username': u'admin', u'galaxy_rabbitmq_vhost': u'galaxy', u'galaxy_email_password': u'', u'galaxy_main_handler': u'console', u'galaxy_rabbitmq_user': u'galaxy', u'galaxy_django_handler': u'django_logfile', u'galaxy_postgres_password': u'galaxy', u'galaxy_site_env': u'DEV', u'galaxy_email_hostname': u''}}]
2017-07-20T12:19:48.105360 Playbook run finished. [container.core] caller_file=/_ansible/container/core.py caller_func=conductorcmd_build caller_line=753 exit_code=2
Traceback (most recent call last):
File "/usr/bin/conductor", line 11, in
load_entry_point('ansible-container', 'console_scripts', 'conductor')()
File "/_ansible/container/init.py", line 19, in wrapped
return fn(*args, **kwargs)
File "/_ansible/container/cli.py", line 379, in conductor_commandline
**params)
File "/_ansible/container/init.py", line 19, in wrapped
return fn(*args, **kwargs)
File "/_ansible/container/core.py", line 755, in conductorcmd_build
raise RuntimeError('Build failed.')
RuntimeError: Build failed.
2017-07-20T08:19:48.244033 Conductor terminated. Cleaning up. [container.docker.engine] caller_file=/home/USER/ansible-container-develop/container/docker/engine.py caller_func=await_conductor_command caller_line=356 command_rc=1 conductor_id=u'7f380338f64b7102240314833e44022675e7b8b0f0e24b02f561e2cd93e7a839' save_container=False
2017-07-20T08:19:48.259581 Conductor exited with status 1 [container.cli] caller_file=/home/USER/ansible-container-develop/container/cli.py caller_func=call caller_line=291
make: *** [build] Error 1

Copied from original issue: ansible/galaxy-issues#274

ansible-galaxy install --force no longer replaces roles

From @jxn on April 13, 2017 18:10

After the version bump to 2.3.0, it seems install --force no longer forces an overwrite. We have been using this to "upgrade" roles stored in git, but they are no longer pulled in.

Here's the command used:
ansible-galaxy install --force -r ansible/requirements.yml -p ansible/roles/

Here's an example requirements.yml

---
- src: [email protected]:ansible/linux-http.git
  scm: git
- src: [email protected]:ansible/apache-php.git
  scm: git

Previously, when we pushed new role updates to master, these would be overwritten in the 'ansible/roles' directory with the above command. Now, these are not updated until we manually delete the roles in that folder. We get the following output:

- linux-http is already installed, skipping.
- apache-php is already installed, skipping.

As far as I can tell, force no longer does anything as of 2.3.0

Copied from original issue: ansible/galaxy-issues#249

Role missing from My Roles page on Ansible Galaxy

From @hectcastro on April 3, 2017 19:16

We have the following Ansible role within our GitHub account, but it does not appear on the My Roles page of the Ansible Galaxy website:

https://github.com/azavea/ansible-aws-ena

It does exist in isolating at the following URL, but ideally it would be renamed so that it not longer container the ansible- prefix:

https://galaxy.ansible.com/azavea/ansible-aws-ena/

Copied from original issue: ansible/galaxy-issues#245

Ignore files from role

From @srizzling on December 1, 2016 22:50

Is there a way I can ignore files being downloaded by the ansible-galaxy client when installing my role.

I place a vault file in my role, to make the tests run and pass, and I do not want people to download the vault file included to make the tests pass.

If this isn't part of ansible galaxy, I think it might be useful, maybe via a .galaxyignore file maybe?

Thanks,
Sriram

Copied from original issue: ansible/galaxy-issues#222

Import does not work with submodules

From @thedumbtechguy on April 24, 2017 11:9

I have a role which uses a custom module which has its own repository.
I therefore decided to use a git submodule to add it under library so maintenance will be easier to manage.

However, when I installed the role, it didn't have the library folder.

Copied from original issue: ansible/galaxy-issues#258

Galaxy Detects No Roles in GitHub

From @chris-short on November 23, 2016 16:28

I have removed and re-added my authorization from GitHub but multiple scans have resulted in Galaxy not being able to find any roles for my account. I've been a Galaxy "user" for a long time and am wondering if something is afoot with my account.

Thanks,
Chris

Copied from original issue: ansible/galaxy-issues#217

No roles found in your public GitHub repositories

From @inviqa-session on January 12, 2017 15:32

I am trying to publish on Galaxy a few roles that we have developed as a company. the organisation name is 'Inviqa'
I'm trying to use a company shared account for both GitHub and Galaxy Authentication via Google.
Google account: [email protected]
GH account: inviqa-session

the roles I want to publish are
https://github.com/inviqa/ansible-digitalocean-floating-ip
https://github.com/inviqa/ansible-jumpcloud
https://github.com/inviqa/ansible-knife-solo

(they are accessible by 'inviqa-session' GH account)

unfortunately when loggin in Galaxy after associating the GH account I still cannot see the list of roles

I hope you can help somehow

thanks

Marco MC

Copied from original issue: ansible/galaxy-issues#231

Duplicate tags in ansible galaxy

From @roumano on May 3, 2017 0:3

We have lot of duplicate tags in ansible galaxy :

fixing this issue will permit a better visibility of roles, less pages, easier to find a role.

HowTo Download all existing tags :

max=$(curl "https://galaxy.ansible.com/api/v1/tags/?page=1&format=json" | jq '.num_pages')
> /tmp/1.json
for i in $(seq 1 $max );do curl "https://galaxy.ansible.com/api/v1/tags/?page=${i}&format=json" >> /tmp/1.json; done

See few duplicates :

cat /tmp/1.json | jq -r '.results[].name' | grep -i raspberry
raspberry
raspberrypi
RaspberryPi
RaspberryPI

cat /tmp/1.son | jq -r '.results[].name' | grep -i ec2
ec2
EC2

cat /tmp/1 | jq -r '.results[].name' | grep -i certificate
certificate
certificates

Copied from original issue: ansible/galaxy-issues#262

unstar fails if github repo has been deleted

From @jlozadad on February 27, 2017 21:10

Hello,

I deleted some repos that had been imported into galaxy but, when I browse the role and click unstar. It stays in a loop and does not finish. Is there a way that the repo can be auto removed if it can't find the github project?

Copied from original issue: ansible/galaxy-issues#238

See other roles by a role author by clicking on name

"As a user..."
;)

When looking at a role that I think is cool or awesome or interesting, I might want to see what other amazing things that author has written. But if I click on their name/face, it sends me off to github. And my only choice is to go back to browse authors / search / etc.

Would like a way to navigate in an intuitibe way to both the role author's github repo and "other roles by this author" from a role page.

Make it easier to know role "relevance"

From @chouseknecht on October 3, 2017 19:57

Create a task worker that evaluates the level of activity for each role, and determines if a given role has been abandoned. Things to be evaluated:

  • Days since last commit
  • Days since last closed issue
  • Days since last download
  • Days since last import

Perhaps each of the above criteria gets a weight? Not sure, but the end result is a score.

Once an 'activity' score is determined it needs to be surfaced on the UI in two ways.

  1. A score, indicated through visual queues, that lets the user immediately know the activity level.
  2. A filter that allows users to hide or show roles based on activity score.

Copied from original issue: ansible/galaxy-issues#289

Make platforms more like tags

From @chouseknecht on October 21, 2016 5:43

Problem

The platform list continues to grow. Requests to add additional operating systems and versions are never-ending, and we perpetually fail to complete them in a timely fashion.

The current incarnation of platform does not really fit network operating systems. In many cases there either is no version or there are many, many versions, and in both cases we have adopted using any for the version.

It also fails to fit container roles. For example, Container App roles don't have a single operating system or platform. If a platform maps to a container's base image, Container Apps consist of many containers, so there may be multiple base images involved. This doesn't fit, and it's confusing.

Another issue is the list of platforms we manifest in the meta/main.yml template when the ansible-galaxy init command executes. The resulting list is unmanageable.

And finally, creating the meta/main.yml template requires a Galaxy API request. This is undesirable if the user does not have internet access or the Galaxy server happens to be down.

Proposal

Make platforms behave more like tags by doing the following:

  • Allow users to provide a list of platform values they think are appropriate
  • Modify the import process to accept a format of Platform_Name:Version, and allow :Version to be optional. This is in keeping with the Docker image format.
  • Completely remove the list of platform values from the meta/main.yml template, replacing it with "platforms: []" and appropriating commenting with examples. This naturally removes the API call.
  • Modify the Galaxy data model to no longer validate platform names and versions, and allow version to be optional.

Copied from original issue: ansible/galaxy-issues#206

Production Containers

From @chouseknecht on October 5, 2017 13:33

When we execute ansible-container run --production containers should take on a more "production-like" configuration. Specifically for now:

  • Django should run via WYSGI (green unicorn or uwysgi)
  • Requests should proxy through Nginx
  • Gulp should not be running
  • All javascript and frontend bits should be static files served by Nginx
  • Run celery as a separate container

We also talked about splitting Django and Celery into 2 container for both development and production.

Copied from original issue: ansible/galaxy-issues#290

extra-vars cli option similar to ansible-playbook

From @cwarner-mdsol on March 27, 2017 20:21

We need to access a role via a private github repo using a personal token. Using ansible tower this means we configure requirements.yml as required but there is no way to pass this token via ansible-galaxy without adding it to requirements.yml bare.

I'd like to propose we introduce --extra-vars to ansible-galaxy. The syntax should be readily familiar so something like ansible-galaxy --extra-vars 'token=whatever' and/or maybe we polymorph --github-token but I don't have a good story for that.

The only work around that i'm aware of is to install the role before you use it, or setup a task to do so outside the workflow of a standard Tower run... this is painful. Which leads me to believe that many people are just stashing the token in their code; at least those people using Tower.

I'm not against doing this work but the main issue is that I need it now and don't plan on maintaining a copy of ansible-galaxy just for this. Anyone see any problems with this?

Copied from original issue: ansible/galaxy-issues#244

Trying to register github account - but no verification email

From @mozart27 on April 20, 2017 18:27

Howdy,

I'm trying to register in Ansible Galaxy using my github account (mozart27). I have not received the verification email and it has been over 30 minutes. I have attempted to re-request the verification email but still have not received it. Would you be able to help? The email associated with this github account is [email protected].

Thanks!

Copied from original issue: ansible/galaxy-issues#253

So close: The 'galaxy' distribution was not found

From @smapjb on February 15, 2017 10:28

I have managed to get this up and running behind the firewall following the CONTRIBUTOR instructions.

I noticed the following fly by the logs on 'make run'

django_1             | TASK [Perform initial migrations] **********************************************
django_1             | fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["/venv/bin/galaxy-manage", "migrate", "--noinput", "--fake-initial"], "delta": "0:00:01.190621", "end": "2017-02-15 09:49:12.751114", "failed": true, "rc": 1, "start": "2017-02-15 09:49:11.560493", "stderr": "Traceback (most recent call last):\n  File \"/venv/bin/galaxy-manage\", line 6, in <module>\n    from pkg_resources import load_entry_point\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 3019, in <module>\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 3003, in _call_aside\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 3032, in _initialize_master_working_set\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 655, in _build_master\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 963, in require\n  File \"build/bdist.linux-x86_64/egg/pkg_resources/__init__.py\", line 849, in resolve\npkg_resources.DistributionNotFound: The 'galaxy' distribution was not found and is required by the application", "stdout": "", "stdout_lines": [], "warnings": []}
django_1             | 	to retry, use: --limit @/setup/dbinit.retry

I similarly get the same when I 'make createsuperuser'

[root@galaxy galaxy]# make createsuperuser
Create Superuser
Traceback (most recent call last):
  File "/venv/bin/galaxy-manage", line 6, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3019, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3003, in _call_aside
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3032, in _initialize_master_working_set
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 655, in _build_master
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 963, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 849, in resolve
pkg_resources.DistributionNotFound: The 'galaxy' distribution was not found and is required by the application
make: *** [createsuperuser] Error 1

I have tried putting / /galaxy and even /galaxy/galaxy on the python path from 'make shell' but I can't get the galaxy-manage command work.

Too many new concepts in my brain at once, could use a pointer?

My setup is

[root@galaxy galaxy]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@galaxy galaxy]# docker --version
Docker version 1.12.5, build 047e51b/1.12.5
[root@galaxy galaxy]# ansible-container version
Ansible Container, version 0.3.0-pre
[root@galaxy galaxy]# ansible --version
ansible 2.2.1.0
  config file = 
  configured module search path = Default w/o overrides

Copied from original issue: ansible/galaxy-issues#234

Can't reset Ansible Galaxy password through website while logged in

From @jeremyn on February 24, 2017 17:19

I don't see an option to change my password through https://galaxy.ansible.com while I'm logged in. The only account-related options I seem to have are "My Imports", "Manage E-mail", and "Manage Linked Accounts", and none of them let me change my password.

I figured out that I could change my password through the "Forgot password" reset process, but there should be a way to change the password while I'm logged in.

Copied from original issue: ansible/galaxy-issues#237

No error when adding a new role/container project that has the same name as an existing project

From @geerlingguy on July 5, 2017 21:26

Steps to Reproduce

  1. Visit 'roleadd' on Ansible Galaxy (https://galaxy.ansible.com/roleadd#/)
  2. Click the 'enable' toggle next to a role named username/xyz
  3. Click the configure widget, and verify the role name is xyz
  4. Wait for role import to succeed (green dot next to 'Succeeded')
  5. Click the 'enable' toggle next to another role named username/something-else
  6. Click the configure widget, and change role name to xyz
  7. Click 'Save' and observe the result.

Expected Result

  • I should see an error message alerting me that a role with that name already exists in my Galaxy namespace.

Actual Result

The 'Running' status widget keeps spinning forever, and nothing seems to happen. After a while, if you refresh the page, you can see the project was imported as something-else and not xyz (I think, if I remember correctly).

This was discovered when I was adding a geerlingguy.solr ansible-container project, while I already had a geerlingguy.solr ansible role in my user namespace. See: ansible/ansible-container#629

Copied from original issue: ansible/galaxy-issues#270

Support for private repos

From @deathowl on June 28, 2017 14:5

Hello guys! We've been exploring using a self hosted galaxy instance to share ansible playbooks within the company, however most of them are in private repositories.
By changing the scope in settings.py used by socialauth from public_repo to repo galaxy was able to get a token with required scopes to access private repos, so imports can finish successfully, however, when i try to ansible-galaxy install myorg.my-private-repo --server https://mygalaxyserver.com it fails the following way:

  • downloading role 'my-private-repo', owned by myorg
  • downloading role from https://github.com/myorg/my-private-repo/archive/master.tar.gz
    [ERROR]: failed to download the file: HTTP Error 404: Not Found <= This happens because the ansible-galaxy cli app just downloads the resource via a plain HTTPS request without authentication, since the github token is not stored on the users machine (this is a good thing however) [https://github.com/ansible/ansible/blob/devel/lib/ansible/galaxy/role.py#L173]

I'd propose some changes, which i'd be happy to implement as well:
Changes to the Galaxy codebase:

  • store the visibility of an imported role (public/private)
  • If the repo is private, display it somehow in the UI
  • Also reflect those changes in the API
  • Only allow authenticated users to install private repos
  • Also warn them, that the install might depend on their access to the given repo
  • Return the socialauth token of the user (we're already making sure you can only install private repos when you're authenticated, so this should not pose a threat with respect to the privacy of the user)

Changes to the ansible codebase:

  • If the user has rights to request an install from the galaxy instance, use the API provided Github Access token to get the artifact form Github.

Please provide me a feedback on this.

Thanks: Balint

Copied from original issue: ansible/galaxy-issues#269

Issues after changing owners in github.

From @choglundsp on April 10, 2017 15:48

I am having a number of issues after changing owners on the singleplatform-eng/ansible-users role. This was previously https://github.com/mivok0/ansible-users (no longer exists).

  1. I get An error occurred while importing repo tags: get() returned more than one RoleVersion -- it returned 2! when importing new versions of the role. As you can see here, there appear to be two instances of v1.2.0.
  2. The role links to the legacy role page when browing 'MY ROLES'.
    screen shot 2017-04-10 at 11 44 35 am
  3. The legacy role page still exists (https://galaxy.ansible.com/mivok0/users/). However, this might be a good thing since people might have it in a requirements.yml and the Github Repo link points at the new repo.

These issues seem to be similar to ansible/galaxy-issues#212 and ansible/galaxy-issues#187.

Copied from original issue: ansible/galaxy-issues#247

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.