Comments (7)
I think we should go with the supports 'centos', '~> 6.5', '~> 7.0'
notation.
from chef-server.
I guess what needs to be specified first is the exact semantics of the notation (whichever variant will be used in the end). That is, what does something like supports 'foo', ['~> 1.5', '~> 1.8']
exactly mean:
- Both versions independently, up to the semver constraints
- Both versions together, within the semver constraints
Plus, what about edge cases like 'lower than x, higher than y':
- Everything smaller or greater than
- smaller or greater than independently, but not the excluded part
Unless this is clearly defined, the discussion on the notation should be postponed IMHO.
from chef-server.
@lxndrp That sounds unnecessarily complex. A simple whitelist/blacklist system should suffice.
Here's the current proposal, as I understand it:
A whitelist is supported. If a whitelist exists, all versions not covered by the whitelist are deemed unsupported.
As currently implemented, the whitelist can only contain a single specifier; we would be removing this limitation.
Now, we're adding to the proposal:
A blacklist is supported. The blacklist takes precedence over the whitelist.
This gives the following possible scenarios:
- Neither a whitelist nor a blacklist is specified: All versions are supported.
- A whitelist is specified, but no blacklist: Only the versions covered by the whitelist are supported.
- A blacklist is specified, but no whitelist: All versions are supported except those covered by the blacklist.
- Both a whitelist and a blacklist are specified: Only the versions covered by the whitelist and not by the blacklist are supported.
It would be possible to blacklist all versions this way. However, it would be a waste of time for chef to test for such a case, because any attempt to test the cookbook on a system that the author intends to support will reveal the error.
from chef-server.
Sounds reasonable to me. Don't get me wrong, I didn't intend to make it overcomplicated, but supporting semver style version selectors makes the implementation much harder.
So what we basically get is a white (or black) list of specific versions, i.e. '1.7', '2.0'
which would be included (or excluded), correct?
from chef-server.
Well, for the combination of white listing and blacklisting to be useful, selectors would still have to be supported. In theory, implementation shouldn't be much harder.
from chef-server.
We looked at this issue during a triage of some of the chef-server ticket. It is relatively straightforward to support this on the API side (depending on the signature, we might already support it), but as y'all have correctly honed in on, the question that we need to answer first is what we actually want client-side. I've left a comment on the original ticket
to also hopefully pull in some of the client maintainers back into this discussion.
from chef-server.
Closing this issue since the Chef Client side issue for this is closed.
from chef-server.
Related Issues (20)
- /cookbook_versions endpoint sometimes returns 'busy' as body response under heavy load
- Installing chef-manage via chef-server-ctl is not working HOT 1
- chef-server-ctl user-create with prompt for password is broken HOT 1
- Upgrade to rails 7 and ruby 3+ in oc-id HOT 2
- OCID: profile email update is throwing error
- New nodes aren't indexed but are known to Chef-Server (Version 14) HOT 7
- Update the version of Chef server in Automate HOT 1
- Unable to upload/delete cookbook with Chef Admin account
- Chef Automate 2022-01 failing chef-server-ctl test HOT 1
- Chef Client Range Search Unexpected Results HOT 4
- API Endpoints to update client certs not accessible PUT HOT 1
- Cookbook parsing fails on restore knife ec backup/restore. HOT 1
- embedded knife commands show warnings HOT 1
- Incorrect metadata in a cookbook causes all client runs on nodes in that org to fail, irrespective of them using the cookbook in question. HOT 1
- Update External Opensearch documentation with the user permissions required for Chef to work correctly with Opensearch. HOT 1
- chef-server-ctl test in failing in FIPS enabled Amazon Linux 2 system. HOT 1
- Chef server install fails at "add internal user to opensearch security plugin" on local proxmox host but not AWS HOT 2
- Unable to `chef-server-ctl reconfigure` a new 15.3.2 install on Ubuntu 22.04 HOT 8
- Cookbook with invalid dependencies causes ALL Chef client runs to begin failing (even on nodes that do not use the cookbook in question) HOT 4
- New OpenSSL requirements in RHEL 9 in fips mode [RHSA-2023:3722-01], cannot connect to Chef Server anymore with no EMS support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chef-server.