Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.6.1 to master #152

Merged
merged 101 commits into from
Feb 28, 2018
Merged

Release 1.6.1 to master #152

merged 101 commits into from
Feb 28, 2018

Conversation

tofu-rocketry
Copy link
Member

Assuming #151 has been reviewed, this shouldn't contain any unreviewed code.

tofu-rocketry and others added 30 commits March 10, 2017 15:41
- Replace backslashs used for line continuation in Python code with
  implicit line continuation using parentheses as the former style is
  discouraged and is fragile.
- provide a script to apply timestamp schema changes to all ready
  deployed instances. Because we are changing a column to NOT NULL
  we need to define a default, the current time was chosen as this default.
- Sets it so that any future entries will explicitly get the UpdateTime set
- MySQL 5.1 did this implicitly, MySQL 5.6+ does not
- provide a script to apply timestamp schema changes to all ready
  deployed instances. Because we are changing a column to NOT NULL
  we need to define a default, the current time was chosen as this default.
- Sets it so that any future entries will explicitly get the UpdateTime set
- MySQL 5.1 did this implicitly, MySQL 5.6+ does not
- as per #118
- SuperSummaries has not been updated as it was deprecated in 1.3.0
- provide a script to apply timestamp schema changes to all ready
  deployed instances. Because we are changing a column to NOT NULL
  we need to define a default, the current time was chosen as this default.
- Sets it so that any future entries will explicitly get the UpdateTime set
- MySQL 5.1 did this implicitly, MySQL 5.6+ does not
- SuperSummaries has not been updated as it was deprecated in 1.3.0
- instead of CURRENT_TIMESTAMP as this could cause issues
  determining how recent a record is.
Change UpdateTime timestamp to be explicit
Change Travis file to test against latest nightly rather than a fixed
Python 3 version so that it doesn't have to be manually changed.
- Remove pip log before chaching to avoid it from affecting the cache.
- Add --branch argument to coverage run in preparation for coveralls
  module reporting coverage to Coveralls.io.
- Add setuptools reuirement to docstring.
- Reorder imports to PEP 8.
- Change 'install' argument check to fail gracefully if no arguments
  provided so that help page will be output.
- Get version number from apel init script to avoid repition.
- Change download url, add project url and tweak licence string.
- Some grammar tweaks.
- zip_safe: forces installation as a zip, for performance reasons
- python-daemon has been intentionally excluded as
  it is an optional requirement
- test_suite and tests_require have also been left out as
  trying to run 'setup.py test' throws this error:
  '/root/schemas: No such file or directory'
- files listed in *_files will be copied into *_dir
  i.e conf_files will be copied to conf_dir
- some files need to be renamed before being moved, to match RPM
- as it is an extra requirement to run as daemons on linux
- to preserve similarities to the RPM install
- in order to better manage update scripts
tofu-rocketry and others added 25 commits September 8, 2017 13:20
- as this is done implicitly by MYSQL
- no need to update existing installations as this doesn't
  actually make a chnage, just makes something implicit
  into something explicit
- the absence of it is causing summaries that only differ by
  CpuCount to override each other, as the other primary key
  elements were the same
- Alter update script to affect this change on existing instances
- By the same logic we added CpuCount, we should add
  Benchmark, BenchmarkType and CloudComputeService
Add remaining fields that are in the cloud summariser 'GROUP BY' statement to the primary key
- should be None or the type of the field in question
  i.e int, float or datetime.
- MySQL 5.6.X rejects 'None', whereas 5.1.X would have
  interpreted it as the zero int, float or datetime
- Differentiates it form the test_load_from_msg_type_check
- Adds a docstring to clarify what the test actually checks
- as long as the fields are listed in _float_fields or _datetime_fields
- rather than the string 'None', as ServiceLevel is a float field and is
  now being set to None to allow strict mysql modes
- as it is a float field, if it is missing it is
  now being set to None to allow strict mysql modes
- check that messages with NULL as a Benchmark or BenchmarkType can be loaded
- if a field in self._float_fields is missing, it now gets set to None,
  which is interpreted by the database as NULL. This works for most fields
  but not for Benchmark as the column is NOT NULL in the
  CloudRecord table.
- We cannot simply remove the NOT NULL as they are GROUPED BY as part of the
  summariser process (and should be part of the primary key for summaries)
  as dont we dont want to GROUP BY possibly NULL fields as that behaviour is
  undefined.
- Adding this check seems the best as it is now explictly doing what currently
  happens with the implicit type casting when the Benchmark field is not present
  i.e. we recieve a version 0.2 message.
- as now when it is missing from the record we set it to 0.0, not None
Add type checking to float and datetime fields of records
Includes version number in name of update script and references to that.
@tofu-rocketry tofu-rocketry merged commit ae6a947 into master Feb 28, 2018
@tofu-rocketry tofu-rocketry deleted the release-1.6.1 branch February 28, 2018 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants