Skip to content

Instantly share code, notes, and snippets.

@cloudnull
Last active July 27, 2016 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cloudnull/b6bd9fd37c2b3e6e077d4fe59c46ffdb to your computer and use it in GitHub Desktop.
Save cloudnull/b6bd9fd37c2b3e6e077d4fe59c46ffdb to your computer and use it in GitHub Desktop.
diff --git a/defaults/main.yml b/defaults/main.yml
index 2465ffe..6147c0d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -13,6 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+nova_role_project_group: nova_all
+
# Enable/Disable ceilometer configurations
nova_ceilometer_enabled: False
diff --git a/playbooks/defaults/repo_packages/openstack_services.yml b/playbooks/defaults/repo_packages/openstack_services.yml
index 740e373..2fff164 100644
--- a/playbooks/defaults/repo_packages/openstack_services.yml
+++ b/playbooks/defaults/repo_packages/openstack_services.yml
@@ -39,91 +39,97 @@ requirements_git_dest: "/opt/requirements_{{ requirements_git_install_branch | r
aodh_git_repo: https://git.openstack.org/openstack/aodh
aodh_git_install_branch: 6f897a20bf56522e9b4d2490cf03de2312e47a9d # HEAD of "master" as of 02.06.2016
aodh_git_dest: "/opt/aodh_{{ aodh_git_install_branch | replace('/', '_') }}"
-
+aodh_git_project_group: aodh_all
## Ceilometer service
ceilometer_git_repo: https://git.openstack.org/openstack/ceilometer
ceilometer_git_install_branch: b95710db063258e29abc00a3a6313b840b906b9d # HEAD of "master" as of 02.06.2016
ceilometer_git_dest: "/opt/ceilometer_{{ceilometer_git_install_branch | replace('/', '_') }}"
-
+ceilometer_git_project_group: ceilometer_all
## Cinder service
cinder_git_repo: https://git.openstack.org/openstack/cinder
cinder_git_install_branch: 3e83a3338943fac4908b3e7c8765563d35cae900 # HEAD of "master" as of 02.06.2016
cinder_git_dest: "/opt/cinder_{{ cinder_git_install_branch | replace('/', '_') }}"
-
+cinder_git_project_group: cinder_all
## Glance service
glance_git_repo: https://git.openstack.org/openstack/glance
glance_git_install_branch: 8dd23d0b9c7ca9bb521f56407f6f601db84771f9 # HEAD of "master" as of 02.06.2016
glance_git_dest: "/opt/glance_{{ glance_git_install_branch | replace('/', '_') }}"
-
+glance_git_project_group: glance_all
## Gnocchi service
gnocchi_git_repo: https://git.openstack.org/openstack/gnocchi
gnocchi_git_install_branch: 27e52986cf716111dded4761665f02983bc2b366 # HEAD of "master" as of 27.06.2016
gnocchi_git_dest: "/opt/gnocchi_{{ gnocchi_git_install_branch | replace('/', '_') }}"
-
+gnocchi_git_project_group: gnocchi_all
## Heat service
heat_git_repo: https://git.openstack.org/openstack/heat
heat_git_install_branch: e4c09815e9557e5f93785e8a49db3c41be1d7892 # HEAD of "master" as of 02.06.2016
heat_git_dest: "/opt/heat_{{ heat_git_install_branch | replace('/', '_') }}"
-
+heat_git_project_group: heat_all
## Horizon service
horizon_git_repo: https://git.openstack.org/openstack/horizon
horizon_git_install_branch: 4e384db0cf665198866c94dae961d7123730da4c # HEAD of "master" as of 02.06.2016
horizon_git_dest: "/opt/horizon_{{ horizon_git_install_branch | replace('/', '_') }}"
+horizon_git_project_group: horizon_all
## Horizon LBaaS dashboard plugin
neutron_lbaas_dashboard_git_repo: https://git.openstack.org/openstack/neutron-lbaas-dashboard
neutron_lbaas_dashboard_git_install_branch: 38605d2e4ccee5f956231ddf17785ba940fa66c9 # HEAD of "master" as of 02.06.2016
neutron_lbaas_dashboard_git_dest: "/opt/neutron_lbaas_dashboard_{{ neutron_lbaas_dashboard_git_install_branch | replace('/', '_') }}"
-
+neutron_lbaas_dashboard_git_project_group: neutron_agent
## Keystone service
keystone_git_repo: https://git.openstack.org/openstack/keystone
keystone_git_install_branch: 0068096e132d05aa799a8d7b58f9646b4d96ac34 # HEAD of "master" as of 02.06.2016
keystone_git_dest: "/opt/keystone_{{ keystone_git_install_branch | replace('/', '_') }}"
-
+keystone_git_project_group: keystone_all
## Neutron service
neutron_git_repo: https://git.openstack.org/openstack/neutron
neutron_git_install_branch: 96a195c064df65fb566defa839e8872750931f58 # HEAD of "master" as of 02.06.2016
neutron_git_dest: "/opt/neutron_{{ neutron_git_install_branch | replace('/', '_') }}"
+neutron_git_project_group: neutron_all
neutron_lbaas_git_repo: https://git.openstack.org/openstack/neutron-lbaas
neutron_lbaas_git_install_branch: d693e6e9b2103fa02b31fe6bcd94cb888267cbc4 # HEAD of "master" as of 02.06.2016
neutron_lbaas_git_dest: "/opt/neutron_lbaas_{{ neutron_lbaas_git_install_branch | replace('/', '_') }}"
+neutron_lbaas_git_project_group: neutron_agent
neutron_vpnaas_git_repo: https://git.openstack.org/openstack/neutron-vpnaas
neutron_vpnaas_git_install_branch: bca157440b09659d4d47f01152dc951e2c960139 # HEAD of "master" as of 02.06.2016
neutron_vpnaas_git_dest: "/opt/neutron_vpnaas_{{ neutron_vpnaas_git_install_branch | replace('/', '_') }}"
+neutron_vpnaas_git_project_group: neutron_agent
neutron_fwaas_git_repo: https://git.openstack.org/openstack/neutron-fwaas
neutron_fwaas_git_install_branch: 24921d8e2f62ed3c0dd14d5d67c3992fe8395a46 # HEAD of "master" as of 02.06.2016
neutron_fwaas_git_dest: "/opt/neutron_fwaas_{{ neutron_fwaas_git_install_branch | replace('/', '_') }}"
-
+neutron_fwaas_git_project_group: neutron_agent
## Nova service
nova_git_repo: https://git.openstack.org/openstack/nova
nova_git_install_branch: 0f8b89c6bf1762985ff59dc19a458e99c07278fa # HEAD of "master" as of 02.06.2016
nova_git_dest: "/opt/nova_{{ nova_git_install_branch | replace('/', '_') }}"
-
+nova_git_project_group: nova_all
## PowerVM Virt Driver
nova_powervm_git_repo: https://git.openstack.org/openstack/nova-powervm
nova_powervm_git_install_branch: 8c4a0c19d73aa38a1849a7da529889464d790bca # HEAD of "master" as of 02.06.2016
nova_powervm_git_dest: "/opt/nova_powervm_{{ nova_powervm_git_install_branch | replace('/', '_') }}"
+nova_powervm_git_project_group: nova_compute
## Swift service
swift_git_repo: https://git.openstack.org/openstack/swift
swift_git_install_branch: 99186aded9d4904f63444eb8d33ab2d1c08eed76 # HEAD of "master" as of 02.06.2016
swift_git_dest: "/opt/swift_{{ swift_git_install_branch | replace('/', '_') }}"
-
+swift_git_project_group: swift_all
## Ironic service
ironic_git_repo: https://git.openstack.org/openstack/ironic
ironic_git_install_branch: 838420868e98b30e6f2c11d538f6a881ee112975 # HEAD of "master" as of 02.06.2016
ironic_git_dest: "/opt/ironic_{{ ironic_git_install_branch | replace('/', '_') }}"
+ironic_git_project_group: ironic_all
diff --git a/lookup/py_pkgs.py b/lookup/py_pkgs.py
index 85be981..62bdf4c 100644
--- a/lookup/py_pkgs.py
+++ b/lookup/py_pkgs.py
@@ -63,7 +63,8 @@ PACKAGE_MAPPING = {
'packages': set(),
'remote_packages': set(),
'remote_package_parts': list(),
- 'role_packages': dict()
+ 'role_packages': dict(),
+ 'role_project_groups': dict()
}
@@ -79,12 +80,12 @@ def map_base_and_remote_packages(package, package_map):
package_map['packages'].add(package)
else:
git_parts = git_pip_link_parse(package)
- package_name = git_parts[-1]
+ package_name = git_parts[-2]
if not package_name:
package_name = git_pip_link_parse(package)[0]
for rpkg in list(package_map['remote_packages']):
- rpkg_name = git_pip_link_parse(rpkg)[-1]
+ rpkg_name = git_pip_link_parse(rpkg)[-2]
if not rpkg_name:
rpkg_name = git_pip_link_parse(package)[0]
@@ -110,7 +111,8 @@ def parse_remote_package_parts(package_map):
'fragment',
'url',
'original',
- 'egg_name'
+ 'egg_name',
+ 'project_group'
]
remote_pkg_parts = [
dict(
@@ -135,6 +137,7 @@ def map_role_packages(package_map):
"""
for k, v in ROLE_PACKAGES.items():
role_pkgs = package_map['role_packages'][k] = list()
+ package_map['role_project_groups'][k] = v.pop('project_group', 'all')
for pkg_list in v.values():
role_pkgs.extend(pkg_list)
else:
@@ -242,7 +245,11 @@ def git_pip_link_parse(repo):
if 'gitname=' in _branch[-1]:
name = _meta_return(_branch[-1], 'gitname')
- return name.lower(), branch, plugin_path, url, repo, egg_name
+ project_group = 'all'
+ if 'projectgroup=' in _branch[-1]:
+ project_group = _meta_return(_branch[-1], 'projectgroup')
+
+ return name.lower(), branch, plugin_path, url, repo, egg_name, project_group
def _pip_requirement_split(requirement):
@@ -392,9 +399,11 @@ class DependencyFileProcessor(object):
branch_var = prefix + 'git_install_branch'
fragment_var = prefix + 'git_install_fragments'
plugins_var = prefix + 'repo_plugins'
+ group_var = prefix + 'git_project_group'
# get the repo definition
git_data['repo'] = loaded_yaml.get(repo_var)
+ group = git_data['project_group'] = loaded_yaml.get(group_var, 'all')
# get the repo name definition
name = git_data['name'] = loaded_yaml.get(name_var)
@@ -426,6 +435,7 @@ class DependencyFileProcessor(object):
package += '#egg=%s' % git_data['egg_name']
package += '&gitname=%s' % name
+ package += '&projectgroup=%s' % group
if git_data['fragments']:
package += '&%s' % git_data['fragments']
@@ -448,13 +458,14 @@ class DependencyFileProcessor(object):
)
def _package_build_index(self, packages, role_name, var_name,
- pkg_index=ROLE_PACKAGES):
+ pkg_index=ROLE_PACKAGES, project_group='all'):
self._py_pkg_extend(packages)
if role_name:
if role_name in pkg_index:
role_pkgs = pkg_index[role_name]
else:
role_pkgs = pkg_index[role_name] = dict()
+ role_pkgs['project_group'] = project_group
pkgs = role_pkgs.get(var_name, list())
if 'optional' not in var_name:
@@ -487,6 +498,13 @@ class DependencyFileProcessor(object):
_role_name = file_name.split('roles%s' % os.sep)[-1]
role_name = _role_name.split(os.sep)[0]
+ for key, value in loaded_config.items():
+ if key.endswith('role_project_group'):
+ project_group = value
+ break
+ else:
+ project_group = 'all'
+
for key, values in loaded_config.items():
if key.endswith('git_repo'):
self._process_git(
@@ -501,7 +519,8 @@ class DependencyFileProcessor(object):
self._package_build_index(
packages=values,
role_name=role_name,
- var_name=key
+ var_name=key,
+ project_group=project_group
)
for key, values in loaded_config.items():
@@ -514,7 +533,8 @@ class DependencyFileProcessor(object):
self._package_build_index(
packages=proprietary_pkgs,
role_name=role_name,
- var_name=key
+ var_name=key,
+ project_group=project_group
)
else:
role_name = None
@@ -548,7 +568,8 @@ class DependencyFileProcessor(object):
packages=packages,
role_name=role_name,
var_name='txt_file_packages',
- pkg_index=ROLE_REQUIREMENTS
+ pkg_index=ROLE_REQUIREMENTS,
+ project_group=project_group
)
else:
role_name = None
[
{
"role_project_groups": {
"os_heat": "all",
"os_nova": "nova_all",
"os_keystone": "all",
"galera_client": "all",
"galera_server": "all",
"os_ironic": "all",
"os_gnocchi": "all",
"os_aodh": "all",
"os_neutron": "all",
"lxc_hosts": "all",
"os_cinder": "all",
"os_glance": "all",
"os_swift": "all",
"repo_build": "all",
"pip_install": "all",
"os_tempest": "all",
"os_horizon": "all",
"os_ceilometer": "all"
},
"remote_package_parts": [
{
"name": "aodh",
"project_group": "aodh_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/aodh",
"version": "6f897a20bf56522e9b4d2490cf03de2312e47a9d",
"original": "git+https://git.openstack.org/openstack/aodh@6f897a20bf56522e9b4d2490cf03de2312e47a9d#egg=aodh&gitname=aodh&projectgroup=aodh_all",
"egg_name": "aodh"
},
{
"name": "ceilometer",
"project_group": "ceilometer_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/ceilometer",
"version": "b95710db063258e29abc00a3a6313b840b906b9d",
"original": "git+https://git.openstack.org/openstack/ceilometer@b95710db063258e29abc00a3a6313b840b906b9d#egg=ceilometer&gitname=ceilometer&projectgroup=ceilometer_all",
"egg_name": "ceilometer"
},
{
"name": "cinder",
"project_group": "cinder_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/cinder",
"version": "3e83a3338943fac4908b3e7c8765563d35cae900",
"original": "git+https://git.openstack.org/openstack/cinder@3e83a3338943fac4908b3e7c8765563d35cae900#egg=cinder&gitname=cinder&projectgroup=cinder_all",
"egg_name": "cinder"
},
{
"name": "glance",
"project_group": "glance_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/glance",
"version": "8dd23d0b9c7ca9bb521f56407f6f601db84771f9",
"original": "git+https://git.openstack.org/openstack/glance@8dd23d0b9c7ca9bb521f56407f6f601db84771f9#egg=glance&gitname=glance&projectgroup=glance_all",
"egg_name": "glance"
},
{
"name": "gnocchi",
"project_group": "gnocchi_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/gnocchi",
"version": "27e52986cf716111dded4761665f02983bc2b366",
"original": "git+https://git.openstack.org/openstack/gnocchi@27e52986cf716111dded4761665f02983bc2b366#egg=gnocchi&gitname=gnocchi&projectgroup=gnocchi_all",
"egg_name": "gnocchi"
},
{
"name": "heat",
"project_group": "heat_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/heat",
"version": "e4c09815e9557e5f93785e8a49db3c41be1d7892",
"original": "git+https://git.openstack.org/openstack/heat@e4c09815e9557e5f93785e8a49db3c41be1d7892#egg=heat&gitname=heat&projectgroup=heat_all",
"egg_name": "heat"
},
{
"name": "horizon",
"project_group": "horizon_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/horizon",
"version": "4e384db0cf665198866c94dae961d7123730da4c",
"original": "git+https://git.openstack.org/openstack/horizon@4e384db0cf665198866c94dae961d7123730da4c#egg=horizon&gitname=horizon&projectgroup=horizon_all",
"egg_name": "horizon"
},
{
"name": "ironic",
"project_group": "ironic_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/ironic",
"version": "838420868e98b30e6f2c11d538f6a881ee112975",
"original": "git+https://git.openstack.org/openstack/ironic@838420868e98b30e6f2c11d538f6a881ee112975#egg=ironic&gitname=ironic&projectgroup=ironic_all",
"egg_name": "ironic"
},
{
"name": "keystone",
"project_group": "keystone_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/keystone",
"version": "0068096e132d05aa799a8d7b58f9646b4d96ac34",
"original": "git+https://git.openstack.org/openstack/keystone@0068096e132d05aa799a8d7b58f9646b4d96ac34#egg=keystone&gitname=keystone&projectgroup=keystone_all",
"egg_name": "keystone"
},
{
"name": "neutron",
"project_group": "neutron_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/neutron",
"version": "96a195c064df65fb566defa839e8872750931f58",
"original": "git+https://git.openstack.org/openstack/neutron@96a195c064df65fb566defa839e8872750931f58#egg=neutron&gitname=neutron&projectgroup=neutron_all",
"egg_name": "neutron"
},
{
"name": "neutron-fwaas",
"project_group": "neutron_agent",
"fragment": null,
"url": "https://git.openstack.org/openstack/neutron-fwaas",
"version": "24921d8e2f62ed3c0dd14d5d67c3992fe8395a46",
"original": "git+https://git.openstack.org/openstack/neutron-fwaas@24921d8e2f62ed3c0dd14d5d67c3992fe8395a46#egg=neutron_fwaas&gitname=neutron-fwaas&projectgroup=neutron_agent",
"egg_name": "neutron_fwaas"
},
{
"name": "neutron-lbaas",
"project_group": "neutron_agent",
"fragment": null,
"url": "https://git.openstack.org/openstack/neutron-lbaas",
"version": "d693e6e9b2103fa02b31fe6bcd94cb888267cbc4",
"original": "git+https://git.openstack.org/openstack/neutron-lbaas@d693e6e9b2103fa02b31fe6bcd94cb888267cbc4#egg=neutron_lbaas&gitname=neutron-lbaas&projectgroup=neutron_agent",
"egg_name": "neutron_lbaas"
},
{
"name": "neutron-lbaas-dashboard",
"project_group": "neutron_agent",
"fragment": null,
"url": "https://git.openstack.org/openstack/neutron-lbaas-dashboard",
"version": "38605d2e4ccee5f956231ddf17785ba940fa66c9",
"original": "git+https://git.openstack.org/openstack/neutron-lbaas-dashboard@38605d2e4ccee5f956231ddf17785ba940fa66c9#egg=neutron_lbaas_dashboard&gitname=neutron-lbaas-dashboard&projectgroup=neutron_agent",
"egg_name": "neutron_lbaas_dashboard"
},
{
"name": "neutron-vpnaas",
"project_group": "neutron_agent",
"fragment": null,
"url": "https://git.openstack.org/openstack/neutron-vpnaas",
"version": "bca157440b09659d4d47f01152dc951e2c960139",
"original": "git+https://git.openstack.org/openstack/neutron-vpnaas@bca157440b09659d4d47f01152dc951e2c960139#egg=neutron_vpnaas&gitname=neutron-vpnaas&projectgroup=neutron_agent",
"egg_name": "neutron_vpnaas"
},
{
"name": "nova",
"project_group": "nova_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/nova",
"version": "0f8b89c6bf1762985ff59dc19a458e99c07278fa",
"original": "git+https://git.openstack.org/openstack/nova@0f8b89c6bf1762985ff59dc19a458e99c07278fa#egg=nova&gitname=nova&projectgroup=nova_all",
"egg_name": "nova"
},
{
"name": "nova-powervm",
"project_group": "nova_compute",
"fragment": null,
"url": "https://git.openstack.org/openstack/nova-powervm",
"version": "8c4a0c19d73aa38a1849a7da529889464d790bca",
"original": "git+https://git.openstack.org/openstack/nova-powervm@8c4a0c19d73aa38a1849a7da529889464d790bca#egg=nova_powervm&gitname=nova-powervm&projectgroup=nova_compute",
"egg_name": "nova_powervm"
},
{
"name": "novnc",
"project_group": "nova_console",
"fragment": null,
"url": "https://github.com/kanaka/novnc",
"version": "f52105bc88ebd18d5cb3fba817173e99600cdc3f",
"original": "git+https://github.com/kanaka/novnc@f52105bc88ebd18d5cb3fba817173e99600cdc3f#egg=novnc&gitname=novnc&projectgroup=nova_console",
"egg_name": "novnc"
},
{
"name": "requirements",
"project_group": "all",
"fragment": null,
"url": "https://git.openstack.org/openstack/requirements",
"version": "e00676a8b2b2292138f3f02c2b3b949573730a49",
"original": "git+https://git.openstack.org/openstack/requirements@e00676a8b2b2292138f3f02c2b3b949573730a49#egg=requirements&gitname=requirements&projectgroup=all",
"egg_name": "requirements"
},
{
"name": "spice-html5",
"project_group": "nova_console",
"fragment": null,
"url": "https://github.com/SPICE/spice-html5",
"version": "54cc41299bea8cd681ed0262735e0fd821cd774a",
"original": "git+https://github.com/SPICE/spice-html5@54cc41299bea8cd681ed0262735e0fd821cd774a#egg=spice_html5&gitname=spice-html5&projectgroup=nova_console",
"egg_name": "spice_html5"
},
{
"name": "swift",
"project_group": "swift_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/swift",
"version": "99186aded9d4904f63444eb8d33ab2d1c08eed76",
"original": "git+https://git.openstack.org/openstack/swift@99186aded9d4904f63444eb8d33ab2d1c08eed76#egg=swift&gitname=swift&projectgroup=swift_all",
"egg_name": "swift"
},
{
"name": "tempest",
"project_group": "utility_all",
"fragment": null,
"url": "https://git.openstack.org/openstack/tempest",
"version": "e9ae44b574f14ccd44dcd6b8cb8913bcebe35e83",
"original": "git+https://git.openstack.org/openstack/tempest@e9ae44b574f14ccd44dcd6b8cb8913bcebe35e83#egg=tempest&gitname=tempest&projectgroup=utility_all",
"egg_name": "tempest"
}
],
"remote_packages": [
"git+https://git.openstack.org/openstack/aodh@6f897a20bf56522e9b4d2490cf03de2312e47a9d#egg=aodh&gitname=aodh&projectgroup=aodh_all",
"git+https://git.openstack.org/openstack/ceilometer@b95710db063258e29abc00a3a6313b840b906b9d#egg=ceilometer&gitname=ceilometer&projectgroup=ceilometer_all",
"git+https://git.openstack.org/openstack/cinder@3e83a3338943fac4908b3e7c8765563d35cae900#egg=cinder&gitname=cinder&projectgroup=cinder_all",
"git+https://git.openstack.org/openstack/glance@8dd23d0b9c7ca9bb521f56407f6f601db84771f9#egg=glance&gitname=glance&projectgroup=glance_all",
"git+https://git.openstack.org/openstack/gnocchi@27e52986cf716111dded4761665f02983bc2b366#egg=gnocchi&gitname=gnocchi&projectgroup=gnocchi_all",
"git+https://git.openstack.org/openstack/heat@e4c09815e9557e5f93785e8a49db3c41be1d7892#egg=heat&gitname=heat&projectgroup=heat_all",
"git+https://git.openstack.org/openstack/horizon@4e384db0cf665198866c94dae961d7123730da4c#egg=horizon&gitname=horizon&projectgroup=horizon_all",
"git+https://git.openstack.org/openstack/ironic@838420868e98b30e6f2c11d538f6a881ee112975#egg=ironic&gitname=ironic&projectgroup=ironic_all",
"git+https://git.openstack.org/openstack/keystone@0068096e132d05aa799a8d7b58f9646b4d96ac34#egg=keystone&gitname=keystone&projectgroup=keystone_all",
"git+https://git.openstack.org/openstack/neutron-fwaas@24921d8e2f62ed3c0dd14d5d67c3992fe8395a46#egg=neutron_fwaas&gitname=neutron-fwaas&projectgroup=neutron_agent",
"git+https://git.openstack.org/openstack/neutron-lbaas-dashboard@38605d2e4ccee5f956231ddf17785ba940fa66c9#egg=neutron_lbaas_dashboard&gitname=neutron-lbaas-dashboard&projectgroup=neutron_agent",
"git+https://git.openstack.org/openstack/neutron-lbaas@d693e6e9b2103fa02b31fe6bcd94cb888267cbc4#egg=neutron_lbaas&gitname=neutron-lbaas&projectgroup=neutron_agent",
"git+https://git.openstack.org/openstack/neutron-vpnaas@bca157440b09659d4d47f01152dc951e2c960139#egg=neutron_vpnaas&gitname=neutron-vpnaas&projectgroup=neutron_agent",
"git+https://git.openstack.org/openstack/neutron@96a195c064df65fb566defa839e8872750931f58#egg=neutron&gitname=neutron&projectgroup=neutron_all",
"git+https://git.openstack.org/openstack/nova-powervm@8c4a0c19d73aa38a1849a7da529889464d790bca#egg=nova_powervm&gitname=nova-powervm&projectgroup=nova_compute",
"git+https://git.openstack.org/openstack/nova@0f8b89c6bf1762985ff59dc19a458e99c07278fa#egg=nova&gitname=nova&projectgroup=nova_all",
"git+https://git.openstack.org/openstack/requirements@e00676a8b2b2292138f3f02c2b3b949573730a49#egg=requirements&gitname=requirements&projectgroup=all",
"git+https://git.openstack.org/openstack/swift@99186aded9d4904f63444eb8d33ab2d1c08eed76#egg=swift&gitname=swift&projectgroup=swift_all",
"git+https://git.openstack.org/openstack/tempest@e9ae44b574f14ccd44dcd6b8cb8913bcebe35e83#egg=tempest&gitname=tempest&projectgroup=utility_all",
"git+https://github.com/SPICE/spice-html5@54cc41299bea8cd681ed0262735e0fd821cd774a#egg=spice_html5&gitname=spice-html5&projectgroup=nova_console",
"git+https://github.com/kanaka/novnc@f52105bc88ebd18d5cb3fba817173e99600cdc3f#egg=novnc&gitname=novnc&projectgroup=nova_console"
],
"packages": [
"ansible-lint",
"ansible>=1.9.1,<2.0.0",
"aodh[mysql]",
"argparse",
"ceilometer",
"ceilometermiddleware",
"cinder",
"cliff",
"configobj",
"django-appconf",
"django-openstack-auth",
"dnspython",
"ecdsa",
"glance",
"gnocchi[mysql,file,swift,ceph]",
"gnocchiclient",
"greenlet",
"heat",
"horizon",
"httplib2",
"ironic",
"junitxml",
"keystone",
"keystonemiddleware",
"ldappool",
"libvirt-python",
"lxc-python2",
"lxml",
"mysql-python",
"netaddr!=0.7.16,>=0.7.12",
"networking-plumgrid==2015.2.1.1",
"neutron",
"neutron-lbaas-dashboard",
"neutron_fwaas",
"neutron_lbaas",
"neutron_vpnaas",
"nose",
"nova",
"nova-powervm",
"oslo.config",
"oslo.log",
"oslo.middleware",
"oslosphinx>=2.5.0",
"pbr",
"pip==8.1.2",
"ply",
"prettytable<0.8,>=0.7",
"pycrypto>=2.6",
"pyeclib",
"pymongo",
"pymysql",
"pysaml2",
"python-ceilometerclient",
"python-cinderclient",
"python-glanceclient",
"python-heatclient",
"python-ironicclient",
"python-keystoneclient",
"python-ldap",
"python-memcached",
"python-neutronclient",
"python-novaclient",
"python-openstackclient",
"python-saharaclient",
"python-subunit",
"python-swiftclient",
"python-troveclient",
"pyyaml>=3.1.0",
"repoze.lru",
"setuptools==22.0.0",
"sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2",
"swift",
"tempest",
"tooz",
"virtualenv",
"virtualenv-tools",
"warlock",
"websockify",
"wheel==0.29.0"
],
"role_packages": {
"os_heat": [
"heat",
"httplib2",
"keystonemiddleware",
"pycrypto",
"pymysql",
"python-ceilometerclient",
"python-cinderclient",
"python-glanceclient",
"python-heatclient",
"python-keystoneclient",
"python-memcached",
"python-neutronclient",
"python-novaclient",
"python-openstackclient",
"python-swiftclient",
"python-troveclient",
"virtualenv",
"virtualenv-tools"
],
"os_nova": [
"httplib2",
"keystonemiddleware",
"libvirt-python",
"nova",
"nova-powervm",
"pycrypto",
"pymysql",
"python-ironicclient",
"python-keystoneclient",
"python-memcached",
"python-novaclient",
"virtualenv",
"virtualenv-tools",
"websockify"
],
"os_keystone": [
"argparse",
"httplib2",
"keystone",
"keystonemiddleware",
"ldappool",
"lxml",
"oslo.log",
"oslo.middleware",
"pbr",
"pycrypto",
"pymysql",
"pysaml2",
"python-keystoneclient",
"python-ldap",
"python-memcached",
"python-openstackclient",
"repoze.lru",
"virtualenv",
"virtualenv-tools"
],
"galera_client": [
"mysql-python"
],
"galera_server": [
"mysql-python",
"pycrypto"
],
"os_ironic": [
"httplib2",
"ironic",
"pycrypto",
"pymysql",
"python-ironicclient",
"python-keystoneclient",
"python-memcached",
"python-swiftclient",
"virtualenv",
"virtualenv-tools"
],
"os_gnocchi": [
"gnocchi[mysql,file,swift,ceph]",
"gnocchiclient",
"httplib2",
"keystonemiddleware",
"pycrypto",
"python-keystoneclient",
"python-memcached",
"virtualenv",
"virtualenv-tools"
],
"os_aodh": [
"aodh[mysql]",
"ceilometermiddleware",
"httplib2",
"pycrypto",
"pymysql",
"python-ceilometerclient",
"python-keystoneclient",
"python-memcached",
"virtualenv",
"virtualenv-tools",
"warlock"
],
"os_neutron": [
"cliff",
"configobj",
"httplib2",
"keystonemiddleware",
"neutron",
"neutron_fwaas",
"neutron_lbaas",
"neutron_vpnaas",
"pycrypto",
"pymysql",
"python-glanceclient",
"python-keystoneclient",
"python-memcached",
"python-neutronclient",
"python-novaclient",
"repoze.lru",
"virtualenv",
"virtualenv-tools"
],
"lxc_hosts": [
"lxc-python2"
],
"os_cinder": [
"cinder",
"ecdsa",
"httplib2",
"keystonemiddleware",
"pycrypto",
"pymysql",
"python-cinderclient",
"python-keystoneclient",
"python-memcached",
"virtualenv",
"virtualenv-tools"
],
"os_glance": [
"glance",
"httplib2",
"keystonemiddleware",
"pycrypto",
"pymysql",
"python-cinderclient",
"python-glanceclient",
"python-keystoneclient",
"python-memcached",
"python-swiftclient",
"virtualenv",
"virtualenv-tools",
"warlock"
],
"os_swift": [
"ceilometermiddleware",
"dnspython",
"ecdsa",
"httplib2",
"keystonemiddleware",
"pycrypto",
"pyeclib",
"python-cinderclient",
"python-keystoneclient",
"python-memcached",
"python-swiftclient",
"swift",
"virtualenv",
"virtualenv-tools"
],
"repo_build": [
"virtualenv",
"virtualenv-tools",
"wheel"
],
"pip_install": [],
"os_tempest": [
"junitxml",
"nose",
"python-ceilometerclient",
"python-cinderclient",
"python-glanceclient",
"python-heatclient",
"python-keystoneclient",
"python-memcached",
"python-neutronclient",
"python-novaclient",
"python-openstackclient",
"python-saharaclient",
"python-subunit",
"python-swiftclient",
"tempest",
"virtualenv",
"virtualenv-tools"
],
"os_horizon": [
"django-appconf",
"django-openstack-auth",
"greenlet",
"horizon",
"httplib2",
"keystonemiddleware",
"mysql-python",
"neutron-lbaas-dashboard",
"oslo.config",
"ply",
"pycrypto",
"pymysql",
"python-keystoneclient",
"python-memcached",
"virtualenv",
"virtualenv-tools"
],
"os_ceilometer": [
"ceilometer",
"ceilometermiddleware",
"gnocchiclient",
"httplib2",
"libvirt-python",
"pycrypto",
"pymongo",
"pymysql",
"python-ceilometerclient",
"python-keystoneclient",
"python-memcached",
"tooz",
"virtualenv",
"virtualenv-tools",
"warlock"
]
},
"role_requirement_files": {
"default": {
"txt_file_packages": [
"netaddr!=0.7.16,>=0.7.12",
"prettytable<0.8,>=0.7",
"pycrypto>=2.6",
"pyyaml>=3.1.0",
"virtualenv",
"pip==8.1.2",
"setuptools==22.0.0",
"wheel==0.29.0"
],
"project_group": "all"
},
"plugins": {
"txt_file_packages": [
"ansible-lint",
"ansible>=1.9.1,<2.0.0",
"sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2",
"oslosphinx>=2.5.0"
],
"project_group": "all"
}
}
}
]
{% for role_name, role_requirements in local_packages.results.0.item.role_packages.items() %}
{% set _host_group = local_packages.results.0.item.role_project_groups.role_name %}
{% if ((groups[_host_group] is defined) and (groups[_host_group] | length > 0)) %}
{% set _build_wheel = True %}
{% else %}
{% set _build_wheel = False %}
{% endif %}
{% if (not repo_build_wheel_selective | bool) or (_build_wheel | bool) %}
{% for role_requirement in role_requirements %}
{{ role_requirement.split('#')[0].strip().replace('-', '_') }}
{% endfor %}
{% endif %}
{% endfor %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment