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

Renamed 'set-param' in SSP for consistency with the Profile model #609

Merged
merged 9 commits into from
Feb 4, 2020

Conversation

wendellpiez
Copy link
Contributor

Responding to Issue #568. The element for parameter setting is now set in both Profile and SSP models; its grouping name is parameter-settings in both.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you squashed any non-relevant commits and commit messages? [instructions]
  • Do all automated CI/CD checks pass?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all OSCAL website and readme documentation affected by the changes you made? Changes to the OSCAL website can be made in the docs/content directory of your branch.

@@ -171,7 +171,7 @@
<description>Set parameters or amend controls in resolution</description>
<model>
<assembly ref="set" max-occurs="unbounded">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be more consistent to use parameter-setting as the assembly name instead of set.

@@ -1134,10 +1134,10 @@
</allowed-values>
</flag>
</assembly>
<assembly ref="set-param" max-occurs="unbounded">
<group-as name="set-params" in-json="BY_KEY"/>
<assembly ref="set" max-occurs="unbounded">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be more consistent to use parameter-setting as the assembly name instead of set.

@@ -1258,13 +1258,13 @@
</allowed-values>
</flag>
</assembly>
<assembly ref="set-param" max-occurs="unbounded">
<group-as name="set-params" in-json="BY_KEY"/>
<assembly ref="set" max-occurs="unbounded">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be more consistent to use parameter-setting as the assembly name instead of set.

</assembly>
</model>
</define-assembly>

<define-assembly name="set-param">
<define-assembly name="set">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be more consistent to use parameter-setting as the assembly name instead of set.

Copy link
Contributor

@david-waltermire david-waltermire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be more consistent to use parameter-setting as the assembly name instead of set. Can you make this change?

@wendellpiez
Copy link
Contributor Author

wendellpiez commented Jan 24, 2020

@david-waltermire-nist I like set because we get (in the XML)

<set param-id="param1">...</set>

With the fact that the target is a parameter expressed by the param-id flag. (Rather than <parameter-setting param-id="param1">).

In the JSON, we have a group name, which I changed to parameter-settings as you saw.

Perhaps it is not an argument against this change that it would break the data. While we had no set-param in SSPs in public data to break, we do have set (in FedRAMP profiles.)

@wendellpiez
Copy link
Contributor Author

After discussion with @david-waltermire-nist we have settled on set-parameter as a compromise, leaving set unconflicted for other uses.

Will post again when this issue is done.

However, this is a breaking change in the data! so @brianrufgsa probably needs to be in sync wrt the FedRAMP profiles. Also may wish to stage this PR accordingly.

@brian-ruf
Copy link
Contributor

@wendellpiez I am already tracking this and have an issue on the FedRAMP side to address it once the syntax is updated on the NIST/OSCAL side.
This is tracked in GSA/fedramp-automation#37, and linked to issue #568 here.

@wendellpiez
Copy link
Contributor Author

@brianrufgsa perfect. We can also produce, run, and make available a transformation for updating the data.

@brian-ruf
Copy link
Contributor

brian-ruf commented Jan 24, 2020

@wendellpiez - I don't think a transformation is necessary for this change. For the FedRAMP sample data in the template, it's just three lines.

If a stakeholder has a larger data file I believe a simple search/replace can address it quickly. Find "set-param" and replace with "set-parameter", should work with both XML and JSON, including closing XML tags. I doubt anything else in an OSCAL-based SSP is going to have the string "set-param" in all lower-case in any other context.

@bradh
Copy link
Contributor

bradh commented Jan 25, 2020

Looks like the circleci tests showed a remaining set.

@wendellpiez
Copy link
Contributor Author

Cool. This failure now shows the validation errors in the current FedRAMP content (four baselines) as noted.

@brianrufgsa as you have noted, the change is straightforward. How shall we coordinate making the change in this branch? I could accept a PR from you or I could make the change myself and have you review it.

@brian-ruf
Copy link
Contributor

@wendellpiez I have some other changes I need to make to the FedRAMP profiles (including the elimination of the FedRAMP catalog). I’ll address all updates early this week.

@wendellpiez
Copy link
Contributor Author

Fantastic @brianrufgsa please let me know if I can help.

@david-waltermire
Copy link
Contributor

@wendellpiez Do you plan to fix the content validation errors in the build?

@wendellpiez
Copy link
Contributor Author

@david-waltermire-nist I could do that but @brianrufgsa gives me the impression he would rather do it. (He says he has other changes to make to the data as well.)

@wendellpiez
Copy link
Contributor Author

@david-waltermire-nist this should now ready except for the conflicted files. @brianrufgsa is it fair to assume these have also been updated to your latest, and should be resolved in favor of your versions?

@brian-ruf
Copy link
Contributor

@wendellpiez correct! These files address the syntax changes as well as the content changes I needed to make. I did not resolve the profiles as I thought @david-waltermire-nist said the CI/CD pipeline now does that automatically for profiles. If that is not in place, I can add the resolved profiles in a separate PR.

@wendellpiez
Copy link
Contributor Author

@brianrufgsa yeah ... tmk we don't trust our own profile resolution yet to do this unattended. Until profile resolution is being unit tested and we can be sure it will be correct, we need to run it outside the build (and inspect the results carefully).

@brian-ruf
Copy link
Contributor

@wendellpiez OK - I resolved the profiles and added them to your branch as well. CircleCI checks are running now.

@wendellpiez
Copy link
Contributor Author

Fantastic, thanks again @brianrufgsa

Copy link
Contributor

@david-waltermire david-waltermire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Please avoid checking in generated files such as those in the json/schema tree.

Copy link
Contributor

@brian-ruf brian-ruf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@david-waltermire david-waltermire merged commit fe7c8a3 into usnistgov:master Feb 4, 2020
@wendellpiez wendellpiez deleted the issue568 branch March 3, 2021 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants