Hi,
Here is my ideas and questions for displaying the filesystem usage for the various paths:
* create a handler like the ResolvePath handler so that it becomes really easy to add the
metric to any path attribute.
* adding it per default in the PathResourceDefinition to make it widely available
'for free'.
* which unit should we use to express it ? Is bytes ok ?
* do we want to have all the values in the server-environment or are those under /path
sufficient ?
* do we want to aggregate those values in a 'single' metric and if so which paths
should we select ?
* for space availability this might depend on the different mount points:
- should we provide it for every path since we wouldn't know in advance to which
mount point each path is on
- or maybe this info is not that important
Cheers,
Emmanuel
Le 24/11/2015 08:43, Tristan Tarrant a écrit :
https://issues.jboss.org/browse/WFCORE-1159
Tristan
On 24/11/2015 00:51, Brian Stansberry wrote:
> A WFCORE JIRA for Tristan's specific request would be good.
>
> I don't think the discussion on this thread is close enough to a
> consensus on how to practically use this data in handling deployment ops
> for it to be useful to bring that aspect into a JIRA.
>
>
> On 11/23/15 4:13 AM, Lin Gao wrote:
>> >From what I learned of this thread, a service to expose the file system space
availability
>> needs to be implemented first, then provides a way to check whether the server
locations("data")
>> have enough disk spaces to store the uploaded file.
>>
>> Should we create a Jira for this? :-)
>>
>> Best Regards
>> --
>> Lin Gao
>> Software Engineer
>> JBoss by Red Hat
>>
>> ----- Original Message -----
>>> From: "Darran Lofthouse" <darran.lofthouse(a)jboss.com>
>>> To: "Jason T. Greene" <jason.greene(a)redhat.com>,
"Tristan Tarrant" <ttarrant(a)redhat.com>
>>> Cc: wildfly-dev(a)lists.jboss.org
>>> Sent: Wednesday, November 4, 2015 11:21:11 PM
>>> Subject: Re: [wildfly-dev] Shall we limit size of the deployment in WildFly?
>>>
>>> This would also be something ideal to report on in the "administrator
>>> encouragement" service I keep meaning to look into again ;-)
>>>
>>> On 04/11/15 15:02, Jason T. Greene wrote:
>>>> Yes that would be very clear cut and easy to do.
>>>>
>>>>> On Nov 4, 2015, at 8:38 AM, Tristan Tarrant
<ttarrant(a)redhat.com> wrote:
>>>>>
>>>>> While we're on filesystem space availability, for monitoring
purposes,
>>>>> would it be possible to expose this as a runtime metric for known
server
>>>>> locations (data, tmp, logs) ?
>>>>>
>>>>> Tristan
>>>>>
>>>>>> On 04/11/2015 13:37, Jason T. Greene wrote:
>>>>>> On Nov 3, 2015, at 7:14 PM, Lin Gao <lgao(a)redhat.com>
wrote:
>>>>>>
>>>>>>>>> On 11/03/2015 02:41 AM, Lin Gao wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> WildFly does not limit the deployment file size,
users with
>>>>>>>>> appropriate
>>>>>>>>> privilege(deployer) can select any file to
deploy from both CLI and
>>>>>>>>> web
>>>>>>>>> console.
>>>>>>>>>
>>>>>>>>> For the too big file, it may exhaust all
available disk space, and
>>>>>>>>> in
>>>>>>>>> some cases, even small file can exhaust the disk
space if the
>>>>>>>>> current
>>>>>>>>> disk space is not big enough.
>>>>>>>>>
>>>>>>>>> So shall we limit file size of the deployment in
WildFly? or shall
>>>>>>>>> we
>>>>>>>>> limit the available disk space? or shall we just
show a warning
>>>>>>>>> message
>>>>>>>>> to users?
>>>>>>>>>
>>>>>>>>> If we do, where in the management API
configuration for this should
>>>>>>>>> be
>>>>>>>>> done, if it is done this way?
>>>>>>>>>
>>>>>>>>> Arbitrary limits will break users, so if we have
an arbitrary limit
>>>>>>>>> it
>>>>>>>>> needs to be easily adjusted.
>>>>>>>>>
>>>>>>>>> In case of domain mode, different hosts may have
different disk
>>>>>>>>> space,
>>>>>>>>> which means they are likely have different
capacity to hold
>>>>>>>>> deployment
>>>>>>>>> files. For example, servers in server-group-A
may have 2GB
>>>>>>>>> available
>>>>>>>>> disk space, servers in server-group-B may have
200MB available disk
>>>>>>>>> space. An unified limit for the whole domain
seems not fair for the
>>>>>>>>> servers with more available disk space.
>>>>>>>>>
>>>>>>>>> Also, WildFly does not limit type of the
deployment file, but it
>>>>>>>>> might
>>>>>>>>> need a separate discussion if necessary?
>>>>>>>>>
>>>>>>>>> Any thoughts?
>>>>>>>>
>>>>>>>> Is this in response to a real observed problem?
>>>>>>>
>>>>>>> Yes it is.
>>>>>>
>>>>>> My understanding was that this was reported by a user but it was
reported
>>>>>> as something they were concerned with, and not actually something
that
>>>>>> was occurring in their environment.
>>>>>>
>>>>>> I agree with David that disk quotas on the processing running the
app
>>>>>> server is the most appropriate solution to prevent interference
with
>>>>>> other processes.
>>>>>>
>>>>>> I do not think we should have a hard coded limit as a constant
because
>>>>>> that will prevent legit deployments from working, and you can
still run
>>>>>> out of disk space (e.g you have 20k left and you upload a 21k
>>>>>> deployment, which is under 1G)
>>>>>>
>>>>>> We could have an extra check that verifies enough disk space in
the add
>>>>>> content management op, however Java does not give us access to
quota
>>>>>> information so the best we could do is only verify available disk
space
>>>>>> (unless we exec a command for every platform we support).
>>>>>>
>>>>>> IMO this one is pretty low priority, but perhaps those that
monitor this
>>>>>> list see it as a need. If so can you speak up?
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>> In general, if the user
>>>>>>>> doesn't have space for a deployment, the deployment
will fail with an
>>>>>>>> error and (I am fairly certain) will delete the partial
deployment. If
>>>>>>>> there is space, then the deployment will succeed
regardless of size.
>>>>>>>
>>>>>>>> It's interesting that the JIRA you reference speaks
in terms of
>>>>>>>> security. If an admin wants to lock down storage space,
it's probably
>>>>>>>> best to do it at the operating system level using e.g.
disk quotas -
>>>>>>>> there are too many ways to get the application server to
write
>>>>>>>> arbitrary
>>>>>>>> amounts of data to the file system, regardless of the
presence of a
>>>>>>>> security manager or any other application-level control.
>>>>>>>>
>>>>>>>> I'm pretty sure that if an attacker has permission to
upload
>>>>>>>> deployments
>>>>>>>> to the server, they already essentially have control over
the server.
>>>>>>>> This should be an OS level concern.
>>>>>>>
>>>>>>> The JIRA in question was a 'bug' related to security
at first, after
>>>>>>> several
>>>>>>> rounds of discussion, it is agreed that it is not a security
>>>>>>> vulnerability, but
>>>>>>> an 'Enhancement'.
>>>>>>>
>>>>>>> The proposed requirement for the enhancement is:
>>>>>>>
>>>>>>> Provide an option in config to alert user that
>>>>>>> a) File is larger than a configurable limit
>>>>>>> b) File type is/is not valid.
>>>>>>>
>>>>>>> but it may need more discussion in community on both the
requirement and
>>>>>>> design
>>>>>>> if it will be done, that is why this thread comes out in
first place.
>>>>>>> :-)
>>>>>>>
>>>>>>>>> FYI:
https://issues.jboss.org/browse/WFCORE-1057
>>>>>>>
>>>>>>> Best Regards
>>>>>>> --
>>>>>>> Lin Gao
>>>>>>> Software Engineer
>>>>>>> JBoss by Red Hat
>>>>>>> _______________________________________________
>>>>>>> wildfly-dev mailing list
>>>>>>> wildfly-dev(a)lists.jboss.org
>>>>>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>>>
>>>>>> _______________________________________________
>>>>>> wildfly-dev mailing list
>>>>>> wildfly-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>>
>>>>> --
>>>>> Tristan Tarrant
>>>>> Infinispan Lead
>>>>> JBoss, a division of Red Hat
>>>>> _______________________________________________
>>>>> wildfly-dev mailing list
>>>>> wildfly-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>
>>>> _______________________________________________
>>>> wildfly-dev mailing list
>>>> wildfly-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>
>
>