diff options
-rw-r--r-- | .zuul.yaml | 44 | ||||
-rw-r--r-- | doc/source/conf.py | 9 | ||||
-rw-r--r-- | pbr/packaging.py | 6 | ||||
-rw-r--r-- | playbooks/legacy/pbr-installation-devstack/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/legacy/pbr-installation-devstack/run.yaml | 135 | ||||
-rw-r--r-- | playbooks/legacy/pbr-installation-upstream-devstack/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/legacy/pbr-installation-upstream-devstack/run.yaml | 135 | ||||
-rw-r--r-- | playbooks/pbr-installation-openstack/pre.yaml | 4 | ||||
-rw-r--r-- | playbooks/pbr-installation-openstack/run.yaml | 6 | ||||
-rw-r--r-- | releasenotes/source/conf.py | 15 | ||||
-rw-r--r-- | tools/integration.sh | 10 |
11 files changed, 63 insertions, 331 deletions
@@ -1,12 +1,12 @@ - job: - name: pbr-installation-devstack-base - parent: legacy-dsvm-base - timeout: 7800 + name: pbr-installation-openstack-base + timeout: 5400 + description: | + Base job for pbr jobs that install openstack packages with current + pbr. This ensures we don't break our ability to install openstack. required-projects: - - openstack/devstack - - openstack/grenade + # TODO update this list with current active python projects - openstack/pbr - - openstack/devstack-gate - openstack/tripleo-ci - openstack/aodh - openstack/automaton @@ -90,16 +90,20 @@ - openstack/zaqar - job: - name: pbr-installation-devstack - parent: pbr-installation-devstack-base - run: playbooks/legacy/pbr-installation-devstack/run.yaml - post-run: playbooks/legacy/pbr-installation-devstack/post.yaml + name: pbr-installation-openstack + parent: pbr-installation-openstack-base + pre-run: playbooks/pbr-installation-openstack/pre.yaml + run: playbooks/pbr-installation-openstack/run.yaml + vars: + pbr_pip_version: '' - job: - name: pbr-installation-upstream-devstack - parent: pbr-installation-devstack-base - run: playbooks/legacy/pbr-installation-upstream-devstack/run.yaml - post-run: playbooks/legacy/pbr-installation-upstream-devstack/post.yaml + name: pbr-installation-openstack-pip-dev + description: | + This job runs the pbr installations with pip trunk. + parent: pbr-installation-openstack + vars: + pbr_pip_version: 'git+https://github.com/pypa/pip.git#egg=pip' - project: templates: @@ -113,9 +117,13 @@ - publish-openstack-docs-pti check: jobs: - - pbr-installation-devstack - - pbr-installation-upstream-devstack + - pbr-installation-openstack + - pbr-installation-openstack-pip-dev gate: jobs: - - pbr-installation-devstack - - pbr-installation-upstream-devstack + - pbr-installation-openstack + - pbr-installation-openstack-pip-dev + periodic: + jobs: + - pbr-installation-openstack + - pbr-installation-openstack-pip-dev diff --git a/doc/source/conf.py b/doc/source/conf.py index 13f63a0..aa51538 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -17,10 +17,17 @@ except ImportError: openstackdocstheme = None # openstackdocstheme options + +# Deprecated options for docstheme < 2.2.0, can be removed once +# pbr stops supporting py27. repository_name = 'openstack/pbr' bug_project = 'pbr' bug_tag = '' -html_last_updated_fmt = '%Y-%m-%d %H:%M' +# New options with openstackdocstheme >=2.2.0 +openstackdocs_repo_name = 'openstack/pbr' +openstackdocs_auto_name = False +openstackdocs_bug_project = 'pbr' +openstackdocs_bug_tag = '' # autodoc generation is a bit aggressive and a nuisance when doing heavy # text edit cycles. diff --git a/pbr/packaging.py b/pbr/packaging.py index a697992..68747b6 100644 --- a/pbr/packaging.py +++ b/pbr/packaging.py @@ -456,7 +456,11 @@ class LocalInstallScripts(install_scripts.install_scripts): command_name = 'install_scripts' def _make_wsgi_scripts_only(self, dist, executable, is_wininst): - header = easy_install.get_script_header("", executable, is_wininst) + # get_script_header() is deprecated since Setuptools 12.0 + try: + header = easy_install.ScriptWriter.get_header("", executable) + except AttributeError: + header = easy_install.get_script_header("", executable, is_wininst) wsgi_script_template = ENTRY_POINTS_MAP['wsgi_scripts'] for name, ep in dist.get_entry_map('wsgi_scripts').items(): content = generate_script( diff --git a/playbooks/legacy/pbr-installation-devstack/post.yaml b/playbooks/legacy/pbr-installation-devstack/post.yaml deleted file mode 100644 index e07f551..0000000 --- a/playbooks/legacy/pbr-installation-devstack/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff --git a/playbooks/legacy/pbr-installation-devstack/run.yaml b/playbooks/legacy/pbr-installation-devstack/run.yaml deleted file mode 100644 index b22cce2..0000000 --- a/playbooks/legacy/pbr-installation-devstack/run.yaml +++ /dev/null @@ -1,135 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-pbr-installation-dsvm from old job gate-pbr-installation-dsvm-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat > clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - # Define the entire projects list here so that what we - # test requirements against is independent of what d-g - # thinks is relevant. - export PROJECTS="openstack/devstack-gate $PROJECTS" - export PROJECTS="openstack/devstack $PROJECTS" - export PROJECTS="openstack/grenade $PROJECTS" - export PROJECTS="openstack/pbr $PROJECTS" - export PROJECTS="openstack/tripleo-ci $PROJECTS" - export PROJECTS="openstack/aodh $PROJECTS" - export PROJECTS="openstack/automaton $PROJECTS" - export PROJECTS="openstack/ceilometer $PROJECTS" - export PROJECTS="openstack/ceilometermiddleware $PROJECTS" - export PROJECTS="openstack/cinder $PROJECTS" - export PROJECTS="openstack/cliff $PROJECTS" - export PROJECTS="openstack/debtcollector $PROJECTS" - export PROJECTS="openstack/dib-utils $PROJECTS" - export PROJECTS="openstack/diskimage-builder $PROJECTS" - export PROJECTS="openstack/django_openstack_auth $PROJECTS" - export PROJECTS="openstack/futurist $PROJECTS" - export PROJECTS="openstack/glance $PROJECTS" - export PROJECTS="openstack/glance_store $PROJECTS" - export PROJECTS="openstack/heat $PROJECTS" - export PROJECTS="openstack/heat-cfntools $PROJECTS" - export PROJECTS="openstack/heat-templates $PROJECTS" - export PROJECTS="openstack/horizon $PROJECTS" - export PROJECTS="openstack/ironic $PROJECTS" - export PROJECTS="openstack/ironic-lib $PROJECTS" - export PROJECTS="openstack/ironic-python-agent $PROJECTS" - export PROJECTS="openstack/keystone $PROJECTS" - export PROJECTS="openstack/keystoneauth $PROJECTS" - export PROJECTS="openstack/keystonemiddleware $PROJECTS" - export PROJECTS="openstack/manila $PROJECTS" - export PROJECTS="openstack/manila-ui $PROJECTS" - export PROJECTS="openstack/zaqar $PROJECTS" - export PROJECTS="openstack/neutron $PROJECTS" - export PROJECTS="openstack/octavia $PROJECTS" - export PROJECTS="openstack/neutron-vpnaas $PROJECTS" - export PROJECTS="openstack/nova $PROJECTS" - export PROJECTS="openstack/os-apply-config $PROJECTS" - export PROJECTS="openstack/os-brick $PROJECTS" - export PROJECTS="openstack/os-client-config $PROJECTS" - export PROJECTS="openstack/os-collect-config $PROJECTS" - export PROJECTS="openstack/os-net-config $PROJECTS" - export PROJECTS="openstack/os-refresh-config $PROJECTS" - export PROJECTS="openstack/osc-lib $PROJECTS" - export PROJECTS="openstack/oslo.cache $PROJECTS" - export PROJECTS="openstack/oslo.concurrency $PROJECTS" - export PROJECTS="openstack/oslo.config $PROJECTS" - export PROJECTS="openstack/oslo.context $PROJECTS" - export PROJECTS="openstack/oslo.db $PROJECTS" - export PROJECTS="openstack/oslo.i18n $PROJECTS" - export PROJECTS="openstack/oslo.log $PROJECTS" - export PROJECTS="openstack/oslo.messaging $PROJECTS" - export PROJECTS="openstack/oslo.middleware $PROJECTS" - export PROJECTS="openstack/oslo.policy $PROJECTS" - export PROJECTS="openstack/oslo.reports $PROJECTS" - export PROJECTS="openstack/oslo.rootwrap $PROJECTS" - export PROJECTS="openstack/oslo.utils $PROJECTS" - export PROJECTS="openstack/oslo.serialization $PROJECTS" - export PROJECTS="openstack/oslo.service $PROJECTS" - export PROJECTS="openstack/oslo.versionedobjects $PROJECTS" - export PROJECTS="openstack/oslo.vmware $PROJECTS" - export PROJECTS="openstack/pycadf $PROJECTS" - export PROJECTS="openstack/python-cinderclient $PROJECTS" - export PROJECTS="openstack/python-glanceclient $PROJECTS" - export PROJECTS="openstack/python-heatclient $PROJECTS" - export PROJECTS="openstack/python-ironicclient $PROJECTS" - export PROJECTS="openstack/python-keystoneclient $PROJECTS" - export PROJECTS="openstack/python-manilaclient $PROJECTS" - export PROJECTS="openstack/python-zaqarclient $PROJECTS" - export PROJECTS="openstack/python-neutronclient $PROJECTS" - export PROJECTS="openstack/python-novaclient $PROJECTS" - export PROJECTS="openstack/python-openstackclient $PROJECTS" - export PROJECTS="openstack/python-saharaclient $PROJECTS" - export PROJECTS="openstack/python-swiftclient $PROJECTS" - export PROJECTS="openstack/python-troveclient $PROJECTS" - export PROJECTS="openstack/requirements $PROJECTS" - export PROJECTS="openstack/sahara $PROJECTS" - export PROJECTS="openstack/sahara-dashboard $PROJECTS" - export PROJECTS="openstack/stevedore $PROJECTS" - export PROJECTS="openstack/swift $PROJECTS" - export PROJECTS="openstack/taskflow $PROJECTS" - export PROJECTS="openstack/tempest $PROJECTS" - export PROJECTS="openstack/tooz $PROJECTS" - export PROJECTS="openstack/tripleo-heat-templates $PROJECTS" - export PROJECTS="openstack/tripleo-image-elements $PROJECTS" - export PROJECTS="openstack/trove $PROJECTS" - export PROJECTS="openstack/trove-dashboard $PROJECTS" - export PYTHONUNBUFFERED=true - export DEVSTACK_GATE_TEMPEST=0 - export DEVSTACK_GATE_EXERCISES=0 - export DEVSTACK_GATE_REQS_INTEGRATION=1 - export PIP_PROCESS_DEPENDENCY_LINKS=1 - if [ "" = "-upstream" ]; then - export PBR_PIP_VERSION=git+https://github.com/pypa/pip.git#egg=pip - fi - function gate_hook { - set -x - bash -xe $BASE/new/pbr/tools/integration.sh $(cat $BASE/new/requirements/projects.txt) - } - export -f gate_hook - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml b/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml deleted file mode 100644 index e07f551..0000000 --- a/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff --git a/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml b/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml deleted file mode 100644 index 06a38e6..0000000 --- a/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml +++ /dev/null @@ -1,135 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-pbr-installation-dsvm-upstream from old job gate-pbr-installation-dsvm-upstream-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat > clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - # Define the entire projects list here so that what we - # test requirements against is independent of what d-g - # thinks is relevant. - export PROJECTS="openstack/devstack-gate $PROJECTS" - export PROJECTS="openstack/devstack $PROJECTS" - export PROJECTS="openstack/grenade $PROJECTS" - export PROJECTS="openstack/pbr $PROJECTS" - export PROJECTS="openstack/tripleo-ci $PROJECTS" - export PROJECTS="openstack/aodh $PROJECTS" - export PROJECTS="openstack/automaton $PROJECTS" - export PROJECTS="openstack/ceilometer $PROJECTS" - export PROJECTS="openstack/ceilometermiddleware $PROJECTS" - export PROJECTS="openstack/cinder $PROJECTS" - export PROJECTS="openstack/cliff $PROJECTS" - export PROJECTS="openstack/debtcollector $PROJECTS" - export PROJECTS="openstack/dib-utils $PROJECTS" - export PROJECTS="openstack/diskimage-builder $PROJECTS" - export PROJECTS="openstack/django_openstack_auth $PROJECTS" - export PROJECTS="openstack/futurist $PROJECTS" - export PROJECTS="openstack/glance $PROJECTS" - export PROJECTS="openstack/glance_store $PROJECTS" - export PROJECTS="openstack/heat $PROJECTS" - export PROJECTS="openstack/heat-cfntools $PROJECTS" - export PROJECTS="openstack/heat-templates $PROJECTS" - export PROJECTS="openstack/horizon $PROJECTS" - export PROJECTS="openstack/ironic $PROJECTS" - export PROJECTS="openstack/ironic-lib $PROJECTS" - export PROJECTS="openstack/ironic-python-agent $PROJECTS" - export PROJECTS="openstack/keystone $PROJECTS" - export PROJECTS="openstack/keystoneauth $PROJECTS" - export PROJECTS="openstack/keystonemiddleware $PROJECTS" - export PROJECTS="openstack/manila $PROJECTS" - export PROJECTS="openstack/manila-ui $PROJECTS" - export PROJECTS="openstack/zaqar $PROJECTS" - export PROJECTS="openstack/neutron $PROJECTS" - export PROJECTS="openstack/octavia $PROJECTS" - export PROJECTS="openstack/neutron-vpnaas $PROJECTS" - export PROJECTS="openstack/nova $PROJECTS" - export PROJECTS="openstack/os-apply-config $PROJECTS" - export PROJECTS="openstack/os-brick $PROJECTS" - export PROJECTS="openstack/os-client-config $PROJECTS" - export PROJECTS="openstack/os-collect-config $PROJECTS" - export PROJECTS="openstack/os-net-config $PROJECTS" - export PROJECTS="openstack/os-refresh-config $PROJECTS" - export PROJECTS="openstack/osc-lib $PROJECTS" - export PROJECTS="openstack/oslo.cache $PROJECTS" - export PROJECTS="openstack/oslo.concurrency $PROJECTS" - export PROJECTS="openstack/oslo.config $PROJECTS" - export PROJECTS="openstack/oslo.context $PROJECTS" - export PROJECTS="openstack/oslo.db $PROJECTS" - export PROJECTS="openstack/oslo.i18n $PROJECTS" - export PROJECTS="openstack/oslo.log $PROJECTS" - export PROJECTS="openstack/oslo.messaging $PROJECTS" - export PROJECTS="openstack/oslo.middleware $PROJECTS" - export PROJECTS="openstack/oslo.policy $PROJECTS" - export PROJECTS="openstack/oslo.reports $PROJECTS" - export PROJECTS="openstack/oslo.rootwrap $PROJECTS" - export PROJECTS="openstack/oslo.utils $PROJECTS" - export PROJECTS="openstack/oslo.serialization $PROJECTS" - export PROJECTS="openstack/oslo.service $PROJECTS" - export PROJECTS="openstack/oslo.versionedobjects $PROJECTS" - export PROJECTS="openstack/oslo.vmware $PROJECTS" - export PROJECTS="openstack/pycadf $PROJECTS" - export PROJECTS="openstack/python-cinderclient $PROJECTS" - export PROJECTS="openstack/python-glanceclient $PROJECTS" - export PROJECTS="openstack/python-heatclient $PROJECTS" - export PROJECTS="openstack/python-ironicclient $PROJECTS" - export PROJECTS="openstack/python-keystoneclient $PROJECTS" - export PROJECTS="openstack/python-manilaclient $PROJECTS" - export PROJECTS="openstack/python-zaqarclient $PROJECTS" - export PROJECTS="openstack/python-neutronclient $PROJECTS" - export PROJECTS="openstack/python-novaclient $PROJECTS" - export PROJECTS="openstack/python-openstackclient $PROJECTS" - export PROJECTS="openstack/python-saharaclient $PROJECTS" - export PROJECTS="openstack/python-swiftclient $PROJECTS" - export PROJECTS="openstack/python-troveclient $PROJECTS" - export PROJECTS="openstack/requirements $PROJECTS" - export PROJECTS="openstack/sahara $PROJECTS" - export PROJECTS="openstack/sahara-dashboard $PROJECTS" - export PROJECTS="openstack/stevedore $PROJECTS" - export PROJECTS="openstack/swift $PROJECTS" - export PROJECTS="openstack/taskflow $PROJECTS" - export PROJECTS="openstack/tempest $PROJECTS" - export PROJECTS="openstack/tooz $PROJECTS" - export PROJECTS="openstack/tripleo-heat-templates $PROJECTS" - export PROJECTS="openstack/tripleo-image-elements $PROJECTS" - export PROJECTS="openstack/trove $PROJECTS" - export PROJECTS="openstack/trove-dashboard $PROJECTS" - export PYTHONUNBUFFERED=true - export DEVSTACK_GATE_TEMPEST=0 - export DEVSTACK_GATE_EXERCISES=0 - export DEVSTACK_GATE_REQS_INTEGRATION=1 - export PIP_PROCESS_DEPENDENCY_LINKS=1 - if [ "-upstream" = "-upstream" ]; then - export PBR_PIP_VERSION=git+https://github.com/pypa/pip.git#egg=pip - fi - function gate_hook { - set -x - bash -xe $BASE/new/pbr/tools/integration.sh $(cat $BASE/new/requirements/projects.txt) - } - export -f gate_hook - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/pbr-installation-openstack/pre.yaml b/playbooks/pbr-installation-openstack/pre.yaml new file mode 100644 index 0000000..4737f6a --- /dev/null +++ b/playbooks/pbr-installation-openstack/pre.yaml @@ -0,0 +1,4 @@ +- hosts: all + roles: + - ensure-pip + - ensure-virtualenv diff --git a/playbooks/pbr-installation-openstack/run.yaml b/playbooks/pbr-installation-openstack/run.yaml new file mode 100644 index 0000000..adf7665 --- /dev/null +++ b/playbooks/pbr-installation-openstack/run.yaml @@ -0,0 +1,6 @@ +- hosts: all + tasks: + - shell: + cmd: | + export PBR_PIP_VERSION="{{ pbr_pip_version }}" + bash -xe /home/zuul/src/opendev.org/openstack/pbr/tools/integration.sh $(cat /home/zuul/src/opendev.org/openstack/requirements/projects.txt) diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 56f7ecd..0c3627c 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -41,13 +41,16 @@ release = '' # a list of builtin themes. html_theme = 'openstackdocs' -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -html_last_updated_fmt = '%Y-%m-%d %H:%M' - - # -- Options for openstackdocstheme --------------------------------------- -repository_name = 'openstack-dev/pbr' +# Deprecated options for openstackdocstheme < 2.2.0, can be removed once +# pbr stops supporting py27. +repository_name = 'openstack/pbr' bug_project = 'pbr' bug_tag = '' + +# New options with openstackdocstheme >=2.2.0 +openstackdocs_repo_name = 'openstack/pbr' +openstackdocs_auto_name = False +openstackdocs_bug_project = 'pbr' +openstackdocs_bug_tag = '' diff --git a/tools/integration.sh b/tools/integration.sh index ff337ef..566fc50 100644 --- a/tools/integration.sh +++ b/tools/integration.sh @@ -13,7 +13,7 @@ function mkvenv { venv=$1 rm -rf $venv - virtualenv $venv + virtualenv -p python3 $venv $venv/bin/pip install $PIPFLAGS -U $PIPVERSION wheel requests # If a change to PBR is being tested, preinstall the wheel for it @@ -22,11 +22,11 @@ function mkvenv { fi } -# BASE should be a directory with a subdir called "new" and in that +# BASE should be a directory with a subdir called "openstack" and in that # dir, there should be a git repository for every entry in PROJECTS -BASE=${BASE:-/opt/stack} +BASE=${BASE:-/home/zuul/src/opendev.org/} -REPODIR=${REPODIR:-$BASE/new} +REPODIR=${REPODIR:-$BASE/openstack} # TODO: Figure out how to get this on to the box properly sudo apt-get update @@ -160,7 +160,7 @@ export PBRVERSION export PROJECTS export REPODIR export WHEELHOUSE -export OS_TEST_TIMEOUT=600 +export OS_TEST_TIMEOUT=900 cd $REPODIR/pbr mkvenv .venv source .venv/bin/activate |