From e8ea45ddbc56bc2862e4609a4a6f94e9fd7a4059 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Tue, 4 Dec 2018 16:23:04 -0800 Subject: [PATCH 1/6] making stor_dx etc required by stor for single pip installation --- Makefile | 6 +++--- stor/requirements-setup.txt | 3 +++ stor/requirements.txt | 5 ++++- tox.ini | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 21656773..b5fa502d 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile utilities for running tests and publishing the package -PACKAGE_NAMES:=stor/ stor_dx/ stor_swift/ stor_s3/ +PACKAGE_NAMES:=stor_dx/ stor_swift/ stor_s3/ stor/ TEST_OUTPUT?=nosetests.xml PIP_INDEX_URL=https://pypi.python.org/simple/ PYTHON?=$(shell which python) @@ -27,7 +27,7 @@ $(VENV_ACTIVATE): stor*/requirements*.txt test -f $@ || virtualenv --python=$(PYTHON) $(VENV_DIR) $(WITH_VENV) echo "Within venv, running $$(python --version)" $(WITH_VENV) pip install -r stor/requirements-setup.txt --index-url=${PIP_INDEX_URL} - $(WITH_VENV) ./run_all.sh 'pip install -e . --index-url=${PIP_INDEX_URL}' $(PACKAGE_NAMES) + $(WITH_VENV) ./run_all.sh 'pip install -e . --index-url=${PIP_INDEX_URL}' stor/ $(WITH_VENV) pip install -r stor/requirements-dev.txt --index-url=${PIP_INDEX_URL} $(WITH_VENV) pip install -r stor/requirements-docs.txt --index-url=${PIP_INDEX_URL} touch $@ @@ -129,7 +129,7 @@ sdist: dist @echo "runs dist" .PHONY: version -version: +version: venv @echo ${VERSION} .PHONY: fullname diff --git a/stor/requirements-setup.txt b/stor/requirements-setup.txt index 8c195644..c0cac535 100644 --- a/stor/requirements-setup.txt +++ b/stor/requirements-setup.txt @@ -3,3 +3,6 @@ tox==2.1.1 xunitmerge==1.0.4 +-e stor_dx +-e stor_s3 +-e stor_swift diff --git a/stor/requirements.txt b/stor/requirements.txt index 77d9f404..10b1f540 100644 --- a/stor/requirements.txt +++ b/stor/requirements.txt @@ -1,4 +1,7 @@ # have to explicitly ban certain requests versions to match keystoneauth1 package for swift requests!=2.12.2,!=2.13.0,>=2.10.0 six -python-swiftclient \ No newline at end of file +python-swiftclient +stor_dx +stor_swift +stor_s3 \ No newline at end of file diff --git a/tox.ini b/tox.ini index 107b72c1..b9be6c7a 100644 --- a/tox.ini +++ b/tox.ini @@ -11,7 +11,7 @@ setenv = XUNIT_FILE=nosetests-{envname}.xml commands = rm -f .coverage - ./run_all.sh 'pip install -e .' stor/ stor_dx/ stor_swift/ stor_s3/ + ./run_all.sh 'pip install -e .' stor_dx/ stor_swift/ stor_s3/ stor/ py.test -v -rsx --cov-config .coveragerc --cov=stor/stor --cov=stor_swift/stor_swift --cov=stor_dx/stor_dx \ --cov=stor_s3/stor_s3 {posargs: stor/stor/tests} {posargs: stor_dx/stor_dx/tests} {posargs: stor_swift/stor_swift/tests} {posargs: stor_s3/stor_s3/tests} From 1266c24de85b40c55448904b21f9a2c545a4c81b Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Wed, 5 Dec 2018 11:36:15 -0800 Subject: [PATCH 2/6] for albert --- MANIFEST.in | 9 --------- Makefile | 16 +++++++++++----- .../requirements-dev.txt => requirements-dev.txt | 0 ...equirements-docs.txt => requirements-docs.txt | 0 ...uirements-setup.txt => requirements-setup.txt | 0 stor/requirements.txt | 2 +- 6 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 MANIFEST.in rename stor/requirements-dev.txt => requirements-dev.txt (100%) rename stor/requirements-docs.txt => requirements-docs.txt (100%) rename stor/requirements-setup.txt => requirements-setup.txt (100%) diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 70391a0f..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,9 +0,0 @@ -include AUTHORS -include LICENSE -include README.md -include stor*/requirements*.txt -include stor/stor/default.cfg -include stor/stor/default.env -include stor/stor/stor-completion.bash -prune stor*/stor*/tests -exclude Makefile diff --git a/Makefile b/Makefile index b5fa502d..9fc78586 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ # Makefile utilities for running tests and publishing the package -PACKAGE_NAMES:=stor_dx/ stor_swift/ stor_s3/ stor/ +PLUGIN_PACKAGES:=stor_dx/ stor_swift/ stor_s3/ +PACKAGE_NAMES:=$(PLUGIN_PACKAGES) stor/ TEST_OUTPUT?=nosetests.xml PIP_INDEX_URL=https://pypi.python.org/simple/ PYTHON?=$(shell which python) @@ -26,10 +27,10 @@ venv: $(VENV_ACTIVATE) $(VENV_ACTIVATE): stor*/requirements*.txt test -f $@ || virtualenv --python=$(PYTHON) $(VENV_DIR) $(WITH_VENV) echo "Within venv, running $$(python --version)" - $(WITH_VENV) pip install -r stor/requirements-setup.txt --index-url=${PIP_INDEX_URL} + $(WITH_VENV) pip install -r requirements-setup.txt --index-url=${PIP_INDEX_URL} $(WITH_VENV) ./run_all.sh 'pip install -e . --index-url=${PIP_INDEX_URL}' stor/ - $(WITH_VENV) pip install -r stor/requirements-dev.txt --index-url=${PIP_INDEX_URL} - $(WITH_VENV) pip install -r stor/requirements-docs.txt --index-url=${PIP_INDEX_URL} + $(WITH_VENV) pip install -r requirements-dev.txt --index-url=${PIP_INDEX_URL} + $(WITH_VENV) pip install -r requirements-docs.txt --index-url=${PIP_INDEX_URL} touch $@ develop: venv @@ -118,7 +119,12 @@ tag: venv .PHONY: dist dist: venv fullname - $(WITH_VENV) ./run_all.sh 'python setup.py sdist' $(PACKAGE_NAMES) + $(WITH_VENV) \ + ./run_all.sh 'python setup.py sdist' $(PLUGIN_PACKAGES); \ + for plugin in $(PLUGIN_PACKAGES); do \ + sed -i '' 's/$(plugin)/$(plugin)==$(VERSION)/g' stor/requirements.txt ; \ + done; \ + ./run_all.sh 'python setup.py sdist' stor/ \ .PHONY: publish-docs publish-docs: diff --git a/stor/requirements-dev.txt b/requirements-dev.txt similarity index 100% rename from stor/requirements-dev.txt rename to requirements-dev.txt diff --git a/stor/requirements-docs.txt b/requirements-docs.txt similarity index 100% rename from stor/requirements-docs.txt rename to requirements-docs.txt diff --git a/stor/requirements-setup.txt b/requirements-setup.txt similarity index 100% rename from stor/requirements-setup.txt rename to requirements-setup.txt diff --git a/stor/requirements.txt b/stor/requirements.txt index 10b1f540..18dabc41 100644 --- a/stor/requirements.txt +++ b/stor/requirements.txt @@ -4,4 +4,4 @@ six python-swiftclient stor_dx stor_swift -stor_s3 \ No newline at end of file +stor_s3 From 4c259b819c398b3592e43a98d00d4bce61152ff0 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Wed, 5 Dec 2018 16:37:29 -0800 Subject: [PATCH 3/6] finally achieved fixing version inside stor --- Makefile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 9fc78586..f71d2d84 100644 --- a/Makefile +++ b/Makefile @@ -121,10 +121,13 @@ tag: venv dist: venv fullname $(WITH_VENV) \ ./run_all.sh 'python setup.py sdist' $(PLUGIN_PACKAGES); \ - for plugin in $(PLUGIN_PACKAGES); do \ - sed -i '' 's/$(plugin)/$(plugin)==$(VERSION)/g' stor/requirements.txt ; \ - done; \ - ./run_all.sh 'python setup.py sdist' stor/ \ + cp stor/requirements.txt stor/requirements.txt.old; \ + for plugin in $(subst /,,$(PLUGIN_PACKAGES)); do \ + awk -v p=$$plugin -v v=$(VERSION) '$$0 ~ p {gsub("$$","=="v,$$0)}1' < stor/requirements.txt > stor/requirements.txt.tmp ; \ + mv stor/requirements.txt.tmp stor/requirements.txt; \ + done; \ + ./run_all.sh 'python setup.py sdist' stor/ ; \ + mv stor/requirements.txt.old stor/requirements.txt; \ .PHONY: publish-docs publish-docs: From f78b781ce579b50a3e614031e13338755b928398 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Wed, 5 Dec 2018 17:38:53 -0800 Subject: [PATCH 4/6] bug fix --- Makefile | 1 + tox.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f71d2d84..dc615124 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,7 @@ endif clean: ./run_all.sh '$(PYTHON) setup.py clean' $(PACKAGE_NAMES) ./run_all.sh 'rm -rf *.egg*/' $(PACKAGE_NAMES) . + ./run_all.sh 'rm -rf .*egg*/' $(PACKAGE_NAMES) . ./run_all.sh 'rm -rf dist/' $(PACKAGE_NAMES) ./run_all.sh 'rm -rf build/' $(PACKAGE_NAMES) ./run_all.sh 'rm -rf __pycache__/' $(PACKAGE_NAMES) . diff --git a/tox.ini b/tox.ini index b9be6c7a..e3a01876 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ commands = --cov=stor_s3/stor_s3 {posargs: stor/stor/tests} {posargs: stor_dx/stor_dx/tests} {posargs: stor_swift/stor_swift/tests} {posargs: stor_s3/stor_s3/tests} deps = - -r{toxinidir}/stor/requirements-dev.txt + -r{toxinidir}/requirements-dev.txt whitelist_externals = make bash nosetests From df06554ab68844cd6f6c3707a0bfd0287211caf7 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Thu, 6 Dec 2018 10:56:11 -0800 Subject: [PATCH 5/6] adding stor to requirements of each individual plugin --- Makefile | 8 +++++++- requirements-setup.txt | 3 --- stor/requirements-test.txt | 4 ++++ stor_dx/requirements-test.txt | 4 ++++ stor_dx/requirements.txt | 1 + stor_s3/requirements-test.txt | 1 + stor_s3/requirements.txt | 1 + stor_swift/requirements-test.txt | 1 + stor_swift/requirements.txt | 3 ++- 9 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 stor/requirements-test.txt create mode 100644 stor_dx/requirements-test.txt create mode 100644 stor_s3/requirements-test.txt create mode 100644 stor_swift/requirements-test.txt diff --git a/Makefile b/Makefile index dc615124..2cd4c7d5 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,8 @@ $(VENV_ACTIVATE): stor*/requirements*.txt test -f $@ || virtualenv --python=$(PYTHON) $(VENV_DIR) $(WITH_VENV) echo "Within venv, running $$(python --version)" $(WITH_VENV) pip install -r requirements-setup.txt --index-url=${PIP_INDEX_URL} - $(WITH_VENV) ./run_all.sh 'pip install -e . --index-url=${PIP_INDEX_URL}' stor/ + $(WITH_VENV) ./run_all.sh 'pip install -r requirements-test.txt --index-url=${PIP_INDEX_URL}' $(PACKAGE_NAMES) + $(WITH_VENV) ./run_all.sh 'pip install --no-deps -e . --index-url=${PIP_INDEX_URL}' $(PACKAGE_NAMES) $(WITH_VENV) pip install -r requirements-dev.txt --index-url=${PIP_INDEX_URL} $(WITH_VENV) pip install -r requirements-docs.txt --index-url=${PIP_INDEX_URL} touch $@ @@ -120,7 +121,12 @@ tag: venv .PHONY: dist dist: venv fullname + # dynamically set the version in each requirements file to be the version of the package being installed $(WITH_VENV) \ + for plugin in $(PLUGIN_PACKAGES); do \ + awk -v p=stor -v v=$(VERSION) '$$0 ~ p {gsub("$$","=="v,$$0)}1' < $$plugin/requirements.txt > $$plugin/requirements.txt.tmp ; \ + mv $$plugin/requirements.txt.tmp $$plugin/requirements.txt; \ + done; \ ./run_all.sh 'python setup.py sdist' $(PLUGIN_PACKAGES); \ cp stor/requirements.txt stor/requirements.txt.old; \ for plugin in $(subst /,,$(PLUGIN_PACKAGES)); do \ diff --git a/requirements-setup.txt b/requirements-setup.txt index c0cac535..8c195644 100644 --- a/requirements-setup.txt +++ b/requirements-setup.txt @@ -3,6 +3,3 @@ tox==2.1.1 xunitmerge==1.0.4 --e stor_dx --e stor_s3 --e stor_swift diff --git a/stor/requirements-test.txt b/stor/requirements-test.txt new file mode 100644 index 00000000..08c8b1b9 --- /dev/null +++ b/stor/requirements-test.txt @@ -0,0 +1,4 @@ +# have to explicitly ban certain requests versions to match keystoneauth1 package for swift +requests!=2.12.2,!=2.13.0,>=2.10.0 +six +python-swiftclient diff --git a/stor_dx/requirements-test.txt b/stor_dx/requirements-test.txt new file mode 100644 index 00000000..6f228e4e --- /dev/null +++ b/stor_dx/requirements-test.txt @@ -0,0 +1,4 @@ +cached-property +contextlib2 +dxpy>=0.265.0; python_version <= '2.7' +dxpy3; python_version > '3.0' diff --git a/stor_dx/requirements.txt b/stor_dx/requirements.txt index 6f228e4e..0ccbf1cf 100644 --- a/stor_dx/requirements.txt +++ b/stor_dx/requirements.txt @@ -2,3 +2,4 @@ cached-property contextlib2 dxpy>=0.265.0; python_version <= '2.7' dxpy3; python_version > '3.0' +stor diff --git a/stor_s3/requirements-test.txt b/stor_s3/requirements-test.txt new file mode 100644 index 00000000..6679508f --- /dev/null +++ b/stor_s3/requirements-test.txt @@ -0,0 +1 @@ +boto3>=1.4.0 diff --git a/stor_s3/requirements.txt b/stor_s3/requirements.txt index 6679508f..7d2fefa1 100644 --- a/stor_s3/requirements.txt +++ b/stor_s3/requirements.txt @@ -1 +1,2 @@ boto3>=1.4.0 +stor diff --git a/stor_swift/requirements-test.txt b/stor_swift/requirements-test.txt new file mode 100644 index 00000000..46e92463 --- /dev/null +++ b/stor_swift/requirements-test.txt @@ -0,0 +1 @@ +python-keystoneclient>=1.8.1 diff --git a/stor_swift/requirements.txt b/stor_swift/requirements.txt index 9d44a4e6..a40b9276 100644 --- a/stor_swift/requirements.txt +++ b/stor_swift/requirements.txt @@ -1 +1,2 @@ -python-keystoneclient>=1.8.1 \ No newline at end of file +python-keystoneclient>=1.8.1 +stor From efdc0d8586c9e435c15fe31aaaf1153c9f34df30 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Date: Thu, 6 Dec 2018 12:46:55 -0800 Subject: [PATCH 6/6] bug fix --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 2cd4c7d5..64527a14 100644 --- a/Makefile +++ b/Makefile @@ -123,11 +123,13 @@ tag: venv dist: venv fullname # dynamically set the version in each requirements file to be the version of the package being installed $(WITH_VENV) \ + ./run_all.sh 'cp requirements.txt requirements.txt.old' $(PLUGIN_PACKAGES); \ for plugin in $(PLUGIN_PACKAGES); do \ awk -v p=stor -v v=$(VERSION) '$$0 ~ p {gsub("$$","=="v,$$0)}1' < $$plugin/requirements.txt > $$plugin/requirements.txt.tmp ; \ mv $$plugin/requirements.txt.tmp $$plugin/requirements.txt; \ done; \ ./run_all.sh 'python setup.py sdist' $(PLUGIN_PACKAGES); \ + ./run_all.sh 'mv requirements.txt.old requirements.txt' $(PLUGIN_PACKAGES); \ cp stor/requirements.txt stor/requirements.txt.old; \ for plugin in $(subst /,,$(PLUGIN_PACKAGES)); do \ awk -v p=$$plugin -v v=$(VERSION) '$$0 ~ p {gsub("$$","=="v,$$0)}1' < stor/requirements.txt > stor/requirements.txt.tmp ; \